Player-by-player trace from JSON pipeline. Metric-by-metric comparison without wide horizontal table dependency.
Windows shown explicitly: Team recent form = latest 10 games from enhanced analysis. Player historical helpers = 75 games; balancing rates = 162 games (as implemented in services).
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 | BOS 5 - 4 OAK | BOS | 0.530 | scoring_simulation.final_score | True |
| Simulation draw | BOS 6 - 2 OAK | BOS | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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.5300 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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 | 5.021 | 4.724 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5300 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 3 | 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 | 6 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46887378910776367,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.04245432213209738,
"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": 8,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 8,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 142,
"near_bucket_sample_size": 142,
"medium_bucket_sample_size": 166,
"wide_bucket_sample_size": 257,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5141,
"bayesian_hit_rate": 0.5125,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8875,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5297,
"calibrated_pick_probability": 0.5175,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "OAK",
"games": 107,
"wins": 45,
"losses": 62,
"win_pct": 0.4205607476635514,
"runs_scored": 474,
"runs_allowed": 600,
"run_differential": -126,
"run_differential_per_game": -1.1775700934579438,
"available": true
},
"away": {
"team": "BOS",
"games": 106,
"wins": 55,
"losses": 51,
"win_pct": 0.5188679245283019,
"runs_scored": 445,
"runs_allowed": 398,
"run_differential": 47,
"run_differential_per_game": 0.44339622641509435,
"available": true
},
"run_differential_edge_per_game": -1.621,
"win_pct_edge": -0.0983,
"quality_edge": -1.7684,
"margin_adjustment": -0.7427,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 5.588,
"home_runs": 2.736,
"home_win_probability": 0.2576
}
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": true,
"reasons": [
"latest same-matchup result beat the predicted side",
"recent head-to-head is split and volatile",
"local prediction memory shows 3 straight prior same-side picks",
"a prior same-side pick already missed against the actual result",
"latest same-series result flipped a stale matchup lean"
],
"signals": {
"predicted_team": "BOS",
"opponent_team": "OAK",
"h2h_net_margin": 1,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-07-29",
"predicted_team_runs": 3,
"opponent_runs": 4,
"margin_for_predicted_team": -1,
"winner": "OAK"
},
{
"date": "2026-07-28",
"predicted_team_runs": 4,
"opponent_runs": 2,
"margin_for_predicted_team": 2,
"winner": "BOS"
}
],
"prediction_memory": {
"available": true,
"consecutive_same_pick_count": 3,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "2026-07-29",
"predicted_team": "BOS",
"confidence": 0.58,
"actual_winner": "OAK",
"actual_margin": 1,
"path": "20260729_BOS@OAK.json"
},
{
"date": "2026-07-28",
"predicted_team": "BOS",
"confidence": 0.66,
"actual_winner": "BOS",
"actual_margin": 2,
"path": "20260728_BOS@OAK.json"
},
{
"date": "2026-07-27",
"predicted_team": "BOS",
"confidence": 0.66,
"actual_winner": null,
"actual_margin": 0,
"path": "20260727_BOS@OAK.json"
}
]
},
"guardrail_predicted_team": "BOS",
"guardrail_opponent_team": "OAK",
"output_pre_simulation_winner": "BOS",
"output_opponent_team": "OAK",
"final_score_winner": "BOS",
"pre_simulation_winner": "BOS",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "BOS 5 - 4 OAK",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "BOS 6 - 2 OAK",
"winner": "BOS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -2,
"total_run_delta": -1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 4,
"winner_quality_edge": 1.7684,
"winner": "BOS",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "OAK",
"games": 107,
"wins": 45,
"losses": 62,
"win_pct": 0.4205607476635514,
"runs_scored": 474,
"runs_allowed": 600,
"run_differential": -126,
"run_differential_per_game": -1.1775700934579438,
"available": true
},
"away": {
"team": "BOS",
"games": 106,
"wins": 55,
"losses": 51,
"win_pct": 0.5188679245283019,
"runs_scored": 445,
"runs_allowed": 398,
"run_differential": 47,
"run_differential_per_game": 0.44339622641509435,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.35,
"final_margin": 0.35,
"margin_cap": 4.25,
"season_quality_edge": 1.7684,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.51746,
"final_confidence": 0.51746,
"confidence_cap": 0.66,
"score_gap": 0.35,
"calibration_sample_size": 142,
"calibration_empirical_hit_rate": 0.5141,
"calibration_bayesian_hit_rate": 0.5125,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.7684,
"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",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "BOS 5 - 4 OAK",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "BOS 6 - 2 OAK",
"winner": "BOS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -2,
"total_run_delta": -1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 4,
"winner_quality_edge": 1.7684,
"winner": "BOS",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 6,
"home_runs": 2,
"confidence": 0.53,
"home_win_probability": 0.47,
"away_win_probability": 0.53,
"predicted_score_text": "BOS 6 - 2 OAK",
"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": "BOS",
"original_runs": 3,
"run_delta": 0.12,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": -0.0027376684257677153,
"contact": 0.01313850946876189,
"power": 0.007059275533320138,
"discipline": 0.027614605372872362,
"xwoba": 0.3165,
"recent_xwoba": 0.3165,
"barrel": 7.844117647058823,
"ab_hard_contact": -0.07345874703667793,
"ab_bat_speed": 70.33956380476675,
"ab_strikeout_rate": 0.20916054104933285,
"available_players": 9,
"top_players": [
{
"player_id": "575929",
"player_name": "Willson Contreras",
"position": "1B",
"weight": 4.0,
"quality": 0.9406880391904606,
"contact": 0.9791816483134924,
"power": 1.3663656692300028,
"discipline": -0.066483645983646,
"xwoba": 0.387,
"recent_xwoba": 0.387,
"barrel": 14.4,
"ab_hard_contact": 1.2254086226952958,
"ab_bat_speed": 75.17255670194004,
"ab_strikeout_rate": 0.2539814814814815,
"available": 1.0
},
{
"player_id": "702332",
"player_name": "Caleb Durbin",
"position": "3B",
"weight": 4.0,
"quality": -0.716001652060133,
"contact": -0.658768819325174,
"power": -1.1211776757471352,
"discipline": 0.363390023833844,
"xwoba": 0.282,
"recent_xwoba": 0.282,
"barrel": 2.5,
"ab_hard_contact": -0.7530773244665152,
"ab_bat_speed": 67.12315275548421,
"ab_strikeout_rate": 0.14232209737827714,
"available": 1.0
},
{
"player_id": "677800",
"player_name": "Wilyer Abreu",
"position": "RF",
"weight": 5.0,
"quality": 0.5552763790121249,
"contact": 0.4497951378755671,
"power": 0.8215178392162734,
"discipline": 0.22386258417508414,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 12.3,
"ab_hard_contact": 0.33930916527785177,
"ab_bat_speed": 72.89202703373016,
"ab_strikeout_rate": 0.19484953703703703,
"available": 1.0
},
{
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"position": "CF",
"weight": 5.0,
"quality": -0.5832698221216573,
"contact": -0.5187327930081084,
"power": -0.6092374704030721,
"discipline": -0.42462535290796155,
"xwoba": 0.28,
"recent_xwoba": 0.28,
"barrel": 4.9,
"ab_hard_contact": -0.33598750329954075,
"ab_bat_speed": 67.89450566123188,
"ab_strikeout_rate": 0.1911231884057971,
"available": 1.0
},
{
"player_id": "657136",
"player_name": "Connor Wong",
"position": "C",
"weight": 3.0,
"quality": -0.21370047564601072,
"contact": -0.25668188320578234,
"power": -0.5086914809132727,
"discipline": 0.06753751803751792,
"xwoba": 0.309,
"recent_xwoba": 0.309,
"barrel": 5.0,
"ab_hard_contact": -0.36468676112259674,
"ab_bat_speed": 71.0656108276644,
"ab_strikeout_rate": 0.23888888888888887,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "686930",
"player_name": "Mason Barnett",
"quality": -0.12825256872436622,
"contact": -0.351064033623199,
"command": -0.4896762786596121,
"movement": -0.31960248328051394,
"xwoba": 0.334,
"whiff": 21.2,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "OAK",
"original_runs": 4,
"run_delta": -0.0569,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": -0.07599635664697107,
"contact": 0.15111805637726428,
"power": -0.25823456066123857,
"discipline": 0.25908841850787556,
"xwoba": 0.3156666666666666,
"recent_xwoba": 0.3156666666666666,
"barrel": 5.6000000000000005,
"ab_hard_contact": -0.21327995781351228,
"ab_bat_speed": 69.04309782117738,
"ab_strikeout_rate": 0.15794870598379432,
"available_players": 9,
"top_players": [
{
"player_id": "805779",
"player_name": "Jacob Wilson",
"position": "SS",
"weight": 5.0,
"quality": -0.5449679526573478,
"contact": -0.3401741378872249,
"power": -0.9858845031316019,
"discipline": 0.1762190336545175,
"xwoba": 0.285,
"recent_xwoba": 0.285,
"barrel": 2.5,
"ab_hard_contact": -0.5249281578701276,
"ab_bat_speed": 63.00169623015873,
"ab_strikeout_rate": 0.10806451612903226,
"available": 1.0
},
{
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"position": "LF",
"weight": 4.0,
"quality": 0.4938411276087115,
"contact": 0.5447594994727576,
"power": 0.49232229450382814,
"discipline": 0.7200524101366796,
"xwoba": 0.337,
"recent_xwoba": 0.337,
"barrel": 9.6,
"ab_hard_contact": 0.5279696996003738,
"ab_bat_speed": 72.72888621151272,
"ab_strikeout_rate": 0.1865168539325843,
"available": 1.0
},
{
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "1B",
"weight": 3.0,
"quality": -0.21548989422585846,
"contact": 0.07467371396757012,
"power": -0.8422618376735945,
"discipline": 0.4971740807085634,
"xwoba": 0.308,
"recent_xwoba": 0.308,
"barrel": 1.2,
"ab_hard_contact": -0.6437129439480831,
"ab_bat_speed": 67.47676652642315,
"ab_strikeout_rate": 0.13582375478927203,
"available": 1.0
},
{
"player_id": "641680",
"player_name": "Jonah Heim",
"position": "C",
"weight": 4.0,
"quality": -0.2887179742863335,
"contact": -0.4234847345379817,
"power": -0.2691818294410993,
"discipline": -0.141525974025974,
"xwoba": 0.297,
"recent_xwoba": 0.297,
"barrel": 6.9,
"ab_hard_contact": -0.4301127792981828,
"ab_bat_speed": 69.2673826984127,
"ab_strikeout_rate": 0.1988095238095238,
"available": 1.0
},
{
"player_id": "666126",
"player_name": "Carlos Cortes",
"position": "DH",
"weight": 3.0,
"quality": 0.3152065605464047,
"contact": 0.49075994085317487,
"power": 0.16416717918828713,
"discipline": 0.496458152958153,
"xwoba": 0.33,
"recent_xwoba": 0.33,
"barrel": 7.4,
"ab_hard_contact": -0.04808498766282482,
"ab_bat_speed": 69.42061011904761,
"ab_strikeout_rate": 0.14111111111111113,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "543243",
"player_name": "Sonny Gray",
"quality": 0.035655028295673324,
"contact": 0.2576499203495791,
"command": -0.21281913580246897,
"movement": -0.32768728144666215,
"xwoba": 0.302,
"whiff": 22.5,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": true,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -1.7684,
"recent_form_edge_home_minus_away": -0.396,
"pitcher_matchup_edge_home_minus_away": -0.0298,
"composite_home_edge": -0.9572,
"existing_home_win_probability": 0.5175,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": -0.9572
},
"reasons": [
"flipped low-confidence one-run target away from unsupported side"
]
},
"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": "BOS 5 - 4 OAK",
"confidence": 0.53,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "BOS 5 - 4 OAK",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "BOS 6 - 2 OAK",
"winner": "BOS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -2,
"total_run_delta": -1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 4,
"winner_quality_edge": 1.7684,
"winner": "BOS",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "BOS",
"display_confidence": 0.53,
"internal_signal_score": 0.72,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.53,
"confidence_compression_detected": true,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "supported_runline_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 4,
"winner_quality_edge": 1.7684,
"winner_recent_form_edge": 0.396,
"winner_pitcher_matchup_edge": 0.0298,
"winner_simulation_draw_rate": 0.8125,
"blowout_draw_rate_margin_4_plus": 0.5625,
"high_total_draw_rate_11_plus": 0.0625,
"low_total_draw_rate_6_or_less": 0.5,
"total_runs_spread": {
"min": 3,
"median": 7,
"max": 13,
"range": 10
}
},
"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 BOS | True | 1.0117 | 1.0117 | 1 | 9 | 0 |
| Home OAK | True | 1.0056 | 1.0056 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Willson Contreras | 17 | 1.1013 | 1.3511 | neutral | 0.3870 | 0.2660 | 0.5110 | 14.40 | 46.10 | 90.50 | 18.10 | 30.80 | 25 | 10.50 | -0.3714 |
| RF | Wilyer Abreu | 15 | 1.0627 | 0.8366 | neutral | 0.3400 | 0.2540 | 0.4620 | 12.30 | 42.10 | 89.80 | 18.70 | 24 | 20.70 | 9.60 | 0.3429 |
| DH | Masataka Yoshida | 278 | 1.0131 | 0.1753 | neutral | 0.3230 | 0.2680 | 0.3740 | 2.70 | 38.20 | 88.70 | 10 | 15.50 | 10.50 | 9.70 | 0 |
| CF | Ceddanne Rafaela | 8 | 0.9568 | -0.5760 | negative_batter_regression | 0.2800 | 0.2420 | 0.3480 | 4.90 | 33.10 | 86.40 | 11.60 | 24.30 | 19.90 | 4.30 | -1.4571 |
| 3B | Caleb Durbin | 51 | 0.9481 | -0.6919 | neutral | 0.2820 | 0.2350 | 0.3240 | 2.50 | 27.30 | 84 | 11.50 | 15.40 | 14.20 | 6.60 | -0.6857 |
| LF | Jarren Duran | 272 | 1.0062 | 0.0820 | neutral | 0.2930 | 0.2280 | 0.3710 | 10.20 | 38.30 | 89.50 | 12.60 | 34.40 | 29.40 | 6.60 | 0.8571 |
| SS | Andruw Monasterio | 173 | 1.0114 | 0.1514 | neutral | 0.3080 | 0.2450 | 0.3980 | 9.40 | 38.10 | 88.60 | 21.70 | 18 | 22.10 | 8 | -0.4286 |
| 2B | Anthony Seigler | 234 | 1.0163 | 0.2172 | neutral | 0.3310 | 0.2600 | 0.4100 | 7 | 39.50 | 88.30 | 15 | 22.90 | 17.60 | 9.20 | -0.0286 |
| C | Connor Wong | 176 | 0.9894 | -0.1414 | neutral | 0.3090 | 0.2350 | 0.3510 | 5 | 37.60 | 86.70 | 10.30 | 25.10 | 23.60 | 9.60 | -0.6857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Carlos Cortes | 441 | 1.0341 | 0.4548 | neutral | 0.3300 | 0.2640 | 0.4090 | 7.40 | 39.50 | 90 | 8 | 20.10 | 13.50 | 8.80 | -0.2286 |
| 3B | Tommy White | 341 | 1.0266 | 0.3550 | neutral | 0.3570 | 0.3410 | 0.4450 | 5.60 | 36.10 | 85.60 | 0.90 | 13 | 7.30 | 4.90 | 0.0286 |
| 2B | Donovan Walton | 199 | 1.0015 | 0.0202 | negative_batter_regression | 0.3230 | 0.2570 | 0.3830 | 4.70 | 36 | 87.60 | 11.60 | 24.20 | 18.70 | 10.60 | -1.4857 |
| 1B | Jeff McNeil | 288 | 1.0010 | 0.0136 | neutral | 0.3080 | 0.2750 | 0.3590 | 1.20 | 31.90 | 86.20 | 13.80 | 15.90 | 11.50 | 7.20 | 0.6571 |
| LF | Tyler Soderstrom | 59 | 1.0424 | 0.5649 | neutral | 0.3370 | 0.2540 | 0.4210 | 9.60 | 44.30 | 90.20 | 11.30 | 21.20 | 18.10 | 12.20 | -0.4857 |
| CF | Henry Bolte | 174 | 0.9835 | -0.2196 | neutral | 0.2910 | 0.2220 | 0.3380 | 6.30 | 45.80 | 90 | 1.40 | 33.30 | 27.80 | 7.30 | -0.2000 |
| C | Jonah Heim | 286 | 0.9897 | -0.1370 | neutral | 0.2970 | 0.2350 | 0.3840 | 6.90 | 31.30 | 87.40 | 13.70 | 23.70 | 19.60 | 6.40 | -0.0571 |
| SS | Jacob Wilson | 231 | 0.9611 | -0.5186 | neutral | 0.2850 | 0.2650 | 0.3490 | 2.50 | 27.70 | 83.80 | 7.30 | 14.20 | 10.80 | 3.80 | -0.6571 |
| RF | Lawrence Butler | 596 | 1.0106 | 0.1410 | positive_batter_regression | 0.3050 | 0.2320 | 0.3470 | 6.50 | 44.60 | 89 | 4.40 | 28.40 | 26.60 | 12.30 | 0.8857 |
{
"home": {
"applied": true,
"offense_factor": 1.0056,
"raw_average_factor": 1.0056,
"team_espn_average_rank": 290.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "666126",
"player_name": "Carlos Cortes",
"offense_factor": 1.0341,
"quality_score": 0.4548,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666126",
"espn_id": 41595,
"player_name": "Carlos Cortes",
"team": "ATH",
"role": "batter",
"espn_rank": 441,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 441,
"gp_value": 81.0,
"gp_rank": 190,
"ab_value": 225.0,
"ab_rank": 228,
"r_value": 22.0,
"r_rank": 277,
"h_value": 60.0,
"h_rank": 201,
"avg_value": 0.2666666,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 172,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 27.0,
"rbi_rank": 223,
"tb_value": 95.0,
"tb_rank": 1176,
"bb_value": 22.0,
"bb_rank": 203,
"so_value": 36.0,
"so_rank": 316,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3399209,
"obp_rank": "-",
"slg_value": 0.4222222,
"slg_rank": "-",
"ops_value": 0.7621431,
"ops_rank": null,
"war_value": -0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 13.5,
"bb_percent": 8.8,
"woba": 0.338,
"xwoba": 0.33,
"xba": 0.264,
"xslg": 0.409,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 39.5,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 8.0,
"whiff_percent": 20.1,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.566,
"regression_edge": -0.2286,
"xwoba_edge": 0.7857,
"xba_edge": 0.7286,
"xslg_edge": 0.5357,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.2,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "695720",
"player_name": "Tommy White",
"offense_factor": 1.0266,
"quality_score": 0.355,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695720",
"espn_id": 4923961,
"player_name": "Tommy White",
"team": "ATH",
"role": "batter",
"espn_rank": 341,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 341,
"gp_value": 11.0,
"gp_rank": 532,
"ab_value": 44.0,
"ab_rank": 475,
"r_value": 6.0,
"r_rank": 454,
"h_value": 14.0,
"h_rank": 434,
"avg_value": 0.3181818,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 444,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 0.0,
"hr_rank": 493,
"rbi_value": 0.0,
"rbi_rank": 565,
"tb_value": 16.0,
"tb_rank": 2855,
"bb_value": 2.0,
"bb_rank": 488,
"so_value": 7.0,
"so_rank": 520,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.347826,
"obp_rank": "-",
"slg_value": 0.3636363,
"slg_rank": "-",
"ops_value": 0.7114623,
"ops_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 21.0,
"k_percent": 7.3,
"bb_percent": 4.9,
"woba": 0.356,
"xwoba": 0.357,
"xba": 0.341,
"xslg": 0.445,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 36.1,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 0.9,
"whiff_percent": 13.0,
"swing_percent": 51.9
},
"components": {
"expected_quality": 0.9128,
"regression_edge": 0.0286,
"xwoba_edge": 1.5571,
"xba_edge": 2.5,
"xslg_edge": 1.05,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.2857,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "622268",
"player_name": "Donovan Walton",
"offense_factor": 1.0015,
"quality_score": 0.0202,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "622268",
"espn_id": 37232,
"player_name": "Donovan Walton",
"team": "ATH",
"role": "batter",
"espn_rank": 199,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 199,
"gp_value": 43.0,
"gp_rank": 363,
"ab_value": 109.0,
"ab_rank": 377,
"r_value": 20.0,
"r_rank": 299,
"h_value": 32.0,
"h_rank": 326,
"avg_value": 0.2935779,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 13.0,
"rbi_rank": 352,
"tb_value": 52.0,
"tb_rank": 1733,
"bb_value": 13.0,
"bb_rank": 306,
"so_value": 23.0,
"so_rank": 406,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3739837,
"obp_rank": "-",
"slg_value": 0.4770642,
"slg_rank": "-",
"ops_value": 0.8510479,
"ops_rank": null,
"war_value": 0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 18.7,
"bb_percent": 10.6,
"woba": 0.375,
"xwoba": 0.323,
"xba": 0.257,
"xslg": 0.383,
"sweet_spot_percent": 43.0,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 11.6,
"whiff_percent": 24.2,
"swing_percent": 50.2
},
"components": {
"expected_quality": 0.2876,
"regression_edge": -1.4857,
"xwoba_edge": 0.5857,
"xba_edge": 0.5286,
"xslg_edge": 0.1643,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.3,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 1.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "643446",
"player_name": "Jeff McNeil",
"offense_factor": 1.001,
"quality_score": 0.0136,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643446",
"espn_id": 33900,
"player_name": "Jeff McNeil",
"team": "ATH",
"role": "batter",
"espn_rank": 288,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 288,
"gp_value": 95.0,
"gp_rank": 128,
"ab_value": 294.0,
"ab_rank": 150,
"r_value": 29.0,
"r_rank": 211,
"h_value": 73.0,
"h_rank": 139,
"avg_value": 0.2482993,
"avg_rank": 91.0,
"2b_value": 13.0,
"2b_rank": 157,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 33.0,
"rbi_rank": 184,
"tb_value": 98.0,
"tb_rank": 1631,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 38.0,
"so_rank": 295,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3086419,
"obp_rank": "121",
"slg_value": 0.3333333,
"slg_rank": "151",
"ops_value": 0.6419752,
"ops_rank": 30.0,
"war_value": 0.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 298.0,
"k_percent": 11.5,
"bb_percent": 7.2,
"woba": 0.285,
"xwoba": 0.308,
"xba": 0.275,
"xslg": 0.359,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 31.9,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 13.8,
"whiff_percent": 15.9,
"swing_percent": 56.1
},
"components": {
"expected_quality": -0.0911,
"regression_edge": 0.6571,
"xwoba_edge": 0.1571,
"xba_edge": 1.0429,
"xslg_edge": -0.1786,
"barrel_edge": -1.2444,
"hard_hit_edge": -0.8857,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"offense_factor": 1.0424,
"quality_score": 0.5649,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691016",
"espn_id": 4686066,
"player_name": "Tyler Soderstrom",
"team": "ATH",
"role": "batter",
"espn_rank": 59,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 59,
"gp_value": 96.0,
"gp_rank": 122,
"ab_value": 346.0,
"ab_rank": 104,
"r_value": 50.0,
"r_rank": 88,
"h_value": 85.0,
"h_rank": 104,
"avg_value": 0.2456647,
"avg_rank": 96.0,
"2b_value": 22.0,
"2b_rank": 25,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 17.0,
"hr_rank": 51,
"rbi_value": 50.0,
"rbi_rank": 68,
"tb_value": 162.0,
"tb_rank": 374,
"bb_value": 48.0,
"bb_rank": 38,
"so_value": 75.0,
"so_rank": 119,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3417085,
"obp_rank": "60",
"slg_value": 0.468208,
"slg_rank": "39",
"ops_value": 0.8099165,
"ops_rank": 99.0,
"war_value": 2.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 361.0,
"k_percent": 18.1,
"bb_percent": 12.2,
"woba": 0.354,
"xwoba": 0.337,
"xba": 0.254,
"xslg": 0.421,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 44.3,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 11.3,
"whiff_percent": 21.2,
"swing_percent": 45.8
},
"components": {
"expected_quality": 0.7359,
"regression_edge": -0.4857,
"xwoba_edge": 0.9857,
"xba_edge": 0.4429,
"xslg_edge": 0.7071,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.8857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.45,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "703607",
"player_name": "Henry Bolte",
"offense_factor": 0.9835,
"quality_score": -0.2196,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "703607",
"espn_id": 5080756,
"player_name": "Henry Bolte",
"team": "ATH",
"role": "batter",
"espn_rank": 174,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 174,
"gp_value": 65.0,
"gp_rank": 269,
"ab_value": 208.0,
"ab_rank": 247,
"r_value": 20.0,
"r_rank": 299,
"h_value": 51.0,
"h_rank": 231,
"avg_value": 0.2451923,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 285,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 18.0,
"rbi_rank": 304,
"tb_value": 67.0,
"tb_rank": 1974,
"bb_value": 18.0,
"bb_rank": 237,
"so_value": 66.0,
"so_rank": 161,
"sb_value": 12.0,
"sb_rank": 51,
"obp_value": 0.3262711,
"obp_rank": "-",
"slg_value": 0.3221153,
"slg_rank": "-",
"ops_value": 0.6483864,
"ops_rank": null,
"war_value": 1.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 27.8,
"bb_percent": 7.3,
"woba": 0.298,
"xwoba": 0.291,
"xba": 0.222,
"xslg": 0.338,
"sweet_spot_percent": 25.2,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 1.4,
"whiff_percent": 33.3,
"swing_percent": 50.2
},
"components": {
"expected_quality": -0.2388,
"regression_edge": -0.2,
"xwoba_edge": -0.3286,
"xba_edge": -0.4714,
"xslg_edge": -0.4786,
"barrel_edge": -0.1111,
"hard_hit_edge": 1.1,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -1.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "641680",
"player_name": "Jonah Heim",
"offense_factor": 0.9897,
"quality_score": -0.137,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641680",
"espn_id": 33842,
"player_name": "Jonah Heim",
"team": "ATH",
"role": "batter",
"espn_rank": 286,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 286,
"gp_value": 61.0,
"gp_rank": 286,
"ab_value": 205.0,
"ab_rank": 251,
"r_value": 23.0,
"r_rank": 264,
"h_value": 47.0,
"h_rank": 250,
"avg_value": 0.2292682,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 34.0,
"rbi_rank": 176,
"tb_value": 90.0,
"tb_rank": 1312,
"bb_value": 14.0,
"bb_rank": 290,
"so_value": 43.0,
"so_rank": 267,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.28125,
"obp_rank": "-",
"slg_value": 0.4390243,
"slg_rank": "-",
"ops_value": 0.7202743,
"ops_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 203.0,
"k_percent": 19.6,
"bb_percent": 6.4,
"woba": 0.299,
"xwoba": 0.297,
"xba": 0.235,
"xslg": 0.384,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 31.3,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 13.7,
"whiff_percent": 23.7,
"swing_percent": 50.4
},
"components": {
"expected_quality": -0.1633,
"regression_edge": -0.0571,
"xwoba_edge": -0.1571,
"xba_edge": -0.1,
"xslg_edge": 0.1786,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": -0.45,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "805779",
"player_name": "Jacob Wilson",
"offense_factor": 0.9611,
"quality_score": -0.5186,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805779",
"espn_id": 4719300,
"player_name": "Jacob Wilson",
"team": "ATH",
"role": "batter",
"espn_rank": 231,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 231,
"gp_value": 68.0,
"gp_rank": 252,
"ab_value": 276.0,
"ab_rank": 170,
"r_value": 31.0,
"r_rank": 200,
"h_value": 75.0,
"h_rank": 135,
"avg_value": 0.2717391,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 32.0,
"rbi_rank": 194,
"tb_value": 109.0,
"tb_rank": 1127,
"bb_value": 11.0,
"bb_rank": 338,
"so_value": 32.0,
"so_rank": 339,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3034482,
"obp_rank": "-",
"slg_value": 0.3949275,
"slg_rank": "-",
"ops_value": 0.6983757,
"ops_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 261.0,
"k_percent": 10.8,
"bb_percent": 3.8,
"woba": 0.308,
"xwoba": 0.285,
"xba": 0.265,
"xslg": 0.349,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 27.7,
"exit_velocity_avg": 83.8,
"launch_angle_avg": 7.3,
"whiff_percent": 14.2,
"swing_percent": 55.7
},
"components": {
"expected_quality": -0.4961,
"regression_edge": -0.6571,
"xwoba_edge": -0.5,
"xba_edge": 0.7571,
"xslg_edge": -0.3214,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.4857,
"exit_velocity_edge": -1.96,
"sweet_spot_edge": -0.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "671732",
"player_name": "Lawrence Butler",
"offense_factor": 1.0106,
"quality_score": 0.141,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "671732",
"espn_id": 4917919,
"player_name": "Lawrence Butler",
"team": "ATH",
"role": "batter",
"espn_rank": 596,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 596,
"gp_value": 100.0,
"gp_rank": 94,
"ab_value": 269.0,
"ab_rank": 175,
"r_value": 36.0,
"r_rank": 166,
"h_value": 55.0,
"h_rank": 214,
"avg_value": 0.2044609,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 27.0,
"rbi_rank": 223,
"tb_value": 86.0,
"tb_rank": 1299,
"bb_value": 39.0,
"bb_rank": 73,
"so_value": 81.0,
"so_rank": 97,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3064516,
"obp_rank": "-",
"slg_value": 0.3197026,
"slg_rank": "-",
"ops_value": 0.6261542,
"ops_rank": null,
"war_value": -0.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 289.0,
"k_percent": 26.6,
"bb_percent": 12.3,
"woba": 0.274,
"xwoba": 0.305,
"xba": 0.232,
"xslg": 0.347,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 4.4,
"whiff_percent": 28.4,
"swing_percent": 45.7
},
"components": {
"expected_quality": 0.0198,
"regression_edge": 0.8857,
"xwoba_edge": 0.0714,
"xba_edge": -0.1857,
"xslg_edge": -0.35,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.9286,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -0.2833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0117,
"raw_average_factor": 1.0117,
"team_espn_average_rank": 136.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "575929",
"player_name": "Willson Contreras",
"offense_factor": 1.1013,
"quality_score": 1.3511,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "575929",
"espn_id": 32532,
"player_name": "Willson Contreras",
"team": "BOS",
"role": "batter",
"espn_rank": 17,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 17,
"gp_value": 100.0,
"gp_rank": 94,
"ab_value": 347.0,
"ab_rank": 103,
"r_value": 54.0,
"r_rank": 59,
"h_value": 99.0,
"h_rank": 59,
"avg_value": 0.2853025,
"avg_rank": 20.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 22.0,
"hr_rank": 17,
"rbi_value": 66.0,
"rbi_rank": 16,
"tb_value": 187.0,
"tb_rank": 278,
"bb_value": 45.0,
"bb_rank": 44,
"so_value": 104.0,
"so_rank": 42,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3922518,
"obp_rank": "7",
"slg_value": 0.5389048,
"slg_rank": "10",
"ops_value": 0.9311566,
"ops_rank": 3.0,
"war_value": 3.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 380.0,
"k_percent": 25.0,
"bb_percent": 10.5,
"woba": 0.4,
"xwoba": 0.387,
"xba": 0.266,
"xslg": 0.511,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 14.4,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 18.1,
"whiff_percent": 30.8,
"swing_percent": 48.9
},
"components": {
"expected_quality": 1.6315,
"regression_edge": -0.3714,
"xwoba_edge": 2.4143,
"xba_edge": 0.7857,
"xslg_edge": 1.9929,
"barrel_edge": 1.6889,
"hard_hit_edge": 1.1429,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "677800",
"player_name": "Wilyer Abreu",
"offense_factor": 1.0627,
"quality_score": 0.8366,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677800",
"espn_id": 4990055,
"player_name": "Wilyer Abreu",
"team": "BOS",
"role": "batter",
"espn_rank": 15,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 15,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 403.0,
"ab_rank": 26,
"r_value": 53.0,
"r_rank": 67,
"h_value": 100.0,
"h_rank": 54,
"avg_value": 0.2481389,
"avg_rank": 91.0,
"2b_value": 22.0,
"2b_rank": 25,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 52.0,
"rbi_rank": 61,
"tb_value": 173.0,
"tb_rank": 318,
"bb_value": 43.0,
"bb_rank": 53,
"so_value": 95.0,
"so_rank": 61,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3200883,
"obp_rank": "97",
"slg_value": 0.4292803,
"slg_rank": "74",
"ops_value": 0.7493686,
"ops_rank": 171.0,
"war_value": 3.87,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 420.0,
"k_percent": 20.7,
"bb_percent": 9.6,
"woba": 0.328,
"xwoba": 0.34,
"xba": 0.254,
"xslg": 0.462,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 18.7,
"whiff_percent": 24.0,
"swing_percent": 49.1
},
"components": {
"expected_quality": 0.917,
"regression_edge": 0.3429,
"xwoba_edge": 1.0714,
"xba_edge": 0.4429,
"xslg_edge": 1.2929,
"barrel_edge": 1.2222,
"hard_hit_edge": 0.5714,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "807799",
"player_name": "Masataka Yoshida",
"offense_factor": 1.0131,
"quality_score": 0.1753,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807799",
"espn_id": 4872598,
"player_name": "Masataka Yoshida",
"team": "BOS",
"role": "batter",
"espn_rank": 278,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 278,
"gp_value": 73.0,
"gp_rank": 226,
"ab_value": 211.0,
"ab_rank": 244,
"r_value": 28.0,
"r_rank": 220,
"h_value": 55.0,
"h_rank": 214,
"avg_value": 0.2606635,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 19.0,
"rbi_rank": 294,
"tb_value": 80.0,
"tb_rank": 1452,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 25.0,
"so_rank": 390,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3403361,
"obp_rank": "-",
"slg_value": 0.3791469,
"slg_rank": "-",
"ops_value": 0.719483,
"ops_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 212.0,
"k_percent": 10.5,
"bb_percent": 9.7,
"woba": 0.323,
"xwoba": 0.323,
"xba": 0.268,
"xslg": 0.374,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 10.0,
"whiff_percent": 15.5,
"swing_percent": 42.4
},
"components": {
"expected_quality": 0.2115,
"regression_edge": 0.0,
"xwoba_edge": 0.5857,
"xba_edge": 0.8429,
"xslg_edge": 0.0357,
"barrel_edge": -0.9111,
"hard_hit_edge": 0.0143,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"offense_factor": 0.9568,
"quality_score": -0.576,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "678882",
"espn_id": 4987382,
"player_name": "Ceddanne Rafaela",
"team": "BOS",
"role": "batter",
"espn_rank": 8,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 8,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 397.0,
"ab_rank": 38,
"r_value": 50.0,
"r_rank": 88,
"h_value": 111.0,
"h_rank": 19,
"avg_value": 0.2795969,
"avg_rank": 30.0,
"2b_value": 26.0,
"2b_rank": 5,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 50.0,
"rbi_rank": 68,
"tb_value": 176.0,
"tb_rank": 416,
"bb_value": 18.0,
"bb_rank": 237,
"so_value": 86.0,
"so_rank": 80,
"sb_value": 13.0,
"sb_rank": 45,
"obp_value": 0.320665,
"obp_rank": "94",
"slg_value": 0.4433249,
"slg_rank": "63",
"ops_value": 0.7639899,
"ops_rank": 31.0,
"war_value": 4.46,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 387.0,
"k_percent": 19.9,
"bb_percent": 4.3,
"woba": 0.331,
"xwoba": 0.28,
"xba": 0.242,
"xslg": 0.348,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 33.1,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 11.6,
"whiff_percent": 24.3,
"swing_percent": 55.2
},
"components": {
"expected_quality": -0.4326,
"regression_edge": -1.4571,
"xwoba_edge": -0.6429,
"xba_edge": 0.1,
"xslg_edge": -0.3357,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.7143,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "702332",
"player_name": "Caleb Durbin",
"offense_factor": 0.9481,
"quality_score": -0.6919,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702332",
"espn_id": 5007615,
"player_name": "Caleb Durbin",
"team": "BOS",
"role": "batter",
"espn_rank": 51,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 51,
"gp_value": 100.0,
"gp_rank": 94,
"ab_value": 332.0,
"ab_rank": 116,
"r_value": 46.0,
"r_rank": 106,
"h_value": 81.0,
"h_rank": 121,
"avg_value": 0.2439759,
"avg_rank": 101.0,
"2b_value": 19.0,
"2b_rank": 61,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 44.0,
"rbi_rank": 112,
"tb_value": 132.0,
"tb_rank": 796,
"bb_value": 25.0,
"bb_rank": 173,
"so_value": 52.0,
"so_rank": 229,
"sb_value": 12.0,
"sb_rank": 51,
"obp_value": 0.3087431,
"obp_rank": "121",
"slg_value": 0.3975903,
"slg_rank": "107",
"ops_value": 0.7063334,
"ops_rank": 228.0,
"war_value": 2.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 341.0,
"k_percent": 14.2,
"bb_percent": 6.6,
"woba": 0.306,
"xwoba": 0.282,
"xba": 0.235,
"xslg": 0.324,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 27.3,
"exit_velocity_avg": 84.0,
"launch_angle_avg": 11.5,
"whiff_percent": 15.4,
"swing_percent": 47.2
},
"components": {
"expected_quality": -0.6929,
"regression_edge": -0.6857,
"xwoba_edge": -0.5857,
"xba_edge": -0.1,
"xslg_edge": -0.6786,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.5429,
"exit_velocity_edge": -1.88,
"sweet_spot_edge": -0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "680776",
"player_name": "Jarren Duran",
"offense_factor": 1.0062,
"quality_score": 0.082,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680776",
"espn_id": 41610,
"player_name": "Jarren Duran",
"team": "BOS",
"role": "batter",
"espn_rank": 272,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 272,
"gp_value": 100.0,
"gp_rank": 94,
"ab_value": 385.0,
"ab_rank": 61,
"r_value": 46.0,
"r_rank": 106,
"h_value": 76.0,
"h_rank": 133,
"avg_value": 0.1974025,
"avg_rank": 157.0,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 13.0,
"hr_rank": 92,
"rbi_value": 54.0,
"rbi_rank": 53,
"tb_value": 131.0,
"tb_rank": 657,
"bb_value": 28.0,
"bb_rank": 146,
"so_value": 124.0,
"so_rank": 13,
"sb_value": 15.0,
"sb_rank": 29,
"obp_value": 0.2547169,
"obp_rank": "157",
"slg_value": 0.3402597,
"slg_rank": "150",
"ops_value": 0.5949766,
"ops_rank": 307.0,
"war_value": 0.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 393.0,
"k_percent": 29.4,
"bb_percent": 6.6,
"woba": 0.263,
"xwoba": 0.293,
"xba": 0.228,
"xslg": 0.371,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 38.3,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 12.6,
"whiff_percent": 34.4,
"swing_percent": 49.5
},
"components": {
"expected_quality": -0.0442,
"regression_edge": 0.8571,
"xwoba_edge": -0.2714,
"xba_edge": -0.3,
"xslg_edge": -0.0071,
"barrel_edge": 0.7556,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "655316",
"player_name": "Andruw Monasterio",
"offense_factor": 1.0114,
"quality_score": 0.1514,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "655316",
"espn_id": 36950,
"player_name": "Andruw Monasterio",
"team": "BOS",
"role": "batter",
"espn_rank": 173,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 173,
"gp_value": 67.0,
"gp_rank": 258,
"ab_value": 185.0,
"ab_rank": 268,
"r_value": 23.0,
"r_rank": 264,
"h_value": 48.0,
"h_rank": 246,
"avg_value": 0.2594594,
"avg_rank": null,
"2b_value": 17.0,
"2b_rank": 93,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 20.0,
"rbi_rank": 281,
"tb_value": 85.0,
"tb_rank": 1235,
"bb_value": 16.0,
"bb_rank": 259,
"so_value": 44.0,
"so_rank": 261,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.320197,
"obp_rank": "-",
"slg_value": 0.4594594,
"slg_rank": "-",
"ops_value": 0.7796564,
"ops_rank": null,
"war_value": 1.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 178.0,
"k_percent": 22.1,
"bb_percent": 8.0,
"woba": 0.323,
"xwoba": 0.308,
"xba": 0.245,
"xslg": 0.398,
"sweet_spot_percent": 41.0,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 21.7,
"whiff_percent": 18.0,
"swing_percent": 46.8
},
"components": {
"expected_quality": 0.2873,
"regression_edge": -0.4286,
"xwoba_edge": 0.1571,
"xba_edge": 0.1857,
"xslg_edge": 0.3786,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.0,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 1.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "678011",
"player_name": "Anthony Seigler",
"offense_factor": 1.0163,
"quality_score": 0.2172,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678011",
"espn_id": 41194,
"player_name": "Anthony Seigler",
"team": "BOS",
"role": "batter",
"espn_rank": 234,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 234,
"gp_value": 31.0,
"gp_rank": 423,
"ab_value": 105.0,
"ab_rank": 387,
"r_value": 15.0,
"r_rank": 354,
"h_value": 27.0,
"h_rank": 359,
"avg_value": 0.2571428,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 9.0,
"rbi_rank": 403,
"tb_value": 45.0,
"tb_rank": 2052,
"bb_value": 11.0,
"bb_rank": 338,
"so_value": 21.0,
"so_rank": 422,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3305084,
"obp_rank": "-",
"slg_value": 0.4285714,
"slg_rank": "-",
"ops_value": 0.7590798,
"ops_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 104.0,
"k_percent": 17.6,
"bb_percent": 9.2,
"woba": 0.332,
"xwoba": 0.331,
"xba": 0.26,
"xslg": 0.41,
"sweet_spot_percent": 40.7,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 39.5,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 15.0,
"whiff_percent": 22.9,
"swing_percent": 47.0
},
"components": {
"expected_quality": 0.5389,
"regression_edge": -0.0286,
"xwoba_edge": 0.8143,
"xba_edge": 0.6143,
"xslg_edge": 0.55,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.2,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": 1.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "657136",
"player_name": "Connor Wong",
"offense_factor": 0.9894,
"quality_score": -0.1414,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657136",
"espn_id": 40086,
"player_name": "Connor Wong",
"team": "BOS",
"role": "batter",
"espn_rank": 176,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 176,
"gp_value": 52.0,
"gp_rank": 329,
"ab_value": 135.0,
"ab_rank": 332,
"r_value": 16.0,
"r_rank": 340,
"h_value": 36.0,
"h_rank": 303,
"avg_value": 0.2666666,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 2.0,
"hr_rank": 372,
"rbi_value": 17.0,
"rbi_rank": 314,
"tb_value": 51.0,
"tb_rank": 2152,
"bb_value": 15.0,
"bb_rank": 275,
"so_value": 37.0,
"so_rank": 308,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3548387,
"obp_rank": "-",
"slg_value": 0.3777777,
"slg_rank": "-",
"ops_value": 0.7326164,
"ops_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 139.0,
"k_percent": 23.6,
"bb_percent": 9.6,
"woba": 0.333,
"xwoba": 0.309,
"xba": 0.235,
"xslg": 0.351,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 10.3,
"whiff_percent": 25.1,
"swing_percent": 46.9
},
"components": {
"expected_quality": -0.1485,
"regression_edge": -0.6857,
"xwoba_edge": 0.1857,
"xba_edge": -0.1,
"xslg_edge": -0.2929,
"barrel_edge": -0.4,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": -1.1,
"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 BOS | True | 34 | 0.0387 | 1 | 0.9967 | 0.9774 | 0.9520 | 0.9916 | neutral | 0.3020 | 0.3000 | 21.60 | 6.50 | 22.50 | 7.30 | 37.50 | |
| Home OAK | True | 456 | -0.1678 | 0.4500 | 1.0143 | 0.9873 | 1.0315 | 1.0313 | neutral | 0.3340 | 0.3360 | 21.90 | 12.40 | 21.20 | 8.70 | 42 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away BOS | True | None | 88 | 87.49 | 2494 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1332 | |
| Home OAK | True | None | 26 | 88.92 | 2428 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0532 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0064 |
| home_runs_vs_away_pitcher | 0.9967 |
| home_pitcher_quality_edge | -0.2065 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "686930",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 21.9,
"bb_percent": 12.4,
"woba": 0.336,
"xwoba": 0.334,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 42.0,
"avg_best_speed": 78.428,
"avg_hyper_speed": 94.35,
"whiff_percent": 21.2,
"swing_percent": 44.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.4695,
"command_and_miss": -0.4289,
"regression_edge": 0.0571,
"xwoba_edge": -0.6286,
"barrel_edge": -0.3556,
"hard_hit_edge": -0.5571,
"whiff_edge": -0.6429,
"bb_edge": -0.875,
"pitch_design_score": -0.0532
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686930",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 26,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 88.92244362451912,
"release_spin_rate": 2428.2267131437075,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 88.92244362451912,
"release_spin_rate": 2428.2267131437075,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9224,
"release_spin_rate": 2428.2267,
"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.0532,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.38,
"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.1678,
"sample_weight": 0.45,
"run_prevention_factor": 1.0143,
"strikeout_factor": 0.9873,
"walk_factor": 1.0315,
"homer_factor": 1.0313,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686930",
"espn_id": 4620704,
"player_name": "Mason Barnett",
"team": "ATH",
"role": "pitcher",
"espn_rank": 456,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 456,
"gp_value": 14.0,
"gp_rank": 403,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.7432,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 24.2,
"ip_rank": 415,
"h_value": 21.0,
"h_rank": 422,
"er_value": 13.0,
"er_rank": 355,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 13.0,
"bb_rank": 332,
"k_value": 23.0,
"k_rank": 402,
"k_per_9_value": 8.3918915,
"k_per_9_rank": 26,
"whip_value": 1.3783,
"whip_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "543243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 403.0,
"k_percent": 21.6,
"bb_percent": 6.5,
"woba": 0.3,
"xwoba": 0.302,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.5,
"avg_best_speed": 78.9883,
"avg_hyper_speed": 93.9221,
"whiff_percent": 22.5,
"swing_percent": 47.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.1393,
"command_and_miss": -0.0882,
"regression_edge": -0.0571,
"xwoba_edge": 0.2857,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.0857,
"whiff_edge": -0.4571,
"bb_edge": 0.6,
"pitch_design_score": -0.1332
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "543243",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 88,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.49369524770087,
"release_spin_rate": 2494.449209188506,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.49369524770087,
"release_spin_rate": 2494.449209188506,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.4937,
"release_spin_rate": 2494.4492,
"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.1332,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9515,
"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.0387,
"sample_weight": 1.0,
"run_prevention_factor": 0.9967,
"strikeout_factor": 0.9774,
"walk_factor": 0.952,
"homer_factor": 0.9916,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543243",
"espn_id": 32082,
"player_name": "Sonny Gray",
"team": "BOS",
"role": "pitcher",
"espn_rank": 34,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 34,
"gp_value": 19.0,
"gp_rank": 327,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 13.0,
"qs_rank": 7,
"era_value": 2.7843,
"era_rank": null,
"w_value": 12.0,
"w_rank": 2,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 106.2,
"ip_rank": 65,
"h_value": 96.0,
"h_rank": 69,
"er_value": 33.0,
"er_rank": 127,
"hr_value": 12.0,
"hr_rank": 77,
"bb_value": 28.0,
"bb_rank": 109,
"k_value": 93.0,
"k_rank": 65,
"k_per_9_value": 7.846875,
"k_per_9_rank": 26,
"whip_value": 1.1625,
"whip_rank": null,
"war_value": 2.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0064,
"home_runs_vs_away_pitcher": 0.9967,
"home_pitcher_quality_edge": -0.2065
},
"score_before": {
"away_runs": 4.9606,
"home_runs": 3.057
},
"score_after": {
"away_runs": 4.9925,
"home_runs": 3.0469,
"home_win_probability": 0.3309
},
"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 BOS | 7-3 | 0.700 | 4.50 | 3.70 | 8 | 1L | average | average |
| Home OAK | 4-6 | 0.400 | 4.80 | 4.90 | -1 | 1W | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away BOS | 55-51 | 0.519 | 47 | 0.443 | True |
| Home OAK | 45-62 | 0.421 | -126 | -1.178 | True |
| Signal | - | - | -1.621 | -1.768 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-29 | BOS @ OAK | 3 - 4 | OAK | 1 | close |
| 2026-07-28 | BOS @ OAK | 4 - 2 | BOS | 2 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target BOS | - | - | 5 | - | - | - | - |
| Game target OAK | - | - | 4 | - | - | - | - |
| Player finalized BOS | 34 | 9 | 2 | 0 | 2 | 1 | 8 |
| Player finalized OAK | 33 | 9 | 2 | 0 | 0 | 0 | 7 |
| Player model fractional BOS | 32.13 | 7.15 | 4.10 | 0.98 | 3.74 | 2.91 | 7.18 |
| Player model fractional OAK | 32.39 | 7.45 | 3.43 | 0.89 | 3.14 | 2.54 | 6.24 |
| Simulation box BOS | 37 | 10 | 6 | 2 | 6 | 5 | 6 |
| Simulation box OAK | 32 | 5 | 2 | 0 | 2 | 4 | 9 |
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 BOS | Starter | Sonny Gray | 6 | 0 | 7 | 1 | 3 | 2.91 | 1.16 | True |
| Away BOS | Middle Reliever | Aroldis Chapman | 1 | 2 | 1 | 2 | 1 | 2.18 | 1.28 | True |
| Away BOS | Middle Reliever | Garrett Whitlock | 1 | 0 | 1 | 0 | 0 | 2.70 | 0.92 | True |
| Away BOS | Middle Reliever | Justin Slaten | 1 | 0 | 0 | 1 | 0 | 3.03 | 1.03 | True |
| Away BOS | Middle Reliever | Tyron Guerrero | 0 | 0 | 0 | 1 | 0 | 2.98 | 1.13 | True |
| Home OAK | Starter | Mason Barnett | 4.20 | 5 | 3 | 6 | 5 | 6.49 | 1.57 | True |
| Home OAK | Middle Reliever | Luis Medina | 1.10 | 1 | 2 | 1 | 0 | 3.80 | 1.53 | True |
| Home OAK | Middle Reliever | Elvis Alvarado | 1 | 0 | 0 | 1 | 0 | 4.76 | 1.52 | True |
| Home OAK | Middle Reliever | Hogan Harris | 1 | 0 | 1 | 1 | 0 | 3.60 | 1.23 | True |
| Home OAK | Middle Reliever | José Suarez | 1 | 0 | 0 | 1 | 0 | 5.14 | 1.12 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | BOS | batter | DH | Masataka Yoshida | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 2.0150 | boost | better |
| away | BOS | batter | C | Connor Wong | better | 11 | 7 | 4 | 6 | 5 | predicted_RBI | 1.6900 | boost | better |
| home | OAK | batter | 2B | Donovan Walton | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 1.6490 | boost | better |
| away | BOS | batter | 2B | Anthony Seigler | worse | 11 | 3 | 8 | 4 | 7 | predicted_BB | 1.6330 | boost | better |
| home | OAK | batter | RF | Lawrence Butler | worse | 11 | 5 | 6 | 4 | 7 | predicted_BB | 1.6130 | boost | better |
| away | BOS | batter | 1B | Willson Contreras | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | 1.4640 | boost | better |
| away | BOS | batter | CF | Ceddanne Rafaela | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -1.4300 | deboost | worse |
| away | BOS | batter | 3B | Caleb Durbin | worse | 9 | 2 | 7 | 3 | 6 | predicted_AB | 1.3200 | boost | better |
| home | OAK | batter | C | Jonah Heim | worse | 10 | 1 | 9 | 0 | 10 | predicted_SO | 1.2950 | boost | worse |
| home | OAK | batter | 3B | Tommy White | worse | 10 | 1 | 9 | 0 | 10 | predicted_AB | -1.2200 | deboost | worse |
| home | OAK | batter | SS | Jacob Wilson | worse | 11 | 1 | 10 | 0 | 11 | predicted_AB | -1.1900 | deboost | worse |
| away | BOS | batter | RF | Wilyer Abreu | worse | 10 | 5 | 5 | 4 | 6 | predicted_H | 1.1400 | boost | better |
| away | BOS | batter | SS | Andruw Monasterio | better | 10 | 6 | 4 | 7 | 3 | predicted_H | 1.0800 | boost | better |
| home | OAK | batter | LF | Tyler Soderstrom | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.0700 | deboost | worse |
| home | OAK | batter | CF | Henry Bolte | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 0.9350 | boost | worse |
| home | OAK | batter | 1B | Jeff McNeil | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | 0.8390 | boost | better |
| home | OAK | batter | DH | Carlos Cortes | worse | 11 | 4 | 7 | 3 | 8 | predicted_BB | 0.7340 | boost | better |
| away | BOS | batter | LF | Jarren Duran | worse | 10 | 3 | 7 | 4 | 6 | predicted_BB | 0.7140 | boost | better |
| home | OAK | pitcher | Starter | Mason Barnett | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | OAK | pitcher | Middle Reliever | Luis Medina | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | BOS | pitcher | Middle Reliever | Tyron Guerrero | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1000 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Sonny Gray |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0387 |
| ESPN Rank | 34 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1332 |
| Avg Velo | 87.4937 |
| Avg Spin | 2494.4492 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 3 |
| Pre SO | 7 |
| Season ERA | 2.7844 |
| Season WHIP | 1.1625 |
| Role Avg IP | 5.6140 |
| Recent Avg IP | 6.0670 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"opponent": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"edges": {
"quality_edge": 0.3438,
"offense_edge": -0.108,
"opponent_offense_edge": -0.0099,
"defense_strength": 0.2082,
"opponent_defense_weakness": 0.1913,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0204,
"run_prevention": 0.9604,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "543243",
"profile": {
"available": true,
"pitcher_id": "543243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 403.0,
"k_percent": 21.6,
"bb_percent": 6.5,
"woba": 0.3,
"xwoba": 0.302,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.5,
"avg_best_speed": 78.9883,
"avg_hyper_speed": 93.9221,
"whiff_percent": 22.5,
"swing_percent": 47.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.1393,
"command_and_miss": -0.0882,
"regression_edge": -0.0571,
"xwoba_edge": 0.2857,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.0857,
"whiff_edge": -0.4571,
"bb_edge": 0.6,
"pitch_design_score": -0.1332
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "543243",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 88,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.49369524770087,
"release_spin_rate": 2494.449209188506,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.49369524770087,
"release_spin_rate": 2494.449209188506,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.4937,
"release_spin_rate": 2494.4492,
"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.1332,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9515,
"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.0387,
"sample_weight": 1.0,
"run_prevention_factor": 0.9967,
"strikeout_factor": 0.9774,
"walk_factor": 0.952,
"homer_factor": 0.9916,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543243",
"espn_id": 32082,
"player_name": "Sonny Gray",
"team": "BOS",
"role": "pitcher",
"espn_rank": 34,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 34,
"gp_value": 19.0,
"gp_rank": 327,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 13.0,
"qs_rank": 7,
"era_value": 2.7843,
"era_rank": null,
"w_value": 12.0,
"w_rank": 2,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 106.2,
"ip_rank": 65,
"h_value": 96.0,
"h_rank": 69,
"er_value": 33.0,
"er_rank": 127,
"hr_value": 12.0,
"hr_rank": 77,
"bb_value": 28.0,
"bb_rank": 109,
"k_value": 93.0,
"k_rank": 65,
"k_per_9_value": 7.846875,
"k_per_9_rank": 26,
"whip_value": 1.1625,
"whip_rank": null,
"war_value": 2.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9967,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9967,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.952,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9916,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9774,
"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": 62.2,
"ER": 17,
"H": 54,
"BB": 17,
"SO": 59,
"HR": 8,
"ERA": 2.4414893617021276,
"WHIP": 1.1329787234042554,
"K9": 8.47340425531915,
"HR9": 1.148936170212766,
"games_pitched": 10,
"quality_starts": 9,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "543243",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 88,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.49369524770087,
"release_spin_rate": 2494.449209188506,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.49369524770087,
"release_spin_rate": 2494.449209188506,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.4937,
"release_spin_rate": 2494.4492,
"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.1332,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9515,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 19.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7917,
"prior_weight": 0.2083
},
"role": "pitcher",
"player_id": "543243",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.1,
"ER": 8.0,
"R": 8.0,
"H": 25.0,
"BB": 8.0,
"SO": 27.0,
"HR": 3.0,
"BF": 118.0,
"Pitches": 424.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6,
"R": 1.6,
"H": 5.0,
"BB": 1.6,
"SO": 5.4,
"HR": 0.6,
"BF": 23.6,
"Pitches": 84.8
},
"rates": {
"ERA": 2.3736,
"WHIP": 1.0879,
"ER_per_IP": 0.26374,
"H_per_IP": 0.82418,
"BB_per_IP": 0.26374,
"SO_per_IP": 0.89011,
"HR_per_IP": 0.0989
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 62.2,
"ER": 17.0,
"R": 17.0,
"H": 54.0,
"BB": 17.0,
"SO": 59.0,
"HR": 8.0,
"BF": 249.0,
"Pitches": 865.0
},
"per_game": {
"IP": 6.1,
"ER": 1.7,
"R": 1.7,
"H": 5.4,
"BB": 1.7,
"SO": 5.9,
"HR": 0.8,
"BF": 24.9,
"Pitches": 86.5
},
"rates": {
"ERA": 2.4415,
"WHIP": 1.133,
"ER_per_IP": 0.27128,
"H_per_IP": 0.8617,
"BB_per_IP": 0.27128,
"SO_per_IP": 0.94149,
"HR_per_IP": 0.12766
}
},
"season": {
"games": 19,
"totals": {
"IP": 106.2,
"ER": 33.0,
"R": 34.0,
"H": 96.0,
"BB": 28.0,
"SO": 93.0,
"HR": 12.0,
"BF": 431.0,
"Pitches": 1558.0
},
"per_game": {
"IP": 5.2,
"ER": 1.7368,
"R": 1.7895,
"H": 5.0526,
"BB": 1.4737,
"SO": 4.8947,
"HR": 0.6316,
"BF": 22.6842,
"Pitches": 82.0
},
"rates": {
"ERA": 2.7844,
"WHIP": 1.1625,
"ER_per_IP": 0.30938,
"H_per_IP": 0.9,
"BB_per_IP": 0.2625,
"SO_per_IP": 0.87187,
"HR_per_IP": 0.1125
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.954,
"predicted_H": 5.304,
"predicted_BB": 1.72,
"predicted_SO": 5.531,
"predicted_HR": 0.725,
"predicted_ERA": 2.9118,
"predicted_WHIP": 1.1631
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.438,
"form_weight": 0.562,
"form_reliability": 0.7917,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7917,
"prior_weight": 0.2083
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.954,
"final": 1.0981,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 5.304,
"final": 3.4188,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.72,
"final": 2.2806,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 5.531,
"final": 6.1744,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.725,
"final": 0.4074,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9118,
"final": 2.9118,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1631,
"final": 1.1631,
"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 | Aroldis Chapman |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3710 |
| ESPN Rank | 113 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2570 |
| Avg Velo | 94.4623 |
| Avg Spin | 2297.4546 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 1.0093 |
| Season WHIP | 1.1215 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"opponent": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"edges": {
"quality_edge": 0.3438,
"offense_edge": -0.108,
"opponent_offense_edge": -0.0099,
"defense_strength": 0.2082,
"opponent_defense_weakness": 0.1913,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0204,
"run_prevention": 0.9604,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "547973",
"profile": {
"available": true,
"pitcher_id": "547973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 134.0,
"k_percent": 30.6,
"bb_percent": 11.6,
"woba": 0.271,
"xwoba": 0.264,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 75.8455,
"avg_hyper_speed": 94.6708,
"whiff_percent": 29.0,
"swing_percent": 52.0
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.9035,
"command_and_miss": 0.5604,
"regression_edge": 0.2,
"xwoba_edge": 1.3714,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.4714,
"bb_edge": -0.675,
"pitch_design_score": 0.257
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "547973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 94.46229285988238,
"release_spin_rate": 2297.454619300847,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 94.46229285988238,
"release_spin_rate": 2297.454619300847,
"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": 94.4623,
"release_spin_rate": 2297.4546,
"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.257,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8359,
"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.371,
"sample_weight": 0.536,
"run_prevention_factor": 0.9685,
"strikeout_factor": 1.0354,
"walk_factor": 1.0289,
"homer_factor": 0.9779,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "547973",
"espn_id": 30442,
"player_name": "Aroldis Chapman",
"team": "BOS",
"role": "pitcher",
"espn_rank": 113,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 113,
"gp_value": 37.0,
"gp_rank": 116,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 1.7663,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 25.0,
"sv_rank": 5,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 35.2,
"ip_rank": 319,
"h_value": 27.0,
"h_rank": 361,
"er_value": 7.0,
"er_rank": 523,
"hr_value": 1.0,
"hr_rank": 536,
"bb_value": 17.0,
"bb_rank": 254,
"k_value": 47.0,
"k_rank": 221,
"k_per_9_value": 11.859814,
"k_per_9_rank": 18,
"whip_value": 1.2336,
"whip_rank": null,
"war_value": 1.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0155,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9882,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.019,
"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": 6,
"BB": 5,
"SO": 14,
"HR": 1,
"ERA": 0.9,
"WHIP": 1.1,
"K9": 12.6,
"HR9": 0.9,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "547973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 94.46229285988238,
"release_spin_rate": 2297.454619300847,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 94.46229285988238,
"release_spin_rate": 2297.454619300847,
"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": 94.4623,
"release_spin_rate": 2297.4546,
"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.257,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8359,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.108,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.587,
"prior_weight": 0.413
},
"role": "pitcher",
"player_id": "547973",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.6,
"SO": 1.8,
"HR": 0.0,
"BF": 4.4,
"Pitches": 19.2
},
"rates": {
"ERA": 0.0,
"WHIP": 1.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.8,
"BB_per_IP": 0.6,
"SO_per_IP": 1.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 5.0,
"SO": 14.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 166.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.5,
"SO": 1.4,
"HR": 0.1,
"BF": 4.1,
"Pitches": 16.6
},
"rates": {
"ERA": 0.9,
"WHIP": 1.1,
"ER_per_IP": 0.1,
"H_per_IP": 0.6,
"BB_per_IP": 0.5,
"SO_per_IP": 1.4,
"HR_per_IP": 0.1
}
},
"season": {
"games": 36,
"totals": {
"IP": 35.2,
"ER": 4.0,
"R": 5.0,
"H": 23.0,
"BB": 17.0,
"SO": 47.0,
"HR": 1.0,
"BF": 147.0,
"Pitches": 577.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1111,
"R": 0.1389,
"H": 0.6389,
"BB": 0.4722,
"SO": 1.3056,
"HR": 0.0278,
"BF": 4.0833,
"Pitches": 16.0278
},
"rates": {
"ERA": 1.0093,
"WHIP": 1.1215,
"ER_per_IP": 0.11215,
"H_per_IP": 0.64486,
"BB_per_IP": 0.47664,
"SO_per_IP": 1.31776,
"HR_per_IP": 0.02804
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.243,
"predicted_H": 0.813,
"predicted_BB": 0.464,
"predicted_SO": 1.314,
"predicted_HR": 0.086,
"predicted_ERA": 2.1845,
"predicted_WHIP": 1.2776
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5245,
"form_weight": 0.4755,
"form_reliability": 0.587,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.108,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.587,
"prior_weight": 0.413
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.243,
"final": 1.1645,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.813,
"final": 1.4356,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.464,
"final": 0.7451,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.314,
"final": 1.1493,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.086,
"final": 0.0409,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1845,
"final": 2.1845,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2776,
"final": 1.2776,
"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 | Garrett Whitlock |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4086 |
| ESPN Rank | 99 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0613 |
| Avg Velo | 90.9668 |
| Avg Spin | 2128.9580 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.0250 |
| Season WHIP | 0.8750 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"opponent": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"edges": {
"quality_edge": 0.3438,
"offense_edge": -0.108,
"opponent_offense_edge": -0.0099,
"defense_strength": 0.2082,
"opponent_defense_weakness": 0.1913,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0204,
"run_prevention": 0.9604,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676477",
"profile": {
"available": true,
"pitcher_id": "676477",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 139.0,
"k_percent": 27.7,
"bb_percent": 4.1,
"woba": 0.234,
"xwoba": 0.262,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 33.7,
"avg_best_speed": 77.3983,
"avg_hyper_speed": 93.205,
"whiff_percent": 28.1,
"swing_percent": 57.7
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.1196,
"command_and_miss": 0.7039,
"regression_edge": -0.8,
"xwoba_edge": 1.4286,
"barrel_edge": 0.6889,
"hard_hit_edge": 0.6286,
"whiff_edge": 0.3429,
"bb_edge": 1.2,
"pitch_design_score": 0.0613
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676477",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 90.96680119717547,
"release_spin_rate": 2128.957971911465,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 90.96680119717547,
"release_spin_rate": 2128.957971911465,
"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.9668,
"release_spin_rate": 2128.958,
"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.0613,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4377,
"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.4086,
"sample_weight": 0.556,
"run_prevention_factor": 0.9653,
"strikeout_factor": 1.0246,
"walk_factor": 0.9466,
"homer_factor": 0.9316,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676477",
"espn_id": 39674,
"player_name": "Garrett Whitlock",
"team": "BOS",
"role": "pitcher",
"espn_rank": 99,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 99,
"gp_value": 41.0,
"gp_rank": 83,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.025,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 20.0,
"hld_rank": 6,
"ip_value": 40.0,
"ip_rank": 287,
"h_value": 29.0,
"h_rank": 336,
"er_value": 9.0,
"er_rank": 472,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 6.0,
"bb_rank": 516,
"k_value": 42.0,
"k_rank": 264,
"k_per_9_value": 9.45,
"k_per_9_rank": 24,
"whip_value": 0.875,
"whip_rank": null,
"war_value": 1.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9703,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.962,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0137,
"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": 6,
"BB": 0,
"SO": 8,
"HR": 0,
"ERA": 0.9,
"WHIP": 0.6,
"K9": 7.2,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "676477",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 90.96680119717547,
"release_spin_rate": 2128.957971911465,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 90.96680119717547,
"release_spin_rate": 2128.957971911465,
"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.9668,
"release_spin_rate": 2128.958,
"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.0613,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4377,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.971,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6145,
"prior_weight": 0.3855
},
"role": "pitcher",
"player_id": "676477",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 59.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 11.8
},
"rates": {
"ERA": 1.8,
"WHIP": 0.6,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 0.0,
"SO": 8.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 123.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.5,
"Pitches": 12.3
},
"rates": {
"ERA": 0.9,
"WHIP": 0.6,
"ER_per_IP": 0.1,
"H_per_IP": 0.6,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"season": {
"games": 41,
"totals": {
"IP": 40.0,
"ER": 9.0,
"R": 10.0,
"H": 29.0,
"BB": 6.0,
"SO": 42.0,
"HR": 3.0,
"BF": 152.0,
"Pitches": 562.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2195,
"R": 0.2439,
"H": 0.7073,
"BB": 0.1463,
"SO": 1.0244,
"HR": 0.0732,
"BF": 3.7073,
"Pitches": 13.7073
},
"rates": {
"ERA": 2.025,
"WHIP": 0.875,
"ER_per_IP": 0.225,
"H_per_IP": 0.725,
"BB_per_IP": 0.15,
"SO_per_IP": 1.05,
"HR_per_IP": 0.075
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.3,
"predicted_H": 0.76,
"predicted_BB": 0.156,
"predicted_SO": 0.892,
"predicted_HR": 0.068,
"predicted_ERA": 2.696,
"predicted_WHIP": 0.916
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5129,
"form_weight": 0.4871,
"form_reliability": 0.6145,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.971,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6145,
"prior_weight": 0.3855
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.3,
"final": 0.1461,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.76,
"final": 0.3702,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.156,
"final": 0.076,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.892,
"final": 0.9474,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.068,
"final": 0.0331,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.696,
"final": 2.696,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.916,
"final": 0.916,
"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 | Justin Slaten |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2727 |
| ESPN Rank | 695 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1932 |
| Avg Velo | 93.3218 |
| Avg Spin | 2526.1451 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.6098 |
| Season WHIP | 1.3537 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"opponent": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"edges": {
"quality_edge": 0.3438,
"offense_edge": -0.108,
"opponent_offense_edge": -0.0099,
"defense_strength": 0.2082,
"opponent_defense_weakness": 0.1913,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0204,
"run_prevention": 0.9604,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686580",
"profile": {
"available": true,
"pitcher_id": "686580",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 107.0,
"k_percent": 29.8,
"bb_percent": 5.3,
"woba": 0.333,
"xwoba": 0.269,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 39.2,
"avg_best_speed": 77.3446,
"avg_hyper_speed": 94.2714,
"whiff_percent": 25.9,
"swing_percent": 50.0
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.4173,
"command_and_miss": 0.6689,
"regression_edge": 1.8286,
"xwoba_edge": 1.2286,
"barrel_edge": 0.3778,
"hard_hit_edge": -0.1571,
"whiff_edge": 0.0286,
"bb_edge": 0.9,
"pitch_design_score": 0.1932
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686580",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.32177312071313,
"release_spin_rate": 2526.1450993578633,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 93.32177312071313,
"release_spin_rate": 2526.1450993578633,
"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.3218,
"release_spin_rate": 2526.1451,
"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.1932,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3797,
"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.2727,
"sample_weight": 0.45,
"run_prevention_factor": 0.9768,
"strikeout_factor": 1.0197,
"walk_factor": 0.9676,
"homer_factor": 0.9726,
"woba_minus_xwoba": 0.064,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "686580",
"espn_id": 4917925,
"player_name": "Justin Slaten",
"team": "BOS",
"role": "pitcher",
"espn_rank": 695,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 695,
"gp_value": 31.0,
"gp_rank": 170,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.6097,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 16.0,
"hld_rank": 15,
"ip_value": 27.1,
"ip_rank": 396,
"h_value": 31.0,
"h_rank": 320,
"er_value": 14.0,
"er_rank": 338,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 6.0,
"bb_rank": 516,
"k_value": 35.0,
"k_rank": 315,
"k_per_9_value": 11.52439,
"k_per_9_rank": 21,
"whip_value": 1.3536,
"whip_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9877,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0089,
"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": 2,
"H": 7,
"BB": 1,
"SO": 12,
"HR": 0,
"ERA": 2.0000000000000004,
"WHIP": 0.8888888888888891,
"K9": 12.000000000000002,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "686580",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.32177312071313,
"release_spin_rate": 2526.1450993578633,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 93.32177312071313,
"release_spin_rate": 2526.1450993578633,
"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.3218,
"release_spin_rate": 2526.1451,
"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.1932,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3797,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.447,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5214,
"prior_weight": 0.4786
},
"role": "pitcher",
"player_id": "686580",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 1.0,
"SO": 12.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 133.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.1,
"SO": 1.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.3
},
"rates": {
"ERA": 2.0,
"WHIP": 0.8889,
"ER_per_IP": 0.22222,
"H_per_IP": 0.77778,
"BB_per_IP": 0.11111,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 31,
"totals": {
"IP": 27.1,
"ER": 14.0,
"R": 17.0,
"H": 31.0,
"BB": 6.0,
"SO": 35.0,
"HR": 4.0,
"BF": 119.0,
"Pitches": 443.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4516,
"R": 0.5484,
"H": 1.0,
"BB": 0.1935,
"SO": 1.129,
"HR": 0.129,
"BF": 3.8387,
"Pitches": 14.2903
},
"rates": {
"ERA": 4.6098,
"WHIP": 1.3537,
"ER_per_IP": 0.5122,
"H_per_IP": 1.13415,
"BB_per_IP": 0.21951,
"SO_per_IP": 1.28049,
"HR_per_IP": 0.14634
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.336,
"predicted_H": 0.821,
"predicted_BB": 0.213,
"predicted_SO": 1.023,
"predicted_HR": 0.088,
"predicted_ERA": 3.0255,
"predicted_WHIP": 1.0347
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5522,
"form_weight": 0.4478,
"form_reliability": 0.5214,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.447,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5214,
"prior_weight": 0.4786
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.336,
"final": 0.1505,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.821,
"final": 0.9198,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.213,
"final": 0.0954,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.023,
"final": 0.4581,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.088,
"final": 0.0394,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0255,
"final": 3.0255,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0347,
"final": 1.0347,
"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 | Tyron Guerrero |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4424 |
| ESPN Rank | 273 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 98.5618 |
| Avg Spin | 2175.3102 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.1600 |
| Season WHIP | 1 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"opponent": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"edges": {
"quality_edge": 0.3438,
"offense_edge": -0.108,
"opponent_offense_edge": -0.0099,
"defense_strength": 0.2082,
"opponent_defense_weakness": 0.1913,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0204,
"run_prevention": 0.9604,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "594027",
"profile": {
"available": true,
"pitcher_id": "594027",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 28.3,
"bb_percent": 3.0,
"woba": 0.264,
"xwoba": 0.249,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 30.3,
"avg_best_speed": 73.0347,
"avg_hyper_speed": 93.2122,
"whiff_percent": 27.2,
"swing_percent": 56.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.2895,
"command_and_miss": 0.7525,
"regression_edge": 0.4286,
"xwoba_edge": 1.8,
"barrel_edge": 0.5778,
"hard_hit_edge": 1.1143,
"whiff_edge": 0.2143,
"bb_edge": 1.475,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "594027",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 98.56175507067424,
"release_spin_rate": 2175.3101735872037,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 98.56175507067424,
"release_spin_rate": 2175.3101735872037,
"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": 98.5618,
"release_spin_rate": 2175.3102,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.4424,
"sample_weight": 0.45,
"run_prevention_factor": 0.9624,
"strikeout_factor": 1.0192,
"walk_factor": 0.9469,
"homer_factor": 0.9348,
"woba_minus_xwoba": 0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594027",
"espn_id": 33654,
"player_name": "Tyron Guerrero",
"team": "BOS",
"role": "pitcher",
"espn_rank": 273,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 273,
"gp_value": 24.0,
"gp_rank": 209,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.16,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 11.0,
"hld_rank": 44,
"ip_value": 25.0,
"ip_rank": 414,
"h_value": 22.0,
"h_rank": 409,
"er_value": 6.0,
"er_rank": 555,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 3.0,
"bb_rank": 604,
"k_value": 29.0,
"k_rank": 366,
"k_per_9_value": 10.440001,
"k_per_9_rank": 23,
"whip_value": 1.0,
"whip_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9761,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9707,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0086,
"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": 1,
"H": 9,
"BB": 2,
"SO": 10,
"HR": 0,
"ERA": 0.7500000000000001,
"WHIP": 0.9166666666666669,
"K9": 7.500000000000001,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "594027",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 98.56175507067424,
"release_spin_rate": 2175.3101735872037,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 98.56175507067424,
"release_spin_rate": 2175.3101735872037,
"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": 98.5618,
"release_spin_rate": 2175.3102,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 4.982,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4991,
"prior_weight": 0.5009
},
"role": "pitcher",
"player_id": "594027",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 4.4,
"Pitches": 14.4
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.8824,
"ER_per_IP": 0.17647,
"H_per_IP": 0.70588,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 1.0,
"R": 1.0,
"H": 9.0,
"BB": 2.0,
"SO": 10.0,
"HR": 0.0,
"BF": 46.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.9,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 16.0
},
"rates": {
"ERA": 0.75,
"WHIP": 0.9167,
"ER_per_IP": 0.08333,
"H_per_IP": 0.75,
"BB_per_IP": 0.16667,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 25.0,
"ER": 6.0,
"R": 9.0,
"H": 22.0,
"BB": 3.0,
"SO": 29.0,
"HR": 2.0,
"BF": 102.0,
"Pitches": 377.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.375,
"H": 0.9167,
"BB": 0.125,
"SO": 1.2083,
"HR": 0.0833,
"BF": 4.25,
"Pitches": 15.7083
},
"rates": {
"ERA": 2.16,
"WHIP": 1.0,
"ER_per_IP": 0.24,
"H_per_IP": 0.88,
"BB_per_IP": 0.12,
"SO_per_IP": 1.16,
"HR_per_IP": 0.08
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.24,
"predicted_H": 0.627,
"predicted_BB": 0.188,
"predicted_SO": 0.709,
"predicted_HR": 0.061,
"predicted_ERA": 2.9847,
"predicted_WHIP": 1.1254
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5616,
"form_weight": 0.4384,
"form_reliability": 0.4991,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.982,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4991,
"prior_weight": 0.5009
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.24,
"final": 0.1052,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.627,
"final": 0.8365,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.188,
"final": 0.0824,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.709,
"final": 0.3108,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0267,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9847,
"final": 2.9847,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1254,
"final": 1.1254,
"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.186 | 0.000 | 0.000 | Hitting_2B | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 3.536 | 5.000 | 4.000 | Hitting_AB | 3.604 | 3.000 | 1.396 | 2.000 |
| predicted_AVG | 0.219 | 0.200 | 0.250 | Hitting_AVG | 0.290 | 0.333 | -0.090 | -0.133 |
| predicted_BB | 0.464 | 0.000 | 1.000 | Hitting_BB | 0.449 | 2.000 | -0.449 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.580 | 1.000 | 1.000 | Hitting_H | 1.046 | 1.000 | -0.046 | 0.000 |
| predicted_HR | 0.120 | 1.000 | 0.000 | Hitting_HR | 0.239 | 0.000 | 0.761 | 1.000 |
| predicted_OBP | 0.409 | 0.200 | 0.400 | Hitting_OBP | 0.394 | 0.600 | -0.194 | -0.400 |
| predicted_R | 0.546 | 1.000 | 1.000 | Hitting_R | 0.574 | 0.000 | 0.426 | 1.000 |
| predicted_RBI | 0.370 | 1.000 | 0.000 | Hitting_RBI | 0.744 | 0.000 | 0.256 | 1.000 |
| predicted_SLG | 0.433 | 0.800 | 0.250 | Hitting_SLG | 0.554 | 0.333 | 0.246 | 0.467 |
| predicted_SO | 1.062 | 0.000 | 1.000 | Hitting_SO | 1.043 | 2.000 | -1.043 | -2.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_AB: 3.5360 -> 5.0000 (boost 1.4640, better) |
| Biggest Deboost | predicted_SO: 1.0620 -> 0.0000 (deboost -1.0620, 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 | 3 | 1 | 3 | 1 | predicted_BB: 0.4640 -> 0.6149 (boost 0.1509, better) | predicted_AB: 3.5360 -> 3.3859 (deboost -0.1501, 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.4129 -> 0.3232 (deboost -0.0897, 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 | 4 | 4 | predicted_AB: 3.3859 -> 4.0000 (boost 0.6141, better) | predicted_RBI: 0.4275 -> 0.0000 (deboost -0.4275, worse) | AB rounded to 4 (raw=3.54), rates preserved: AVG=0.191 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5674 -> 1.0000 (boost 0.4326, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3232 -> 0.4000 (boost 0.0768, better) | predicted_SLG: 0.3777 -> 0.2500 (deboost -0.1277, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_AB: 4.0000 -> 5.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.3777 (boost 0.1277, better) | predicted_OBP: 0.4000 -> 0.3232 (deboost -0.0768, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "575929",
"player_name": "Willson Contreras",
"position": "1B",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.021,
"predicted_AB": 3.536,
"predicted_AVG": 0.219,
"predicted_BB": 0.464,
"predicted_H": 0.58,
"predicted_HR": 0.12,
"predicted_OBP": 0.409,
"predicted_R": 0.546,
"predicted_RBI": 0.37,
"predicted_SLG": 0.433,
"predicted_SO": 1.062
},
"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.1697,
"predicted_3B": 0.0167,
"predicted_AB": 3.3859,
"predicted_AVG": 0.2276,
"predicted_BB": 0.6149,
"predicted_H": 0.6578,
"predicted_HBP": 0.228,
"predicted_HR": 0.1303,
"predicted_OBP": 0.4129,
"predicted_R": 0.5413,
"predicted_RBI": 0.4078,
"predicted_SLG": 0.4308,
"predicted_SO": 1.0998
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.1697,
"delta": -0.0163,
"percent_delta": -0.0876,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0167,
"delta": -0.0043,
"percent_delta": -0.2048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.536,
"after": 3.3859,
"delta": -0.1501,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2276,
"delta": 0.0086,
"percent_delta": 0.0393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.464,
"after": 0.6149,
"delta": 0.1509,
"percent_delta": 0.3252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.6578,
"delta": 0.0778,
"percent_delta": 0.1341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1303,
"delta": 0.0103,
"percent_delta": 0.0858,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.409,
"after": 0.4129,
"delta": 0.0039,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.546,
"after": 0.5413,
"delta": -0.0047,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.4078,
"delta": 0.0378,
"percent_delta": 0.1022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4308,
"delta": -0.0022,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 1.0998,
"delta": 0.0378,
"percent_delta": 0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.464,
"after": 0.6149,
"delta": 0.1509,
"percent_delta": 0.3252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.536,
"after": 3.3859,
"delta": -0.1501,
"percent_delta": -0.0424,
"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": 97
}
},
{
"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.1697,
"predicted_3B": 0.0167,
"predicted_AB": 3.3859,
"predicted_AVG": 0.1996,
"predicted_BB": 0.6186,
"predicted_H": 0.6758,
"predicted_HBP": 0.228,
"predicted_HR": 0.1333,
"predicted_OBP": 0.3232,
"predicted_R": 0.5674,
"predicted_RBI": 0.4275,
"predicted_SLG": 0.3777,
"predicted_SO": 1.0932
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1697,
"after": 0.1697,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0167,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3859,
"after": 3.3859,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2276,
"after": 0.1996,
"delta": -0.028,
"percent_delta": -0.123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6149,
"after": 0.6186,
"delta": 0.0037,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6578,
"after": 0.6758,
"delta": 0.018,
"percent_delta": 0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.228,
"after": 0.228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1303,
"after": 0.1333,
"delta": 0.003,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4129,
"after": 0.3232,
"delta": -0.0897,
"percent_delta": -0.2172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5413,
"after": 0.5674,
"delta": 0.0261,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4078,
"after": 0.4275,
"delta": 0.0197,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4308,
"after": 0.3777,
"delta": -0.0531,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0998,
"after": 1.0932,
"delta": -0.0066,
"percent_delta": -0.006,
"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.4129,
"after": 0.3232,
"delta": -0.0897,
"percent_delta": -0.2172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.54), rates preserved: AVG=0.191 HR/AB=0.038",
"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.1697,
"after": 0.0,
"delta": -0.1697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0,
"delta": -0.0167,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3859,
"after": 4.0,
"delta": 0.6141,
"percent_delta": 0.1814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6186,
"after": 1.0,
"delta": 0.3814,
"percent_delta": 0.6166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6758,
"after": 1.0,
"delta": 0.3242,
"percent_delta": 0.4797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.228,
"after": 0.0,
"delta": -0.228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1333,
"after": 0.0,
"delta": -0.1333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4275,
"after": 0.0,
"delta": -0.4275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0932,
"after": 1.0,
"delta": -0.0932,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.3859,
"after": 4.0,
"delta": 0.6141,
"percent_delta": 0.1814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4275,
"after": 0.0,
"delta": -0.4275,
"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": 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.5674,
"after": 1.0,
"delta": 0.4326,
"percent_delta": 0.7624,
"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.5674,
"after": 1.0,
"delta": 0.4326,
"percent_delta": 0.7624,
"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": 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.1996,
"after": 0.25,
"delta": 0.0504,
"percent_delta": 0.2525,
"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.3232,
"after": 0.4,
"delta": 0.0768,
"percent_delta": 0.2376,
"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_SLG",
"before": 0.3777,
"after": 0.25,
"delta": -0.1277,
"percent_delta": -0.3381,
"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.3232,
"after": 0.4,
"delta": 0.0768,
"percent_delta": 0.2376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3777,
"after": 0.25,
"delta": -0.1277,
"percent_delta": -0.3381,
"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": 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": 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": 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": 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": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"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": {
"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.1996,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3232,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3777,
"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.1996,
"delta": -0.0504,
"percent_delta": -0.2017,
"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.4,
"after": 0.3232,
"delta": -0.0768,
"percent_delta": -0.1919,
"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.3777,
"delta": 0.1277,
"percent_delta": 0.5109,
"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.3777,
"delta": 0.1277,
"percent_delta": 0.5109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3232,
"delta": -0.0768,
"percent_delta": -0.1919,
"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.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.536,
"after": 5.0,
"delta": 1.464,
"percent_delta": 0.414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.1996,
"delta": -0.0194,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.464,
"after": 0.0,
"delta": -0.464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.409,
"after": 0.3232,
"delta": -0.0858,
"percent_delta": -0.2098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.546,
"after": 1.0,
"delta": 0.454,
"percent_delta": 0.8315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.3777,
"delta": -0.0553,
"percent_delta": -0.1277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 0.0,
"delta": -1.062,
"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_AB",
"before": 3.536,
"after": 5.0,
"delta": 1.464,
"percent_delta": 0.414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.062,
"after": 0.0,
"delta": -1.062,
"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.186 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.536 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.464 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.409 | - |
| predicted_R | 0.546 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.433 | - |
| predicted_SO | 1.062 | - |
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.016 |
| predicted_3B | 0.017 | -0.004 |
| predicted_AB | 3.386 | -0.150 |
| predicted_AVG | 0.228 | 0.009 |
| predicted_BB | 0.615 | 0.151 |
| predicted_H | 0.658 | 0.078 |
| predicted_HBP | 0.228 | - |
| predicted_HR | 0.130 | 0.010 |
| predicted_OBP | 0.413 | 0.004 |
| predicted_R | 0.541 | -0.005 |
| predicted_RBI | 0.408 | 0.038 |
| predicted_SLG | 0.431 | -0.002 |
| predicted_SO | 1.100 | 0.038 |
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.017 | 0.000 |
| predicted_AB | 3.386 | 0.000 |
| predicted_AVG | 0.200 | -0.028 |
| predicted_BB | 0.619 | 0.004 |
| predicted_H | 0.676 | 0.018 |
| predicted_HBP | 0.228 | 0.000 |
| predicted_HR | 0.133 | 0.003 |
| predicted_OBP | 0.323 | -0.090 |
| predicted_R | 0.567 | 0.026 |
| predicted_RBI | 0.427 | 0.020 |
| predicted_SLG | 0.378 | -0.053 |
| predicted_SO | 1.093 | -0.007 |
AB rounded to 4 (raw=3.54), rates preserved: AVG=0.191 HR/AB=0.038
| 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 | - |
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 | 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.017 |
| predicted_AB | 4.000 | 0.614 |
| predicted_AVG | 0.250 | 0.050 |
| predicted_BB | 1.000 | 0.381 |
| predicted_H | 1.000 | 0.324 |
| predicted_HR | 0.000 | -0.133 |
| predicted_OBP | 0.400 | 0.077 |
| predicted_R | 1.000 | 0.433 |
| predicted_RBI | 0.000 | -0.427 |
| predicted_SLG | 0.250 | -0.128 |
| predicted_SO | 1.000 | -0.093 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.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 | 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 | - | 12.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 7.000 | 7.000 | 0.0833 | 0.4500 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.5833 | 0.5833 |
| last_10 | 0.20 | 10 | - | 27.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 6.000 | 10.000 | 10.000 | 0.2593 | 0.5122 | 0.4444 | 0.2593 | 0.0370 | 0.1482 | 0.3704 | 0.3704 |
| season | 0.60 | 97 | - | 343.000 | 97.000 | 18.000 | 2.000 | 22.000 | 66.000 | 53.000 | 45.000 | 103.000 | 0.2828 | 0.3897 | 0.5394 | 0.2828 | 0.0641 | 0.1924 | 0.1312 | 0.3003 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1480 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.1870 |
| predicted_AVG | 0.2389 |
| predicted_BB | 0.8150 |
| predicted_H | 0.7610 |
| predicted_HBP | 0.2280 |
| predicted_HR | 0.1440 |
| predicted_OBP | 0.4180 |
| predicted_R | 0.5350 |
| predicted_RBI | 0.4580 |
| predicted_SLG | 0.4278 |
| predicted_SO | 1.1500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.1480 | 0.1697 | model_form_blend |
| predicted_3B | 0.0210 | 0.0110 | 0.0167 | model_form_blend |
| predicted_AB | 3.5360 | 3.1870 | 3.3859 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2389 | 0.2276 | model_form_blend |
| predicted_BB | 0.4640 | 0.8150 | 0.6149 | model_form_blend |
| predicted_H | 0.5800 | 0.7610 | 0.6578 | model_form_blend |
| predicted_HBP | - | 0.2280 | 0.2280 | form_only |
| predicted_HR | 0.1200 | 0.1440 | 0.1303 | model_form_blend |
| predicted_OBP | 0.4090 | 0.4180 | 0.4129 | model_form_blend |
| predicted_R | 0.5460 | 0.5350 | 0.5413 | model_form_blend |
| predicted_RBI | 0.3700 | 0.4580 | 0.4078 | model_form_blend |
| predicted_SLG | 0.4330 | 0.4278 | 0.4308 | model_form_blend |
| predicted_SO | 1.0620 | 1.1500 | 1.0998 | 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 | 394 |
| Season rows before report date | 394 |
| Report year | 2026 |
| Profile rows used | 97 |
| 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 | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.283 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| 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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | 1B |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 575929 |
| playerID | 575929 |
| playerName | Willson Contreras |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.4 |
| sl_xwoba | 0.387 |
| sl_xba | 0.266 |
| sl_xslg | 0.511 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 14.4 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 30.8 |
| sl_swing_percent | 48.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.214 | 0.000 | 0.000 | Hitting_2B | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 4.790 | 5.000 | 5.000 | Hitting_AB | 3.862 | 5.000 | 1.138 | 0.000 |
| predicted_AVG | 0.180 | 0.400 | 0.200 | Hitting_AVG | 0.260 | 0.000 | 0.140 | 0.400 |
| predicted_BB | 0.408 | 0.000 | 0.000 | Hitting_BB | 0.419 | 0.000 | -0.419 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.860 | 2.000 | 1.000 | Hitting_H | 1.005 | 0.000 | 0.995 | 2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_OBP | 0.256 | 0.400 | 0.200 | Hitting_OBP | 0.332 | 0.000 | 0.068 | 0.400 |
| predicted_R | 0.515 | 1.000 | 1.000 | Hitting_R | 0.560 | 0.000 | 0.440 | 1.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.555 | 0.000 | -0.555 | 0.000 |
| predicted_SLG | 0.366 | 0.400 | 0.200 | Hitting_SLG | 0.468 | 0.000 | -0.068 | 0.400 |
| predicted_SO | 0.903 | 1.000 | 1.000 | Hitting_SO | 0.882 | 2.000 | 0.118 | -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_H: 0.8600 -> 2.0000 (boost 1.1400, better) |
| Biggest Deboost | predicted_RBI: 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 | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.1800 -> 0.1886 (boost 0.0086, better) | predicted_AB: 4.7900 -> 4.3874 (deboost -0.4026, 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.3646 -> 0.3460 (deboost -0.0186, 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_AB: 4.3874 -> 5.0000 (boost 0.6126, better) | predicted_BB: 0.3814 -> 0.0000 (deboost -0.3814, worse) | AB rounded to 5 (raw=4.79), rates preserved: AVG=0.176 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5209 -> 1.0000 (boost 0.4791, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1924 -> 0.2000 (boost 0.0076, better) | predicted_SLG: 0.3460 -> 0.2000 (deboost -0.1460, 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_H: 1.0000 -> 2.0000 (boost 1.0000, better) | 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.2000 -> 0.3460 (boost 0.1460, better) | predicted_AVG: 0.2000 -> 0.1924 (deboost -0.0076, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677800",
"player_name": "Wilyer Abreu",
"position": "RF",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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": 4.79,
"predicted_AVG": 0.18,
"predicted_BB": 0.408,
"predicted_H": 0.86,
"predicted_HR": 0.14,
"predicted_OBP": 0.256,
"predicted_R": 0.515,
"predicted_RBI": 0.59,
"predicted_SLG": 0.366,
"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.211,
"predicted_3B": 0.0238,
"predicted_AB": 4.3874,
"predicted_AVG": 0.1886,
"predicted_BB": 0.3791,
"predicted_H": 0.8216,
"predicted_HBP": 0.032,
"predicted_HR": 0.1353,
"predicted_OBP": 0.2609,
"predicted_R": 0.4969,
"predicted_RBI": 0.5525,
"predicted_SLG": 0.3646,
"predicted_SO": 0.941
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.211,
"delta": -0.003,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0238,
"delta": -0.0052,
"percent_delta": -0.1793,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.79,
"after": 4.3874,
"delta": -0.4026,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.18,
"after": 0.1886,
"delta": 0.0086,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.408,
"after": 0.3791,
"delta": -0.0289,
"percent_delta": -0.0708,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.8216,
"delta": -0.0384,
"percent_delta": -0.0447,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1353,
"delta": -0.0047,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2609,
"delta": 0.0049,
"percent_delta": 0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 0.4969,
"delta": -0.0181,
"percent_delta": -0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.5525,
"delta": -0.0375,
"percent_delta": -0.0636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3646,
"delta": -0.0014,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 0.941,
"delta": 0.038,
"percent_delta": 0.0421,
"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_AVG",
"before": 0.18,
"after": 0.1886,
"delta": 0.0086,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.79,
"after": 4.3874,
"delta": -0.4026,
"percent_delta": -0.0841,
"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.211,
"predicted_3B": 0.0238,
"predicted_AB": 4.3874,
"predicted_AVG": 0.1924,
"predicted_BB": 0.3814,
"predicted_H": 0.844,
"predicted_HBP": 0.032,
"predicted_HR": 0.1385,
"predicted_OBP": 0.257,
"predicted_R": 0.5209,
"predicted_RBI": 0.5791,
"predicted_SLG": 0.346,
"predicted_SO": 0.9354
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.211,
"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": 4.3874,
"after": 4.3874,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1886,
"after": 0.1924,
"delta": 0.0038,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3791,
"after": 0.3814,
"delta": 0.0023,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8216,
"after": 0.844,
"delta": 0.0224,
"percent_delta": 0.0273,
"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.1353,
"after": 0.1385,
"delta": 0.0032,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2609,
"after": 0.257,
"delta": -0.0039,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4969,
"after": 0.5209,
"delta": 0.024,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5525,
"after": 0.5791,
"delta": 0.0266,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3646,
"after": 0.346,
"delta": -0.0186,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.941,
"after": 0.9354,
"delta": -0.0056,
"percent_delta": -0.006,
"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.3646,
"after": 0.346,
"delta": -0.0186,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.79), rates preserved: AVG=0.176 HR/AB=0.029",
"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.211,
"after": 0.0,
"delta": -0.211,
"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": 4.3874,
"after": 5.0,
"delta": 0.6126,
"percent_delta": 0.1396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3814,
"after": 0.0,
"delta": -0.3814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.844,
"after": 1.0,
"delta": 0.156,
"percent_delta": 0.1848,
"direction": "boost",
"projection_effect": "better",
"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.1385,
"after": 0.0,
"delta": -0.1385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5791,
"after": 1.0,
"delta": 0.4209,
"percent_delta": 0.7268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9354,
"after": 1.0,
"delta": 0.0646,
"percent_delta": 0.0691,
"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_AB",
"before": 4.3874,
"after": 5.0,
"delta": 0.6126,
"percent_delta": 0.1396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3814,
"after": 0.0,
"delta": -0.3814,
"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.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"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.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"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.1924,
"after": 0.2,
"delta": 0.0076,
"percent_delta": 0.0395,
"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.257,
"after": 0.2,
"delta": -0.057,
"percent_delta": -0.2218,
"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.346,
"after": 0.2,
"delta": -0.146,
"percent_delta": -0.422,
"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.1924,
"after": 0.2,
"delta": 0.0076,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.2,
"delta": -0.146,
"percent_delta": -0.422,
"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": 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": 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": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"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_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": 5.0,
"predicted_AVG": 0.1924,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.257,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.346,
"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.1924,
"delta": -0.0076,
"percent_delta": -0.0381,
"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.2,
"after": 0.257,
"delta": 0.057,
"percent_delta": 0.2848,
"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.346,
"delta": 0.146,
"percent_delta": 0.73,
"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.2,
"after": 0.346,
"delta": 0.146,
"percent_delta": 0.73,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1924,
"delta": -0.0076,
"percent_delta": -0.0381,
"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": 0.0,
"delta": -0.214,
"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": 4.79,
"after": 5.0,
"delta": 0.21,
"percent_delta": 0.0438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.18,
"after": 0.1924,
"delta": 0.0124,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.408,
"after": 0.0,
"delta": -0.408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 2.0,
"delta": 1.14,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.257,
"delta": 0.001,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.346,
"delta": -0.02,
"percent_delta": -0.0546,
"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": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.86,
"after": 2.0,
"delta": 1.14,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": "worse"
}
}
}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 | 4.790 | - |
| predicted_AVG | 0.180 | - |
| predicted_BB | 0.408 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.256 | - |
| predicted_R | 0.515 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.366 | - |
| 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.211 | -0.003 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 4.387 | -0.403 |
| predicted_AVG | 0.189 | 0.009 |
| predicted_BB | 0.379 | -0.029 |
| predicted_H | 0.822 | -0.038 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.135 | -0.005 |
| predicted_OBP | 0.261 | 0.005 |
| predicted_R | 0.497 | -0.018 |
| predicted_RBI | 0.552 | -0.037 |
| predicted_SLG | 0.365 | -0.001 |
| predicted_SO | 0.941 | 0.038 |
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.024 | 0.000 |
| predicted_AB | 4.387 | 0.000 |
| predicted_AVG | 0.192 | 0.004 |
| predicted_BB | 0.381 | 0.002 |
| predicted_H | 0.844 | 0.022 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.139 | 0.003 |
| predicted_OBP | 0.257 | -0.004 |
| predicted_R | 0.521 | 0.024 |
| predicted_RBI | 0.579 | 0.027 |
| predicted_SLG | 0.346 | -0.019 |
| predicted_SO | 0.935 | -0.006 |
AB rounded to 5 (raw=4.79), rates preserved: AVG=0.176 HR/AB=0.029
| 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.211 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 5.000 | 0.613 |
| predicted_AVG | 0.200 | 0.008 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | 0.156 |
| predicted_HR | 0.000 | -0.139 |
| predicted_OBP | 0.200 | -0.057 |
| predicted_R | 1.000 | 0.479 |
| predicted_RBI | 1.000 | 0.421 |
| predicted_SLG | 0.200 | -0.146 |
| predicted_SO | 1.000 | 0.065 |
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 | 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 | - | 20.000 | 2.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 6.000 | 0.1000 | 0.1429 | 0.1500 | 0.1000 | 0.0000 | 0.1000 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 38.000 | 5.000 | 2.000 | 0.000 | 2.000 | 6.000 | 6.000 | 3.000 | 11.000 | 0.1316 | 0.2143 | 0.3421 | 0.1316 | 0.0526 | 0.1579 | 0.0790 | 0.2895 |
| season | 0.60 | 103 | - | 395.000 | 99.000 | 22.000 | 3.000 | 15.000 | 52.000 | 53.000 | 42.000 | 93.000 | 0.2506 | 0.3221 | 0.4354 | 0.2506 | 0.0380 | 0.1316 | 0.1063 | 0.2354 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2070 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.8570 |
| predicted_AVG | 0.1999 |
| predicted_BB | 0.3410 |
| predicted_H | 0.7710 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1290 |
| predicted_OBP | 0.2673 |
| predicted_R | 0.4730 |
| predicted_RBI | 0.5030 |
| predicted_SLG | 0.3628 |
| predicted_SO | 0.9910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.2070 | 0.2110 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0238 | model_form_blend |
| predicted_AB | 4.7900 | 3.8570 | 4.3874 | model_form_blend |
| predicted_AVG | 0.1800 | 0.1999 | 0.1886 | model_form_blend |
| predicted_BB | 0.4080 | 0.3410 | 0.3791 | model_form_blend |
| predicted_H | 0.8600 | 0.7710 | 0.8216 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.1400 | 0.1290 | 0.1353 | model_form_blend |
| predicted_OBP | 0.2560 | 0.2673 | 0.2609 | model_form_blend |
| predicted_R | 0.5150 | 0.4730 | 0.4969 | model_form_blend |
| predicted_RBI | 0.5900 | 0.5030 | 0.5525 | model_form_blend |
| predicted_SLG | 0.3660 | 0.3628 | 0.3646 | model_form_blend |
| predicted_SO | 0.9030 | 0.9910 | 0.9410 | 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 | 434 |
| Season rows before report date | 434 |
| 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 | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.251 |
| 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 | 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 | RF |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 677800 |
| playerID | 677800 |
| playerName | Wilyer Abreu |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.328 |
| sl_xwoba | 0.34 |
| sl_xba | 0.254 |
| sl_xslg | 0.462 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 24.0 |
| 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.147 | 0.000 | 0.000 | Hitting_2B | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 2.985 | 5.000 | 3.000 | Hitting_AB | 3.396 | 1.000 | 1.604 | 4.000 |
| predicted_AVG | 0.256 | 0.400 | 0.333 | Hitting_AVG | 0.257 | 0.000 | 0.143 | 0.400 |
| predicted_BB | 0.279 | 0.000 | 0.000 | Hitting_BB | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.400 | 2.000 | 1.000 | Hitting_H | 0.871 | 0.000 | 1.129 | 2.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_OBP | 0.311 | 0.400 | 0.333 | Hitting_OBP | 0.330 | 0.000 | 0.070 | 0.400 |
| predicted_R | 0.353 | 1.000 | 0.000 | Hitting_R | 0.387 | 0.000 | 0.613 | 1.000 |
| predicted_RBI | 0.170 | 2.000 | 0.000 | Hitting_RBI | 0.324 | 0.000 | 1.676 | 2.000 |
| predicted_SLG | 0.356 | 0.400 | 0.333 | Hitting_SLG | 0.361 | 0.000 | 0.039 | 0.400 |
| predicted_SO | 0.353 | 1.000 | 0.000 | Hitting_SO | 0.413 | 0.000 | 0.587 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.9850 -> 5.0000 (boost 2.0150, better) |
| Biggest Deboost | predicted_BB: 0.2790 -> 0.0000 (deboost -0.2790, 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 | 1 | 4 | 1 | 4 | predicted_H: 0.4000 -> 0.4981 (boost 0.0981, better) | predicted_AB: 2.9850 -> 2.9318 (deboost -0.0532, 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.2421 -> 0.1745 (deboost -0.0676, 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_H: 0.5117 -> 1.0000 (boost 0.4883, better) | predicted_SO: 0.3183 -> 0.0000 (deboost -0.3183, better) | AB rounded to 3 (raw=2.98), rates preserved: AVG=0.171 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3508 -> 0.0000 (deboost -0.3508, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1745 -> 0.3330 (boost 0.1585, better) | - | 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_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1745 (deboost -0.1585, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807799",
"player_name": "Masataka Yoshida",
"position": "DH",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.015,
"predicted_AB": 2.985,
"predicted_AVG": 0.256,
"predicted_BB": 0.279,
"predicted_H": 0.4,
"predicted_HR": 0.05,
"predicted_OBP": 0.311,
"predicted_R": 0.353,
"predicted_RBI": 0.17,
"predicted_SLG": 0.356,
"predicted_SO": 0.353
},
"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.1233,
"predicted_3B": 0.0125,
"predicted_AB": 2.9318,
"predicted_AVG": 0.2421,
"predicted_BB": 0.2757,
"predicted_H": 0.4981,
"predicted_HBP": 0.025,
"predicted_HR": 0.0433,
"predicted_OBP": 0.3044,
"predicted_R": 0.3347,
"predicted_RBI": 0.1895,
"predicted_SLG": 0.3311,
"predicted_SO": 0.3202
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1233,
"delta": -0.0237,
"percent_delta": -0.1612,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0125,
"delta": -0.0025,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.985,
"after": 2.9318,
"delta": -0.0532,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2421,
"delta": -0.0139,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.2757,
"delta": -0.0033,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.4981,
"delta": 0.0981,
"percent_delta": 0.2452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0433,
"delta": -0.0067,
"percent_delta": -0.134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3044,
"delta": -0.0066,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 0.3347,
"delta": -0.0183,
"percent_delta": -0.0518,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.1895,
"delta": 0.0195,
"percent_delta": 0.1147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3311,
"delta": -0.0249,
"percent_delta": -0.0699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.353,
"after": 0.3202,
"delta": -0.0328,
"percent_delta": -0.0929,
"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_H",
"before": 0.4,
"after": 0.4981,
"delta": 0.0981,
"percent_delta": 0.2452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.985,
"after": 2.9318,
"delta": -0.0532,
"percent_delta": -0.0178,
"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": 68
}
},
{
"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.1233,
"predicted_3B": 0.0125,
"predicted_AB": 2.9318,
"predicted_AVG": 0.1745,
"predicted_BB": 0.2774,
"predicted_H": 0.5117,
"predicted_HBP": 0.025,
"predicted_HR": 0.0443,
"predicted_OBP": 0.2459,
"predicted_R": 0.3508,
"predicted_RBI": 0.1986,
"predicted_SLG": 0.2705,
"predicted_SO": 0.3183
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1233,
"after": 0.1233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0125,
"after": 0.0125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9318,
"after": 2.9318,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2421,
"after": 0.1745,
"delta": -0.0676,
"percent_delta": -0.2792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2757,
"after": 0.2774,
"delta": 0.0017,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4981,
"after": 0.5117,
"delta": 0.0136,
"percent_delta": 0.0273,
"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.0433,
"after": 0.0443,
"delta": 0.001,
"percent_delta": 0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3044,
"after": 0.2459,
"delta": -0.0585,
"percent_delta": -0.1922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3347,
"after": 0.3508,
"delta": 0.0161,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1895,
"after": 0.1986,
"delta": 0.0091,
"percent_delta": 0.048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3311,
"after": 0.2705,
"delta": -0.0606,
"percent_delta": -0.183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3202,
"after": 0.3183,
"delta": -0.0019,
"percent_delta": -0.0059,
"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.2421,
"after": 0.1745,
"delta": -0.0676,
"percent_delta": -0.2792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.98), rates preserved: AVG=0.171 HR/AB=0.015",
"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.1233,
"after": 0.0,
"delta": -0.1233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0125,
"after": 0.0,
"delta": -0.0125,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9318,
"after": 3.0,
"delta": 0.0682,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2774,
"after": 0.0,
"delta": -0.2774,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5117,
"after": 1.0,
"delta": 0.4883,
"percent_delta": 0.9543,
"direction": "boost",
"projection_effect": "better",
"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.0443,
"after": 0.0,
"delta": -0.0443,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1986,
"after": 0.0,
"delta": -0.1986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3183,
"after": 0.0,
"delta": -0.3183,
"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_H",
"before": 0.5117,
"after": 1.0,
"delta": 0.4883,
"percent_delta": 0.9543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3183,
"after": 0.0,
"delta": -0.3183,
"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.3508,
"after": 0.0,
"delta": -0.3508,
"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.3508,
"after": 0.0,
"delta": -0.3508,
"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.1745,
"after": 0.333,
"delta": 0.1585,
"percent_delta": 0.9083,
"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.2459,
"after": 0.333,
"delta": 0.0871,
"percent_delta": 0.3542,
"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.2705,
"after": 0.333,
"delta": 0.0625,
"percent_delta": 0.2311,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1745,
"after": 0.333,
"delta": 0.1585,
"percent_delta": 0.9083,
"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": 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": 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": 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": 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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.1745,
"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.2459,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2705,
"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.333,
"after": 0.1745,
"delta": -0.1585,
"percent_delta": -0.4759,
"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.2459,
"delta": -0.0871,
"percent_delta": -0.2616,
"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.2705,
"delta": -0.0625,
"percent_delta": -0.1878,
"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.1745,
"delta": -0.1585,
"percent_delta": -0.4759,
"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.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.985,
"after": 5.0,
"delta": 2.015,
"percent_delta": 0.675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.1745,
"delta": -0.0815,
"percent_delta": -0.3184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 2.0,
"delta": 1.6,
"percent_delta": 4.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.311,
"after": 0.2459,
"delta": -0.0651,
"percent_delta": -0.2093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 1.0,
"delta": 0.647,
"percent_delta": 1.8329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 2.0,
"delta": 1.83,
"percent_delta": 10.7647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.2705,
"delta": -0.0855,
"percent_delta": -0.2402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.353,
"after": 1.0,
"delta": 0.647,
"percent_delta": 1.8329,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.985,
"after": 5.0,
"delta": 2.015,
"percent_delta": 0.675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"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.147 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.985 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.279 | - |
| predicted_H | 0.400 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.353 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.356 | - |
| predicted_SO | 0.353 | - |
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.123 | -0.024 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 2.932 | -0.053 |
| predicted_AVG | 0.242 | -0.014 |
| predicted_BB | 0.276 | -0.003 |
| predicted_H | 0.498 | 0.098 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.043 | -0.007 |
| predicted_OBP | 0.304 | -0.007 |
| predicted_R | 0.335 | -0.018 |
| predicted_RBI | 0.190 | 0.019 |
| predicted_SLG | 0.331 | -0.025 |
| predicted_SO | 0.320 | -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.123 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 2.932 | 0.000 |
| predicted_AVG | 0.174 | -0.068 |
| predicted_BB | 0.277 | 0.002 |
| predicted_H | 0.512 | 0.014 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.044 | 0.001 |
| predicted_OBP | 0.246 | -0.058 |
| predicted_R | 0.351 | 0.016 |
| predicted_RBI | 0.199 | 0.009 |
| predicted_SLG | 0.271 | -0.061 |
| predicted_SO | 0.318 | -0.002 |
AB rounded to 3 (raw=2.98), rates preserved: AVG=0.171 HR/AB=0.015
| 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.123 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | 0.068 |
| predicted_AVG | 0.333 | 0.159 |
| predicted_BB | 0.000 | -0.277 |
| predicted_H | 1.000 | 0.488 |
| predicted_HR | 0.000 | -0.044 |
| predicted_OBP | 0.333 | 0.087 |
| predicted_R | 0.000 | -0.351 |
| predicted_RBI | 0.000 | -0.199 |
| predicted_SLG | 0.333 | 0.062 |
| predicted_SO | 0.000 | -0.318 |
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 | 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 | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 0.1818 | 0.2500 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0909 | 0.0000 |
| last_10 | 0.20 | 10 | - | 25.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 1.000 | 0.1600 | 0.2500 | 0.1600 | 0.1600 | 0.0000 | 0.0800 | 0.1200 | 0.0400 |
| season | 0.60 | 68 | - | 203.000 | 51.000 | 10.000 | 1.000 | 3.000 | 18.000 | 24.000 | 19.000 | 24.000 | 0.2512 | 0.3230 | 0.3547 | 0.2512 | 0.0148 | 0.0887 | 0.0936 | 0.1182 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0900 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.8570 |
| predicted_AVG | 0.2225 |
| predicted_BB | 0.2710 |
| predicted_H | 0.6360 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.2952 |
| predicted_R | 0.3090 |
| predicted_RBI | 0.2170 |
| predicted_SLG | 0.2962 |
| predicted_SO | 0.2740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.0900 | 0.1233 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0125 | model_form_blend |
| predicted_AB | 2.9850 | 2.8570 | 2.9318 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2225 | 0.2421 | model_form_blend |
| predicted_BB | 0.2790 | 0.2710 | 0.2757 | model_form_blend |
| predicted_H | 0.4000 | 0.6360 | 0.4981 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0500 | 0.0340 | 0.0433 | model_form_blend |
| predicted_OBP | 0.3110 | 0.2952 | 0.3044 | model_form_blend |
| predicted_R | 0.3530 | 0.3090 | 0.3347 | model_form_blend |
| predicted_RBI | 0.1700 | 0.2170 | 0.1895 | model_form_blend |
| predicted_SLG | 0.3560 | 0.2962 | 0.3311 | model_form_blend |
| predicted_SO | 0.3530 | 0.2740 | 0.3202 | 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 | 225 |
| Season rows before report date | 225 |
| Report year | 2026 |
| Profile rows used | 68 |
| 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 | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.251 |
| 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 | 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 | PH |
| gameID | 20260729_BOS@OAK |
| game_type | ph |
| mlbID | 807799 |
| note | Grounded out for Wong in the 6th. |
| playerID | 807799 |
| playerName | Masataka Yoshida |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 10.5 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.323 |
| sl_xwoba | 0.323 |
| sl_xba | 0.268 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 15.5 |
| sl_swing_percent | 42.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.253 | 0.000 | 0.000 | Hitting_2B | 0.275 | 1.000 | -0.275 | -1.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 5.410 | 5.000 | 5.000 | Hitting_AB | 4.005 | 5.000 | 0.995 | 0.000 |
| predicted_AVG | 0.264 | 0.000 | 0.200 | Hitting_AVG | 0.279 | 0.400 | -0.279 | -0.400 |
| predicted_BB | 0.182 | 0.000 | 0.000 | Hitting_BB | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 1.430 | 0.000 | 1.000 | Hitting_H | 1.119 | 2.000 | -1.119 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.084 | 0.000 | -0.084 | 0.000 |
| predicted_OBP | 0.307 | 0.000 | 0.200 | Hitting_OBP | 0.324 | 0.400 | -0.324 | -0.400 |
| predicted_R | 0.475 | 0.000 | 0.000 | Hitting_R | 0.499 | 0.000 | -0.499 | 0.000 |
| predicted_RBI | 0.740 | 0.000 | 1.000 | Hitting_RBI | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_SLG | 0.435 | 0.000 | 0.200 | Hitting_SLG | 0.430 | 0.600 | -0.430 | -0.600 |
| predicted_SO | 0.859 | 2.000 | 1.000 | Hitting_SO | 0.849 | 3.000 | 1.151 | -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.8590 -> 2.0000 (boost 1.1410, worse) |
| Biggest Deboost | predicted_H: 1.4300 -> 0.0000 (deboost -1.4300, 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 | 0 | 4 | predicted_SO: 0.8590 -> 0.9192 (boost 0.0602, worse) | predicted_AB: 5.4100 -> 4.8104 (deboost -0.5996, 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 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2648 -> 0.2721 (boost 0.0073, better) | predicted_SLG: 0.4353 -> 0.4292 (deboost -0.0061, 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_RBI: 0.7355 -> 1.0000 (boost 0.2645, better) | predicted_H: 1.3087 -> 1.0000 (deboost -0.3087, worse) | AB rounded to 5 (raw=5.41), rates preserved: AVG=0.242 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4789 -> 0.0000 (deboost -0.4789, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4292 -> 0.2000 (deboost -0.2292, 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.2000 -> 0.4292 (boost 0.2292, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"position": "CF",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.253,
"predicted_3B": 0.03,
"predicted_AB": 5.41,
"predicted_AVG": 0.264,
"predicted_BB": 0.182,
"predicted_H": 1.43,
"predicted_HR": 0.16,
"predicted_OBP": 0.307,
"predicted_R": 0.475,
"predicted_RBI": 0.74,
"predicted_SLG": 0.435,
"predicted_SO": 0.859
},
"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.2427,
"predicted_3B": 0.0248,
"predicted_AB": 4.8104,
"predicted_AVG": 0.2648,
"predicted_BB": 0.1566,
"predicted_H": 1.2739,
"predicted_HBP": 0.037,
"predicted_HR": 0.151,
"predicted_OBP": 0.301,
"predicted_R": 0.4569,
"predicted_RBI": 0.7017,
"predicted_SLG": 0.4353,
"predicted_SO": 0.9192
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.253,
"after": 0.2427,
"delta": -0.0103,
"percent_delta": -0.0407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0248,
"delta": -0.0052,
"percent_delta": -0.1733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.41,
"after": 4.8104,
"delta": -0.5996,
"percent_delta": -0.1108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2648,
"delta": 0.0008,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.1566,
"delta": -0.0254,
"percent_delta": -0.1396,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 1.2739,
"delta": -0.1561,
"percent_delta": -0.1092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.151,
"delta": -0.009,
"percent_delta": -0.0563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.301,
"delta": -0.006,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.475,
"after": 0.4569,
"delta": -0.0181,
"percent_delta": -0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.7017,
"delta": -0.0383,
"percent_delta": -0.0518,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4353,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.859,
"after": 0.9192,
"delta": 0.0602,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.859,
"after": 0.9192,
"delta": 0.0602,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.41,
"after": 4.8104,
"delta": -0.5996,
"percent_delta": -0.1108,
"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": 99
}
},
{
"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.2427,
"predicted_3B": 0.0248,
"predicted_AB": 4.8104,
"predicted_AVG": 0.2721,
"predicted_BB": 0.1575,
"predicted_H": 1.3087,
"predicted_HBP": 0.037,
"predicted_HR": 0.1545,
"predicted_OBP": 0.2951,
"predicted_R": 0.4789,
"predicted_RBI": 0.7355,
"predicted_SLG": 0.4292,
"predicted_SO": 0.9137
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2427,
"after": 0.2427,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0248,
"after": 0.0248,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8104,
"after": 4.8104,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2648,
"after": 0.2721,
"delta": 0.0073,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1566,
"after": 0.1575,
"delta": 0.0009,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2739,
"after": 1.3087,
"delta": 0.0348,
"percent_delta": 0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.151,
"after": 0.1545,
"delta": 0.0035,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2951,
"delta": -0.0059,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4569,
"after": 0.4789,
"delta": 0.022,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7017,
"after": 0.7355,
"delta": 0.0338,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4353,
"after": 0.4292,
"delta": -0.0061,
"percent_delta": -0.014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9192,
"after": 0.9137,
"delta": -0.0055,
"percent_delta": -0.006,
"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.2648,
"after": 0.2721,
"delta": 0.0073,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4353,
"after": 0.4292,
"delta": -0.0061,
"percent_delta": -0.014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.41), rates preserved: AVG=0.242 HR/AB=0.029",
"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.2427,
"after": 0.0,
"delta": -0.2427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0248,
"after": 0.0,
"delta": -0.0248,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8104,
"after": 5.0,
"delta": 0.1896,
"percent_delta": 0.0394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1575,
"after": 0.0,
"delta": -0.1575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3087,
"after": 1.0,
"delta": -0.3087,
"percent_delta": -0.2359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1545,
"after": 0.0,
"delta": -0.1545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7355,
"after": 1.0,
"delta": 0.2645,
"percent_delta": 0.3596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9137,
"after": 1.0,
"delta": 0.0863,
"percent_delta": 0.0945,
"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_RBI",
"before": 0.7355,
"after": 1.0,
"delta": 0.2645,
"percent_delta": 0.3596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3087,
"after": 1.0,
"delta": -0.3087,
"percent_delta": -0.2359,
"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.4789,
"after": 0.0,
"delta": -0.4789,
"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.4789,
"after": 0.0,
"delta": -0.4789,
"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.2721,
"after": 0.2,
"delta": -0.0721,
"percent_delta": -0.265,
"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.2951,
"after": 0.2,
"delta": -0.0951,
"percent_delta": -0.3223,
"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.4292,
"after": 0.2,
"delta": -0.2292,
"percent_delta": -0.534,
"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.4292,
"after": 0.2,
"delta": -0.2292,
"percent_delta": -0.534,
"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": 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": 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": 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": 5.0,
"predicted_AVG": 0.2721,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2951,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4292,
"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.2,
"after": 0.2721,
"delta": 0.0721,
"percent_delta": 0.3603,
"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.2,
"after": 0.2951,
"delta": 0.0951,
"percent_delta": 0.4757,
"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.4292,
"delta": 0.2292,
"percent_delta": 1.146,
"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.2,
"after": 0.4292,
"delta": 0.2292,
"percent_delta": 1.146,
"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.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.41,
"after": 5.0,
"delta": -0.41,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2721,
"delta": 0.0081,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 0.0,
"delta": -1.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2951,
"delta": -0.0119,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.475,
"after": 0.0,
"delta": -0.475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4292,
"delta": -0.0058,
"percent_delta": -0.0133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.859,
"after": 2.0,
"delta": 1.141,
"percent_delta": 1.3283,
"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.859,
"after": 2.0,
"delta": 1.141,
"percent_delta": 1.3283,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.43,
"after": 0.0,
"delta": -1.43,
"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.253 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 5.410 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.182 | - |
| predicted_H | 1.430 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.475 | - |
| predicted_RBI | 0.740 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 0.859 | - |
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.243 | -0.010 |
| predicted_3B | 0.025 | -0.005 |
| predicted_AB | 4.810 | -0.600 |
| predicted_AVG | 0.265 | 0.001 |
| predicted_BB | 0.157 | -0.025 |
| predicted_H | 1.274 | -0.156 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.151 | -0.009 |
| predicted_OBP | 0.301 | -0.006 |
| predicted_R | 0.457 | -0.018 |
| predicted_RBI | 0.702 | -0.038 |
| predicted_SLG | 0.435 | 0.000 |
| predicted_SO | 0.919 | 0.060 |
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.243 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 4.810 | 0.000 |
| predicted_AVG | 0.272 | 0.007 |
| predicted_BB | 0.158 | 0.001 |
| predicted_H | 1.309 | 0.035 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.154 | 0.004 |
| predicted_OBP | 0.295 | -0.006 |
| predicted_R | 0.479 | 0.022 |
| predicted_RBI | 0.736 | 0.034 |
| predicted_SLG | 0.429 | -0.006 |
| predicted_SO | 0.914 | -0.006 |
AB rounded to 5 (raw=5.41), rates preserved: AVG=0.242 HR/AB=0.029
| 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.243 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 5.000 | 0.190 |
| predicted_AVG | 0.200 | -0.072 |
| predicted_BB | 0.000 | -0.158 |
| predicted_H | 1.000 | -0.309 |
| predicted_HR | 0.000 | -0.154 |
| predicted_OBP | 0.200 | -0.095 |
| predicted_R | 0.000 | -0.479 |
| predicted_RBI | 1.000 | 0.264 |
| predicted_SLG | 0.200 | -0.229 |
| predicted_SO | 1.000 | 0.086 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.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 | - | 21.000 | 5.000 | 1.000 | 0.000 | 1.000 | 5.000 | 1.000 | 0.000 | 7.000 | 0.2381 | 0.2381 | 0.4286 | 0.2381 | 0.0476 | 0.2381 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 42.000 | 11.000 | 2.000 | 0.000 | 2.000 | 9.000 | 5.000 | 0.000 | 11.000 | 0.2619 | 0.2619 | 0.4524 | 0.2619 | 0.0476 | 0.2143 | 0.0000 | 0.2619 |
| season | 0.60 | 99 | - | 388.000 | 108.000 | 25.000 | 3.000 | 10.000 | 48.000 | 47.000 | 18.000 | 85.000 | 0.2784 | 0.3204 | 0.4356 | 0.2783 | 0.0258 | 0.1237 | 0.0464 | 0.2191 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2290 |
| predicted_3B | 0.0180 |
| predicted_AB | 4.0160 |
| predicted_AVG | 0.2658 |
| predicted_BB | 0.1230 |
| predicted_H | 1.0670 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.1390 |
| predicted_OBP | 0.2931 |
| predicted_R | 0.4330 |
| predicted_RBI | 0.6510 |
| predicted_SLG | 0.4356 |
| predicted_SO | 0.9990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2530 | 0.2290 | 0.2427 | model_form_blend |
| predicted_3B | 0.0300 | 0.0180 | 0.0248 | model_form_blend |
| predicted_AB | 5.4100 | 4.0160 | 4.8104 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2658 | 0.2648 | model_form_blend |
| predicted_BB | 0.1820 | 0.1230 | 0.1566 | model_form_blend |
| predicted_H | 1.4300 | 1.0670 | 1.2739 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.1600 | 0.1390 | 0.1510 | model_form_blend |
| predicted_OBP | 0.3070 | 0.2931 | 0.3010 | model_form_blend |
| predicted_R | 0.4750 | 0.4330 | 0.4569 | model_form_blend |
| predicted_RBI | 0.7400 | 0.6510 | 0.7017 | model_form_blend |
| predicted_SLG | 0.4350 | 0.4356 | 0.4353 | model_form_blend |
| predicted_SO | 0.8590 | 0.9990 | 0.9192 | 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 | 403 |
| Season rows before report date | 403 |
| Report year | 2026 |
| Profile rows used | 99 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.278 |
| 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 | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| 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 | 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 | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 678882 |
| playerID | 678882 |
| playerName | Ceddanne Rafaela |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 4.3 |
| sl_woba | 0.331 |
| sl_xwoba | 0.28 |
| sl_xba | 0.242 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 33.1 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 24.3 |
| sl_swing_percent | 55.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.198 | 0.000 | 0.000 | Hitting_2B | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 3.680 | 5.000 | 4.000 | Hitting_AB | 3.504 | 4.000 | 1.496 | 1.000 |
| predicted_AVG | 0.286 | 0.200 | 0.250 | Hitting_AVG | 0.237 | 0.750 | -0.037 | -0.550 |
| predicted_BB | 0.260 | 0.000 | 0.000 | Hitting_BB | 0.282 | 1.000 | -0.282 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 1.050 | 1.000 | 1.000 | Hitting_H | 0.831 | 3.000 | 0.169 | -2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.338 | 0.200 | 0.250 | Hitting_OBP | 0.303 | 0.800 | -0.103 | -0.600 |
| predicted_R | 0.438 | 0.000 | 0.000 | Hitting_R | 0.476 | 1.000 | -0.476 | -1.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.473 | 0.000 | -0.473 | 0.000 |
| predicted_SLG | 0.389 | 0.200 | 0.250 | Hitting_SLG | 0.400 | 0.750 | -0.200 | -0.550 |
| predicted_SO | 0.542 | 0.000 | 1.000 | Hitting_SO | 0.504 | 0.000 | -0.504 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.6800 -> 5.0000 (boost 1.3200, better) |
| Biggest Deboost | predicted_SO: 0.5420 -> 0.0000 (deboost -0.5420, 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_SLG: 0.3890 -> 0.3954 (boost 0.0064, better) | predicted_AB: 3.6800 -> 3.5757 (deboost -0.1043, 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_SLG: 0.3954 -> 0.4117 (boost 0.0163, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 3.5757 -> 4.0000 (boost 0.4243, better) | predicted_RBI: 0.3314 -> 0.0000 (deboost -0.3314, worse) | AB rounded to 4 (raw=3.68), rates preserved: AVG=0.280 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4551 -> 0.0000 (deboost -0.4551, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4117 -> 0.2500 (deboost -0.1617, 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_AB: 4.0000 -> 5.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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4117 (boost 0.1617, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702332",
"player_name": "Caleb Durbin",
"position": "3B",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.198,
"predicted_3B": 0.01,
"predicted_AB": 3.68,
"predicted_AVG": 0.286,
"predicted_BB": 0.26,
"predicted_H": 1.05,
"predicted_HR": 0.07,
"predicted_OBP": 0.338,
"predicted_R": 0.438,
"predicted_RBI": 0.32,
"predicted_SLG": 0.389,
"predicted_SO": 0.542
},
"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.1903,
"predicted_3B": 0.0087,
"predicted_AB": 3.5757,
"predicted_AVG": 0.2802,
"predicted_BB": 0.2745,
"predicted_H": 1.0013,
"predicted_HBP": 0.056,
"predicted_HR": 0.0768,
"predicted_OBP": 0.3382,
"predicted_R": 0.4342,
"predicted_RBI": 0.3162,
"predicted_SLG": 0.3954,
"predicted_SO": 0.592
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.1903,
"delta": -0.0077,
"percent_delta": -0.0389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.68,
"after": 3.5757,
"delta": -0.1043,
"percent_delta": -0.0283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2802,
"delta": -0.0058,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.2745,
"delta": 0.0145,
"percent_delta": 0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0013,
"delta": -0.0487,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0768,
"delta": 0.0068,
"percent_delta": 0.0971,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3382,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.4342,
"delta": -0.0038,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3162,
"delta": -0.0038,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3954,
"delta": 0.0064,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.542,
"after": 0.592,
"delta": 0.05,
"percent_delta": 0.0923,
"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.389,
"after": 0.3954,
"delta": 0.0064,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.68,
"after": 3.5757,
"delta": -0.1043,
"percent_delta": -0.0283,
"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": 96
}
},
{
"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.1903,
"predicted_3B": 0.0087,
"predicted_AB": 3.5757,
"predicted_AVG": 0.2877,
"predicted_BB": 0.2761,
"predicted_H": 1.0286,
"predicted_HBP": 0.056,
"predicted_HR": 0.0786,
"predicted_OBP": 0.3387,
"predicted_R": 0.4551,
"predicted_RBI": 0.3314,
"predicted_SLG": 0.4117,
"predicted_SO": 0.5884
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1903,
"after": 0.1903,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5757,
"after": 3.5757,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2802,
"after": 0.2877,
"delta": 0.0075,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2745,
"after": 0.2761,
"delta": 0.0016,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0013,
"after": 1.0286,
"delta": 0.0273,
"percent_delta": 0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.056,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0768,
"after": 0.0786,
"delta": 0.0018,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3382,
"after": 0.3387,
"delta": 0.0005,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4342,
"after": 0.4551,
"delta": 0.0209,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3162,
"after": 0.3314,
"delta": 0.0152,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3954,
"after": 0.4117,
"delta": 0.0163,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.592,
"after": 0.5884,
"delta": -0.0036,
"percent_delta": -0.0061,
"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_SLG",
"before": 0.3954,
"after": 0.4117,
"delta": 0.0163,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.68), rates preserved: AVG=0.280 HR/AB=0.021",
"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.1903,
"after": 0.0,
"delta": -0.1903,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5757,
"after": 4.0,
"delta": 0.4243,
"percent_delta": 0.1187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2761,
"after": 0.0,
"delta": -0.2761,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0286,
"after": 1.0,
"delta": -0.0286,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0786,
"after": 0.0,
"delta": -0.0786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3314,
"after": 0.0,
"delta": -0.3314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5884,
"after": 1.0,
"delta": 0.4116,
"percent_delta": 0.6995,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5757,
"after": 4.0,
"delta": 0.4243,
"percent_delta": 0.1187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3314,
"after": 0.0,
"delta": -0.3314,
"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.4551,
"after": 0.0,
"delta": -0.4551,
"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.4551,
"after": 0.0,
"delta": -0.4551,
"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.2877,
"after": 0.25,
"delta": -0.0377,
"percent_delta": -0.131,
"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.3387,
"after": 0.25,
"delta": -0.0887,
"percent_delta": -0.2619,
"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.4117,
"after": 0.25,
"delta": -0.1617,
"percent_delta": -0.3928,
"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.4117,
"after": 0.25,
"delta": -0.1617,
"percent_delta": -0.3928,
"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": 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": 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": 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_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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": 5.0,
"predicted_AVG": 0.2877,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3387,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4117,
"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.25,
"after": 0.2877,
"delta": 0.0377,
"percent_delta": 0.1507,
"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.3387,
"delta": 0.0887,
"percent_delta": 0.355,
"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.4117,
"delta": 0.1617,
"percent_delta": 0.6468,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4117,
"delta": 0.1617,
"percent_delta": 0.6468,
"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.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.68,
"after": 5.0,
"delta": 1.32,
"percent_delta": 0.3587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2877,
"delta": 0.0017,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0,
"delta": -0.05,
"percent_delta": -0.0476,
"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.338,
"after": 0.3387,
"delta": 0.0007,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.4117,
"delta": 0.0227,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.542,
"after": 0.0,
"delta": -0.542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.68,
"after": 5.0,
"delta": 1.32,
"percent_delta": 0.3587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.542,
"after": 0.0,
"delta": -0.542,
"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.198 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.680 | - |
| predicted_AVG | 0.286 | - |
| predicted_BB | 0.260 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.438 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.389 | - |
| predicted_SO | 0.542 | - |
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.190 | -0.008 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.576 | -0.104 |
| predicted_AVG | 0.280 | -0.006 |
| predicted_BB | 0.275 | 0.015 |
| predicted_H | 1.001 | -0.049 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.077 | 0.007 |
| predicted_OBP | 0.338 | 0.000 |
| predicted_R | 0.434 | -0.004 |
| predicted_RBI | 0.316 | -0.004 |
| predicted_SLG | 0.395 | 0.006 |
| predicted_SO | 0.592 | 0.050 |
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.190 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.576 | 0.000 |
| predicted_AVG | 0.288 | 0.008 |
| predicted_BB | 0.276 | 0.002 |
| predicted_H | 1.029 | 0.027 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.079 | 0.002 |
| predicted_OBP | 0.339 | 0.001 |
| predicted_R | 0.455 | 0.021 |
| predicted_RBI | 0.331 | 0.015 |
| predicted_SLG | 0.412 | 0.016 |
| predicted_SO | 0.588 | -0.004 |
AB rounded to 4 (raw=3.68), rates preserved: AVG=0.280 HR/AB=0.021
| 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.190 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.424 |
| predicted_AVG | 0.250 | -0.038 |
| predicted_BB | 0.000 | -0.276 |
| predicted_H | 1.000 | -0.029 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.250 | -0.089 |
| predicted_R | 0.000 | -0.455 |
| predicted_RBI | 0.000 | -0.331 |
| predicted_SLG | 0.250 | -0.162 |
| predicted_SO | 1.000 | 0.412 |
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 | 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 | 7.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 4.000 | 0.4118 | 0.4737 | 0.4706 | 0.4118 | 0.0000 | 0.0000 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 3.000 | 8.000 | 0.2571 | 0.3333 | 0.3714 | 0.2571 | 0.0286 | 0.0571 | 0.0857 | 0.2286 |
| season | 0.60 | 96 | - | 324.000 | 76.000 | 19.000 | 1.000 | 10.000 | 41.000 | 42.000 | 25.000 | 52.000 | 0.2346 | 0.2997 | 0.3920 | 0.2346 | 0.0309 | 0.1265 | 0.0772 | 0.1605 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.4360 |
| predicted_AVG | 0.2725 |
| predicted_BB | 0.2940 |
| predicted_H | 0.9360 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.3385 |
| predicted_R | 0.4290 |
| predicted_RBI | 0.3110 |
| predicted_SLG | 0.4040 |
| predicted_SO | 0.6590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.1800 | 0.1903 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 3.6800 | 3.4360 | 3.5757 | model_form_blend |
| predicted_AVG | 0.2860 | 0.2725 | 0.2802 | model_form_blend |
| predicted_BB | 0.2600 | 0.2940 | 0.2745 | model_form_blend |
| predicted_H | 1.0500 | 0.9360 | 1.0013 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.0700 | 0.0860 | 0.0768 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3385 | 0.3382 | model_form_blend |
| predicted_R | 0.4380 | 0.4290 | 0.4342 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3110 | 0.3162 | model_form_blend |
| predicted_SLG | 0.3890 | 0.4040 | 0.3954 | model_form_blend |
| predicted_SO | 0.5420 | 0.6590 | 0.5920 | 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 | 355 |
| Season rows before report date | 355 |
| Report year | 2026 |
| Profile rows used | 96 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.235 |
| 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.75 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| 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 | 3 |
| 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 | 3B |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 702332 |
| playerID | 702332 |
| playerName | Caleb Durbin |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 14.2 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.306 |
| sl_xwoba | 0.282 |
| sl_xba | 0.235 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 27.3 |
| sl_exit_velocity_avg | 84.0 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 15.4 |
| sl_swing_percent | 47.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.102 | 0.000 | 0.000 | Hitting_2B | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.867 | 4.000 | 4.000 | Hitting_AB | 3.995 | 3.000 | 0.005 | 1.000 |
| predicted_AVG | 0.156 | 0.250 | 0.250 | Hitting_AVG | 0.190 | 0.000 | 0.060 | 0.250 |
| predicted_BB | 0.286 | 1.000 | 0.000 | Hitting_BB | 0.317 | 0.000 | 0.683 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.410 | 1.000 | 1.000 | Hitting_H | 0.761 | 0.000 | 0.239 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_OBP | 0.229 | 0.400 | 0.250 | Hitting_OBP | 0.255 | 0.000 | 0.145 | 0.400 |
| predicted_R | 0.459 | 0.000 | 0.000 | Hitting_R | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_SLG | 0.327 | 0.250 | 0.250 | Hitting_SLG | 0.335 | 0.000 | -0.085 | 0.250 |
| predicted_SO | 1.245 | 1.000 | 1.000 | Hitting_SO | 1.263 | 0.000 | -0.263 | 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_BB: 0.2860 -> 1.0000 (boost 0.7140, better) |
| Biggest Deboost | predicted_R: 0.4590 -> 0.0000 (deboost -0.4590, 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 | 3 | 3 | 4 | 2 | predicted_H: 0.4100 -> 0.5886 (boost 0.1786, better) | predicted_SO: 1.2450 -> 1.1761 (deboost -0.0689, 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.3195 -> 0.2501 (deboost -0.0694, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.6047 -> 1.0000 (boost 0.3953, better) | predicted_RBI: 0.4112 -> 0.0000 (deboost -0.4112, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.156 HR/AB=0.020 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4725 -> 0.0000 (deboost -0.4725, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1585 -> 0.2500 (boost 0.0915, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2500 -> 0.1585 (deboost -0.0915, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680776",
"player_name": "Jarren Duran",
"position": "LF",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.102,
"predicted_3B": 0.02,
"predicted_AB": 3.867,
"predicted_AVG": 0.156,
"predicted_BB": 0.286,
"predicted_H": 0.41,
"predicted_HR": 0.07,
"predicted_OBP": 0.229,
"predicted_R": 0.459,
"predicted_RBI": 0.36,
"predicted_SLG": 0.327,
"predicted_SO": 1.245
},
"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.0869,
"predicted_3B": 0.0166,
"predicted_AB": 3.8145,
"predicted_AVG": 0.1838,
"predicted_BB": 0.2456,
"predicted_H": 0.5886,
"predicted_HBP": 0.024,
"predicted_HR": 0.0747,
"predicted_OBP": 0.2425,
"predicted_R": 0.4508,
"predicted_RBI": 0.3923,
"predicted_SLG": 0.3195,
"predicted_SO": 1.1761
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.102,
"after": 0.0869,
"delta": -0.0151,
"percent_delta": -0.148,
"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.867,
"after": 3.8145,
"delta": -0.0525,
"percent_delta": -0.0136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.156,
"after": 0.1838,
"delta": 0.0278,
"percent_delta": 0.1782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.2456,
"delta": -0.0404,
"percent_delta": -0.1413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.41,
"after": 0.5886,
"delta": 0.1786,
"percent_delta": 0.4356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0747,
"delta": 0.0047,
"percent_delta": 0.0671,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.229,
"after": 0.2425,
"delta": 0.0135,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.4508,
"delta": -0.0082,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3923,
"delta": 0.0323,
"percent_delta": 0.0897,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.327,
"after": 0.3195,
"delta": -0.0075,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.245,
"after": 1.1761,
"delta": -0.0689,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.41,
"after": 0.5886,
"delta": 0.1786,
"percent_delta": 0.4356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.245,
"after": 1.1761,
"delta": -0.0689,
"percent_delta": -0.0553,
"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": 98
}
},
{
"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.0869,
"predicted_3B": 0.0166,
"predicted_AB": 3.8145,
"predicted_AVG": 0.1585,
"predicted_BB": 0.2471,
"predicted_H": 0.6047,
"predicted_HBP": 0.024,
"predicted_HR": 0.0764,
"predicted_OBP": 0.2097,
"predicted_R": 0.4725,
"predicted_RBI": 0.4112,
"predicted_SLG": 0.2501,
"predicted_SO": 1.169
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0869,
"after": 0.0869,
"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": 3.8145,
"after": 3.8145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1838,
"after": 0.1585,
"delta": -0.0253,
"percent_delta": -0.1376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2456,
"after": 0.2471,
"delta": 0.0015,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5886,
"after": 0.6047,
"delta": 0.0161,
"percent_delta": 0.0274,
"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.0747,
"after": 0.0764,
"delta": 0.0017,
"percent_delta": 0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2425,
"after": 0.2097,
"delta": -0.0328,
"percent_delta": -0.1353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4508,
"after": 0.4725,
"delta": 0.0217,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3923,
"after": 0.4112,
"delta": 0.0189,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3195,
"after": 0.2501,
"delta": -0.0694,
"percent_delta": -0.2172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1761,
"after": 1.169,
"delta": -0.0071,
"percent_delta": -0.006,
"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.3195,
"after": 0.2501,
"delta": -0.0694,
"percent_delta": -0.2172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.156 HR/AB=0.020",
"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.0869,
"after": 0.0,
"delta": -0.0869,
"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": 3.8145,
"after": 4.0,
"delta": 0.1855,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2471,
"after": 0.0,
"delta": -0.2471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6047,
"after": 1.0,
"delta": 0.3953,
"percent_delta": 0.6537,
"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.0764,
"after": 0.0,
"delta": -0.0764,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4112,
"after": 0.0,
"delta": -0.4112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.169,
"after": 1.0,
"delta": -0.169,
"percent_delta": -0.1446,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6047,
"after": 1.0,
"delta": 0.3953,
"percent_delta": 0.6537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4112,
"after": 0.0,
"delta": -0.4112,
"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.600)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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_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": 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.4725,
"after": 0.0,
"delta": -0.4725,
"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.4725,
"after": 0.0,
"delta": -0.4725,
"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": 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.1585,
"after": 0.25,
"delta": 0.0915,
"percent_delta": 0.5773,
"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.2097,
"after": 0.25,
"delta": 0.0403,
"percent_delta": 0.1922,
"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.2501,
"after": 0.25,
"delta": -0.0001,
"percent_delta": -0.0004,
"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_AVG",
"before": 0.1585,
"after": 0.25,
"delta": 0.0915,
"percent_delta": 0.5773,
"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": 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": 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": 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_BB",
"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": 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.1585,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2097,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2501,
"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.1585,
"delta": -0.0915,
"percent_delta": -0.3659,
"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": 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.2097,
"delta": -0.0403,
"percent_delta": -0.1612,
"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.2501,
"delta": 0.0001,
"percent_delta": 0.0005,
"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_AVG",
"before": 0.25,
"after": 0.1585,
"delta": -0.0915,
"percent_delta": -0.3659,
"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.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.867,
"after": 4.0,
"delta": 0.133,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.156,
"after": 0.1585,
"delta": 0.0025,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 1.0,
"delta": 0.714,
"percent_delta": 2.4965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"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.229,
"after": 0.2097,
"delta": -0.0193,
"percent_delta": -0.0843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.327,
"after": 0.2501,
"delta": -0.0769,
"percent_delta": -0.2352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.245,
"after": 1.0,
"delta": -0.245,
"percent_delta": -0.1968,
"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_BB",
"before": 0.286,
"after": 1.0,
"delta": 0.714,
"percent_delta": 2.4965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"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.102 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.867 | - |
| predicted_AVG | 0.156 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.410 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.229 | - |
| predicted_R | 0.459 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.327 | - |
| predicted_SO | 1.245 | - |
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.087 | -0.015 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.814 | -0.053 |
| predicted_AVG | 0.184 | 0.028 |
| predicted_BB | 0.246 | -0.040 |
| predicted_H | 0.589 | 0.179 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.075 | 0.005 |
| predicted_OBP | 0.242 | 0.013 |
| predicted_R | 0.451 | -0.008 |
| predicted_RBI | 0.392 | 0.032 |
| predicted_SLG | 0.320 | -0.008 |
| predicted_SO | 1.176 | -0.069 |
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.087 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.814 | 0.000 |
| predicted_AVG | 0.159 | -0.025 |
| predicted_BB | 0.247 | 0.001 |
| predicted_H | 0.605 | 0.016 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.076 | 0.002 |
| predicted_OBP | 0.210 | -0.033 |
| predicted_R | 0.472 | 0.022 |
| predicted_RBI | 0.411 | 0.019 |
| predicted_SLG | 0.250 | -0.069 |
| predicted_SO | 1.169 | -0.007 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.156 HR/AB=0.020
| 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 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600)
| 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 |
| 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 | 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.087 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.186 |
| predicted_AVG | 0.250 | 0.091 |
| predicted_BB | 0.000 | -0.247 |
| predicted_H | 1.000 | 0.395 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.250 | 0.040 |
| predicted_R | 0.000 | -0.472 |
| predicted_RBI | 0.000 | -0.411 |
| predicted_SLG | 0.250 | -0.000 |
| predicted_SO | 1.000 | -0.169 |
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 | 1.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 | 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 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 5.000 | 0.2778 | 0.2778 | 0.2778 | 0.2778 | 0.0000 | 0.1111 | 0.0000 | 0.2778 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 1.000 | 8.000 | 0.2286 | 0.2432 | 0.2286 | 0.2286 | 0.0000 | 0.0857 | 0.0286 | 0.2286 |
| season | 0.60 | 98 | - | 379.000 | 74.000 | 10.000 | 2.000 | 13.000 | 48.000 | 45.000 | 28.000 | 122.000 | 0.1953 | 0.2548 | 0.3351 | 0.1953 | 0.0343 | 0.1267 | 0.0739 | 0.3219 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0670 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7450 |
| predicted_AVG | 0.2205 |
| predicted_BB | 0.1920 |
| predicted_H | 0.8250 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.2603 |
| predicted_R | 0.4400 |
| predicted_RBI | 0.4350 |
| predicted_SLG | 0.3095 |
| predicted_SO | 1.0850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1020 | 0.0670 | 0.0869 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0166 | model_form_blend |
| predicted_AB | 3.8670 | 3.7450 | 3.8145 | model_form_blend |
| predicted_AVG | 0.1560 | 0.2205 | 0.1838 | model_form_blend |
| predicted_BB | 0.2860 | 0.1920 | 0.2456 | model_form_blend |
| predicted_H | 0.4100 | 0.8250 | 0.5886 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0700 | 0.0810 | 0.0747 | model_form_blend |
| predicted_OBP | 0.2290 | 0.2603 | 0.2425 | model_form_blend |
| predicted_R | 0.4590 | 0.4400 | 0.4508 | model_form_blend |
| predicted_RBI | 0.3600 | 0.4350 | 0.3923 | model_form_blend |
| predicted_SLG | 0.3270 | 0.3095 | 0.3195 | model_form_blend |
| predicted_SO | 1.2450 | 1.0850 | 1.1761 | 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 | 410 |
| Season rows before report date | 410 |
| Report year | 2026 |
| Profile rows used | 98 |
| 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 | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.195 |
| 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 | 0 |
| Hitting_TB | 0 |
| 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-LF |
| gameID | 20260729_BOS@OAK |
| game_type | ph |
| mlbID | 680776 |
| note | Flied out for Jones, Jah in the 7th. |
| playerID | 680776 |
| playerName | Jarren Duran |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.263 |
| sl_xwoba | 0.293 |
| sl_xba | 0.228 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 38.3 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 34.4 |
| sl_swing_percent | 49.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.270 | 1.000 | 0.000 | Hitting_2B | 0.323 | 0.000 | 0.677 | 1.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 2.950 | 3.000 | 3.000 | Hitting_AB | 3.280 | 4.000 | -0.280 | -1.000 |
| predicted_AVG | 0.311 | 0.667 | 0.333 | Hitting_AVG | 0.268 | 0.750 | 0.399 | -0.083 |
| predicted_BB | 0.238 | 1.000 | 0.000 | Hitting_BB | 0.286 | 0.000 | 0.714 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 0.920 | 2.000 | 1.000 | Hitting_H | 0.878 | 3.000 | 1.122 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.122 | 1.000 | -0.122 | -1.000 |
| predicted_OBP | 0.396 | 0.750 | 0.333 | Hitting_OBP | 0.327 | 0.800 | 0.423 | -0.050 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.444 | 1.000 | 0.556 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.397 | 2.000 | -0.397 | -2.000 |
| predicted_SLG | 0.544 | 1.000 | 0.333 | Hitting_SLG | 0.490 | 1.500 | 0.510 | -0.500 |
| predicted_SO | 0.698 | 0.000 | 1.000 | Hitting_SO | 0.746 | 0.000 | -0.746 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9200 -> 2.0000 (boost 1.0800, better) |
| Biggest Deboost | predicted_SO: 0.6980 -> 0.0000 (deboost -0.6980, 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_AB: 2.9500 -> 3.0143 (boost 0.0643, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.5425 -> 0.5912 (boost 0.0487, better) | predicted_OBP: 0.3918 -> 0.3808 (deboost -0.0110, 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.7025 -> 1.0000 (boost 0.2975, worse) | predicted_RBI: 0.4616 -> 0.0000 (deboost -0.4616, worse) | AB rounded to 3 (raw=3.01), rates preserved: AVG=0.319 HR/AB=0.055 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3906 -> 0.0000 (deboost -0.3906, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3189 -> 0.3330 (boost 0.0141, better) | predicted_SLG: 0.5912 -> 0.3330 (deboost -0.2582, 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_2B: 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.3330 -> 0.5912 (boost 0.2582, better) | predicted_AVG: 0.3330 -> 0.3189 (deboost -0.0141, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "655316",
"player_name": "Andruw Monasterio",
"position": "SS",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.27,
"predicted_3B": 0.016,
"predicted_AB": 2.95,
"predicted_AVG": 0.311,
"predicted_BB": 0.238,
"predicted_H": 0.92,
"predicted_HR": 0.19,
"predicted_OBP": 0.396,
"predicted_R": 0.333,
"predicted_RBI": 0.48,
"predicted_SLG": 0.544,
"predicted_SO": 0.698
},
"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.3005,
"predicted_3B": 0.0135,
"predicted_AB": 3.0143,
"predicted_AVG": 0.3099,
"predicted_BB": 0.2994,
"predicted_H": 0.9357,
"predicted_HBP": 0.064,
"predicted_HR": 0.1607,
"predicted_OBP": 0.3918,
"predicted_R": 0.3726,
"predicted_RBI": 0.4404,
"predicted_SLG": 0.5425,
"predicted_SO": 0.7067
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.27,
"after": 0.3005,
"delta": 0.0305,
"percent_delta": 0.113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0135,
"delta": -0.0025,
"percent_delta": -0.1563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.95,
"after": 3.0143,
"delta": 0.0643,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.311,
"after": 0.3099,
"delta": -0.0011,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.2994,
"delta": 0.0614,
"percent_delta": 0.258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9357,
"delta": 0.0157,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1607,
"delta": -0.0293,
"percent_delta": -0.1542,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.396,
"after": 0.3918,
"delta": -0.0042,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3726,
"delta": 0.0396,
"percent_delta": 0.1189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4404,
"delta": -0.0396,
"percent_delta": -0.0825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.544,
"after": 0.5425,
"delta": -0.0015,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.698,
"after": 0.7067,
"delta": 0.0087,
"percent_delta": 0.0125,
"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_AB",
"before": 2.95,
"after": 3.0143,
"delta": 0.0643,
"percent_delta": 0.0218,
"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": 63
}
},
{
"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.3005,
"predicted_3B": 0.0135,
"predicted_AB": 3.0143,
"predicted_AVG": 0.3189,
"predicted_BB": 0.3012,
"predicted_H": 0.9612,
"predicted_HBP": 0.064,
"predicted_HR": 0.1645,
"predicted_OBP": 0.3808,
"predicted_R": 0.3906,
"predicted_RBI": 0.4616,
"predicted_SLG": 0.5912,
"predicted_SO": 0.7025
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3005,
"after": 0.3005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0143,
"after": 3.0143,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3099,
"after": 0.3189,
"delta": 0.009,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2994,
"after": 0.3012,
"delta": 0.0018,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9357,
"after": 0.9612,
"delta": 0.0255,
"percent_delta": 0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.064,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1607,
"after": 0.1645,
"delta": 0.0038,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3918,
"after": 0.3808,
"delta": -0.011,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3726,
"after": 0.3906,
"delta": 0.018,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4404,
"after": 0.4616,
"delta": 0.0212,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5425,
"after": 0.5912,
"delta": 0.0487,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7067,
"after": 0.7025,
"delta": -0.0042,
"percent_delta": -0.0059,
"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.5425,
"after": 0.5912,
"delta": 0.0487,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3918,
"after": 0.3808,
"delta": -0.011,
"percent_delta": -0.0281,
"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.319 HR/AB=0.055",
"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.3005,
"after": 0.0,
"delta": -0.3005,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0,
"delta": -0.0135,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0143,
"after": 3.0,
"delta": -0.0143,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3012,
"after": 0.0,
"delta": -0.3012,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9612,
"after": 1.0,
"delta": 0.0388,
"percent_delta": 0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1645,
"after": 0.0,
"delta": -0.1645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4616,
"after": 0.0,
"delta": -0.4616,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7025,
"after": 1.0,
"delta": 0.2975,
"percent_delta": 0.4235,
"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.7025,
"after": 1.0,
"delta": 0.2975,
"percent_delta": 0.4235,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4616,
"after": 0.0,
"delta": -0.4616,
"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.3906,
"after": 0.0,
"delta": -0.3906,
"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.3906,
"after": 0.0,
"delta": -0.3906,
"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.3189,
"after": 0.333,
"delta": 0.0141,
"percent_delta": 0.0442,
"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.3808,
"after": 0.333,
"delta": -0.0478,
"percent_delta": -0.1255,
"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.5912,
"after": 0.333,
"delta": -0.2582,
"percent_delta": -0.4367,
"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.3189,
"after": 0.333,
"delta": 0.0141,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5912,
"after": 0.333,
"delta": -0.2582,
"percent_delta": -0.4367,
"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": 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": 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": 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_2B",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.3189,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3808,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5912,
"predicted_SO": 0.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.3189,
"delta": -0.0141,
"percent_delta": -0.0424,
"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.3808,
"delta": 0.0478,
"percent_delta": 0.1435,
"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.5912,
"delta": 0.2582,
"percent_delta": 0.7754,
"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.5912,
"delta": 0.2582,
"percent_delta": 0.7754,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3189,
"delta": -0.0141,
"percent_delta": -0.0424,
"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.27,
"after": 1.0,
"delta": 0.73,
"percent_delta": 2.7037,
"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.95,
"after": 3.0,
"delta": 0.05,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.311,
"after": 0.3189,
"delta": 0.0079,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 1.0,
"delta": 0.762,
"percent_delta": 3.2017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 2.0,
"delta": 1.08,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"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.396,
"after": 0.3808,
"delta": -0.0152,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.544,
"after": 0.5912,
"delta": 0.0472,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.698,
"after": 0.0,
"delta": -0.698,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.92,
"after": 2.0,
"delta": 1.08,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.698,
"after": 0.0,
"delta": -0.698,
"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.270 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 2.950 | - |
| predicted_AVG | 0.311 | - |
| predicted_BB | 0.238 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.396 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.544 | - |
| predicted_SO | 0.698 | - |
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.300 | 0.030 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.014 | 0.064 |
| predicted_AVG | 0.310 | -0.001 |
| predicted_BB | 0.299 | 0.061 |
| predicted_H | 0.936 | 0.016 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.161 | -0.029 |
| predicted_OBP | 0.392 | -0.004 |
| predicted_R | 0.373 | 0.040 |
| predicted_RBI | 0.440 | -0.040 |
| predicted_SLG | 0.542 | -0.002 |
| predicted_SO | 0.707 | 0.009 |
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.300 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.014 | 0.000 |
| predicted_AVG | 0.319 | 0.009 |
| predicted_BB | 0.301 | 0.002 |
| predicted_H | 0.961 | 0.026 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.165 | 0.004 |
| predicted_OBP | 0.381 | -0.011 |
| predicted_R | 0.391 | 0.018 |
| predicted_RBI | 0.462 | 0.021 |
| predicted_SLG | 0.591 | 0.049 |
| predicted_SO | 0.703 | -0.004 |
AB rounded to 3 (raw=3.01), rates preserved: AVG=0.319 HR/AB=0.055
| 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.300 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.014 |
| predicted_AVG | 0.333 | 0.014 |
| predicted_BB | 0.000 | -0.301 |
| predicted_H | 1.000 | 0.039 |
| predicted_HR | 0.000 | -0.165 |
| predicted_OBP | 0.333 | -0.048 |
| predicted_R | 0.000 | -0.391 |
| predicted_RBI | 0.000 | -0.462 |
| predicted_SLG | 0.333 | -0.258 |
| predicted_SO | 1.000 | 0.297 |
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 | 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 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 4.000 | 0.3750 | 0.5000 | 0.6875 | 0.3750 | 0.0625 | 0.1250 | 0.1875 | 0.2500 |
| last_10 | 0.20 | 10 | - | 30.000 | 13.000 | 6.000 | 0.000 | 1.000 | 5.000 | 5.000 | 7.000 | 6.000 | 0.4333 | 0.5385 | 0.7333 | 0.4333 | 0.0333 | 0.1667 | 0.2333 | 0.2000 |
| season | 0.60 | 63 | - | 185.000 | 48.000 | 17.000 | 1.000 | 6.000 | 20.000 | 21.000 | 15.000 | 44.000 | 0.2595 | 0.3168 | 0.4595 | 0.2595 | 0.0324 | 0.1081 | 0.0811 | 0.2378 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3440 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.1060 |
| predicted_AVG | 0.3084 |
| predicted_BB | 0.3870 |
| predicted_H | 0.9580 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.1190 |
| predicted_OBP | 0.3859 |
| predicted_R | 0.4290 |
| predicted_RBI | 0.3840 |
| predicted_SLG | 0.5404 |
| predicted_SO | 0.7190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2700 | 0.3440 | 0.3005 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0135 | model_form_blend |
| predicted_AB | 2.9500 | 3.1060 | 3.0143 | model_form_blend |
| predicted_AVG | 0.3110 | 0.3084 | 0.3099 | model_form_blend |
| predicted_BB | 0.2380 | 0.3870 | 0.2994 | model_form_blend |
| predicted_H | 0.9200 | 0.9580 | 0.9357 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.1900 | 0.1190 | 0.1607 | model_form_blend |
| predicted_OBP | 0.3960 | 0.3859 | 0.3918 | model_form_blend |
| predicted_R | 0.3330 | 0.4290 | 0.3726 | model_form_blend |
| predicted_RBI | 0.4800 | 0.3840 | 0.4404 | model_form_blend |
| predicted_SLG | 0.5440 | 0.5404 | 0.5425 | model_form_blend |
| predicted_SO | 0.6980 | 0.7190 | 0.7067 | 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 | 189 |
| Season rows before report date | 189 |
| Report year | 2026 |
| Profile rows used | 63 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| 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.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 1 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| 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 | SS |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 655316 |
| playerID | 655316 |
| playerName | Andruw Monasterio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.323 |
| sl_xwoba | 0.308 |
| sl_xba | 0.245 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 41.0 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 21.7 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 46.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.300 | 0.000 | 0.000 | Hitting_2B | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.333 | 2.000 | 3.000 | Hitting_AB | 3.562 | 1.000 | -1.562 | 1.000 |
| predicted_AVG | 0.232 | 0.000 | 0.333 | Hitting_AVG | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_BB | 0.367 | 2.000 | 0.000 | Hitting_BB | 0.357 | 1.000 | 1.643 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.310 | 0.000 | 1.000 | Hitting_H | 0.848 | 0.000 | -0.848 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_OBP | 0.319 | 0.500 | 0.333 | Hitting_OBP | 0.312 | 0.500 | 0.188 | 0.000 |
| predicted_R | 0.500 | 1.000 | 0.000 | Hitting_R | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_RBI | 0.150 | 1.000 | 0.000 | Hitting_RBI | 0.330 | 0.000 | 0.670 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_SLG | 0.396 | 0.000 | 0.333 | Hitting_SLG | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_SO | 0.700 | 0.000 | 1.000 | Hitting_SO | 0.705 | 0.000 | -0.705 | 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 | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3670 -> 2.0000 (boost 1.6330, better) |
| Biggest Deboost | predicted_AB: 3.3330 -> 2.0000 (deboost -1.3330, 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 | 4 | 0 | 4 | 0 | predicted_H: 0.3100 -> 0.5210 (boost 0.2110, 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.4167 -> 0.3323 (deboost -0.0844, 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 | 0 | 7 | predicted_SO: 0.7012 -> 1.0000 (boost 0.2988, worse) | predicted_H: 0.5352 -> 0.0000 (deboost -0.5352, worse) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.159 HR/AB=0.028 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4993 -> 0.0000 (deboost -0.4993, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1592 -> 0.3330 (boost 0.1738, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.1592 (deboost -0.1738, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678011",
"player_name": "Anthony Seigler",
"position": "2B",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.3,
"predicted_3B": 0.0,
"predicted_AB": 3.333,
"predicted_AVG": 0.232,
"predicted_BB": 0.367,
"predicted_H": 0.31,
"predicted_HR": 0.07,
"predicted_OBP": 0.319,
"predicted_R": 0.5,
"predicted_RBI": 0.15,
"predicted_SLG": 0.396,
"predicted_SO": 0.7
},
"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.2988,
"predicted_3B": 0.0012,
"predicted_AB": 3.3614,
"predicted_AVG": 0.2392,
"predicted_BB": 0.3585,
"predicted_H": 0.521,
"predicted_HBP": 0.022,
"predicted_HR": 0.0914,
"predicted_OBP": 0.3197,
"predicted_R": 0.4763,
"predicted_RBI": 0.2351,
"predicted_SLG": 0.4167,
"predicted_SO": 0.7054
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3,
"after": 0.2988,
"delta": -0.0012,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.3614,
"delta": 0.0284,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2392,
"delta": 0.0072,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.367,
"after": 0.3585,
"delta": -0.0085,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.521,
"delta": 0.211,
"percent_delta": 0.6806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0914,
"delta": 0.0214,
"percent_delta": 0.3057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3197,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4763,
"delta": -0.0237,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.2351,
"delta": 0.0851,
"percent_delta": 0.5673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4167,
"delta": 0.0207,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7,
"after": 0.7054,
"delta": 0.0054,
"percent_delta": 0.0077,
"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_H",
"before": 0.31,
"after": 0.521,
"delta": 0.211,
"percent_delta": 0.6806,
"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": 30
}
},
{
"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.2988,
"predicted_3B": 0.0012,
"predicted_AB": 3.3614,
"predicted_AVG": 0.1592,
"predicted_BB": 0.3607,
"predicted_H": 0.5352,
"predicted_HBP": 0.022,
"predicted_HR": 0.0935,
"predicted_OBP": 0.2407,
"predicted_R": 0.4993,
"predicted_RBI": 0.2464,
"predicted_SLG": 0.3323,
"predicted_SO": 0.7012
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2988,
"after": 0.2988,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3614,
"after": 3.3614,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2392,
"after": 0.1592,
"delta": -0.08,
"percent_delta": -0.3344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3585,
"after": 0.3607,
"delta": 0.0022,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.521,
"after": 0.5352,
"delta": 0.0142,
"percent_delta": 0.0273,
"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.0914,
"after": 0.0935,
"delta": 0.0021,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3197,
"after": 0.2407,
"delta": -0.079,
"percent_delta": -0.2471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4763,
"after": 0.4993,
"delta": 0.023,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2351,
"after": 0.2464,
"delta": 0.0113,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4167,
"after": 0.3323,
"delta": -0.0844,
"percent_delta": -0.2025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7054,
"after": 0.7012,
"delta": -0.0042,
"percent_delta": -0.006,
"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.4167,
"after": 0.3323,
"delta": -0.0844,
"percent_delta": -0.2025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.36), rates preserved: AVG=0.159 HR/AB=0.028",
"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.2988,
"after": 0.0,
"delta": -0.2988,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3614,
"after": 3.0,
"delta": -0.3614,
"percent_delta": -0.1075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3607,
"after": 0.0,
"delta": -0.3607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5352,
"after": 0.0,
"delta": -0.5352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0935,
"after": 0.0,
"delta": -0.0935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2464,
"after": 0.0,
"delta": -0.2464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7012,
"after": 1.0,
"delta": 0.2988,
"percent_delta": 0.4261,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7012,
"after": 1.0,
"delta": 0.2988,
"percent_delta": 0.4261,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5352,
"after": 0.0,
"delta": -0.5352,
"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.4993,
"after": 0.0,
"delta": -0.4993,
"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.4993,
"after": 0.0,
"delta": -0.4993,
"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.1592,
"after": 0.333,
"delta": 0.1738,
"percent_delta": 1.0917,
"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.2407,
"after": 0.333,
"delta": 0.0923,
"percent_delta": 0.3835,
"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.3323,
"after": 0.333,
"delta": 0.0007,
"percent_delta": 0.0021,
"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_AVG",
"before": 0.1592,
"after": 0.333,
"delta": 0.1738,
"percent_delta": 1.0917,
"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": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 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": 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": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 2.0,
"predicted_AVG": 0.1592,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2407,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3323,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1592,
"delta": -0.1738,
"percent_delta": -0.5218,
"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": 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.2407,
"delta": -0.0923,
"percent_delta": -0.2772,
"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.3323,
"delta": -0.0007,
"percent_delta": -0.0021,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1592,
"delta": -0.1738,
"percent_delta": -0.5218,
"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.3,
"after": 0.0,
"delta": -0.3,
"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.333,
"after": 2.0,
"delta": -1.333,
"percent_delta": -0.3999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.1592,
"delta": -0.0728,
"percent_delta": -0.3138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.367,
"after": 2.0,
"delta": 1.633,
"percent_delta": 4.4496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"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.319,
"after": 0.2407,
"delta": -0.0783,
"percent_delta": -0.2455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3323,
"delta": -0.0637,
"percent_delta": -0.1609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"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_BB",
"before": 0.367,
"after": 2.0,
"delta": 1.633,
"percent_delta": 4.4496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.333,
"after": 2.0,
"delta": -1.333,
"percent_delta": -0.3999,
"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.300 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.367 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.700 | - |
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.299 | -0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.361 | 0.028 |
| predicted_AVG | 0.239 | 0.007 |
| predicted_BB | 0.358 | -0.009 |
| predicted_H | 0.521 | 0.211 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.091 | 0.021 |
| predicted_OBP | 0.320 | 0.001 |
| predicted_R | 0.476 | -0.024 |
| predicted_RBI | 0.235 | 0.085 |
| predicted_SLG | 0.417 | 0.021 |
| predicted_SO | 0.705 | 0.005 |
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.299 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.361 | 0.000 |
| predicted_AVG | 0.159 | -0.080 |
| predicted_BB | 0.361 | 0.002 |
| predicted_H | 0.535 | 0.014 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.093 | 0.002 |
| predicted_OBP | 0.241 | -0.079 |
| predicted_R | 0.499 | 0.023 |
| predicted_RBI | 0.246 | 0.011 |
| predicted_SLG | 0.332 | -0.084 |
| predicted_SO | 0.701 | -0.004 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.159 HR/AB=0.028
| 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.299 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.361 |
| predicted_AVG | 0.333 | 0.174 |
| predicted_BB | 0.000 | -0.361 |
| predicted_H | 1.000 | 0.465 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.333 | 0.092 |
| predicted_R | 0.000 | -0.499 |
| predicted_RBI | 0.000 | -0.246 |
| predicted_SLG | 0.333 | 0.001 |
| predicted_SO | 1.000 | 0.299 |
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 | 2.000 | -1.000 |
| BB | 2.000 | 2.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 | 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 | - | 15.000 | 5.000 | 2.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.3333 | 0.4118 | 0.6667 | 0.3333 | 0.0667 | 0.1333 | 0.1333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 3.000 | 0.000 | 1.000 | 4.000 | 2.000 | 3.000 | 7.000 | 0.1714 | 0.2308 | 0.3429 | 0.1714 | 0.0286 | 0.1143 | 0.0857 | 0.2000 |
| season | 0.60 | 30 | - | 100.000 | 25.000 | 9.000 | 0.000 | 3.000 | 9.000 | 15.000 | 11.000 | 21.000 | 0.2500 | 0.3274 | 0.4300 | 0.2500 | 0.0300 | 0.0900 | 0.1100 | 0.2100 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2970 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.4060 |
| predicted_AVG | 0.2504 |
| predicted_BB | 0.3450 |
| predicted_H | 0.8530 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.3209 |
| predicted_R | 0.4390 |
| predicted_RBI | 0.3690 |
| predicted_SLG | 0.4493 |
| predicted_SO | 0.7140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3000 | 0.2970 | 0.2988 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.3330 | 3.4060 | 3.3614 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2504 | 0.2392 | model_form_blend |
| predicted_BB | 0.3670 | 0.3450 | 0.3585 | model_form_blend |
| predicted_H | 0.3100 | 0.8530 | 0.5210 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0700 | 0.1250 | 0.0914 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3209 | 0.3197 | model_form_blend |
| predicted_R | 0.5000 | 0.4390 | 0.4763 | model_form_blend |
| predicted_RBI | 0.1500 | 0.3690 | 0.2351 | model_form_blend |
| predicted_SLG | 0.3960 | 0.4493 | 0.4167 | model_form_blend |
| predicted_SO | 0.7000 | 0.7140 | 0.7054 | 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 | 112 |
| Season rows before report date | 112 |
| Report year | 2026 |
| Profile rows used | 30 |
| 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 2 |
| SO | 0 |
| 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 | 1 |
| 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 | 0 |
| Hitting_TB | 0 |
| 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 | 20260728_BOS@OAK |
| game_type | ph |
| mlbID | 678011 |
| note | Walked for Jones, Jah in the 8th. |
| playerID | 678011 |
| playerName | Anthony Seigler |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-28 |
| sl_k_percent | 17.6 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.332 |
| sl_xwoba | 0.331 |
| sl_xba | 0.26 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 40.7 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 39.5 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 22.9 |
| 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.191 | 0.000 | 0.000 | Hitting_2B | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.809 | 3.000 | 3.000 | Hitting_AB | 2.844 | 2.000 | 0.156 | 1.000 |
| predicted_AVG | 0.266 | 0.333 | 0.333 | Hitting_AVG | 0.279 | 0.000 | 0.055 | 0.333 |
| predicted_BB | 0.319 | 1.000 | 0.000 | Hitting_BB | 0.383 | 0.000 | 0.617 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.620 | 1.000 | 1.000 | Hitting_H | 0.792 | 0.000 | 0.208 | 1.000 |
| predicted_HR | 0.090 | 1.000 | 0.000 | Hitting_HR | 0.032 | 0.000 | 0.968 | 1.000 |
| predicted_OBP | 0.313 | 0.500 | 0.333 | Hitting_OBP | 0.381 | 0.000 | 0.119 | 0.500 |
| predicted_R | 0.340 | 1.000 | 0.000 | Hitting_R | 0.370 | 0.000 | 0.630 | 1.000 |
| predicted_RBI | 0.310 | 2.000 | 0.000 | Hitting_RBI | 0.429 | 0.000 | 1.571 | 2.000 |
| predicted_SLG | 0.414 | 1.333 | 0.333 | Hitting_SLG | 0.384 | 0.000 | 0.950 | 1.333 |
| predicted_SO | 0.745 | 1.000 | 1.000 | Hitting_SO | 0.701 | 0.000 | 0.299 | 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 | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.3100 -> 2.0000 (boost 1.6900, better) |
| Biggest Deboost | predicted_2B: 0.1910 -> 0.0000 (deboost -0.1910, 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 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2660 -> 0.2584 (deboost -0.0076, 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.2584 -> 0.2378 (deboost -0.0206, 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.6786 -> 1.0000 (boost 0.3214, better) | predicted_RBI: 0.3464 -> 0.0000 (deboost -0.3464, worse) | AB rounded to 3 (raw=2.85), rates preserved: AVG=0.238 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3614 -> 0.0000 (deboost -0.3614, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2378 -> 0.3330 (boost 0.0952, better) | predicted_SLG: 0.4025 -> 0.3330 (deboost -0.0695, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4025 (boost 0.0695, better) | predicted_AVG: 0.3330 -> 0.2378 (deboost -0.0952, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657136",
"player_name": "Connor Wong",
"position": "C",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.191,
"predicted_3B": 0.0,
"predicted_AB": 2.809,
"predicted_AVG": 0.266,
"predicted_BB": 0.319,
"predicted_H": 0.62,
"predicted_HR": 0.09,
"predicted_OBP": 0.313,
"predicted_R": 0.34,
"predicted_RBI": 0.31,
"predicted_SLG": 0.414,
"predicted_SO": 0.745
},
"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.1858,
"predicted_3B": 0.0008,
"predicted_AB": 2.8536,
"predicted_AVG": 0.2584,
"predicted_BB": 0.2857,
"predicted_H": 0.6606,
"predicted_HBP": 0.067,
"predicted_HR": 0.092,
"predicted_OBP": 0.3137,
"predicted_R": 0.3448,
"predicted_RBI": 0.3305,
"predicted_SLG": 0.4111,
"predicted_SO": 0.7631
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.1858,
"delta": -0.0052,
"percent_delta": -0.0272,
"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.809,
"after": 2.8536,
"delta": 0.0446,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2584,
"delta": -0.0076,
"percent_delta": -0.0286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.2857,
"delta": -0.0333,
"percent_delta": -0.1044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.6606,
"delta": 0.0406,
"percent_delta": 0.0655,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.092,
"delta": 0.002,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3137,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 0.3448,
"delta": 0.0048,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3305,
"delta": 0.0205,
"percent_delta": 0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.4111,
"delta": -0.0029,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 0.7631,
"delta": 0.0181,
"percent_delta": 0.0243,
"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.266,
"after": 0.2584,
"delta": -0.0076,
"percent_delta": -0.0286,
"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": 47
}
},
{
"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.1858,
"predicted_3B": 0.0008,
"predicted_AB": 2.8536,
"predicted_AVG": 0.2378,
"predicted_BB": 0.2874,
"predicted_H": 0.6786,
"predicted_HBP": 0.067,
"predicted_HR": 0.0942,
"predicted_OBP": 0.3076,
"predicted_R": 0.3614,
"predicted_RBI": 0.3464,
"predicted_SLG": 0.4025,
"predicted_SO": 0.7585
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1858,
"after": 0.1858,
"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.8536,
"after": 2.8536,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2584,
"after": 0.2378,
"delta": -0.0206,
"percent_delta": -0.0797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2857,
"after": 0.2874,
"delta": 0.0017,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6606,
"after": 0.6786,
"delta": 0.018,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.092,
"after": 0.0942,
"delta": 0.0022,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3137,
"after": 0.3076,
"delta": -0.0061,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3448,
"after": 0.3614,
"delta": 0.0166,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3305,
"after": 0.3464,
"delta": 0.0159,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4111,
"after": 0.4025,
"delta": -0.0086,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7631,
"after": 0.7585,
"delta": -0.0046,
"percent_delta": -0.006,
"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.2584,
"after": 0.2378,
"delta": -0.0206,
"percent_delta": -0.0797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.85), rates preserved: AVG=0.238 HR/AB=0.033",
"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.1858,
"after": 0.0,
"delta": -0.1858,
"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.8536,
"after": 3.0,
"delta": 0.1464,
"percent_delta": 0.0513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2874,
"after": 0.0,
"delta": -0.2874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6786,
"after": 1.0,
"delta": 0.3214,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0942,
"after": 0.0,
"delta": -0.0942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3464,
"after": 0.0,
"delta": -0.3464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7585,
"after": 1.0,
"delta": 0.2415,
"percent_delta": 0.3184,
"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.6786,
"after": 1.0,
"delta": 0.3214,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3464,
"after": 0.0,
"delta": -0.3464,
"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.3614,
"after": 0.0,
"delta": -0.3614,
"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.3614,
"after": 0.0,
"delta": -0.3614,
"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.2378,
"after": 0.333,
"delta": 0.0952,
"percent_delta": 0.4003,
"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.3076,
"after": 0.333,
"delta": 0.0254,
"percent_delta": 0.0826,
"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.4025,
"after": 0.333,
"delta": -0.0695,
"percent_delta": -0.1727,
"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.2378,
"after": 0.333,
"delta": 0.0952,
"percent_delta": 0.4003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4025,
"after": 0.333,
"delta": -0.0695,
"percent_delta": -0.1727,
"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": 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": 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": 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": 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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2378,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3076,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4025,
"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.2378,
"delta": -0.0952,
"percent_delta": -0.2858,
"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.3076,
"delta": -0.0254,
"percent_delta": -0.0764,
"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.4025,
"delta": 0.0695,
"percent_delta": 0.2086,
"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.4025,
"delta": 0.0695,
"percent_delta": 0.2086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2378,
"delta": -0.0952,
"percent_delta": -0.2858,
"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.191,
"after": 0.0,
"delta": -0.191,
"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.809,
"after": 3.0,
"delta": 0.191,
"percent_delta": 0.068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2378,
"delta": -0.0282,
"percent_delta": -0.106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 1.0,
"delta": 0.681,
"percent_delta": 2.1348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3076,
"delta": -0.0054,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 2.0,
"delta": 1.69,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.4025,
"delta": -0.0115,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 1.0,
"delta": 0.255,
"percent_delta": 0.3423,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.31,
"after": 2.0,
"delta": 1.69,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"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.191 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.809 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.319 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.340 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.414 | - |
| predicted_SO | 0.745 | - |
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.186 | -0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.854 | 0.045 |
| predicted_AVG | 0.258 | -0.008 |
| predicted_BB | 0.286 | -0.033 |
| predicted_H | 0.661 | 0.041 |
| predicted_HBP | 0.067 | - |
| predicted_HR | 0.092 | 0.002 |
| predicted_OBP | 0.314 | 0.001 |
| predicted_R | 0.345 | 0.005 |
| predicted_RBI | 0.331 | 0.021 |
| predicted_SLG | 0.411 | -0.003 |
| predicted_SO | 0.763 | 0.018 |
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.186 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.854 | 0.000 |
| predicted_AVG | 0.238 | -0.021 |
| predicted_BB | 0.287 | 0.002 |
| predicted_H | 0.679 | 0.018 |
| predicted_HBP | 0.067 | 0.000 |
| predicted_HR | 0.094 | 0.002 |
| predicted_OBP | 0.308 | -0.006 |
| predicted_R | 0.361 | 0.017 |
| predicted_RBI | 0.346 | 0.016 |
| predicted_SLG | 0.403 | -0.009 |
| predicted_SO | 0.758 | -0.005 |
AB rounded to 3 (raw=2.85), rates preserved: AVG=0.238 HR/AB=0.033
| 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.186 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.146 |
| predicted_AVG | 0.333 | 0.095 |
| predicted_BB | 0.000 | -0.287 |
| predicted_H | 1.000 | 0.321 |
| predicted_HR | 0.000 | -0.094 |
| predicted_OBP | 0.333 | 0.025 |
| predicted_R | 0.000 | -0.361 |
| predicted_RBI | 0.000 | -0.346 |
| predicted_SLG | 0.333 | -0.070 |
| predicted_SO | 1.000 | 0.242 |
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 | 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 | 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 | 3.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 4.000 | 0.2308 | 0.2308 | 0.5385 | 0.2308 | 0.0769 | 0.1538 | 0.0000 | 0.3077 |
| last_10 | 0.20 | 10 | - | 27.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 8.000 | 0.1852 | 0.2667 | 0.3333 | 0.1852 | 0.0370 | 0.0741 | 0.0741 | 0.2963 |
| season | 0.60 | 47 | - | 132.000 | 36.000 | 9.000 | 0.000 | 2.000 | 17.000 | 16.000 | 15.000 | 35.000 | 0.2727 | 0.3618 | 0.3864 | 0.2727 | 0.0152 | 0.1288 | 0.1136 | 0.2651 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1780 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9200 |
| predicted_AVG | 0.2470 |
| predicted_BB | 0.2360 |
| predicted_H | 0.7210 |
| predicted_HBP | 0.0670 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.3148 |
| predicted_R | 0.3520 |
| predicted_RBI | 0.3610 |
| predicted_SLG | 0.4067 |
| predicted_SO | 0.7900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.1780 | 0.1858 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8090 | 2.9200 | 2.8536 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2470 | 0.2584 | model_form_blend |
| predicted_BB | 0.3190 | 0.2360 | 0.2857 | model_form_blend |
| predicted_H | 0.6200 | 0.7210 | 0.6606 | model_form_blend |
| predicted_HBP | - | 0.0670 | 0.0670 | form_only |
| predicted_HR | 0.0900 | 0.0950 | 0.0920 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3148 | 0.3137 | model_form_blend |
| predicted_R | 0.3400 | 0.3520 | 0.3448 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3610 | 0.3305 | model_form_blend |
| predicted_SLG | 0.4140 | 0.4067 | 0.4111 | model_form_blend |
| predicted_SO | 0.7450 | 0.7900 | 0.7631 | 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 | 154 |
| Season rows before report date | 154 |
| Report year | 2026 |
| Profile rows used | 47 |
| 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 | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.273 |
| 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 | 1 |
| 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 | 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 | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 657136 |
| playerID | 657136 |
| playerName | Connor Wong |
| pos | C |
| started | True |
| startingPosition | C |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.333 |
| sl_xwoba | 0.309 |
| sl_xba | 0.235 |
| sl_xslg | 0.351 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 10.3 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 46.9 |
| 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 | 1.474 | 0.000 | 1.526 | 3.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.737 | 5.000 | -1.737 | -5.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 5.053 | 10.000 | -4.053 | -9.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.553 | 5.000 | 0.447 | 1.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 4.895 | 3.000 | 2.105 | 4.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 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | 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": "543243",
"player_name": "Sonny Gray",
"position": "Starter",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 0.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 7.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 | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 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 | 30.100 | 8.000 | 25.000 | 8.000 | 27.000 | 3.000 | 2.3736 | 1.0879 | 0.2637 | 0.8242 | 0.2637 | 0.8901 | 0.0989 |
| last_10 | 0.35 | 10 | 62.200 | 17.000 | 54.000 | 17.000 | 59.000 | 8.000 | 2.4415 | 1.1330 | 0.2713 | 0.8617 | 0.2713 | 0.9415 | 0.1277 |
| season | 0.20 | 19 | 106.200 | 33.000 | 96.000 | 28.000 | 93.000 | 12.000 | 2.7844 | 1.1625 | 0.3094 | 0.9000 | 0.2625 | 0.8719 | 0.1125 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7200 |
| predicted_ER | 1.9540 |
| predicted_ERA | 2.9118 |
| predicted_H | 5.3040 |
| predicted_HR | 0.7250 |
| predicted_IP | 6.0000 |
| predicted_SO | 5.5310 |
| predicted_WHIP | 1.1631 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.7200 | 2.2806 | model_form_blend |
| predicted_ER | 0.0000 | 1.9540 | 1.0981 | model_form_blend |
| predicted_ERA | - | 2.9118 | 2.9118 | form_only |
| predicted_H | 1.0000 | 5.3040 | 3.4188 | model_form_blend |
| predicted_HR | 0.0000 | 0.7250 | 0.4074 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 7.0000 | 5.5310 | 6.1744 | model_form_blend |
| predicted_WHIP | - | 1.1631 | 1.1631 | 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 | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 3 |
| SO | 7 |
| HR | 0 |
| BF | 22 |
| Pitches | 91 |
| 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 | 23 |
| Pitching_ER | 5 |
| Pitching_ERA | 2.78 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 5 |
| Pitching_H | 10 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 75 |
| Pitching_R | 5 |
| Pitching_SO | 3 |
| Pitching_Strikes | 54 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260725_TOR@BOS |
| game_type | full |
| mlbID | 543243 |
| playerID | 543243 |
| playerName | Sonny Gray |
| pos | P |
| started | True |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-25 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.3 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 37.5 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 78.988270927 |
| sl_avg_hyper_speed | 93.922131196 |
| 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 | 0.459 | 0.000 | 0.541 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.189 | 0.000 | 1.811 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.730 | 1.000 | 1.270 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.951 | 1.000 | 0.049 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.270 | 2.000 | -0.270 | -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": "547973",
"player_name": "Aroldis Chapman",
"position": "Middle Reliever",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.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": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.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 | 1.000 | - |
| predicted_ER | 2.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 | 4.000 | 3.000 | 9.000 | 0.000 | 0.0000 | 1.4000 | 0.0000 | 0.8000 | 0.6000 | 1.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 6.000 | 5.000 | 14.000 | 1.000 | 0.9000 | 1.1000 | 0.1000 | 0.6000 | 0.5000 | 1.4000 | 0.1000 |
| season | 0.20 | 36 | 35.200 | 4.000 | 23.000 | 17.000 | 47.000 | 1.000 | 1.0093 | 1.1215 | 0.1121 | 0.6449 | 0.4766 | 1.3178 | 0.0280 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4640 |
| predicted_ER | 0.2430 |
| predicted_ERA | 2.1845 |
| predicted_H | 0.8130 |
| predicted_HR | 0.0860 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3140 |
| predicted_WHIP | 1.2776 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4640 | 0.7451 | model_form_blend |
| predicted_ER | 2.0000 | 0.2430 | 1.1645 | model_form_blend |
| predicted_ERA | - | 2.1845 | 2.1845 | form_only |
| predicted_H | 2.0000 | 0.8130 | 1.4356 | model_form_blend |
| predicted_HR | 0.0000 | 0.0860 | 0.0409 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3140 | 1.1493 | model_form_blend |
| predicted_WHIP | - | 1.2776 | 1.2776 | 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 | 36 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.77 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 547973 |
| playerID | 547973 |
| playerName | Aroldis Chapman |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.271 |
| sl_xwoba | 0.264 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 38.1 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 52.0 |
| sl_avg_best_speed | 75.845484634 |
| sl_avg_hyper_speed | 94.670824321 |
| 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.146 | 0.000 | -0.146 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.707 | 1.000 | -0.707 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.959 | 1.000 | 0.041 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.024 | 1.000 | -0.024 | 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": "676477",
"player_name": "Garrett Whitlock",
"position": "Middle Reliever",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 5.000 | 1.000 | 3.000 | 0.000 | 4.000 | 0.000 | 1.8000 | 0.6000 | 0.2000 | 0.6000 | 0.0000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 6.000 | 0.000 | 8.000 | 0.000 | 0.9000 | 0.6000 | 0.1000 | 0.6000 | 0.0000 | 0.8000 | 0.0000 |
| season | 0.20 | 41 | 40.000 | 9.000 | 29.000 | 6.000 | 42.000 | 3.000 | 2.0250 | 0.8750 | 0.2250 | 0.7250 | 0.1500 | 1.0500 | 0.0750 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1560 |
| predicted_ER | 0.3000 |
| predicted_ERA | 2.6960 |
| predicted_H | 0.7600 |
| predicted_HR | 0.0680 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8920 |
| predicted_WHIP | 0.9160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1560 | 0.0760 | model_form_blend |
| predicted_ER | 0.0000 | 0.3000 | 0.1461 | model_form_blend |
| predicted_ERA | - | 2.6960 | 2.6960 | form_only |
| predicted_H | 0.0000 | 0.7600 | 0.3702 | model_form_blend |
| predicted_HR | 0.0000 | 0.0680 | 0.0331 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8920 | 0.9474 | model_form_blend |
| predicted_WHIP | - | 0.9160 | 0.9160 | 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 | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| 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 | 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 | 0 |
| Pitching_ERA | 2.03 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 676477 |
| playerID | 676477 |
| playerName | Garrett Whitlock |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 27.7 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.234 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 33.7 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 57.7 |
| sl_avg_best_speed | 77.3982528 |
| sl_avg_hyper_speed | 93.204976364 |
| 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.194 | 0.000 | -0.194 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.452 | 0.000 | -0.452 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.716 | 1.000 | 0.284 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.129 | 1.000 | -1.129 | -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": "686580",
"player_name": "Justin Slaten",
"position": "Middle Reliever",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 5.000 | 0.000 | 2.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.4000 | 0.0000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 2.000 | 7.000 | 1.000 | 12.000 | 0.000 | 2.0000 | 0.8889 | 0.2222 | 0.7778 | 0.1111 | 1.3333 | 0.0000 |
| season | 0.20 | 31 | 27.100 | 14.000 | 31.000 | 6.000 | 35.000 | 4.000 | 4.6098 | 1.3537 | 0.5122 | 1.1341 | 0.2195 | 1.2805 | 0.1463 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2130 |
| predicted_ER | 0.3360 |
| predicted_ERA | 3.0255 |
| predicted_H | 0.8210 |
| predicted_HR | 0.0880 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0230 |
| predicted_WHIP | 1.0347 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2130 | 0.0954 | model_form_blend |
| predicted_ER | 0.0000 | 0.3360 | 0.1505 | model_form_blend |
| predicted_ERA | - | 3.0255 | 3.0255 | form_only |
| predicted_H | 1.0000 | 0.8210 | 0.9198 | model_form_blend |
| predicted_HR | 0.0000 | 0.0880 | 0.0394 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0230 | 0.4581 | model_form_blend |
| predicted_WHIP | - | 1.0347 | 1.0347 | 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 | 31 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.61 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 686580 |
| playerID | 686580 |
| playerName | Justin Slaten |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.8 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.333 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 39.2 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 77.344586944 |
| sl_avg_hyper_speed | 94.271388472 |
| 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.125 | 0.000 | -0.125 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.917 | 0.000 | 0.083 | 1.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.838 | 1.000 | -0.838 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.208 | 1.000 | -1.208 | -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.1000 -> 0.0000 (deboost -0.1000, 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.1000 -> 0.0000 (deboost -0.1000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "594027",
"player_name": "Tyron Guerrero",
"position": "Middle Reliever",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"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": 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": 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": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"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": 0.1,
"after": 0.0,
"delta": -0.1,
"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": 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": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"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": 0.1,
"after": 0.0,
"delta": -0.1,
"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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| 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 | 5.200 | 1.000 | 4.000 | 1.000 | 6.000 | 0.000 | 1.5882 | 0.8824 | 0.1765 | 0.7059 | 0.1765 | 1.0588 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 1.000 | 9.000 | 2.000 | 10.000 | 0.000 | 0.7500 | 0.9167 | 0.0833 | 0.7500 | 0.1667 | 0.8333 | 0.0000 |
| season | 0.20 | 24 | 25.000 | 6.000 | 22.000 | 3.000 | 29.000 | 2.000 | 2.1600 | 1.0000 | 0.2400 | 0.8800 | 0.1200 | 1.1600 | 0.0800 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1880 |
| predicted_ER | 0.2400 |
| predicted_ERA | 2.9847 |
| predicted_H | 0.6270 |
| predicted_HR | 0.0610 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7090 |
| predicted_WHIP | 1.1254 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1880 | 0.0824 | model_form_blend |
| predicted_ER | 0.0000 | 0.2400 | 0.1052 | model_form_blend |
| predicted_ERA | - | 2.9847 | 2.9847 | form_only |
| predicted_H | 1.0000 | 0.6270 | 0.8365 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0267 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7090 | 0.3108 | model_form_blend |
| predicted_WHIP | - | 1.1254 | 1.1254 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 1 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.16 |
| 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 | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 594027 |
| playerID | 594027 |
| playerName | Tyron Guerrero |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-07-29 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 3.0 |
| sl_woba | 0.264 |
| sl_xwoba | 0.249 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 30.3 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 56.3 |
| sl_avg_best_speed | 73.034653438 |
| sl_avg_hyper_speed | 93.212193175 |
| Field | Value |
|---|---|
| Pitcher | Mason Barnett |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1678 |
| ESPN Rank | 456 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0532 |
| Avg Velo | 88.9224 |
| Avg Spin | 2428.2267 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 5 |
| Pre H | 6 |
| Pre BB | 5 |
| Pre SO | 3 |
| Season ERA | 4.7432 |
| Season WHIP | 1.3784 |
| Role Avg IP | 3.6670 |
| Recent Avg IP | 3.6670 |
| Last Start IP | 3.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"opponent": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"edges": {
"quality_edge": -0.3438,
"offense_edge": -0.0099,
"opponent_offense_edge": -0.108,
"defense_strength": -0.1913,
"opponent_defense_weakness": -0.2082,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.019,
"strikeout": 0.9983
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686930",
"profile": {
"available": true,
"pitcher_id": "686930",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 21.9,
"bb_percent": 12.4,
"woba": 0.336,
"xwoba": 0.334,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 42.0,
"avg_best_speed": 78.428,
"avg_hyper_speed": 94.35,
"whiff_percent": 21.2,
"swing_percent": 44.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.4695,
"command_and_miss": -0.4289,
"regression_edge": 0.0571,
"xwoba_edge": -0.6286,
"barrel_edge": -0.3556,
"hard_hit_edge": -0.5571,
"whiff_edge": -0.6429,
"bb_edge": -0.875,
"pitch_design_score": -0.0532
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686930",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 26,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 88.92244362451912,
"release_spin_rate": 2428.2267131437075,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 88.92244362451912,
"release_spin_rate": 2428.2267131437075,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9224,
"release_spin_rate": 2428.2267,
"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.0532,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.38,
"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.1678,
"sample_weight": 0.45,
"run_prevention_factor": 1.0143,
"strikeout_factor": 0.9873,
"walk_factor": 1.0315,
"homer_factor": 1.0313,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686930",
"espn_id": 4620704,
"player_name": "Mason Barnett",
"team": "ATH",
"role": "pitcher",
"espn_rank": 456,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 456,
"gp_value": 14.0,
"gp_rank": 403,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.7432,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 24.2,
"ip_rank": 415,
"h_value": 21.0,
"h_rank": 422,
"er_value": 13.0,
"er_rank": 355,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 13.0,
"bb_rank": 332,
"k_value": 23.0,
"k_rank": 402,
"k_per_9_value": 8.3918915,
"k_per_9_rank": 26,
"whip_value": 1.3783,
"whip_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0064,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 1.0064,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0142,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0141,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 0.9943,
"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": 15.0,
"ER": 13,
"H": 18,
"BB": 9,
"SO": 10,
"HR": 5,
"ERA": 7.8,
"WHIP": 1.8,
"K9": 6.0,
"HR9": 3.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-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "686930",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 26,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 88.92244362451912,
"release_spin_rate": 2428.2267131437075,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 88.92244362451912,
"release_spin_rate": 2428.2267131437075,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9224,
"release_spin_rate": 2428.2267,
"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.0532,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.38,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 4.916,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4957,
"prior_weight": 0.5043
},
"role": "pitcher",
"player_id": "686930",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 9.1,
"ER": 11.0,
"R": 11.0,
"H": 13.0,
"BB": 6.0,
"SO": 4.0,
"HR": 4.0,
"BF": 46.0,
"Pitches": 181.0
},
"per_game": {
"IP": 2.0,
"ER": 2.2,
"R": 2.2,
"H": 2.6,
"BB": 1.2,
"SO": 0.8,
"HR": 0.8,
"BF": 9.2,
"Pitches": 36.2
},
"rates": {
"ERA": 10.6071,
"WHIP": 2.0357,
"ER_per_IP": 1.17857,
"H_per_IP": 1.39286,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 15.0,
"ER": 13.0,
"R": 13.0,
"H": 18.0,
"BB": 9.0,
"SO": 10.0,
"HR": 5.0,
"BF": 70.0,
"Pitches": 288.0
},
"per_game": {
"IP": 1.1,
"ER": 1.3,
"R": 1.3,
"H": 1.8,
"BB": 0.9,
"SO": 1.0,
"HR": 0.5,
"BF": 7.0,
"Pitches": 28.8
},
"rates": {
"ERA": 7.8,
"WHIP": 1.8,
"ER_per_IP": 0.86667,
"H_per_IP": 1.2,
"BB_per_IP": 0.6,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.33333
}
},
"season": {
"games": 14,
"totals": {
"IP": 24.2,
"ER": 13.0,
"R": 13.0,
"H": 21.0,
"BB": 13.0,
"SO": 23.0,
"HR": 5.0,
"BF": 105.0,
"Pitches": 438.0
},
"per_game": {
"IP": 1.2,
"ER": 0.9286,
"R": 0.9286,
"H": 1.5,
"BB": 0.9286,
"SO": 1.6429,
"HR": 0.3571,
"BF": 7.5,
"Pitches": 31.2857
},
"rates": {
"ERA": 4.7432,
"WHIP": 1.3784,
"ER_per_IP": 0.52703,
"H_per_IP": 0.85135,
"BB_per_IP": 0.52703,
"SO_per_IP": 0.93243,
"HR_per_IP": 0.2027
}
}
},
"weighted_prediction": {
"predicted_IP": 3.1,
"predicted_ER": 2.303,
"predicted_H": 3.502,
"predicted_BB": 1.532,
"predicted_SO": 2.516,
"predicted_HR": 0.799,
"predicted_ERA": 6.4865,
"predicted_WHIP": 1.5748
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5631,
"form_weight": 0.4369,
"form_reliability": 0.4957,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.916,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4957,
"prior_weight": 0.5043
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 3.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 2.303,
"final": 3.8216,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 3.502,
"final": 4.9085,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 5.0,
"form": 1.532,
"final": 3.4847,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 2.516,
"final": 2.7885,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.799,
"final": 0.9122,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.4865,
"final": 6.4865,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5748,
"final": 1.5748,
"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 | Luis Medina |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0582 |
| ESPN Rank | 190 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1615 |
| Avg Velo | 92.7561 |
| Avg Spin | 2346.8203 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.3288 |
| Season WHIP | 1.3767 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"opponent": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"edges": {
"quality_edge": -0.3438,
"offense_edge": -0.0099,
"opponent_offense_edge": -0.108,
"defense_strength": -0.1913,
"opponent_defense_weakness": -0.2082,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.019,
"strikeout": 0.9983
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "665622",
"profile": {
"available": true,
"pitcher_id": "665622",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 193.0,
"k_percent": 26.9,
"bb_percent": 12.0,
"woba": 0.329,
"xwoba": 0.324,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 38.8,
"avg_best_speed": 80.7207,
"avg_hyper_speed": 94.3941,
"whiff_percent": 31.0,
"swing_percent": 42.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.3701,
"command_and_miss": 0.4025,
"regression_edge": 0.1429,
"xwoba_edge": -0.3429,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.1,
"whiff_edge": 0.7571,
"bb_edge": -0.775,
"pitch_design_score": 0.1615
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "665622",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 92.75607314854099,
"release_spin_rate": 2346.8202932705694,
"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": 22,
"pitch_usage": 0.0,
"release_speed": 92.75607314854099,
"release_spin_rate": 2346.8202932705694,
"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.7561,
"release_spin_rate": 2346.8203,
"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.1615,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1535,
"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.0582,
"sample_weight": 0.772,
"run_prevention_factor": 1.0049,
"strikeout_factor": 1.0435,
"walk_factor": 1.0479,
"homer_factor": 1.022,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665622",
"espn_id": 40949,
"player_name": "Luis Medina",
"team": "ATH",
"role": "pitcher",
"espn_rank": 190,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 190,
"gp_value": 36.0,
"gp_rank": 124,
"gs_value": 1.0,
"gs_rank": 274,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.6986,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 6.0,
"hld_rank": 109,
"ip_value": 48.2,
"ip_rank": 203,
"h_value": 47.0,
"h_rank": 186,
"er_value": 20.0,
"er_rank": 237,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 26.0,
"bb_rank": 130,
"k_value": 58.0,
"k_rank": 159,
"k_per_9_value": 10.7260275,
"k_per_9_rank": 21,
"whip_value": 1.5,
"whip_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0038,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0038,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.037,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.017,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0336,
"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": 13.0,
"ER": 3,
"H": 11,
"BB": 9,
"SO": 17,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 1.5384615384615385,
"K9": 11.76923076923077,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "665622",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 92.75607314854099,
"release_spin_rate": 2346.8202932705694,
"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": 22,
"pitch_usage": 0.0,
"release_speed": 92.75607314854099,
"release_spin_rate": 2346.8202932705694,
"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.7561,
"release_spin_rate": 2346.8203,
"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.1615,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1535,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.699,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6598,
"prior_weight": 0.3402
},
"role": "pitcher",
"player_id": "665622",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 4.0,
"SO": 7.0,
"HR": 0.0,
"BF": 28.0,
"Pitches": 123.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.8,
"H": 1.4,
"BB": 0.8,
"SO": 1.4,
"HR": 0.0,
"BF": 5.6,
"Pitches": 24.6
},
"rates": {
"ERA": 4.5,
"WHIP": 1.8333,
"ER_per_IP": 0.5,
"H_per_IP": 1.16667,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 3.0,
"R": 4.0,
"H": 11.0,
"BB": 9.0,
"SO": 17.0,
"HR": 0.0,
"BF": 59.0,
"Pitches": 239.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.4,
"H": 1.1,
"BB": 0.9,
"SO": 1.7,
"HR": 0.0,
"BF": 5.9,
"Pitches": 23.9
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.5385,
"ER_per_IP": 0.23077,
"H_per_IP": 0.84615,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.30769,
"HR_per_IP": 0.0
}
},
"season": {
"games": 34,
"totals": {
"IP": 48.2,
"ER": 18.0,
"R": 20.0,
"H": 42.0,
"BB": 25.0,
"SO": 58.0,
"HR": 4.0,
"BF": 209.0,
"Pitches": 820.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5294,
"R": 0.5882,
"H": 1.2353,
"BB": 0.7353,
"SO": 1.7059,
"HR": 0.1176,
"BF": 6.1471,
"Pitches": 24.1176
},
"rates": {
"ERA": 3.3288,
"WHIP": 1.3767,
"ER_per_IP": 0.36986,
"H_per_IP": 0.86301,
"BB_per_IP": 0.5137,
"SO_per_IP": 1.19178,
"HR_per_IP": 0.08219
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.564,
"predicted_H": 1.317,
"predicted_BB": 0.729,
"predicted_SO": 1.509,
"predicted_HR": 0.083,
"predicted_ERA": 3.8045,
"predicted_WHIP": 1.5344
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4937,
"form_weight": 0.5063,
"form_reliability": 0.6598,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.699,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6598,
"prior_weight": 0.3402
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.564,
"final": 0.7793,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.317,
"final": 1.1605,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.729,
"final": 0.3691,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.509,
"final": 1.7514,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.083,
"final": 0.5358,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8045,
"final": 3.8045,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5344,
"final": 1.5344,
"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 | Elvis Alvarado |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2433 |
| ESPN Rank | 310 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.6297 |
| Avg Spin | 2302.6597 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.0625 |
| Season WHIP | 1.2500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"opponent": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"edges": {
"quality_edge": -0.3438,
"offense_edge": -0.0099,
"opponent_offense_edge": -0.108,
"defense_strength": -0.1913,
"opponent_defense_weakness": -0.2082,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.019,
"strikeout": 0.9983
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "665660",
"profile": {
"available": true,
"pitcher_id": "665660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 120.0,
"k_percent": 29.1,
"bb_percent": 10.2,
"woba": 0.346,
"xwoba": 0.352,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 18.4,
"hard_hit_percent": 51.3,
"avg_best_speed": 79.8693,
"avg_hyper_speed": 95.623,
"whiff_percent": 30.7,
"swing_percent": 52.5
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -1.202,
"command_and_miss": 0.6189,
"regression_edge": -0.1714,
"xwoba_edge": -1.1429,
"barrel_edge": -2.5,
"hard_hit_edge": -1.8857,
"whiff_edge": 0.7143,
"bb_edge": -0.325,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "665660",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 95.62966530104913,
"release_spin_rate": 2302.6597203035117,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 95.62966530104913,
"release_spin_rate": 2302.6597203035117,
"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": 95.6297,
"release_spin_rate": 2302.6597,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2433,
"sample_weight": 0.48,
"run_prevention_factor": 1.0207,
"strikeout_factor": 1.0322,
"walk_factor": 1.0125,
"homer_factor": 1.1487,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665660",
"espn_id": 42211,
"player_name": "Elvis Alvarado",
"team": "ATH",
"role": "pitcher",
"espn_rank": 310,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 310,
"gp_value": 30.0,
"gp_rank": 176,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 5.0625,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 5.0,
"hld_rank": 133,
"ip_value": 32.0,
"ip_rank": 357,
"h_value": 26.0,
"h_rank": 378,
"er_value": 18.0,
"er_rank": 268,
"hr_value": 7.0,
"hr_rank": 177,
"bb_value": 14.0,
"bb_rank": 308,
"k_value": 39.0,
"k_rank": 287,
"k_per_9_value": 10.96875,
"k_per_9_rank": 21,
"whip_value": 1.25,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0099,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0099,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.006,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0714,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0155,
"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": 4,
"H": 8,
"BB": 7,
"SO": 12,
"HR": 2,
"ERA": 3.724137931034483,
"WHIP": 1.5517241379310345,
"K9": 11.172413793103448,
"HR9": 1.8620689655172415,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "665660",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 95.62966530104913,
"release_spin_rate": 2302.6597203035117,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 95.62966530104913,
"release_spin_rate": 2302.6597203035117,
"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": 95.6297,
"release_spin_rate": 2302.6597,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.377,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5605,
"prior_weight": 0.4395
},
"role": "pitcher",
"player_id": "665660",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 4.0,
"SO": 4.0,
"HR": 2.0,
"BF": 23.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.8,
"SO": 0.8,
"HR": 0.4,
"BF": 4.6,
"Pitches": 17.0
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.9286,
"ER_per_IP": 0.64286,
"H_per_IP": 1.07143,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 7.0,
"SO": 12.0,
"HR": 2.0,
"BF": 44.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.7,
"SO": 1.2,
"HR": 0.2,
"BF": 4.4,
"Pitches": 18.3
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.5517,
"ER_per_IP": 0.41379,
"H_per_IP": 0.82759,
"BB_per_IP": 0.72414,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.2069
}
},
"season": {
"games": 30,
"totals": {
"IP": 32.0,
"ER": 18.0,
"R": 18.0,
"H": 26.0,
"BB": 14.0,
"SO": 39.0,
"HR": 7.0,
"BF": 132.0,
"Pitches": 557.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8667,
"BB": 0.4667,
"SO": 1.3,
"HR": 0.2333,
"BF": 4.4,
"Pitches": 18.5667
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.25,
"ER_per_IP": 0.5625,
"H_per_IP": 0.8125,
"BB_per_IP": 0.4375,
"SO_per_IP": 1.21875,
"HR_per_IP": 0.21875
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.529,
"predicted_H": 0.953,
"predicted_BB": 0.564,
"predicted_SO": 1.018,
"predicted_HR": 0.24,
"predicted_ERA": 4.7591,
"predicted_WHIP": 1.5164
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5357,
"form_weight": 0.4643,
"form_reliability": 0.5605,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.377,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5605,
"prior_weight": 0.4395
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.529,
"final": 0.2456,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.953,
"final": 0.9782,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.564,
"final": 0.2619,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.018,
"final": 0.4727,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.24,
"final": 0.1114,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7591,
"final": 4.7591,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5164,
"final": 1.5164,
"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 | Hogan Harris |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2635 |
| ESPN Rank | 94 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1112 |
| Avg Velo | 87.8876 |
| Avg Spin | 2375.4600 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.3750 |
| Season WHIP | 1.4792 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"opponent": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"edges": {
"quality_edge": -0.3438,
"offense_edge": -0.0099,
"opponent_offense_edge": -0.108,
"defense_strength": -0.1913,
"opponent_defense_weakness": -0.2082,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.019,
"strikeout": 0.9983
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663687",
"profile": {
"available": true,
"pitcher_id": "663687",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 198.0,
"k_percent": 30.0,
"bb_percent": 12.9,
"woba": 0.32,
"xwoba": 0.294,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 31.9,
"avg_best_speed": 75.9853,
"avg_hyper_speed": 92.8404,
"whiff_percent": 27.4,
"swing_percent": 43.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.3025,
"command_and_miss": 0.3768,
"regression_edge": 0.7429,
"xwoba_edge": 0.5143,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.8857,
"whiff_edge": 0.2429,
"bb_edge": -1.0,
"pitch_design_score": -0.1112
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663687",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 87.88757728238453,
"release_spin_rate": 2375.45998663808,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 87.88757728238453,
"release_spin_rate": 2375.45998663808,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.8876,
"release_spin_rate": 2375.46,
"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.1112,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7939,
"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.2635,
"sample_weight": 0.792,
"run_prevention_factor": 0.9776,
"strikeout_factor": 1.0423,
"walk_factor": 1.0634,
"homer_factor": 0.9541,
"woba_minus_xwoba": 0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663687",
"espn_id": 41364,
"player_name": "Hogan Harris",
"team": "ATH",
"role": "pitcher",
"espn_rank": 94,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 94,
"gp_value": 51.0,
"gp_rank": 6,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.375,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 9.0,
"sv_rank": 26,
"hld_value": 10.0,
"hld_rank": 56,
"ip_value": 48.0,
"ip_rank": 207,
"h_value": 43.0,
"h_rank": 209,
"er_value": 18.0,
"er_rank": 268,
"hr_value": 6.0,
"hr_rank": 208,
"bb_value": 28.0,
"bb_rank": 109,
"k_value": 65.0,
"k_rank": 134,
"k_per_9_value": 12.1875,
"k_per_9_rank": 17,
"whip_value": 1.4791,
"whip_rank": null,
"war_value": 1.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9823,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9823,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0502,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9636,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0335,
"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": 8,
"BB": 3,
"SO": 18,
"HR": 2,
"ERA": 2.6129032258064515,
"WHIP": 1.064516129032258,
"K9": 15.677419354838708,
"HR9": 1.7419354838709677,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "663687",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 87.88757728238453,
"release_spin_rate": 2375.45998663808,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 87.88757728238453,
"release_spin_rate": 2375.45998663808,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.8876,
"release_spin_rate": 2375.46,
"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.1112,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7939,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.566,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6567,
"prior_weight": 0.3433
},
"role": "pitcher",
"player_id": "663687",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 51,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 8.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 1.6,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.6
},
"rates": {
"ERA": 3.375,
"WHIP": 1.125,
"ER_per_IP": 0.375,
"H_per_IP": 0.9375,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.5,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 3.0,
"SO": 18.0,
"HR": 2.0,
"BF": 43.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.8,
"BB": 0.3,
"SO": 1.8,
"HR": 0.2,
"BF": 4.3,
"Pitches": 17.1
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.0645,
"ER_per_IP": 0.29032,
"H_per_IP": 0.77419,
"BB_per_IP": 0.29032,
"SO_per_IP": 1.74194,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 51,
"totals": {
"IP": 48.0,
"ER": 18.0,
"R": 19.0,
"H": 43.0,
"BB": 28.0,
"SO": 65.0,
"HR": 6.0,
"BF": 217.0,
"Pitches": 910.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3529,
"R": 0.3725,
"H": 0.8431,
"BB": 0.549,
"SO": 1.2745,
"HR": 0.1176,
"BF": 4.2549,
"Pitches": 17.8431
},
"rates": {
"ERA": 3.375,
"WHIP": 1.4792,
"ER_per_IP": 0.375,
"H_per_IP": 0.89583,
"BB_per_IP": 0.58333,
"SO_per_IP": 1.35417,
"HR_per_IP": 0.125
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.401,
"predicted_H": 0.908,
"predicted_BB": 0.321,
"predicted_SO": 1.351,
"predicted_HR": 0.168,
"predicted_ERA": 3.6048,
"predicted_WHIP": 1.2287
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.495,
"form_weight": 0.505,
"form_reliability": 0.6567,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.566,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6567,
"prior_weight": 0.3433
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.401,
"final": 0.2025,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.908,
"final": 0.9535,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.321,
"final": 0.1621,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.351,
"final": 1.1772,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.168,
"final": 0.0848,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6048,
"final": 3.6048,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2287,
"final": 1.2287,
"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é Suarez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2813 |
| ESPN Rank | 253 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1625 |
| Avg Velo | 86.9707 |
| Avg Spin | 2319.3568 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.6331 |
| Season WHIP | 1.4556 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 113,
"wins": 47,
"losses": 66,
"win_pct": 0.4159,
"runs_scored": 506.0,
"runs_allowed": 632.0,
"run_differential": -126.0,
"run_differential_per_game": -1.115,
"avg_runs_scored": 4.4779,
"avg_runs_allowed": 5.5929,
"offense_index": 0.9901,
"defense_index": 0.8087,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.2,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.2771
},
"opponent": {
"team": "BOS",
"games": 117,
"wins": 58,
"losses": 59,
"win_pct": 0.4957,
"runs_scored": 472.0,
"runs_allowed": 438.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2906,
"avg_runs_scored": 4.0342,
"avg_runs_allowed": 3.7436,
"offense_index": 0.892,
"defense_index": 1.2082,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0667
},
"edges": {
"quality_edge": -0.3438,
"offense_edge": -0.0099,
"opponent_offense_edge": -0.108,
"defense_strength": -0.1913,
"opponent_defense_weakness": -0.2082,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.019,
"strikeout": 0.9983
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660761",
"profile": {
"available": true,
"pitcher_id": "660761",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 227.0,
"k_percent": 24.5,
"bb_percent": 9.5,
"woba": 0.336,
"xwoba": 0.298,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 1.9,
"hard_hit_percent": 33.3,
"avg_best_speed": 77.9401,
"avg_hyper_speed": 93.1574,
"whiff_percent": 27.9,
"swing_percent": 48.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2812,
"command_and_miss": 0.2182,
"regression_edge": 1.0857,
"xwoba_edge": 0.4,
"barrel_edge": 1.1556,
"hard_hit_edge": 0.6857,
"whiff_edge": 0.3143,
"bb_edge": -0.15,
"pitch_design_score": -0.1625
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "660761",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 86.9706813322123,
"release_spin_rate": 2319.3567731616113,
"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": 11,
"pitch_usage": 0.0,
"release_speed": 86.9706813322123,
"release_spin_rate": 2319.3567731616113,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.9707,
"release_spin_rate": 2319.3568,
"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.1625,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1607,
"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.2813,
"sample_weight": 0.908,
"run_prevention_factor": 0.9761,
"strikeout_factor": 1.0226,
"walk_factor": 1.0109,
"homer_factor": 0.8803,
"woba_minus_xwoba": 0.038,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "660761",
"espn_id": 40981,
"player_name": "Jose Suarez",
"team": "ATH",
"role": "pitcher",
"espn_rank": 253,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 253,
"gp_value": 38.0,
"gp_rank": 109,
"gs_value": 2.0,
"gs_rank": 244,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.6331,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 3.0,
"hld_rank": 179,
"ip_value": 56.1,
"ip_rank": 171,
"h_value": 59.0,
"h_rank": 150,
"er_value": 29.0,
"er_rank": 151,
"hr_value": 6.0,
"hr_rank": 208,
"bb_value": 23.0,
"bb_rank": 165,
"k_value": 59.0,
"k_rank": 154,
"k_per_9_value": 9.426036,
"k_per_9_rank": 24,
"whip_value": 1.4556,
"whip_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9783,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9783,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0099,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8913,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0205,
"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": 11.0,
"ER": 5,
"H": 8,
"BB": 1,
"SO": 11,
"HR": 3,
"ERA": 4.090909090909091,
"WHIP": 0.8181818181818182,
"K9": 9.0,
"HR9": 2.4545454545454546,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "660761",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 86.9706813322123,
"release_spin_rate": 2319.3567731616113,
"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": 11,
"pitch_usage": 0.0,
"release_speed": 86.9706813322123,
"release_spin_rate": 2319.3567731616113,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.9707,
"release_spin_rate": 2319.3568,
"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.1625,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1607,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.226,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6919,
"prior_weight": 0.3081
},
"role": "pitcher",
"player_id": "660761",
"report_date": "20260730_B",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 3.0,
"R": 4.0,
"H": 3.0,
"BB": 1.0,
"SO": 3.0,
"HR": 2.0,
"BF": 15.0,
"Pitches": 60.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.8,
"H": 0.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.4,
"BF": 3.0,
"Pitches": 12.0
},
"rates": {
"ERA": 6.75,
"WHIP": 1.0,
"ER_per_IP": 0.75,
"H_per_IP": 0.75,
"BB_per_IP": 0.25,
"SO_per_IP": 0.75,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 5.0,
"R": 7.0,
"H": 8.0,
"BB": 1.0,
"SO": 11.0,
"HR": 3.0,
"BF": 41.0,
"Pitches": 155.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.7,
"H": 0.8,
"BB": 0.1,
"SO": 1.1,
"HR": 0.3,
"BF": 4.1,
"Pitches": 15.5
},
"rates": {
"ERA": 4.0909,
"WHIP": 0.8182,
"ER_per_IP": 0.45455,
"H_per_IP": 0.72727,
"BB_per_IP": 0.09091,
"SO_per_IP": 1.0,
"HR_per_IP": 0.27273
}
},
"season": {
"games": 38,
"totals": {
"IP": 56.1,
"ER": 29.0,
"R": 32.0,
"H": 59.0,
"BB": 23.0,
"SO": 59.0,
"HR": 6.0,
"BF": 245.0,
"Pitches": 957.0
},
"per_game": {
"IP": 1.1,
"ER": 0.7632,
"R": 0.8421,
"H": 1.5526,
"BB": 0.6053,
"SO": 1.5526,
"HR": 0.1579,
"BF": 6.4474,
"Pitches": 25.1842
},
"rates": {
"ERA": 4.6331,
"WHIP": 1.4556,
"ER_per_IP": 0.51479,
"H_per_IP": 1.04734,
"BB_per_IP": 0.40828,
"SO_per_IP": 1.04734,
"HR_per_IP": 0.10651
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.538,
"predicted_H": 0.806,
"predicted_BB": 0.251,
"predicted_SO": 0.863,
"predicted_HR": 0.267,
"predicted_ERA": 5.1367,
"predicted_WHIP": 1.1213
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4802,
"form_weight": 0.5198,
"form_reliability": 0.6919,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.226,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6919,
"prior_weight": 0.3081
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.538,
"final": 0.2797,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.806,
"final": 0.8992,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.251,
"final": 0.1305,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.863,
"final": 0.4486,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.267,
"final": 0.1388,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1367,
"final": 5.1367,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1213,
"final": 1.1213,
"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.152 | 0.000 | 0.000 | Hitting_2B | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 2.848 | 3.000 | 3.000 | Hitting_AB | 3.370 | 2.000 | -0.370 | 1.000 |
| predicted_AVG | 0.267 | 0.333 | 0.333 | Hitting_AVG | 0.294 | 0.000 | 0.039 | 0.333 |
| predicted_BB | 0.266 | 1.000 | 0.000 | Hitting_BB | 0.329 | 0.000 | 0.671 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.759 | 1.000 | 1.000 | Hitting_H | 0.992 | 0.000 | 0.008 | 1.000 |
| predicted_HR | 0.089 | 0.000 | 0.000 | Hitting_HR | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_OBP | 0.329 | 0.500 | 0.333 | Hitting_OBP | 0.363 | 0.000 | 0.137 | 0.500 |
| predicted_R | 0.278 | 0.000 | 0.000 | Hitting_R | 0.398 | 0.000 | -0.398 | 0.000 |
| predicted_RBI | 0.342 | 0.000 | 0.000 | Hitting_RBI | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_SLG | 0.422 | 0.333 | 0.333 | Hitting_SLG | 0.475 | 0.000 | -0.142 | 0.333 |
| predicted_SO | 0.456 | 1.000 | 1.000 | Hitting_SO | 0.508 | 2.000 | 0.492 | -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 | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2660 -> 1.0000 (boost 0.7340, better) |
| Biggest Deboost | predicted_RBI: 0.3420 -> 0.0000 (deboost -0.3420, 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 | 1 | 4 | 0 | 5 | predicted_SO: 0.4560 -> 0.5226 (boost 0.0666, worse) | predicted_H: 0.7590 -> 0.6740 (deboost -0.0850, 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.3822 -> 0.3699 (deboost -0.0123, 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.5282 -> 1.0000 (boost 0.4718, worse) | predicted_RBI: 0.3344 -> 0.0000 (deboost -0.3344, worse) | AB rounded to 3 (raw=2.85), rates preserved: AVG=0.227 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2389 -> 0.0000 (deboost -0.2389, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2285 -> 0.3330 (boost 0.1045, better) | predicted_SLG: 0.3699 -> 0.3330 (deboost -0.0369, 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_BB: 0.0000 -> 1.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.3699 (boost 0.0369, better) | predicted_AVG: 0.3330 -> 0.2285 (deboost -0.1045, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666126",
"player_name": "Carlos Cortes",
"position": "DH",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.152,
"predicted_3B": 0.013,
"predicted_AB": 2.848,
"predicted_AVG": 0.267,
"predicted_BB": 0.266,
"predicted_H": 0.759,
"predicted_HR": 0.089,
"predicted_OBP": 0.329,
"predicted_R": 0.278,
"predicted_RBI": 0.342,
"predicted_SLG": 0.422,
"predicted_SO": 0.456
},
"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.1365,
"predicted_3B": 0.0109,
"predicted_AB": 2.8308,
"predicted_AVG": 0.2381,
"predicted_BB": 0.222,
"predicted_H": 0.674,
"predicted_HBP": 0.049,
"predicted_HR": 0.084,
"predicted_OBP": 0.2944,
"predicted_R": 0.2566,
"predicted_RBI": 0.3592,
"predicted_SLG": 0.3822,
"predicted_SO": 0.5226
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1365,
"delta": -0.0155,
"percent_delta": -0.102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.848,
"after": 2.8308,
"delta": -0.0172,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2381,
"delta": -0.0289,
"percent_delta": -0.1082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.222,
"delta": -0.044,
"percent_delta": -0.1654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.759,
"after": 0.674,
"delta": -0.085,
"percent_delta": -0.112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.089,
"after": 0.084,
"delta": -0.005,
"percent_delta": -0.0562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.2944,
"delta": -0.0346,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.278,
"after": 0.2566,
"delta": -0.0214,
"percent_delta": -0.077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.342,
"after": 0.3592,
"delta": 0.0172,
"percent_delta": 0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.3822,
"delta": -0.0398,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.456,
"after": 0.5226,
"delta": 0.0666,
"percent_delta": 0.1461,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.456,
"after": 0.5226,
"delta": 0.0666,
"percent_delta": 0.1461,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.759,
"after": 0.674,
"delta": -0.085,
"percent_delta": -0.112,
"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.1365,
"predicted_3B": 0.0109,
"predicted_AB": 2.8308,
"predicted_AVG": 0.2285,
"predicted_BB": 0.2196,
"predicted_H": 0.6468,
"predicted_HBP": 0.049,
"predicted_HR": 0.0807,
"predicted_OBP": 0.284,
"predicted_R": 0.2389,
"predicted_RBI": 0.3344,
"predicted_SLG": 0.3699,
"predicted_SO": 0.5282
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1365,
"after": 0.1365,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8308,
"after": 2.8308,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2381,
"after": 0.2285,
"delta": -0.0096,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.2196,
"delta": -0.0024,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.674,
"after": 0.6468,
"delta": -0.0272,
"percent_delta": -0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.084,
"after": 0.0807,
"delta": -0.0033,
"percent_delta": -0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2944,
"after": 0.284,
"delta": -0.0104,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2566,
"after": 0.2389,
"delta": -0.0177,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3592,
"after": 0.3344,
"delta": -0.0248,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3822,
"after": 0.3699,
"delta": -0.0123,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5226,
"after": 0.5282,
"delta": 0.0056,
"percent_delta": 0.0107,
"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.3822,
"after": 0.3699,
"delta": -0.0123,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.85), rates preserved: AVG=0.227 HR/AB=0.028",
"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.1365,
"after": 0.0,
"delta": -0.1365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8308,
"after": 3.0,
"delta": 0.1692,
"percent_delta": 0.0598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2196,
"after": 0.0,
"delta": -0.2196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6468,
"after": 1.0,
"delta": 0.3532,
"percent_delta": 0.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0807,
"after": 0.0,
"delta": -0.0807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3344,
"after": 0.0,
"delta": -0.3344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5282,
"after": 1.0,
"delta": 0.4718,
"percent_delta": 0.8932,
"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.5282,
"after": 1.0,
"delta": 0.4718,
"percent_delta": 0.8932,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3344,
"after": 0.0,
"delta": -0.3344,
"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.2389,
"after": 0.0,
"delta": -0.2389,
"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.2389,
"after": 0.0,
"delta": -0.2389,
"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.2285,
"after": 0.333,
"delta": 0.1045,
"percent_delta": 0.4573,
"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.284,
"after": 0.333,
"delta": 0.049,
"percent_delta": 0.1725,
"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.3699,
"after": 0.333,
"delta": -0.0369,
"percent_delta": -0.0998,
"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.2285,
"after": 0.333,
"delta": 0.1045,
"percent_delta": 0.4573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3699,
"after": 0.333,
"delta": -0.0369,
"percent_delta": -0.0998,
"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": 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": 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": 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_BB",
"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.2285,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3699,
"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.2285,
"delta": -0.1045,
"percent_delta": -0.3139,
"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": 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.284,
"delta": -0.049,
"percent_delta": -0.1471,
"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.3699,
"delta": 0.0369,
"percent_delta": 0.1109,
"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.3699,
"delta": 0.0369,
"percent_delta": 0.1109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2285,
"delta": -0.1045,
"percent_delta": -0.3139,
"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.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.848,
"after": 3.0,
"delta": 0.152,
"percent_delta": 0.0534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2285,
"delta": -0.0385,
"percent_delta": -0.1442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 1.0,
"delta": 0.734,
"percent_delta": 2.7594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.759,
"after": 1.0,
"delta": 0.241,
"percent_delta": 0.3175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.284,
"delta": -0.045,
"percent_delta": -0.1368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.3699,
"delta": -0.0521,
"percent_delta": -0.1235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.456,
"after": 1.0,
"delta": 0.544,
"percent_delta": 1.193,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.266,
"after": 1.0,
"delta": 0.734,
"percent_delta": 2.7594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"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.152 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 2.848 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.266 | - |
| predicted_H | 0.759 | - |
| predicted_HR | 0.089 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.278 | - |
| predicted_RBI | 0.342 | - |
| predicted_SLG | 0.422 | - |
| predicted_SO | 0.456 | - |
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.137 | -0.015 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 2.831 | -0.017 |
| predicted_AVG | 0.238 | -0.029 |
| predicted_BB | 0.222 | -0.044 |
| predicted_H | 0.674 | -0.085 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.084 | -0.005 |
| predicted_OBP | 0.294 | -0.035 |
| predicted_R | 0.257 | -0.021 |
| predicted_RBI | 0.359 | 0.017 |
| predicted_SLG | 0.382 | -0.040 |
| predicted_SO | 0.523 | 0.067 |
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.137 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 2.831 | 0.000 |
| predicted_AVG | 0.229 | -0.010 |
| predicted_BB | 0.220 | -0.002 |
| predicted_H | 0.647 | -0.027 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.081 | -0.003 |
| predicted_OBP | 0.284 | -0.010 |
| predicted_R | 0.239 | -0.018 |
| predicted_RBI | 0.334 | -0.025 |
| predicted_SLG | 0.370 | -0.012 |
| predicted_SO | 0.528 | 0.006 |
AB rounded to 3 (raw=2.85), rates preserved: AVG=0.227 HR/AB=0.028
| 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.137 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | 0.169 |
| predicted_AVG | 0.333 | 0.105 |
| predicted_BB | 0.000 | -0.220 |
| predicted_H | 1.000 | 0.353 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.333 | 0.049 |
| predicted_R | 0.000 | -0.239 |
| predicted_RBI | 0.000 | -0.334 |
| predicted_SLG | 0.333 | -0.037 |
| predicted_SO | 1.000 | 0.472 |
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 | 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 | - | 12.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.1667 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 25.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 7.000 | 0.1600 | 0.1852 | 0.3200 | 0.1600 | 0.0400 | 0.1600 | 0.0000 | 0.2800 |
| season | 0.60 | 79 | - | 225.000 | 60.000 | 12.000 | 1.000 | 7.000 | 27.000 | 22.000 | 21.000 | 36.000 | 0.2667 | 0.3373 | 0.4222 | 0.2667 | 0.0311 | 0.1200 | 0.0933 | 0.1600 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0080 |
| predicted_AB | 2.8070 |
| predicted_AVG | 0.1980 |
| predicted_BB | 0.1610 |
| predicted_H | 0.5560 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.2465 |
| predicted_R | 0.2270 |
| predicted_RBI | 0.3830 |
| predicted_SLG | 0.3271 |
| predicted_SO | 0.6150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.1150 | 0.1365 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 2.8480 | 2.8070 | 2.8308 | model_form_blend |
| predicted_AVG | 0.2670 | 0.1980 | 0.2381 | model_form_blend |
| predicted_BB | 0.2660 | 0.1610 | 0.2220 | model_form_blend |
| predicted_H | 0.7590 | 0.5560 | 0.6740 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0890 | 0.0770 | 0.0840 | model_form_blend |
| predicted_OBP | 0.3290 | 0.2465 | 0.2944 | model_form_blend |
| predicted_R | 0.2780 | 0.2270 | 0.2566 | model_form_blend |
| predicted_RBI | 0.3420 | 0.3830 | 0.3592 | model_form_blend |
| predicted_SLG | 0.4220 | 0.3271 | 0.3822 | model_form_blend |
| predicted_SO | 0.4560 | 0.6150 | 0.5226 | 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 | 246 |
| Season rows before report date | 246 |
| 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 | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| 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 | 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 | 6 |
| 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 | 20260729_BOS@OAK |
| game_type | ph |
| mlbID | 666126 |
| note | Struck out for Thomas, C in the 6th. |
| playerID | 666126 |
| playerName | Carlos Cortes |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 13.5 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.338 |
| sl_xwoba | 0.33 |
| sl_xba | 0.264 |
| sl_xslg | 0.409 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 39.5 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 20.1 |
| 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.182 | 0.000 | 0.000 | Hitting_2B | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 5.220 | 4.000 | 5.000 | Hitting_AB | 4.037 | 5.000 | -0.037 | -1.000 |
| predicted_AVG | 0.233 | 0.250 | 0.200 | Hitting_AVG | 0.376 | 0.000 | -0.126 | 0.250 |
| predicted_BB | 0.182 | 0.000 | 0.000 | Hitting_BB | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_H | 1.210 | 1.000 | 1.000 | Hitting_H | 1.519 | 0.000 | -0.519 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.307 | 0.250 | 0.200 | Hitting_OBP | 0.414 | 0.000 | -0.164 | 0.250 |
| predicted_R | 0.545 | 0.000 | 1.000 | Hitting_R | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_RBI | 0.230 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.336 | 0.250 | 0.200 | Hitting_SLG | 0.422 | 0.000 | -0.172 | 0.250 |
| predicted_SO | 0.636 | 1.000 | 1.000 | Hitting_SO | 0.259 | 4.000 | 0.741 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.6360 -> 1.0000 (boost 0.3640, worse) |
| Biggest Deboost | predicted_AB: 5.2200 -> 4.0000 (deboost -1.2200, 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 | 3 | 2 | predicted_SO: 0.6360 -> 0.6976 (boost 0.0616, worse) | predicted_AB: 5.2200 -> 4.7941 (deboost -0.4259, 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.3129 -> 0.2655 (deboost -0.0474, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7051 -> 1.0000 (boost 0.2949, worse) | predicted_RBI: 0.2041 -> 0.0000 (deboost -0.2041, worse) | AB rounded to 5 (raw=5.22), rates preserved: AVG=0.218 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5133 -> 1.0000 (boost 0.4867, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3088 -> 0.2000 (deboost -0.1088, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | 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.3088 (boost 0.1088, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695720",
"player_name": "Tommy White",
"position": "3B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.182,
"predicted_3B": 0.0,
"predicted_AB": 5.22,
"predicted_AVG": 0.233,
"predicted_BB": 0.182,
"predicted_H": 1.21,
"predicted_HR": 0.06,
"predicted_OBP": 0.307,
"predicted_R": 0.545,
"predicted_RBI": 0.23,
"predicted_SLG": 0.336,
"predicted_SO": 0.636
},
"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.1716,
"predicted_3B": 0.002,
"predicted_AB": 4.7941,
"predicted_AVG": 0.2512,
"predicted_BB": 0.187,
"predicted_H": 1.1846,
"predicted_HBP": 0.013,
"predicted_HR": 0.0583,
"predicted_OBP": 0.3129,
"predicted_R": 0.5514,
"predicted_RBI": 0.2193,
"predicted_SLG": 0.3476,
"predicted_SO": 0.6976
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1716,
"delta": -0.0104,
"percent_delta": -0.0571,
"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": 5.22,
"after": 4.7941,
"delta": -0.4259,
"percent_delta": -0.0816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2512,
"delta": 0.0182,
"percent_delta": 0.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.187,
"delta": 0.005,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.21,
"after": 1.1846,
"delta": -0.0254,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0583,
"delta": -0.0017,
"percent_delta": -0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3129,
"delta": 0.0059,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.545,
"after": 0.5514,
"delta": 0.0064,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.2193,
"delta": -0.0107,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3476,
"delta": 0.0116,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.636,
"after": 0.6976,
"delta": 0.0616,
"percent_delta": 0.0969,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.636,
"after": 0.6976,
"delta": 0.0616,
"percent_delta": 0.0969,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.22,
"after": 4.7941,
"delta": -0.4259,
"percent_delta": -0.0816,
"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": 11
}
},
{
"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.1716,
"predicted_3B": 0.002,
"predicted_AB": 4.7941,
"predicted_AVG": 0.2371,
"predicted_BB": 0.185,
"predicted_H": 1.1367,
"predicted_HBP": 0.013,
"predicted_HR": 0.056,
"predicted_OBP": 0.2655,
"predicted_R": 0.5133,
"predicted_RBI": 0.2041,
"predicted_SLG": 0.3088,
"predicted_SO": 0.7051
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1716,
"after": 0.1716,
"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": 4.7941,
"after": 4.7941,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2512,
"after": 0.2371,
"delta": -0.0141,
"percent_delta": -0.0561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.187,
"after": 0.185,
"delta": -0.002,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1846,
"after": 1.1367,
"delta": -0.0479,
"percent_delta": -0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0583,
"after": 0.056,
"delta": -0.0023,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3129,
"after": 0.2655,
"delta": -0.0474,
"percent_delta": -0.1515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5514,
"after": 0.5133,
"delta": -0.0381,
"percent_delta": -0.0691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2193,
"after": 0.2041,
"delta": -0.0152,
"percent_delta": -0.0693,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3476,
"after": 0.3088,
"delta": -0.0388,
"percent_delta": -0.1116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6976,
"after": 0.7051,
"delta": 0.0075,
"percent_delta": 0.0108,
"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.3129,
"after": 0.2655,
"delta": -0.0474,
"percent_delta": -0.1515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.22), rates preserved: AVG=0.218 HR/AB=0.011",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1716,
"after": 0.0,
"delta": -0.1716,
"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": 4.7941,
"after": 5.0,
"delta": 0.2059,
"percent_delta": 0.0429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1367,
"after": 1.0,
"delta": -0.1367,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2041,
"after": 0.0,
"delta": -0.2041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7051,
"after": 1.0,
"delta": 0.2949,
"percent_delta": 0.4182,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7051,
"after": 1.0,
"delta": 0.2949,
"percent_delta": 0.4182,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2041,
"after": 0.0,
"delta": -0.2041,
"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": 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": 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.5133,
"after": 1.0,
"delta": 0.4867,
"percent_delta": 0.9482,
"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.5133,
"after": 1.0,
"delta": 0.4867,
"percent_delta": 0.9482,
"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": 0.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.2371,
"after": 0.2,
"delta": -0.0371,
"percent_delta": -0.1565,
"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.2655,
"after": 0.2,
"delta": -0.0655,
"percent_delta": -0.2467,
"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.3088,
"after": 0.2,
"delta": -0.1088,
"percent_delta": -0.3523,
"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.3088,
"after": 0.2,
"delta": -0.1088,
"percent_delta": -0.3523,
"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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2371,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2655,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3088,
"predicted_SO": 1.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.2,
"after": 0.2371,
"delta": 0.0371,
"percent_delta": 0.1856,
"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.2655,
"delta": 0.0655,
"percent_delta": 0.3273,
"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.3088,
"delta": 0.1088,
"percent_delta": 0.544,
"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.3088,
"delta": 0.1088,
"percent_delta": 0.544,
"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.182,
"after": 0.0,
"delta": -0.182,
"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": 5.22,
"after": 4.0,
"delta": -1.22,
"percent_delta": -0.2337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2371,
"delta": 0.0041,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.21,
"after": 1.0,
"delta": -0.21,
"percent_delta": -0.1736,
"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.307,
"after": 0.2655,
"delta": -0.0415,
"percent_delta": -0.1352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.545,
"after": 0.0,
"delta": -0.545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3088,
"delta": -0.0272,
"percent_delta": -0.081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.636,
"after": 1.0,
"delta": 0.364,
"percent_delta": 0.5723,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.636,
"after": 1.0,
"delta": 0.364,
"percent_delta": 0.5723,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.22,
"after": 4.0,
"delta": -1.22,
"percent_delta": -0.2337,
"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.182 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 5.220 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.182 | - |
| predicted_H | 1.210 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.545 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.336 | - |
| predicted_SO | 0.636 | - |
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.172 | -0.010 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 4.794 | -0.426 |
| predicted_AVG | 0.251 | 0.018 |
| predicted_BB | 0.187 | 0.005 |
| predicted_H | 1.185 | -0.025 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.058 | -0.002 |
| predicted_OBP | 0.313 | 0.006 |
| predicted_R | 0.551 | 0.006 |
| predicted_RBI | 0.219 | -0.011 |
| predicted_SLG | 0.348 | 0.012 |
| predicted_SO | 0.698 | 0.062 |
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.172 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 4.794 | 0.000 |
| predicted_AVG | 0.237 | -0.014 |
| predicted_BB | 0.185 | -0.002 |
| predicted_H | 1.137 | -0.048 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.056 | -0.002 |
| predicted_OBP | 0.266 | -0.047 |
| predicted_R | 0.513 | -0.038 |
| predicted_RBI | 0.204 | -0.015 |
| predicted_SLG | 0.309 | -0.039 |
| predicted_SO | 0.705 | 0.007 |
AB rounded to 5 (raw=5.22), rates preserved: AVG=0.218 HR/AB=0.011
| 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 | 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 | 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 | 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.172 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | 0.206 |
| predicted_AVG | 0.200 | -0.037 |
| predicted_BB | 0.000 | -0.185 |
| predicted_H | 1.000 | -0.137 |
| predicted_HR | 0.000 | -0.056 |
| predicted_OBP | 0.200 | -0.066 |
| predicted_R | 1.000 | 0.487 |
| predicted_RBI | 0.000 | -0.204 |
| predicted_SLG | 0.200 | -0.109 |
| predicted_SO | 1.000 | 0.295 |
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 | -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 | - | 21.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 7.000 | 0.2857 | 0.2857 | 0.2857 | 0.2857 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 40.000 | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 6.000 | 2.000 | 7.000 | 0.3250 | 0.3571 | 0.3500 | 0.3250 | 0.0000 | 0.0000 | 0.0500 | 0.1750 |
| season | 0.60 | 11 | - | 44.000 | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 6.000 | 2.000 | 7.000 | 0.3182 | 0.3478 | 0.3636 | 0.3182 | 0.0000 | 0.0000 | 0.0454 | 0.1591 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.9470 |
| predicted_AVG | 0.2875 |
| predicted_BB | 0.1970 |
| predicted_H | 1.1340 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0550 |
| predicted_OBP | 0.3247 |
| predicted_R | 0.5640 |
| predicted_RBI | 0.1980 |
| predicted_SLG | 0.3706 |
| predicted_SO | 0.8200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1510 | 0.1716 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0020 | model_form_blend |
| predicted_AB | 5.2200 | 3.9470 | 4.7941 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2875 | 0.2512 | model_form_blend |
| predicted_BB | 0.1820 | 0.1970 | 0.1870 | model_form_blend |
| predicted_H | 1.2100 | 1.1340 | 1.1846 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0600 | 0.0550 | 0.0583 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3247 | 0.3129 | model_form_blend |
| predicted_R | 0.5450 | 0.5640 | 0.5514 | model_form_blend |
| predicted_RBI | 0.2300 | 0.1980 | 0.2193 | model_form_blend |
| predicted_SLG | 0.3360 | 0.3706 | 0.3476 | model_form_blend |
| predicted_SO | 0.6360 | 0.8200 | 0.6976 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 11 |
| 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.318 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| 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 | 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 | 4 |
| 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 | 3B |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 695720 |
| playerID | 695720 |
| playerName | Tommy White |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 7.3 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.356 |
| sl_xwoba | 0.357 |
| sl_xba | 0.341 |
| sl_xslg | 0.445 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 36.1 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 0.9 |
| sl_whiff_percent | 13.0 |
| sl_swing_percent | 51.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.243 | 1.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | 0.826 | 1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_AB | 2.946 | 4.000 | 3.000 | Hitting_AB | 1.870 | 1.000 | 2.130 | 3.000 |
| predicted_AVG | 0.294 | 0.250 | 0.333 | Hitting_AVG | 0.163 | 0.000 | 0.087 | 0.250 |
| predicted_BB | 0.351 | 0.000 | 0.000 | Hitting_BB | 1.174 | 0.000 | -1.174 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_H | 0.865 | 1.000 | 1.000 | Hitting_H | 0.304 | 0.000 | 0.696 | 1.000 |
| predicted_HR | 0.081 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.369 | 0.250 | 0.333 | Hitting_OBP | 0.520 | 0.000 | -0.270 | 0.250 |
| predicted_R | 0.514 | 1.000 | 1.000 | Hitting_R | 0.783 | 0.000 | 0.217 | 1.000 |
| predicted_RBI | 0.351 | 2.000 | 0.000 | Hitting_RBI | 0.043 | 0.000 | 1.957 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.477 | 0.500 | 0.333 | Hitting_SLG | 0.349 | 0.000 | 0.151 | 0.500 |
| predicted_SO | 0.622 | 1.000 | 1.000 | Hitting_SO | 0.522 | 0.000 | 0.478 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.3510 -> 2.0000 (boost 1.6490, better) |
| Biggest Deboost | predicted_BB: 0.3510 -> 0.0000 (deboost -0.3510, 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 | 1 | 4 | 1 | 4 | predicted_BB: 0.3510 -> 0.4213 (boost 0.0703, better) | predicted_H: 0.8650 -> 0.7971 (deboost -0.0679, 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.4516 -> 0.4382 (deboost -0.0134, 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.6270 -> 1.0000 (boost 0.3730, worse) | predicted_BB: 0.4168 -> 0.0000 (deboost -0.4168, worse) | AB rounded to 3 (raw=2.95), rates preserved: AVG=0.260 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5056 -> 1.0000 (boost 0.4944, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2656 -> 0.3330 (boost 0.0674, better) | predicted_SLG: 0.4382 -> 0.3330 (deboost -0.1052, 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_RBI: 0.0000 -> 2.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.4382 (boost 0.1052, better) | predicted_AVG: 0.3330 -> 0.2656 (deboost -0.0674, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "622268",
"player_name": "Donovan Walton",
"position": "2B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.243,
"predicted_3B": 0.027,
"predicted_AB": 2.946,
"predicted_AVG": 0.294,
"predicted_BB": 0.351,
"predicted_H": 0.865,
"predicted_HR": 0.081,
"predicted_OBP": 0.369,
"predicted_R": 0.514,
"predicted_RBI": 0.351,
"predicted_SLG": 0.477,
"predicted_SO": 0.622
},
"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.2285,
"predicted_3B": 0.0317,
"predicted_AB": 2.88,
"predicted_AVG": 0.2764,
"predicted_BB": 0.4213,
"predicted_H": 0.7971,
"predicted_HBP": 0.042,
"predicted_HR": 0.0712,
"predicted_OBP": 0.3708,
"predicted_R": 0.5431,
"predicted_RBI": 0.3306,
"predicted_SLG": 0.4516,
"predicted_SO": 0.6204
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.243,
"after": 0.2285,
"delta": -0.0145,
"percent_delta": -0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0317,
"delta": 0.0047,
"percent_delta": 0.1741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.946,
"after": 2.88,
"delta": -0.066,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2764,
"delta": -0.0176,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.4213,
"delta": 0.0703,
"percent_delta": 0.2003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.865,
"after": 0.7971,
"delta": -0.0679,
"percent_delta": -0.0785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.081,
"after": 0.0712,
"delta": -0.0098,
"percent_delta": -0.121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3708,
"delta": 0.0018,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.5431,
"delta": 0.0291,
"percent_delta": 0.0566,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.351,
"after": 0.3306,
"delta": -0.0204,
"percent_delta": -0.0581,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4516,
"delta": -0.0254,
"percent_delta": -0.0532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.622,
"after": 0.6204,
"delta": -0.0016,
"percent_delta": -0.0026,
"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_BB",
"before": 0.351,
"after": 0.4213,
"delta": 0.0703,
"percent_delta": 0.2003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.865,
"after": 0.7971,
"delta": -0.0679,
"percent_delta": -0.0785,
"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": 37
}
},
{
"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.2285,
"predicted_3B": 0.0317,
"predicted_AB": 2.88,
"predicted_AVG": 0.2656,
"predicted_BB": 0.4168,
"predicted_H": 0.7649,
"predicted_HBP": 0.042,
"predicted_HR": 0.0684,
"predicted_OBP": 0.3584,
"predicted_R": 0.5056,
"predicted_RBI": 0.3078,
"predicted_SLG": 0.4382,
"predicted_SO": 0.627
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2285,
"after": 0.2285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0317,
"after": 0.0317,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.88,
"after": 2.88,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2764,
"after": 0.2656,
"delta": -0.0108,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4213,
"after": 0.4168,
"delta": -0.0045,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7971,
"after": 0.7649,
"delta": -0.0322,
"percent_delta": -0.0404,
"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.0712,
"after": 0.0684,
"delta": -0.0028,
"percent_delta": -0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3708,
"after": 0.3584,
"delta": -0.0124,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5431,
"after": 0.5056,
"delta": -0.0375,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3306,
"after": 0.3078,
"delta": -0.0228,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4516,
"after": 0.4382,
"delta": -0.0134,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6204,
"after": 0.627,
"delta": 0.0066,
"percent_delta": 0.0106,
"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.4516,
"after": 0.4382,
"delta": -0.0134,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.95), rates preserved: AVG=0.260 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.2285,
"after": 0.0,
"delta": -0.2285,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0317,
"after": 0.0,
"delta": -0.0317,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.88,
"after": 3.0,
"delta": 0.12,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4168,
"after": 0.0,
"delta": -0.4168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7649,
"after": 1.0,
"delta": 0.2351,
"percent_delta": 0.3074,
"direction": "boost",
"projection_effect": "better",
"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.0684,
"after": 0.0,
"delta": -0.0684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3078,
"after": 0.0,
"delta": -0.3078,
"percent_delta": -1.0,
"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": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.627,
"after": 1.0,
"delta": 0.373,
"percent_delta": 0.5949,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4168,
"after": 0.0,
"delta": -0.4168,
"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": 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": 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.5056,
"after": 1.0,
"delta": 0.4944,
"percent_delta": 0.9778,
"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.5056,
"after": 1.0,
"delta": 0.4944,
"percent_delta": 0.9778,
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.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.2656,
"after": 0.333,
"delta": 0.0674,
"percent_delta": 0.2538,
"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.3584,
"after": 0.333,
"delta": -0.0254,
"percent_delta": -0.0709,
"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.4382,
"after": 0.333,
"delta": -0.1052,
"percent_delta": -0.2401,
"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.2656,
"after": 0.333,
"delta": 0.0674,
"percent_delta": 0.2538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4382,
"after": 0.333,
"delta": -0.1052,
"percent_delta": -0.2401,
"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": 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": 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": 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": 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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"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": 4.0,
"predicted_AVG": 0.2656,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3584,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4382,
"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.333,
"after": 0.2656,
"delta": -0.0674,
"percent_delta": -0.2024,
"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.3584,
"delta": 0.0254,
"percent_delta": 0.0764,
"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.333,
"after": 0.4382,
"delta": 0.1052,
"percent_delta": 0.3159,
"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.4382,
"delta": 0.1052,
"percent_delta": 0.3159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2656,
"delta": -0.0674,
"percent_delta": -0.2024,
"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.243,
"after": 1.0,
"delta": 0.757,
"percent_delta": 3.1152,
"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": 2.946,
"after": 4.0,
"delta": 1.054,
"percent_delta": 0.3578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2656,
"delta": -0.0284,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.0,
"delta": -0.351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3584,
"delta": -0.0106,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 1.0,
"delta": 0.486,
"percent_delta": 0.9455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.351,
"after": 2.0,
"delta": 1.649,
"percent_delta": 4.698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4382,
"delta": -0.0388,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.351,
"after": 2.0,
"delta": 1.649,
"percent_delta": 4.698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.351,
"after": 0.0,
"delta": -0.351,
"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.243 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 2.946 | - |
| predicted_AVG | 0.294 | - |
| predicted_BB | 0.351 | - |
| predicted_H | 0.865 | - |
| predicted_HR | 0.081 | - |
| predicted_OBP | 0.369 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.351 | - |
| predicted_SLG | 0.477 | - |
| predicted_SO | 0.622 | - |
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.229 | -0.014 |
| predicted_3B | 0.032 | 0.005 |
| predicted_AB | 2.880 | -0.066 |
| predicted_AVG | 0.276 | -0.018 |
| predicted_BB | 0.421 | 0.070 |
| predicted_H | 0.797 | -0.068 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.071 | -0.010 |
| predicted_OBP | 0.371 | 0.002 |
| predicted_R | 0.543 | 0.029 |
| predicted_RBI | 0.331 | -0.020 |
| predicted_SLG | 0.452 | -0.025 |
| predicted_SO | 0.620 | -0.002 |
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.229 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 2.880 | 0.000 |
| predicted_AVG | 0.266 | -0.011 |
| predicted_BB | 0.417 | -0.005 |
| predicted_H | 0.765 | -0.032 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.068 | -0.003 |
| predicted_OBP | 0.358 | -0.012 |
| predicted_R | 0.506 | -0.037 |
| predicted_RBI | 0.308 | -0.023 |
| predicted_SLG | 0.438 | -0.013 |
| predicted_SO | 0.627 | 0.007 |
AB rounded to 3 (raw=2.95), rates preserved: AVG=0.260 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 | 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.229 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 3.000 | 0.120 |
| predicted_AVG | 0.333 | 0.067 |
| predicted_BB | 0.000 | -0.417 |
| predicted_H | 1.000 | 0.235 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.333 | -0.025 |
| predicted_R | 1.000 | 0.494 |
| predicted_RBI | 0.000 | -0.308 |
| predicted_SLG | 0.333 | -0.105 |
| predicted_SO | 1.000 | 0.373 |
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 | 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 | 0.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 | - | 10.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 0.2000 | 0.3846 | 0.3000 | 0.2000 | 0.0000 | 0.1000 | 0.3000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 18.000 | 3.000 | 1.000 | 1.000 | 0.000 | 1.000 | 6.000 | 8.000 | 5.000 | 0.1667 | 0.4444 | 0.3333 | 0.1667 | 0.0000 | 0.0556 | 0.4444 | 0.2778 |
| season | 0.60 | 37 | - | 109.000 | 32.000 | 9.000 | 1.000 | 3.000 | 13.000 | 19.000 | 13.000 | 23.000 | 0.2936 | 0.3740 | 0.4771 | 0.2936 | 0.0275 | 0.1193 | 0.1193 | 0.2110 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0390 |
| predicted_AB | 2.7780 |
| predicted_AVG | 0.2492 |
| predicted_BB | 0.5300 |
| predicted_H | 0.6920 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.3736 |
| predicted_R | 0.5880 |
| predicted_RBI | 0.2990 |
| predicted_SLG | 0.4122 |
| predicted_SO | 0.6180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2430 | 0.2060 | 0.2285 | model_form_blend |
| predicted_3B | 0.0270 | 0.0390 | 0.0317 | model_form_blend |
| predicted_AB | 2.9460 | 2.7780 | 2.8800 | model_form_blend |
| predicted_AVG | 0.2940 | 0.2492 | 0.2764 | model_form_blend |
| predicted_BB | 0.3510 | 0.5300 | 0.4213 | model_form_blend |
| predicted_H | 0.8650 | 0.6920 | 0.7971 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.0810 | 0.0560 | 0.0712 | model_form_blend |
| predicted_OBP | 0.3690 | 0.3736 | 0.3708 | model_form_blend |
| predicted_R | 0.5140 | 0.5880 | 0.5431 | model_form_blend |
| predicted_RBI | 0.3510 | 0.2990 | 0.3306 | model_form_blend |
| predicted_SLG | 0.4770 | 0.4122 | 0.4516 | model_form_blend |
| predicted_SO | 0.6220 | 0.6180 | 0.6204 | 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 | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 37 |
| 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 | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.294 |
| 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 | 1 |
| 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 | PH-2B |
| gameID | 20260729_BOS@OAK |
| game_type | ph |
| mlbID | 622268 |
| note | Flied out for Williams in the 7th. |
| playerID | 622268 |
| playerName | Donovan Walton |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.375 |
| sl_xwoba | 0.323 |
| sl_xba | 0.257 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 43.0 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 50.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.140 | 0.000 | 0.000 | Hitting_2B | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.161 | 4.000 | 3.000 | Hitting_AB | 3.429 | 4.000 | 0.571 | 0.000 |
| predicted_AVG | 0.248 | 0.000 | 0.333 | Hitting_AVG | 0.256 | 0.500 | -0.256 | -0.500 |
| predicted_BB | 0.237 | 0.000 | 0.000 | Hitting_BB | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.785 | 0.000 | 1.000 | Hitting_H | 0.877 | 2.000 | -0.877 | -2.000 |
| predicted_HR | 0.043 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.333 | Hitting_OBP | 0.315 | 0.500 | -0.315 | -0.500 |
| predicted_R | 0.301 | 0.000 | 0.000 | Hitting_R | 0.373 | 0.000 | -0.373 | 0.000 |
| predicted_RBI | 0.355 | 0.000 | 0.000 | Hitting_RBI | 0.393 | 0.000 | -0.393 | 0.000 |
| predicted_SLG | 0.333 | 0.000 | 0.333 | Hitting_SLG | 0.336 | 0.500 | -0.336 | -0.500 |
| predicted_SO | 0.409 | 0.000 | 0.000 | Hitting_SO | 0.403 | 1.000 | -0.403 | -1.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_AB: 3.1610 -> 4.0000 (boost 0.8390, better) |
| Biggest Deboost | predicted_H: 0.7850 -> 0.0000 (deboost -0.7850, 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 | 4 | 0 | 4 | 0 | predicted_H: 0.7850 -> 0.8785 (boost 0.0935, 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_OBP: 0.3237 -> 0.3114 (deboost -0.0123, 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 | 2 | 4 | predicted_H: 0.8430 -> 1.0000 (boost 0.1570, better) | predicted_SO: 0.4099 -> 0.0000 (deboost -0.4099, better) | AB rounded to 3 (raw=3.20), rates preserved: AVG=0.264 HR/AB=0.014 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2944 -> 0.0000 (deboost -0.2944, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2636 -> 0.3330 (boost 0.0694, better) | predicted_SLG: 0.3582 -> 0.3330 (deboost -0.0252, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3582 (boost 0.0252, better) | predicted_AVG: 0.3330 -> 0.2636 (deboost -0.0694, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "1B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.14,
"predicted_3B": 0.0,
"predicted_AB": 3.161,
"predicted_AVG": 0.248,
"predicted_BB": 0.237,
"predicted_H": 0.785,
"predicted_HR": 0.043,
"predicted_OBP": 0.301,
"predicted_R": 0.301,
"predicted_RBI": 0.355,
"predicted_SLG": 0.333,
"predicted_SO": 0.409
},
"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.1655,
"predicted_3B": 0.0004,
"predicted_AB": 3.198,
"predicted_AVG": 0.2741,
"predicted_BB": 0.2242,
"predicted_H": 0.8785,
"predicted_HBP": 0.021,
"predicted_HR": 0.0473,
"predicted_OBP": 0.3237,
"predicted_R": 0.3163,
"predicted_RBI": 0.3907,
"predicted_SLG": 0.3704,
"predicted_SO": 0.4056
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.1655,
"delta": 0.0255,
"percent_delta": 0.1821,
"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.161,
"after": 3.198,
"delta": 0.037,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2741,
"delta": 0.0261,
"percent_delta": 0.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.237,
"after": 0.2242,
"delta": -0.0128,
"percent_delta": -0.054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.785,
"after": 0.8785,
"delta": 0.0935,
"percent_delta": 0.1191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.043,
"after": 0.0473,
"delta": 0.0043,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3237,
"delta": 0.0227,
"percent_delta": 0.0754,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.301,
"after": 0.3163,
"delta": 0.0153,
"percent_delta": 0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.355,
"after": 0.3907,
"delta": 0.0357,
"percent_delta": 0.1006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3704,
"delta": 0.0374,
"percent_delta": 0.1123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.409,
"after": 0.4056,
"delta": -0.0034,
"percent_delta": -0.0083,
"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_H",
"before": 0.785,
"after": 0.8785,
"delta": 0.0935,
"percent_delta": 0.1191,
"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": 93
}
},
{
"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.1655,
"predicted_3B": 0.0004,
"predicted_AB": 3.198,
"predicted_AVG": 0.2636,
"predicted_BB": 0.2218,
"predicted_H": 0.843,
"predicted_HBP": 0.021,
"predicted_HR": 0.0454,
"predicted_OBP": 0.3114,
"predicted_R": 0.2944,
"predicted_RBI": 0.3637,
"predicted_SLG": 0.3582,
"predicted_SO": 0.4099
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1655,
"after": 0.1655,
"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.198,
"after": 3.198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2741,
"after": 0.2636,
"delta": -0.0105,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2242,
"after": 0.2218,
"delta": -0.0024,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8785,
"after": 0.843,
"delta": -0.0355,
"percent_delta": -0.0404,
"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.0473,
"after": 0.0454,
"delta": -0.0019,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3237,
"after": 0.3114,
"delta": -0.0123,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3163,
"after": 0.2944,
"delta": -0.0219,
"percent_delta": -0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3907,
"after": 0.3637,
"delta": -0.027,
"percent_delta": -0.0691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3704,
"after": 0.3582,
"delta": -0.0122,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4056,
"after": 0.4099,
"delta": 0.0043,
"percent_delta": 0.0106,
"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.3237,
"after": 0.3114,
"delta": -0.0123,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.20), rates preserved: AVG=0.264 HR/AB=0.014",
"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.1655,
"after": 0.0,
"delta": -0.1655,
"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.198,
"after": 3.0,
"delta": -0.198,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2218,
"after": 0.0,
"delta": -0.2218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.843,
"after": 1.0,
"delta": 0.157,
"percent_delta": 0.1862,
"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.0454,
"after": 0.0,
"delta": -0.0454,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3637,
"after": 0.0,
"delta": -0.3637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4099,
"after": 0.0,
"delta": -0.4099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.843,
"after": 1.0,
"delta": 0.157,
"percent_delta": 0.1862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4099,
"after": 0.0,
"delta": -0.4099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
"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": 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_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": 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": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 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.2944,
"after": 0.0,
"delta": -0.2944,
"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.2944,
"after": 0.0,
"delta": -0.2944,
"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": 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.2636,
"after": 0.333,
"delta": 0.0694,
"percent_delta": 0.2633,
"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.3114,
"after": 0.333,
"delta": 0.0216,
"percent_delta": 0.0694,
"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.3582,
"after": 0.333,
"delta": -0.0252,
"percent_delta": -0.0704,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2636,
"after": 0.333,
"delta": 0.0694,
"percent_delta": 0.2633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3582,
"after": 0.333,
"delta": -0.0252,
"percent_delta": -0.0704,
"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": 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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 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.2636,
"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.3114,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3582,
"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.2636,
"delta": -0.0694,
"percent_delta": -0.2084,
"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.3114,
"delta": -0.0216,
"percent_delta": -0.065,
"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.3582,
"delta": 0.0252,
"percent_delta": 0.0758,
"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.3582,
"delta": 0.0252,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2636,
"delta": -0.0694,
"percent_delta": -0.2084,
"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.14,
"after": 0.0,
"delta": -0.14,
"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.161,
"after": 4.0,
"delta": 0.839,
"percent_delta": 0.2654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2636,
"delta": 0.0156,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.237,
"after": 0.0,
"delta": -0.237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.785,
"after": 0.0,
"delta": -0.785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3114,
"delta": 0.0104,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.301,
"after": 0.0,
"delta": -0.301,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.355,
"after": 0.0,
"delta": -0.355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3582,
"delta": 0.0252,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"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_AB",
"before": 3.161,
"after": 4.0,
"delta": 0.839,
"percent_delta": 0.2654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.785,
"after": 0.0,
"delta": -0.785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.140 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.161 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.237 | - |
| predicted_H | 0.785 | - |
| predicted_HR | 0.043 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.301 | - |
| predicted_RBI | 0.355 | - |
| predicted_SLG | 0.333 | - |
| predicted_SO | 0.409 | - |
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.166 | 0.025 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.198 | 0.037 |
| predicted_AVG | 0.274 | 0.026 |
| predicted_BB | 0.224 | -0.013 |
| predicted_H | 0.878 | 0.093 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.047 | 0.004 |
| predicted_OBP | 0.324 | 0.023 |
| predicted_R | 0.316 | 0.015 |
| predicted_RBI | 0.391 | 0.036 |
| predicted_SLG | 0.370 | 0.037 |
| predicted_SO | 0.406 | -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.166 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.198 | 0.000 |
| predicted_AVG | 0.264 | -0.011 |
| predicted_BB | 0.222 | -0.002 |
| predicted_H | 0.843 | -0.035 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.045 | -0.002 |
| predicted_OBP | 0.311 | -0.012 |
| predicted_R | 0.294 | -0.022 |
| predicted_RBI | 0.364 | -0.027 |
| predicted_SLG | 0.358 | -0.012 |
| predicted_SO | 0.410 | 0.004 |
AB rounded to 3 (raw=3.20), rates preserved: AVG=0.264 HR/AB=0.014
| 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| 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 | 0.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 | 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.166 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.198 |
| predicted_AVG | 0.333 | 0.069 |
| predicted_BB | 0.000 | -0.222 |
| predicted_H | 1.000 | 0.157 |
| predicted_HR | 0.000 | -0.045 |
| predicted_OBP | 0.333 | 0.022 |
| predicted_R | 0.000 | -0.294 |
| predicted_RBI | 0.000 | -0.364 |
| predicted_SLG | 0.333 | -0.025 |
| predicted_SO | 0.000 | -0.410 |
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 | 0.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 | 7.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 2.000 | 0.4118 | 0.4444 | 0.5294 | 0.4118 | 0.0000 | 0.1177 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 31.000 | 13.000 | 2.000 | 0.000 | 1.000 | 7.000 | 5.000 | 1.000 | 2.000 | 0.4194 | 0.4375 | 0.5806 | 0.4194 | 0.0323 | 0.2258 | 0.0323 | 0.0645 |
| season | 0.60 | 93 | - | 294.000 | 73.000 | 13.000 | 0.000 | 4.000 | 33.000 | 28.000 | 22.000 | 38.000 | 0.2483 | 0.3043 | 0.3333 | 0.2483 | 0.0136 | 0.1122 | 0.0748 | 0.1293 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2000 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2480 |
| predicted_AVG | 0.3095 |
| predicted_BB | 0.2070 |
| predicted_H | 1.0050 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.3544 |
| predicted_R | 0.3370 |
| predicted_RBI | 0.4390 |
| predicted_SLG | 0.4209 |
| predicted_SO | 0.4010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.2000 | 0.1655 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1610 | 3.2480 | 3.1980 | model_form_blend |
| predicted_AVG | 0.2480 | 0.3095 | 0.2741 | model_form_blend |
| predicted_BB | 0.2370 | 0.2070 | 0.2242 | model_form_blend |
| predicted_H | 0.7850 | 1.0050 | 0.8785 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0430 | 0.0530 | 0.0473 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3544 | 0.3237 | model_form_blend |
| predicted_R | 0.3010 | 0.3370 | 0.3163 | model_form_blend |
| predicted_RBI | 0.3550 | 0.4390 | 0.3907 | model_form_blend |
| predicted_SLG | 0.3330 | 0.4209 | 0.3704 | model_form_blend |
| predicted_SO | 0.4090 | 0.4010 | 0.4056 | 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 | 308 |
| Season rows before report date | 308 |
| Report year | 2026 |
| Profile rows used | 93 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.248 |
| 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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| 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 | 2 |
| Hitting_battingOrder | 2 |
| 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 | 20260729_BOS@OAK |
| game_type | short |
| mlbID | 643446 |
| playerID | 643446 |
| playerName | Jeff McNeil |
| pos | 2B |
| started | False |
| startingPosition | 1B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 11.5 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.285 |
| sl_xwoba | 0.308 |
| sl_xba | 0.275 |
| sl_xslg | 0.359 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 1.2 |
| sl_hard_hit_percent | 31.9 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 15.9 |
| sl_swing_percent | 56.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.229 | 0.000 | 0.000 | Hitting_2B | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.070 | 3.000 | 4.000 | Hitting_AB | 3.731 | 5.000 | -0.731 | -2.000 |
| predicted_AVG | 0.197 | 0.333 | 0.250 | Hitting_AVG | 0.253 | 0.000 | 0.080 | 0.333 |
| predicted_BB | 0.500 | 1.000 | 0.000 | Hitting_BB | 0.556 | 0.000 | 0.444 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 0.800 | 1.000 | 1.000 | Hitting_H | 0.944 | 0.000 | 0.056 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_OBP | 0.293 | 0.500 | 0.250 | Hitting_OBP | 0.354 | 0.000 | 0.146 | 0.500 |
| predicted_R | 0.521 | 0.000 | 0.000 | Hitting_R | 0.588 | 0.000 | -0.588 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_SLG | 0.419 | 0.333 | 0.250 | Hitting_SLG | 0.478 | 0.000 | -0.145 | 0.333 |
| predicted_SO | 0.781 | 0.000 | 1.000 | Hitting_SO | 0.742 | 4.000 | -0.742 | -4.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_BB: 0.5000 -> 1.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_AB: 4.0700 -> 3.0000 (deboost -1.0700, 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_SO: 0.7810 -> 0.8772 (boost 0.0962, worse) | predicted_AB: 4.0700 -> 3.9390 (deboost -0.1310, 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.4235 -> 0.3875 (deboost -0.0360, 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.8077 -> 1.0000 (boost 0.1923, better) | predicted_BB: 0.4509 -> 0.0000 (deboost -0.4509, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.198 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4610 -> 0.0000 (deboost -0.4610, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2051 -> 0.2500 (boost 0.0449, better) | predicted_SLG: 0.3875 -> 0.2500 (deboost -0.1375, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.3875 (boost 0.1375, better) | predicted_AVG: 0.2500 -> 0.2051 (deboost -0.0449, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"position": "LF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.229,
"predicted_3B": 0.021,
"predicted_AB": 4.07,
"predicted_AVG": 0.197,
"predicted_BB": 0.5,
"predicted_H": 0.8,
"predicted_HR": 0.16,
"predicted_OBP": 0.293,
"predicted_R": 0.521,
"predicted_RBI": 0.44,
"predicted_SLG": 0.419,
"predicted_SO": 0.781
},
"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.2161,
"predicted_3B": 0.0176,
"predicted_AB": 3.939,
"predicted_AVG": 0.2147,
"predicted_BB": 0.4558,
"predicted_H": 0.8417,
"predicted_HBP": 0.021,
"predicted_HR": 0.1621,
"predicted_OBP": 0.3014,
"predicted_R": 0.4952,
"predicted_RBI": 0.4409,
"predicted_SLG": 0.4235,
"predicted_SO": 0.8772
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.2161,
"delta": -0.0129,
"percent_delta": -0.0563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0176,
"delta": -0.0034,
"percent_delta": -0.1619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 3.939,
"delta": -0.131,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2147,
"delta": 0.0177,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4558,
"delta": -0.0442,
"percent_delta": -0.0884,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.8417,
"delta": 0.0417,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1621,
"delta": 0.0021,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3014,
"delta": 0.0084,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.521,
"after": 0.4952,
"delta": -0.0258,
"percent_delta": -0.0495,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4409,
"delta": 0.0009,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4235,
"delta": 0.0045,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 0.8772,
"delta": 0.0962,
"percent_delta": 0.1232,
"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_SO",
"before": 0.781,
"after": 0.8772,
"delta": 0.0962,
"percent_delta": 0.1232,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.939,
"delta": -0.131,
"percent_delta": -0.0322,
"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": 96
}
},
{
"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.2161,
"predicted_3B": 0.0176,
"predicted_AB": 3.939,
"predicted_AVG": 0.2051,
"predicted_BB": 0.4509,
"predicted_H": 0.8077,
"predicted_HBP": 0.021,
"predicted_HR": 0.1557,
"predicted_OBP": 0.2867,
"predicted_R": 0.461,
"predicted_RBI": 0.4104,
"predicted_SLG": 0.3875,
"predicted_SO": 0.8866
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2161,
"after": 0.2161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0176,
"after": 0.0176,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.939,
"after": 3.939,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2147,
"after": 0.2051,
"delta": -0.0096,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4558,
"after": 0.4509,
"delta": -0.0049,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8417,
"after": 0.8077,
"delta": -0.034,
"percent_delta": -0.0404,
"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.1621,
"after": 0.1557,
"delta": -0.0064,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3014,
"after": 0.2867,
"delta": -0.0147,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4952,
"after": 0.461,
"delta": -0.0342,
"percent_delta": -0.0691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4409,
"after": 0.4104,
"delta": -0.0305,
"percent_delta": -0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4235,
"after": 0.3875,
"delta": -0.036,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8772,
"after": 0.8866,
"delta": 0.0094,
"percent_delta": 0.0107,
"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.4235,
"after": 0.3875,
"delta": -0.036,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.07), rates preserved: AVG=0.198 HR/AB=0.038",
"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.2161,
"after": 0.0,
"delta": -0.2161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0176,
"after": 0.0,
"delta": -0.0176,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.939,
"after": 4.0,
"delta": 0.061,
"percent_delta": 0.0155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4509,
"after": 0.0,
"delta": -0.4509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8077,
"after": 1.0,
"delta": 0.1923,
"percent_delta": 0.2381,
"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.1557,
"after": 0.0,
"delta": -0.1557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4104,
"after": 0.0,
"delta": -0.4104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8866,
"after": 1.0,
"delta": 0.1134,
"percent_delta": 0.1279,
"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.8077,
"after": 1.0,
"delta": 0.1923,
"percent_delta": 0.2381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4509,
"after": 0.0,
"delta": -0.4509,
"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.461,
"after": 0.0,
"delta": -0.461,
"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.461,
"after": 0.0,
"delta": -0.461,
"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.2051,
"after": 0.25,
"delta": 0.0449,
"percent_delta": 0.2189,
"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.2867,
"after": 0.25,
"delta": -0.0367,
"percent_delta": -0.128,
"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.3875,
"after": 0.25,
"delta": -0.1375,
"percent_delta": -0.3548,
"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.2051,
"after": 0.25,
"delta": 0.0449,
"percent_delta": 0.2189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3875,
"after": 0.25,
"delta": -0.1375,
"percent_delta": -0.3548,
"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": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 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_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2051,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2867,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3875,
"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.25,
"after": 0.2051,
"delta": -0.0449,
"percent_delta": -0.1798,
"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": 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.2867,
"delta": 0.0367,
"percent_delta": 0.1468,
"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.3875,
"delta": 0.1375,
"percent_delta": 0.5499,
"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.3875,
"delta": 0.1375,
"percent_delta": 0.5499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2051,
"delta": -0.0449,
"percent_delta": -0.1798,
"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.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 3.0,
"delta": -1.07,
"percent_delta": -0.2629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2051,
"delta": 0.0081,
"percent_delta": 0.0411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.0,
"delta": 0.2,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2867,
"delta": -0.0063,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.521,
"after": 0.0,
"delta": -0.521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.3875,
"delta": -0.0315,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 0.0,
"delta": -0.781,
"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_BB",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.0,
"delta": -1.07,
"percent_delta": -0.2629,
"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.229 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.197 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.521 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.419 | - |
| predicted_SO | 0.781 | - |
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.216 | -0.013 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 3.939 | -0.131 |
| predicted_AVG | 0.215 | 0.018 |
| predicted_BB | 0.456 | -0.044 |
| predicted_H | 0.842 | 0.042 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.162 | 0.002 |
| predicted_OBP | 0.301 | 0.008 |
| predicted_R | 0.495 | -0.026 |
| predicted_RBI | 0.441 | 0.001 |
| predicted_SLG | 0.423 | 0.005 |
| predicted_SO | 0.877 | 0.096 |
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.216 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.939 | 0.000 |
| predicted_AVG | 0.205 | -0.010 |
| predicted_BB | 0.451 | -0.005 |
| predicted_H | 0.808 | -0.034 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.156 | -0.006 |
| predicted_OBP | 0.287 | -0.015 |
| predicted_R | 0.461 | -0.034 |
| predicted_RBI | 0.410 | -0.031 |
| predicted_SLG | 0.388 | -0.036 |
| predicted_SO | 0.887 | 0.009 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.198 HR/AB=0.038
| 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.216 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 4.000 | 0.061 |
| predicted_AVG | 0.250 | 0.045 |
| predicted_BB | 0.000 | -0.451 |
| predicted_H | 1.000 | 0.192 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.250 | -0.037 |
| predicted_R | 0.000 | -0.461 |
| predicted_RBI | 0.000 | -0.410 |
| predicted_SLG | 0.250 | -0.138 |
| predicted_SO | 1.000 | 0.113 |
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 | -1.000 |
| BB | 1.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 | 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 | - | 20.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.2000 | 0.2381 | 0.4000 | 0.2000 | 0.0500 | 0.0500 | 0.0500 | 0.4000 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 3.000 | 12.000 | 0.2500 | 0.3023 | 0.3500 | 0.2500 | 0.0250 | 0.1000 | 0.0750 | 0.3000 |
| season | 0.60 | 96 | - | 346.000 | 85.000 | 22.000 | 2.000 | 17.000 | 50.000 | 50.000 | 48.000 | 75.000 | 0.2457 | 0.3417 | 0.4682 | 0.2457 | 0.0491 | 0.1445 | 0.1387 | 0.2168 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1990 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.7650 |
| predicted_AVG | 0.2382 |
| predicted_BB | 0.3970 |
| predicted_H | 0.8970 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.1650 |
| predicted_OBP | 0.3126 |
| predicted_R | 0.4610 |
| predicted_RBI | 0.4420 |
| predicted_SLG | 0.4294 |
| predicted_SO | 1.0050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2290 | 0.1990 | 0.2161 | model_form_blend |
| predicted_3B | 0.0210 | 0.0130 | 0.0176 | model_form_blend |
| predicted_AB | 4.0700 | 3.7650 | 3.9390 | model_form_blend |
| predicted_AVG | 0.1970 | 0.2382 | 0.2147 | model_form_blend |
| predicted_BB | 0.5000 | 0.3970 | 0.4558 | model_form_blend |
| predicted_H | 0.8000 | 0.8970 | 0.8417 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.1600 | 0.1650 | 0.1621 | model_form_blend |
| predicted_OBP | 0.2930 | 0.3126 | 0.3014 | model_form_blend |
| predicted_R | 0.5210 | 0.4610 | 0.4952 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4420 | 0.4409 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4294 | 0.4235 | model_form_blend |
| predicted_SO | 0.7810 | 1.0050 | 0.8772 | 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 | 376 |
| Season rows before report date | 376 |
| Report year | 2026 |
| Profile rows used | 96 |
| 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 | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.246 |
| 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 | 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 | 4 |
| 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 | LF |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 691016 |
| playerID | 691016 |
| playerName | Tyler Soderstrom |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.354 |
| sl_xwoba | 0.337 |
| sl_xba | 0.254 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 44.3 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 21.2 |
| 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.113 | 0.000 | 0.000 | Hitting_2B | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.355 | 4.000 | 3.000 | Hitting_AB | 3.489 | 3.000 | 0.511 | 1.000 |
| predicted_AVG | 0.245 | 0.000 | 0.333 | Hitting_AVG | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_BB | 0.274 | 0.000 | 0.000 | Hitting_BB | 0.271 | 1.000 | -0.271 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.086 | 1.000 | -0.086 | -1.000 |
| predicted_H | 0.823 | 0.000 | 1.000 | Hitting_H | 0.900 | 0.000 | -0.900 | 0.000 |
| predicted_HR | 0.048 | 0.000 | 0.000 | Hitting_HR | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_OBP | 0.302 | 0.000 | 0.333 | Hitting_OBP | 0.329 | 0.250 | -0.329 | -0.250 |
| predicted_R | 0.323 | 0.000 | 0.000 | Hitting_R | 0.339 | 0.000 | -0.339 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_SLG | 0.322 | 0.000 | 0.333 | Hitting_SLG | 0.342 | 0.000 | -0.342 | 0.000 |
| predicted_SO | 1.065 | 2.000 | 1.000 | Hitting_SO | 1.122 | 1.000 | 0.878 | 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: 1.0650 -> 2.0000 (boost 0.9350, worse) |
| Biggest Deboost | predicted_H: 0.8230 -> 0.0000 (deboost -0.8230, 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_H: 0.8230 -> 0.7597 (deboost -0.0633, 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.3000 -> 0.2866 (deboost -0.0134, 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.7290 -> 1.0000 (boost 0.2710, better) | predicted_BB: 0.3015 -> 0.0000 (deboost -0.3015, worse) | AB rounded to 3 (raw=3.35), rates preserved: AVG=0.217 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2894 -> 0.0000 (deboost -0.2894, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2213 -> 0.3330 (boost 0.1117, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | 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.2213 (deboost -0.1117, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "703607",
"player_name": "Henry Bolte",
"position": "CF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.113,
"predicted_3B": 0.0,
"predicted_AB": 3.355,
"predicted_AVG": 0.245,
"predicted_BB": 0.274,
"predicted_H": 0.823,
"predicted_HR": 0.048,
"predicted_OBP": 0.302,
"predicted_R": 0.323,
"predicted_RBI": 0.29,
"predicted_SLG": 0.322,
"predicted_SO": 1.065
},
"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.0972,
"predicted_3B": 0.0004,
"predicted_AB": 3.2942,
"predicted_AVG": 0.2301,
"predicted_BB": 0.3048,
"predicted_H": 0.7597,
"predicted_HBP": 0.061,
"predicted_HR": 0.0434,
"predicted_OBP": 0.3,
"predicted_R": 0.3109,
"predicted_RBI": 0.2754,
"predicted_SLG": 0.2997,
"predicted_SO": 1.0417
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.0972,
"delta": -0.0158,
"percent_delta": -0.1398,
"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.355,
"after": 3.2942,
"delta": -0.0608,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2301,
"delta": -0.0149,
"percent_delta": -0.0608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.274,
"after": 0.3048,
"delta": 0.0308,
"percent_delta": 0.1124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.823,
"after": 0.7597,
"delta": -0.0633,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.048,
"after": 0.0434,
"delta": -0.0046,
"percent_delta": -0.0958,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3,
"delta": -0.002,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.323,
"after": 0.3109,
"delta": -0.0121,
"percent_delta": -0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2754,
"delta": -0.0146,
"percent_delta": -0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.2997,
"delta": -0.0223,
"percent_delta": -0.0693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.065,
"after": 1.0417,
"delta": -0.0233,
"percent_delta": -0.0219,
"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_H",
"before": 0.823,
"after": 0.7597,
"delta": -0.0633,
"percent_delta": -0.0769,
"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": 62
}
},
{
"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.0972,
"predicted_3B": 0.0004,
"predicted_AB": 3.2942,
"predicted_AVG": 0.2213,
"predicted_BB": 0.3015,
"predicted_H": 0.729,
"predicted_HBP": 0.061,
"predicted_HR": 0.0417,
"predicted_OBP": 0.2866,
"predicted_R": 0.2894,
"predicted_RBI": 0.2564,
"predicted_SLG": 0.289,
"predicted_SO": 1.0528
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0972,
"after": 0.0972,
"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.2942,
"after": 3.2942,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2301,
"after": 0.2213,
"delta": -0.0088,
"percent_delta": -0.0382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3048,
"after": 0.3015,
"delta": -0.0033,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7597,
"after": 0.729,
"delta": -0.0307,
"percent_delta": -0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.061,
"after": 0.061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0434,
"after": 0.0417,
"delta": -0.0017,
"percent_delta": -0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2866,
"delta": -0.0134,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3109,
"after": 0.2894,
"delta": -0.0215,
"percent_delta": -0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2754,
"after": 0.2564,
"delta": -0.019,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2997,
"after": 0.289,
"delta": -0.0107,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0417,
"after": 1.0528,
"delta": 0.0111,
"percent_delta": 0.0107,
"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.3,
"after": 0.2866,
"delta": -0.0134,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.35), rates preserved: AVG=0.217 HR/AB=0.012",
"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.0972,
"after": 0.0,
"delta": -0.0972,
"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.2942,
"after": 3.0,
"delta": -0.2942,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3015,
"after": 0.0,
"delta": -0.3015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.729,
"after": 1.0,
"delta": 0.271,
"percent_delta": 0.3717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.061,
"after": 0.0,
"delta": -0.061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0417,
"after": 0.0,
"delta": -0.0417,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2564,
"after": 0.0,
"delta": -0.2564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0528,
"after": 1.0,
"delta": -0.0528,
"percent_delta": -0.0502,
"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.729,
"after": 1.0,
"delta": 0.271,
"percent_delta": 0.3717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3015,
"after": 0.0,
"delta": -0.3015,
"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.2894,
"after": 0.0,
"delta": -0.2894,
"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.2894,
"after": 0.0,
"delta": -0.2894,
"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.2213,
"after": 0.333,
"delta": 0.1117,
"percent_delta": 0.5047,
"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.2866,
"after": 0.333,
"delta": 0.0464,
"percent_delta": 0.1619,
"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.289,
"after": 0.333,
"delta": 0.044,
"percent_delta": 0.1522,
"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.2213,
"after": 0.333,
"delta": 0.1117,
"percent_delta": 0.5047,
"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": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"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.2213,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2866,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.289,
"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.2213,
"delta": -0.1117,
"percent_delta": -0.3354,
"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.2866,
"delta": -0.0464,
"percent_delta": -0.1393,
"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.289,
"delta": -0.044,
"percent_delta": -0.1321,
"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.333,
"after": 0.2213,
"delta": -0.1117,
"percent_delta": -0.3354,
"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.113,
"after": 0.0,
"delta": -0.113,
"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.355,
"after": 4.0,
"delta": 0.645,
"percent_delta": 0.1923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2213,
"delta": -0.0237,
"percent_delta": -0.0967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.274,
"after": 0.0,
"delta": -0.274,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.823,
"after": 0.0,
"delta": -0.823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2866,
"delta": -0.0154,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.323,
"after": 0.0,
"delta": -0.323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.289,
"delta": -0.033,
"percent_delta": -0.1025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.065,
"after": 2.0,
"delta": 0.935,
"percent_delta": 0.8779,
"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": 1.065,
"after": 2.0,
"delta": 0.935,
"percent_delta": 0.8779,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.823,
"after": 0.0,
"delta": -0.823,
"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.113 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.355 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.274 | - |
| predicted_H | 0.823 | - |
| predicted_HR | 0.048 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.323 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.322 | - |
| predicted_SO | 1.065 | - |
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.097 | -0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.294 | -0.061 |
| predicted_AVG | 0.230 | -0.015 |
| predicted_BB | 0.305 | 0.031 |
| predicted_H | 0.760 | -0.063 |
| predicted_HBP | 0.061 | - |
| predicted_HR | 0.043 | -0.005 |
| predicted_OBP | 0.300 | -0.002 |
| predicted_R | 0.311 | -0.012 |
| predicted_RBI | 0.275 | -0.015 |
| predicted_SLG | 0.300 | -0.022 |
| predicted_SO | 1.042 | -0.023 |
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.097 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.294 | 0.000 |
| predicted_AVG | 0.221 | -0.009 |
| predicted_BB | 0.301 | -0.003 |
| predicted_H | 0.729 | -0.031 |
| predicted_HBP | 0.061 | 0.000 |
| predicted_HR | 0.042 | -0.002 |
| predicted_OBP | 0.287 | -0.013 |
| predicted_R | 0.289 | -0.022 |
| predicted_RBI | 0.256 | -0.019 |
| predicted_SLG | 0.289 | -0.011 |
| predicted_SO | 1.053 | 0.011 |
AB rounded to 3 (raw=3.35), rates preserved: AVG=0.217 HR/AB=0.012
| 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.097 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.294 |
| predicted_AVG | 0.333 | 0.112 |
| predicted_BB | 0.000 | -0.301 |
| predicted_H | 1.000 | 0.271 |
| predicted_HR | 0.000 | -0.042 |
| predicted_OBP | 0.333 | 0.046 |
| predicted_R | 0.000 | -0.289 |
| predicted_RBI | 0.000 | -0.256 |
| predicted_SLG | 0.333 | 0.044 |
| predicted_SO | 1.000 | -0.053 |
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 | 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 | 3.000 | 5.000 | 0.1429 | 0.2941 | 0.1429 | 0.1429 | 0.0000 | 0.0714 | 0.2143 | 0.3571 |
| last_10 | 0.20 | 10 | - | 28.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 9.000 | 0.1429 | 0.2258 | 0.1429 | 0.1429 | 0.0000 | 0.0357 | 0.1071 | 0.3214 |
| season | 0.60 | 62 | - | 208.000 | 51.000 | 7.000 | 0.000 | 3.000 | 18.000 | 20.000 | 17.000 | 66.000 | 0.2452 | 0.3205 | 0.3221 | 0.2452 | 0.0144 | 0.0865 | 0.0817 | 0.3173 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0750 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2090 |
| predicted_AVG | 0.2093 |
| predicted_BB | 0.3480 |
| predicted_H | 0.6710 |
| predicted_HBP | 0.0610 |
| predicted_HR | 0.0370 |
| predicted_OBP | 0.2973 |
| predicted_R | 0.2940 |
| predicted_RBI | 0.2550 |
| predicted_SLG | 0.2685 |
| predicted_SO | 1.0090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1130 | 0.0750 | 0.0972 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3550 | 3.2090 | 3.2942 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2093 | 0.2301 | model_form_blend |
| predicted_BB | 0.2740 | 0.3480 | 0.3048 | model_form_blend |
| predicted_H | 0.8230 | 0.6710 | 0.7597 | model_form_blend |
| predicted_HBP | - | 0.0610 | 0.0610 | form_only |
| predicted_HR | 0.0480 | 0.0370 | 0.0434 | model_form_blend |
| predicted_OBP | 0.3020 | 0.2973 | 0.3000 | model_form_blend |
| predicted_R | 0.3230 | 0.2940 | 0.3109 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2550 | 0.2754 | model_form_blend |
| predicted_SLG | 0.3220 | 0.2685 | 0.2997 | model_form_blend |
| predicted_SO | 1.0650 | 1.0090 | 1.0417 | 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 | 221 |
| Season rows before report date | 221 |
| Report year | 2026 |
| Profile rows used | 62 |
| 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.245 |
| 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 | 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 | 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 | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 703607 |
| playerID | 703607 |
| playerName | Henry Bolte |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.298 |
| sl_xwoba | 0.291 |
| sl_xba | 0.222 |
| sl_xslg | 0.338 |
| sl_sweet_spot_percent | 25.2 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 1.4 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 50.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.164 | 0.000 | 0.000 | Hitting_2B | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.060 | 4.000 | 4.000 | Hitting_AB | 3.767 | 5.000 | 0.233 | -1.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.233 | 0.600 | -0.233 | -0.600 |
| predicted_BB | 0.230 | 0.000 | 0.000 | Hitting_BB | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 0.877 | 3.000 | -0.877 | -3.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.178 | 1.000 | -0.178 | -1.000 |
| predicted_OBP | 0.292 | 0.000 | 0.250 | Hitting_OBP | 0.278 | 0.600 | -0.278 | -0.600 |
| predicted_R | 0.377 | 0.000 | 0.000 | Hitting_R | 0.423 | 1.000 | -0.423 | -1.000 |
| predicted_RBI | 0.540 | 0.000 | 0.000 | Hitting_RBI | 0.583 | 1.000 | -0.583 | -1.000 |
| predicted_SLG | 0.433 | 0.000 | 0.250 | Hitting_SLG | 0.417 | 1.200 | -0.417 | -1.200 |
| predicted_SO | 0.705 | 2.000 | 1.000 | Hitting_SO | 0.853 | 0.000 | 1.147 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7050 -> 2.0000 (boost 1.2950, worse) |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, 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: 4.0600 -> 3.8922 (deboost -0.1678, 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.2833 -> 0.2639 (deboost -0.0194, 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.7344 -> 1.0000 (boost 0.2656, worse) | predicted_RBI: 0.4946 -> 0.0000 (deboost -0.4946, worse) | AB rounded to 4 (raw=4.06), rates preserved: AVG=0.213 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3544 -> 0.0000 (deboost -0.3544, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2225 -> 0.2500 (boost 0.0275, better) | predicted_SLG: 0.4315 -> 0.2500 (deboost -0.1815, 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_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.4315 (boost 0.1815, better) | predicted_AVG: 0.2500 -> 0.2225 (deboost -0.0275, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641680",
"player_name": "Jonah Heim",
"position": "C",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.164,
"predicted_3B": 0.0,
"predicted_AB": 4.06,
"predicted_AVG": 0.237,
"predicted_BB": 0.23,
"predicted_H": 0.96,
"predicted_HR": 0.24,
"predicted_OBP": 0.292,
"predicted_R": 0.377,
"predicted_RBI": 0.54,
"predicted_SLG": 0.433,
"predicted_SO": 0.705
},
"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.1503,
"predicted_3B": 0.0008,
"predicted_AB": 3.8922,
"predicted_AVG": 0.2318,
"predicted_BB": 0.2217,
"predicted_H": 0.9023,
"predicted_HBP": 0.038,
"predicted_HR": 0.2296,
"predicted_OBP": 0.2833,
"predicted_R": 0.3807,
"predicted_RBI": 0.5313,
"predicted_SLG": 0.4349,
"predicted_SO": 0.7266
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.1503,
"delta": -0.0137,
"percent_delta": -0.0835,
"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": 4.06,
"after": 3.8922,
"delta": -0.1678,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2318,
"delta": -0.0052,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.23,
"after": 0.2217,
"delta": -0.0083,
"percent_delta": -0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9023,
"delta": -0.0577,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2296,
"delta": -0.0104,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2833,
"delta": -0.0087,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.3807,
"delta": 0.0037,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5313,
"delta": -0.0087,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4349,
"delta": 0.0019,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.705,
"after": 0.7266,
"delta": 0.0216,
"percent_delta": 0.0306,
"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": 4.06,
"after": 3.8922,
"delta": -0.1678,
"percent_delta": -0.0413,
"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.1503,
"predicted_3B": 0.0008,
"predicted_AB": 3.8922,
"predicted_AVG": 0.2225,
"predicted_BB": 0.2193,
"predicted_H": 0.8658,
"predicted_HBP": 0.038,
"predicted_HR": 0.2206,
"predicted_OBP": 0.2639,
"predicted_R": 0.3544,
"predicted_RBI": 0.4946,
"predicted_SLG": 0.4315,
"predicted_SO": 0.7344
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1503,
"after": 0.1503,
"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.8922,
"after": 3.8922,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2318,
"after": 0.2225,
"delta": -0.0093,
"percent_delta": -0.0401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2217,
"after": 0.2193,
"delta": -0.0024,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9023,
"after": 0.8658,
"delta": -0.0365,
"percent_delta": -0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2296,
"after": 0.2206,
"delta": -0.009,
"percent_delta": -0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2833,
"after": 0.2639,
"delta": -0.0194,
"percent_delta": -0.0685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3807,
"after": 0.3544,
"delta": -0.0263,
"percent_delta": -0.0691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5313,
"after": 0.4946,
"delta": -0.0367,
"percent_delta": -0.0691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4349,
"after": 0.4315,
"delta": -0.0034,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7266,
"after": 0.7344,
"delta": 0.0078,
"percent_delta": 0.0107,
"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.2833,
"after": 0.2639,
"delta": -0.0194,
"percent_delta": -0.0685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.06), rates preserved: AVG=0.213 HR/AB=0.054",
"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.1503,
"after": 0.0,
"delta": -0.1503,
"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.8922,
"after": 4.0,
"delta": 0.1078,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2193,
"after": 0.0,
"delta": -0.2193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8658,
"after": 1.0,
"delta": 0.1342,
"percent_delta": 0.155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2206,
"after": 0.0,
"delta": -0.2206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4946,
"after": 0.0,
"delta": -0.4946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7344,
"after": 1.0,
"delta": 0.2656,
"percent_delta": 0.3617,
"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.7344,
"after": 1.0,
"delta": 0.2656,
"percent_delta": 0.3617,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4946,
"after": 0.0,
"delta": -0.4946,
"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.3544,
"after": 0.0,
"delta": -0.3544,
"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.3544,
"after": 0.0,
"delta": -0.3544,
"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.2225,
"after": 0.25,
"delta": 0.0275,
"percent_delta": 0.1236,
"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.2639,
"after": 0.25,
"delta": -0.0139,
"percent_delta": -0.0527,
"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.4315,
"after": 0.25,
"delta": -0.1815,
"percent_delta": -0.4206,
"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.2225,
"after": 0.25,
"delta": 0.0275,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4315,
"after": 0.25,
"delta": -0.1815,
"percent_delta": -0.4206,
"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": 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": 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_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.2225,
"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.2639,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4315,
"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.25,
"after": 0.2225,
"delta": -0.0275,
"percent_delta": -0.1102,
"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.2639,
"delta": 0.0139,
"percent_delta": 0.0557,
"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.4315,
"delta": 0.1815,
"percent_delta": 0.7261,
"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.4315,
"delta": 0.1815,
"percent_delta": 0.7261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2225,
"delta": -0.0275,
"percent_delta": -0.1102,
"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.164,
"after": 0.0,
"delta": -0.164,
"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.06,
"after": 4.0,
"delta": -0.06,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2225,
"delta": -0.0145,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.292,
"after": 0.2639,
"delta": -0.0281,
"percent_delta": -0.0962,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4315,
"delta": -0.0015,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.705,
"after": 2.0,
"delta": 1.295,
"percent_delta": 1.8369,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.705,
"after": 2.0,
"delta": 1.295,
"percent_delta": 1.8369,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"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.164 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.230 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.377 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.433 | - |
| predicted_SO | 0.705 | - |
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.150 | -0.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.892 | -0.168 |
| predicted_AVG | 0.232 | -0.005 |
| predicted_BB | 0.222 | -0.008 |
| predicted_H | 0.902 | -0.058 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.230 | -0.010 |
| predicted_OBP | 0.283 | -0.009 |
| predicted_R | 0.381 | 0.004 |
| predicted_RBI | 0.531 | -0.009 |
| predicted_SLG | 0.435 | 0.002 |
| predicted_SO | 0.727 | 0.022 |
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.150 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.892 | 0.000 |
| predicted_AVG | 0.223 | -0.009 |
| predicted_BB | 0.219 | -0.002 |
| predicted_H | 0.866 | -0.036 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.221 | -0.009 |
| predicted_OBP | 0.264 | -0.019 |
| predicted_R | 0.354 | -0.026 |
| predicted_RBI | 0.495 | -0.037 |
| predicted_SLG | 0.431 | -0.003 |
| predicted_SO | 0.734 | 0.008 |
AB rounded to 4 (raw=4.06), rates preserved: AVG=0.213 HR/AB=0.054
| 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.150 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.108 |
| predicted_AVG | 0.250 | 0.027 |
| predicted_BB | 0.000 | -0.219 |
| predicted_H | 1.000 | 0.134 |
| predicted_HR | 0.000 | -0.221 |
| predicted_OBP | 0.250 | -0.014 |
| predicted_R | 0.000 | -0.354 |
| predicted_RBI | 0.000 | -0.495 |
| predicted_SLG | 0.250 | -0.181 |
| predicted_SO | 1.000 | 0.266 |
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 | 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 | - | 20.000 | 4.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 1.000 | 4.000 | 0.2000 | 0.2381 | 0.5000 | 0.2000 | 0.1000 | 0.1000 | 0.0500 | 0.2000 |
| last_10 | 0.20 | 10 | - | 41.000 | 9.000 | 1.000 | 0.000 | 2.000 | 5.000 | 3.000 | 1.000 | 8.000 | 0.2195 | 0.2500 | 0.3902 | 0.2195 | 0.0488 | 0.1220 | 0.0244 | 0.1951 |
| season | 0.60 | 61 | - | 205.000 | 47.000 | 10.000 | 0.000 | 11.000 | 34.000 | 23.000 | 14.000 | 43.000 | 0.2293 | 0.2812 | 0.4390 | 0.2293 | 0.0537 | 0.1658 | 0.0683 | 0.2098 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1310 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6560 |
| predicted_AVG | 0.2246 |
| predicted_BB | 0.2100 |
| predicted_H | 0.8210 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.2150 |
| predicted_OBP | 0.2710 |
| predicted_R | 0.3860 |
| predicted_RBI | 0.5190 |
| predicted_SLG | 0.4376 |
| predicted_SO | 0.7570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.1310 | 0.1503 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.0600 | 3.6560 | 3.8922 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2246 | 0.2318 | model_form_blend |
| predicted_BB | 0.2300 | 0.2100 | 0.2217 | model_form_blend |
| predicted_H | 0.9600 | 0.8210 | 0.9023 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.2400 | 0.2150 | 0.2296 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2710 | 0.2833 | model_form_blend |
| predicted_R | 0.3770 | 0.3860 | 0.3807 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5190 | 0.5313 | model_form_blend |
| predicted_SLG | 0.4330 | 0.4376 | 0.4349 | model_form_blend |
| predicted_SO | 0.7050 | 0.7570 | 0.7266 | 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 | 163 |
| Season rows before report date | 163 |
| 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| 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.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| 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 | 6 |
| 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 | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 641680 |
| playerID | 641680 |
| playerName | Jonah Heim |
| pos | C |
| started | True |
| startingPosition | C |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.299 |
| sl_xwoba | 0.297 |
| sl_xba | 0.235 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 31.3 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 13.7 |
| sl_whiff_percent | 23.7 |
| 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.162 | 0.000 | 0.000 | Hitting_2B | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 5.190 | 4.000 | 5.000 | Hitting_AB | 4.165 | 5.000 | -0.165 | -1.000 |
| predicted_AVG | 0.212 | 0.000 | 0.200 | Hitting_AVG | 0.282 | 0.200 | -0.282 | -0.200 |
| predicted_BB | 0.162 | 0.000 | 0.000 | Hitting_BB | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 0.000 | 1.000 | Hitting_H | 1.176 | 1.000 | -1.176 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.256 | 0.000 | 0.200 | Hitting_OBP | 0.315 | 0.200 | -0.315 | -0.200 |
| predicted_R | 0.456 | 0.000 | 0.000 | Hitting_R | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.533 | 0.000 | -0.533 | 0.000 |
| predicted_SLG | 0.336 | 0.000 | 0.200 | Hitting_SLG | 0.420 | 0.200 | -0.420 | -0.200 |
| predicted_SO | 0.471 | 1.000 | 0.000 | Hitting_SO | 0.515 | 1.000 | 0.485 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.4710 -> 1.0000 (boost 0.5290, worse) |
| Biggest Deboost | predicted_AB: 5.1900 -> 4.0000 (deboost -1.1900, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 5.1900 -> 4.7311 (deboost -0.4589, 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.3386 -> 0.3086 (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 | 7 | 1 | 6 | 2 | 5 | predicted_AB: 4.7311 -> 5.0000 (boost 0.2689, better) | predicted_SO: 0.4747 -> 0.0000 (deboost -0.4747, better) | AB rounded to 5 (raw=5.19), rates preserved: AVG=0.189 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3981 -> 0.0000 (deboost -0.3981, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3086 -> 0.2000 (deboost -0.1086, 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: 0.0000 -> 1.0000 (boost 1.0000, worse) | 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.3086 (boost 0.1086, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805779",
"player_name": "Jacob Wilson",
"position": "SS",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.015,
"predicted_AB": 5.19,
"predicted_AVG": 0.212,
"predicted_BB": 0.162,
"predicted_H": 1.1,
"predicted_HR": 0.1,
"predicted_OBP": 0.256,
"predicted_R": 0.456,
"predicted_RBI": 0.39,
"predicted_SLG": 0.336,
"predicted_SO": 0.471
},
"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.1612,
"predicted_3B": 0.0129,
"predicted_AB": 4.7311,
"predicted_AVG": 0.2162,
"predicted_BB": 0.1426,
"predicted_H": 1.0201,
"predicted_HBP": 0.09,
"predicted_HR": 0.1021,
"predicted_OBP": 0.2571,
"predicted_R": 0.4277,
"predicted_RBI": 0.3845,
"predicted_SLG": 0.3386,
"predicted_SO": 0.4697
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1612,
"delta": -0.0008,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.19,
"after": 4.7311,
"delta": -0.4589,
"percent_delta": -0.0884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2162,
"delta": 0.0042,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.1426,
"delta": -0.0194,
"percent_delta": -0.1198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0201,
"delta": -0.0799,
"percent_delta": -0.0726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1021,
"delta": 0.0021,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2571,
"delta": 0.0011,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.4277,
"delta": -0.0283,
"percent_delta": -0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3845,
"delta": -0.0055,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3386,
"delta": 0.0026,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.471,
"after": 0.4697,
"delta": -0.0013,
"percent_delta": -0.0028,
"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_AB",
"before": 5.19,
"after": 4.7311,
"delta": -0.4589,
"percent_delta": -0.0884,
"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": 68
}
},
{
"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.1612,
"predicted_3B": 0.0129,
"predicted_AB": 4.7311,
"predicted_AVG": 0.2069,
"predicted_BB": 0.1411,
"predicted_H": 0.9789,
"predicted_HBP": 0.09,
"predicted_HR": 0.0981,
"predicted_OBP": 0.2299,
"predicted_R": 0.3981,
"predicted_RBI": 0.3579,
"predicted_SLG": 0.3086,
"predicted_SO": 0.4747
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1612,
"after": 0.1612,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7311,
"after": 4.7311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2162,
"after": 0.2069,
"delta": -0.0093,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1426,
"after": 0.1411,
"delta": -0.0015,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0201,
"after": 0.9789,
"delta": -0.0412,
"percent_delta": -0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.09,
"after": 0.09,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1021,
"after": 0.0981,
"delta": -0.004,
"percent_delta": -0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2571,
"after": 0.2299,
"delta": -0.0272,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4277,
"after": 0.3981,
"delta": -0.0296,
"percent_delta": -0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3845,
"after": 0.3579,
"delta": -0.0266,
"percent_delta": -0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3386,
"after": 0.3086,
"delta": -0.03,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4697,
"after": 0.4747,
"delta": 0.005,
"percent_delta": 0.0106,
"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.3386,
"after": 0.3086,
"delta": -0.03,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.19), rates preserved: AVG=0.189 HR/AB=0.019",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1612,
"after": 0.0,
"delta": -0.1612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7311,
"after": 5.0,
"delta": 0.2689,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1411,
"after": 0.0,
"delta": -0.1411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9789,
"after": 1.0,
"delta": 0.0211,
"percent_delta": 0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.3579,
"after": 0.0,
"delta": -0.3579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4747,
"after": 0.0,
"delta": -0.4747,
"percent_delta": -1.0,
"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_AB",
"before": 4.7311,
"after": 5.0,
"delta": 0.2689,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4747,
"after": 0.0,
"delta": -0.4747,
"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": 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": 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_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.3981,
"after": 0.0,
"delta": -0.3981,
"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.3981,
"after": 0.0,
"delta": -0.3981,
"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": 0.0,
"predicted_SLG": 0.2,
"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.2069,
"after": 0.2,
"delta": -0.0069,
"percent_delta": -0.0333,
"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.2299,
"after": 0.2,
"delta": -0.0299,
"percent_delta": -0.1301,
"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.3086,
"after": 0.2,
"delta": -0.1086,
"percent_delta": -0.3519,
"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_SLG",
"before": 0.3086,
"after": 0.2,
"delta": -0.1086,
"percent_delta": -0.3519,
"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": 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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2069,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2299,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3086,
"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.2,
"after": 0.2069,
"delta": 0.0069,
"percent_delta": 0.0345,
"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.2,
"after": 0.2299,
"delta": 0.0299,
"percent_delta": 0.1493,
"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.3086,
"delta": 0.1086,
"percent_delta": 0.5432,
"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.3086,
"delta": 0.1086,
"percent_delta": 0.5432,
"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.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 5.19,
"after": 4.0,
"delta": -1.19,
"percent_delta": -0.2293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2069,
"delta": -0.0051,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"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.256,
"after": 0.2299,
"delta": -0.0261,
"percent_delta": -0.102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.0,
"delta": -0.456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3086,
"delta": -0.0274,
"percent_delta": -0.0815,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.19,
"after": 4.0,
"delta": -1.19,
"percent_delta": -0.2293,
"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.162 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 5.190 | - |
| predicted_AVG | 0.212 | - |
| predicted_BB | 0.162 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.256 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.336 | - |
| predicted_SO | 0.471 | - |
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.161 | -0.001 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 4.731 | -0.459 |
| predicted_AVG | 0.216 | 0.004 |
| predicted_BB | 0.143 | -0.019 |
| predicted_H | 1.020 | -0.080 |
| predicted_HBP | 0.090 | - |
| predicted_HR | 0.102 | 0.002 |
| predicted_OBP | 0.257 | 0.001 |
| predicted_R | 0.428 | -0.028 |
| predicted_RBI | 0.385 | -0.006 |
| predicted_SLG | 0.339 | 0.003 |
| predicted_SO | 0.470 | -0.001 |
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.161 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.731 | 0.000 |
| predicted_AVG | 0.207 | -0.009 |
| predicted_BB | 0.141 | -0.002 |
| predicted_H | 0.979 | -0.041 |
| predicted_HBP | 0.090 | 0.000 |
| predicted_HR | 0.098 | -0.004 |
| predicted_OBP | 0.230 | -0.027 |
| predicted_R | 0.398 | -0.030 |
| predicted_RBI | 0.358 | -0.027 |
| predicted_SLG | 0.309 | -0.030 |
| predicted_SO | 0.475 | 0.005 |
AB rounded to 5 (raw=5.19), rates preserved: AVG=0.189 HR/AB=0.019
| 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 | 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 | 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 | 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.161 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 5.000 | 0.269 |
| predicted_AVG | 0.200 | -0.007 |
| predicted_BB | 0.000 | -0.141 |
| predicted_H | 1.000 | 0.021 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.200 | -0.030 |
| predicted_R | 0.000 | -0.398 |
| predicted_RBI | 0.000 | -0.358 |
| predicted_SLG | 0.200 | -0.109 |
| predicted_SO | 0.000 | -0.475 |
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 | 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 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 0.0952 | 0.1364 | 0.1429 | 0.0952 | 0.0000 | 0.0000 | 0.0000 | 0.0952 |
| last_10 | 0.20 | 10 | - | 43.000 | 8.000 | 1.000 | 0.000 | 2.000 | 4.000 | 3.000 | 0.000 | 3.000 | 0.1860 | 0.2222 | 0.3488 | 0.1860 | 0.0465 | 0.0930 | 0.0000 | 0.0698 |
| season | 0.60 | 68 | - | 276.000 | 75.000 | 11.000 | 1.000 | 7.000 | 32.000 | 31.000 | 11.000 | 32.000 | 0.2717 | 0.3034 | 0.3949 | 0.2717 | 0.0254 | 0.1159 | 0.0399 | 0.1159 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0100 |
| predicted_AB | 4.1040 |
| predicted_AVG | 0.2220 |
| predicted_BB | 0.1160 |
| predicted_H | 0.9110 |
| predicted_HBP | 0.0900 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.2586 |
| predicted_R | 0.3890 |
| predicted_RBI | 0.3770 |
| predicted_SLG | 0.3422 |
| predicted_SO | 0.4680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.1600 | 0.1612 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 5.1900 | 4.1040 | 4.7311 | model_form_blend |
| predicted_AVG | 0.2120 | 0.2220 | 0.2162 | model_form_blend |
| predicted_BB | 0.1620 | 0.1160 | 0.1426 | model_form_blend |
| predicted_H | 1.1000 | 0.9110 | 1.0201 | model_form_blend |
| predicted_HBP | - | 0.0900 | 0.0900 | form_only |
| predicted_HR | 0.1000 | 0.1050 | 0.1021 | model_form_blend |
| predicted_OBP | 0.2560 | 0.2586 | 0.2571 | model_form_blend |
| predicted_R | 0.4560 | 0.3890 | 0.4277 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3770 | 0.3845 | model_form_blend |
| predicted_SLG | 0.3360 | 0.3422 | 0.3386 | model_form_blend |
| predicted_SO | 0.4710 | 0.4680 | 0.4697 | 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 | 272 |
| Season rows before report date | 272 |
| Report year | 2026 |
| Profile rows used | 68 |
| 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.272 |
| 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.2 |
| 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 | 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 | SS |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 805779 |
| playerID | 805779 |
| playerName | Jacob Wilson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 10.8 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.308 |
| sl_xwoba | 0.285 |
| sl_xba | 0.265 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 27.7 |
| sl_exit_velocity_avg | 83.8 |
| sl_launch_angle_avg | 7.3 |
| sl_whiff_percent | 14.2 |
| sl_swing_percent | 55.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.118 | 1.000 | 0.000 | Hitting_2B | 0.130 | 1.000 | 0.870 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 2.892 | 2.000 | 3.000 | Hitting_AB | 3.260 | 3.000 | -1.260 | -1.000 |
| predicted_AVG | 0.298 | 0.500 | 0.333 | Hitting_AVG | 0.215 | 0.667 | 0.285 | -0.167 |
| predicted_BB | 0.387 | 2.000 | 0.000 | Hitting_BB | 0.477 | 1.000 | 1.523 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.750 | 1.000 | 1.000 | Hitting_H | 0.701 | 2.000 | 0.299 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.075 | 1.000 | -0.075 | -1.000 |
| predicted_OBP | 0.378 | 0.750 | 0.333 | Hitting_OBP | 0.317 | 0.750 | 0.433 | 0.000 |
| predicted_R | 0.376 | 1.000 | 0.000 | Hitting_R | 0.474 | 1.000 | 0.526 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.338 | 1.000 | -0.338 | -1.000 |
| predicted_SLG | 0.596 | 1.000 | 0.333 | Hitting_SLG | 0.332 | 2.000 | 0.668 | -1.000 |
| predicted_SO | 0.871 | 1.000 | 1.000 | Hitting_SO | 0.945 | 0.000 | 0.055 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3870 -> 2.0000 (boost 1.6130, better) |
| Biggest Deboost | predicted_AB: 2.8920 -> 2.0000 (deboost -0.8920, 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: 2.8920 -> 2.8271 (deboost -0.0649, 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.5379 -> 0.4402 (deboost -0.0977, 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.6814 -> 1.0000 (boost 0.3186, better) | predicted_RBI: 0.4114 -> 0.0000 (deboost -0.4114, worse) | AB rounded to 3 (raw=2.89), rates preserved: AVG=0.236 HR/AB=0.043 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3701 -> 0.0000 (deboost -0.3701, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2410 -> 0.3330 (boost 0.0920, better) | predicted_SLG: 0.4402 -> 0.3330 (deboost -0.1072, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4402 (boost 0.1072, better) | predicted_AVG: 0.3330 -> 0.2410 (deboost -0.0920, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671732",
"player_name": "Lawrence Butler",
"position": "RF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.118,
"predicted_3B": 0.011,
"predicted_AB": 2.892,
"predicted_AVG": 0.298,
"predicted_BB": 0.387,
"predicted_H": 0.75,
"predicted_HR": 0.14,
"predicted_OBP": 0.378,
"predicted_R": 0.376,
"predicted_RBI": 0.45,
"predicted_SLG": 0.596,
"predicted_SO": 0.871
},
"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.1583,
"predicted_3B": 0.0178,
"predicted_AB": 2.8271,
"predicted_AVG": 0.2732,
"predicted_BB": 0.3912,
"predicted_H": 0.7101,
"predicted_HBP": 0.008,
"predicted_HR": 0.1281,
"predicted_OBP": 0.3568,
"predicted_R": 0.3976,
"predicted_RBI": 0.4419,
"predicted_SLG": 0.5379,
"predicted_SO": 0.8091
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1583,
"delta": 0.0403,
"percent_delta": 0.3415,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0178,
"delta": 0.0068,
"percent_delta": 0.6182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.892,
"after": 2.8271,
"delta": -0.0649,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.298,
"after": 0.2732,
"delta": -0.0248,
"percent_delta": -0.0832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.3912,
"delta": 0.0042,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7101,
"delta": -0.0399,
"percent_delta": -0.0532,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1281,
"delta": -0.0119,
"percent_delta": -0.085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.3568,
"delta": -0.0212,
"percent_delta": -0.0561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.376,
"after": 0.3976,
"delta": 0.0216,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4419,
"delta": -0.0081,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.596,
"after": 0.5379,
"delta": -0.0581,
"percent_delta": -0.0975,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.871,
"after": 0.8091,
"delta": -0.0619,
"percent_delta": -0.0711,
"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": 2.892,
"after": 2.8271,
"delta": -0.0649,
"percent_delta": -0.0224,
"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": 93
}
},
{
"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.1583,
"predicted_3B": 0.0178,
"predicted_AB": 2.8271,
"predicted_AVG": 0.241,
"predicted_BB": 0.387,
"predicted_H": 0.6814,
"predicted_HBP": 0.008,
"predicted_HR": 0.1231,
"predicted_OBP": 0.3324,
"predicted_R": 0.3701,
"predicted_RBI": 0.4114,
"predicted_SLG": 0.4402,
"predicted_SO": 0.8178
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1583,
"after": 0.1583,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0178,
"after": 0.0178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8271,
"after": 2.8271,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2732,
"after": 0.241,
"delta": -0.0322,
"percent_delta": -0.1179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3912,
"after": 0.387,
"delta": -0.0042,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7101,
"after": 0.6814,
"delta": -0.0287,
"percent_delta": -0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1281,
"after": 0.1231,
"delta": -0.005,
"percent_delta": -0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3568,
"after": 0.3324,
"delta": -0.0244,
"percent_delta": -0.0684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3976,
"after": 0.3701,
"delta": -0.0275,
"percent_delta": -0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4419,
"after": 0.4114,
"delta": -0.0305,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5379,
"after": 0.4402,
"delta": -0.0977,
"percent_delta": -0.1816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8091,
"after": 0.8178,
"delta": 0.0087,
"percent_delta": 0.0108,
"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.5379,
"after": 0.4402,
"delta": -0.0977,
"percent_delta": -0.1816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.89), rates preserved: AVG=0.236 HR/AB=0.043",
"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.1583,
"after": 0.0,
"delta": -0.1583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0178,
"after": 0.0,
"delta": -0.0178,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8271,
"after": 3.0,
"delta": 0.1729,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6814,
"after": 1.0,
"delta": 0.3186,
"percent_delta": 0.4676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1231,
"after": 0.0,
"delta": -0.1231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4114,
"after": 0.0,
"delta": -0.4114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8178,
"after": 1.0,
"delta": 0.1822,
"percent_delta": 0.2228,
"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.6814,
"after": 1.0,
"delta": 0.3186,
"percent_delta": 0.4676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4114,
"after": 0.0,
"delta": -0.4114,
"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.200)",
"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.3701,
"after": 0.0,
"delta": -0.3701,
"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.3701,
"after": 0.0,
"delta": -0.3701,
"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.241,
"after": 0.333,
"delta": 0.092,
"percent_delta": 0.3817,
"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.3324,
"after": 0.333,
"delta": 0.0006,
"percent_delta": 0.0018,
"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_SLG",
"before": 0.4402,
"after": 0.333,
"delta": -0.1072,
"percent_delta": -0.2435,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.333,
"delta": 0.092,
"percent_delta": 0.3817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4402,
"after": 0.333,
"delta": -0.1072,
"percent_delta": -0.2435,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.241,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3324,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4402,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.241,
"delta": -0.092,
"percent_delta": -0.2762,
"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": 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.3324,
"delta": -0.0006,
"percent_delta": -0.0018,
"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": 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.4402,
"delta": 0.1072,
"percent_delta": 0.322,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4402,
"delta": 0.1072,
"percent_delta": 0.322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.241,
"delta": -0.092,
"percent_delta": -0.2762,
"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.118,
"after": 1.0,
"delta": 0.882,
"percent_delta": 7.4746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.892,
"after": 2.0,
"delta": -0.892,
"percent_delta": -0.3084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.298,
"after": 0.241,
"delta": -0.057,
"percent_delta": -0.1913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 2.0,
"delta": 1.613,
"percent_delta": 4.168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.3324,
"delta": -0.0456,
"percent_delta": -0.1206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.376,
"after": 1.0,
"delta": 0.624,
"percent_delta": 1.6596,
"direction": "boost",
"projection_effect": "better",
"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.596,
"after": 0.4402,
"delta": -0.1558,
"percent_delta": -0.2614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.871,
"after": 1.0,
"delta": 0.129,
"percent_delta": 0.1481,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.387,
"after": 2.0,
"delta": 1.613,
"percent_delta": 4.168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.892,
"after": 2.0,
"delta": -0.892,
"percent_delta": -0.3084,
"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.118 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 2.892 | - |
| predicted_AVG | 0.298 | - |
| predicted_BB | 0.387 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.378 | - |
| predicted_R | 0.376 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.596 | - |
| predicted_SO | 0.871 | - |
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.158 | 0.040 |
| predicted_3B | 0.018 | 0.007 |
| predicted_AB | 2.827 | -0.065 |
| predicted_AVG | 0.273 | -0.025 |
| predicted_BB | 0.391 | 0.004 |
| predicted_H | 0.710 | -0.040 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.128 | -0.012 |
| predicted_OBP | 0.357 | -0.021 |
| predicted_R | 0.398 | 0.022 |
| predicted_RBI | 0.442 | -0.008 |
| predicted_SLG | 0.538 | -0.058 |
| predicted_SO | 0.809 | -0.062 |
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.158 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 2.827 | 0.000 |
| predicted_AVG | 0.241 | -0.032 |
| predicted_BB | 0.387 | -0.004 |
| predicted_H | 0.681 | -0.029 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.123 | -0.005 |
| predicted_OBP | 0.332 | -0.024 |
| predicted_R | 0.370 | -0.028 |
| predicted_RBI | 0.411 | -0.031 |
| predicted_SLG | 0.440 | -0.098 |
| predicted_SO | 0.818 | 0.009 |
AB rounded to 3 (raw=2.89), rates preserved: AVG=0.236 HR/AB=0.043
| 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.200)
| 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.158 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | 0.173 |
| predicted_AVG | 0.333 | 0.092 |
| predicted_BB | 0.000 | -0.387 |
| predicted_H | 1.000 | 0.319 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.333 | 0.001 |
| predicted_R | 0.000 | -0.370 |
| predicted_RBI | 0.000 | -0.411 |
| predicted_SLG | 0.333 | -0.107 |
| predicted_SO | 1.000 | 0.182 |
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 | 2.000 | -1.000 |
| BB | 2.000 | 2.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 | 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 | - | 10.000 | 3.000 | 2.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 2.000 | 0.3000 | 0.3846 | 0.8000 | 0.3000 | 0.1000 | 0.3000 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 25.000 | 7.000 | 2.000 | 1.000 | 1.000 | 5.000 | 5.000 | 4.000 | 6.000 | 0.2800 | 0.3667 | 0.5600 | 0.2800 | 0.0400 | 0.2000 | 0.1600 | 0.2400 |
| season | 0.60 | 93 | - | 269.000 | 55.000 | 11.000 | 1.000 | 6.000 | 27.000 | 35.000 | 36.000 | 81.000 | 0.2045 | 0.2997 | 0.3197 | 0.2045 | 0.0223 | 0.1004 | 0.1338 | 0.3011 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2130 |
| predicted_3B | 0.0270 |
| predicted_AB | 2.7390 |
| predicted_AVG | 0.2395 |
| predicted_BB | 0.3970 |
| predicted_H | 0.6560 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1120 |
| predicted_OBP | 0.3279 |
| predicted_R | 0.4270 |
| predicted_RBI | 0.4310 |
| predicted_SLG | 0.4590 |
| predicted_SO | 0.7250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.2130 | 0.1583 | model_form_blend |
| predicted_3B | 0.0110 | 0.0270 | 0.0178 | model_form_blend |
| predicted_AB | 2.8920 | 2.7390 | 2.8271 | model_form_blend |
| predicted_AVG | 0.2980 | 0.2395 | 0.2732 | model_form_blend |
| predicted_BB | 0.3870 | 0.3970 | 0.3912 | model_form_blend |
| predicted_H | 0.7500 | 0.6560 | 0.7101 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1400 | 0.1120 | 0.1281 | model_form_blend |
| predicted_OBP | 0.3780 | 0.3279 | 0.3568 | model_form_blend |
| predicted_R | 0.3760 | 0.4270 | 0.3976 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4310 | 0.4419 | model_form_blend |
| predicted_SLG | 0.5960 | 0.4590 | 0.5379 | model_form_blend |
| predicted_SO | 0.8710 | 0.7250 | 0.8091 | 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 | 308 |
| Season rows before report date | 308 |
| Report year | 2026 |
| Profile rows used | 93 |
| 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 | 2 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.204 |
| 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 | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| 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 | 6 |
| 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 | RF |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 671732 |
| playerID | 671732 |
| playerName | Lawrence Butler |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.274 |
| sl_xwoba | 0.305 |
| sl_xba | 0.232 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 4.4 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 45.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 | 5.000 | 5.000 | 5.000 | Pitching_BB | 0.929 | 1.000 | 4.071 | 4.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 0.929 | 2.000 | 4.071 | 3.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 1.500 | 4.000 | 4.500 | 2.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 1.679 | 3.100 | 2.521 | 1.100 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.643 | 2.000 | 1.357 | 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: 4.6667 -> 4.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: 4.6667 -> 4.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "686930",
"player_name": "Mason Barnett",
"position": "Starter",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 5.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 5.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 5.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"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 | 5.000 | - |
| predicted_ER | 5.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.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 | 9.100 | 11.000 | 13.000 | 6.000 | 4.000 | 4.000 | 10.6071 | 2.0357 | 1.1786 | 1.3929 | 0.6429 | 0.4286 | 0.4286 |
| last_10 | 0.35 | 10 | 15.000 | 13.000 | 18.000 | 9.000 | 10.000 | 5.000 | 7.8000 | 1.8000 | 0.8667 | 1.2000 | 0.6000 | 0.6667 | 0.3333 |
| season | 0.20 | 14 | 24.200 | 13.000 | 21.000 | 13.000 | 23.000 | 5.000 | 4.7432 | 1.3784 | 0.5270 | 0.8514 | 0.5270 | 0.9324 | 0.2027 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5320 |
| predicted_ER | 2.3030 |
| predicted_ERA | 6.4865 |
| predicted_H | 3.5020 |
| predicted_HR | 0.7990 |
| predicted_IP | 3.1000 |
| predicted_SO | 2.5160 |
| predicted_WHIP | 1.5748 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 5.0000 | 1.5320 | 3.4847 | model_form_blend |
| predicted_ER | 5.0000 | 2.3030 | 3.8216 | model_form_blend |
| predicted_ERA | - | 6.4865 | 6.4865 | form_only |
| predicted_H | 6.0000 | 3.5020 | 4.9085 | model_form_blend |
| predicted_HR | 1.0000 | 0.7990 | 0.9122 | model_form_blend |
| predicted_IP | 4.2000 | 3.1000 | 4.1000 | model_form_blend |
| predicted_SO | 3.0000 | 2.5160 | 2.7885 | model_form_blend |
| predicted_WHIP | - | 1.5748 | 1.5748 | 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 | 4.2 |
| H | 6 |
| R | 5 |
| ER | 5 |
| BB | 5 |
| SO | 3 |
| HR | 1 |
| BF | 25 |
| Pitches | 97 |
| 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 | 15 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.74 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 3 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.1 |
| Pitching_Pitches | 54 |
| Pitching_R | 2 |
| Pitching_SO | 2 |
| Pitching_Strikes | 35 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260725_OAK@MIN |
| game_type | full |
| mlbID | 686930 |
| playerID | 686930 |
| playerName | Mason Barnett |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-25 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.336 |
| sl_xwoba | 0.334 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 42.0 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 44.1 |
| sl_avg_best_speed | 78.427997714 |
| sl_avg_hyper_speed | 94.34998087 |
| 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.722 | 2.000 | -0.722 | -2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.556 | 1.000 | 0.444 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.306 | 2.000 | -0.306 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.242 | 1.200 | -0.142 | -0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.611 | 1.000 | 0.389 | 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": "665622",
"player_name": "Luis Medina",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 1.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": 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": 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": 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": 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 | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.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 | 3.000 | 7.000 | 4.000 | 7.000 | 0.000 | 4.5000 | 1.8333 | 0.5000 | 1.1667 | 0.6667 | 1.1667 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 3.000 | 11.000 | 9.000 | 17.000 | 0.000 | 2.0769 | 1.5385 | 0.2308 | 0.8461 | 0.6923 | 1.3077 | 0.0000 |
| season | 0.20 | 34 | 48.200 | 18.000 | 42.000 | 25.000 | 58.000 | 4.000 | 3.3288 | 1.3767 | 0.3699 | 0.8630 | 0.5137 | 1.1918 | 0.0822 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7290 |
| predicted_ER | 0.5640 |
| predicted_ERA | 3.8045 |
| predicted_H | 1.3170 |
| predicted_HR | 0.0830 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.5090 |
| predicted_WHIP | 1.5344 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7290 | 0.3691 | model_form_blend |
| predicted_ER | 1.0000 | 0.5640 | 0.7793 | model_form_blend |
| predicted_ERA | - | 3.8045 | 3.8045 | form_only |
| predicted_H | 1.0000 | 1.3170 | 1.1605 | model_form_blend |
| predicted_HR | 1.0000 | 0.0830 | 0.5358 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.5090 | 1.7514 | model_form_blend |
| predicted_WHIP | - | 1.5344 | 1.5344 | 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 | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 34 |
| 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 | 2 |
| HR | 1 |
| BF | 5 |
| Pitches | 24 |
| 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 | 8 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.70 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 30 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260728_BOS@OAK |
| game_type | full |
| mlbID | 665622 |
| playerID | 665622 |
| playerName | Luis Medina |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-28 |
| sl_k_percent | 26.9 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.329 |
| sl_xwoba | 0.324 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 38.8 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 42.6 |
| sl_avg_best_speed | 80.720688387 |
| sl_avg_hyper_speed | 94.394082602 |
| 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.467 | 1.000 | -0.467 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.867 | 0.000 | 0.133 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.927 | 1.000 | 0.073 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.300 | 2.000 | -1.300 | -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": "665660",
"player_name": "Elvis Alvarado",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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.200 | 3.000 | 5.000 | 4.000 | 4.000 | 2.000 | 5.7857 | 1.9286 | 0.6429 | 1.0714 | 0.8571 | 0.8571 | 0.4286 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 8.000 | 7.000 | 12.000 | 2.000 | 3.7241 | 1.5517 | 0.4138 | 0.8276 | 0.7241 | 1.2414 | 0.2069 |
| season | 0.20 | 30 | 32.000 | 18.000 | 26.000 | 14.000 | 39.000 | 7.000 | 5.0625 | 1.2500 | 0.5625 | 0.8125 | 0.4375 | 1.2188 | 0.2188 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5640 |
| predicted_ER | 0.5290 |
| predicted_ERA | 4.7591 |
| predicted_H | 0.9530 |
| predicted_HR | 0.2400 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0180 |
| predicted_WHIP | 1.5164 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5640 | 0.2619 | model_form_blend |
| predicted_ER | 0.0000 | 0.5290 | 0.2456 | model_form_blend |
| predicted_ERA | - | 4.7591 | 4.7591 | form_only |
| predicted_H | 1.0000 | 0.9530 | 0.9782 | model_form_blend |
| predicted_HR | 0.0000 | 0.2400 | 0.1114 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0180 | 0.4727 | model_form_blend |
| predicted_WHIP | - | 1.5164 | 1.5164 | 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 | 30 |
| Season rows before report date | 30 |
| 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 | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| 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 | 1 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.06 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 24 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 665660 |
| playerID | 665660 |
| playerName | Elvis Alvarado |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.346 |
| sl_xwoba | 0.352 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 18.4 |
| sl_hard_hit_percent | 51.3 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 52.5 |
| sl_avg_best_speed | 79.869288421 |
| sl_avg_hyper_speed | 95.6229756 |
| 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.549 | 0.000 | -0.549 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.353 | 2.000 | -0.353 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.843 | 3.000 | 0.157 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.763 | 1.100 | 0.237 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.275 | 3.000 | -0.275 | -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": "663687",
"player_name": "Hogan Harris",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.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": 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": 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": 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": 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 | 1.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.100 | 2.000 | 5.000 | 1.000 | 8.000 | 1.000 | 3.3750 | 1.1250 | 0.3750 | 0.9375 | 0.1875 | 1.5000 | 0.1875 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 8.000 | 3.000 | 18.000 | 2.000 | 2.6129 | 1.0645 | 0.2903 | 0.7742 | 0.2903 | 1.7419 | 0.1935 |
| season | 0.20 | 51 | 48.000 | 18.000 | 43.000 | 28.000 | 65.000 | 6.000 | 3.3750 | 1.4792 | 0.3750 | 0.8958 | 0.5833 | 1.3542 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3210 |
| predicted_ER | 0.4010 |
| predicted_ERA | 3.6048 |
| predicted_H | 0.9080 |
| predicted_HR | 0.1680 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3510 |
| predicted_WHIP | 1.2287 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3210 | 0.1621 | model_form_blend |
| predicted_ER | 0.0000 | 0.4010 | 0.2025 | model_form_blend |
| predicted_ERA | - | 3.6048 | 3.6048 | form_only |
| predicted_H | 1.0000 | 0.9080 | 0.9535 | model_form_blend |
| predicted_HR | 0.0000 | 0.1680 | 0.0848 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3510 | 1.1772 | model_form_blend |
| predicted_WHIP | - | 1.2287 | 1.2287 | 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 | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| 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 | 7 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.38 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 26 |
| Pitching_R | 2 |
| Pitching_SO | 3 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260728_BOS@OAK |
| game_type | full |
| mlbID | 663687 |
| playerID | 663687 |
| playerName | Hogan Harris |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-28 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.32 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 31.9 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 43.3 |
| sl_avg_best_speed | 75.985339661 |
| sl_avg_hyper_speed | 92.840362821 |
| 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.310 | 0.000 | -0.310 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.552 | 1.000 | -0.552 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.207 | 1.000 | -0.207 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.117 | 1.000 | -0.117 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.207 | 0.000 | -1.207 | 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": "660761",
"player_name": "José Suarez",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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 | 3.000 | 3.000 | 1.000 | 3.000 | 2.000 | 6.7500 | 1.0000 | 0.7500 | 0.7500 | 0.2500 | 0.7500 | 0.5000 |
| last_10 | 0.35 | 10 | 11.000 | 5.000 | 8.000 | 1.000 | 11.000 | 3.000 | 4.0909 | 0.8182 | 0.4546 | 0.7273 | 0.0909 | 1.0000 | 0.2727 |
| season | 0.20 | 38 | 56.100 | 29.000 | 59.000 | 23.000 | 59.000 | 6.000 | 4.6331 | 1.4556 | 0.5148 | 1.0473 | 0.4083 | 1.0473 | 0.1065 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2510 |
| predicted_ER | 0.5380 |
| predicted_ERA | 5.1367 |
| predicted_H | 0.8060 |
| predicted_HR | 0.2670 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8630 |
| predicted_WHIP | 1.1213 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2510 | 0.1305 | model_form_blend |
| predicted_ER | 0.0000 | 0.5380 | 0.2797 | model_form_blend |
| predicted_ERA | - | 5.1367 | 5.1367 | form_only |
| predicted_H | 1.0000 | 0.8060 | 0.8992 | model_form_blend |
| predicted_HR | 0.0000 | 0.2670 | 0.1388 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8630 | 0.4486 | model_form_blend |
| predicted_WHIP | - | 1.1213 | 1.1213 | 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 | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 38 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.63 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260729_BOS@OAK |
| game_type | full |
| mlbID | 660761 |
| playerID | 660761 |
| playerName | José Suarez |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.336 |
| sl_xwoba | 0.298 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 1.9 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 77.940105844 |
| sl_avg_hyper_speed | 93.157351438 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CHC 5 - 4 STL | CHC | 0.540 | scoring_simulation.final_score | True |
| Simulation draw | CHC 6 - 4 STL | CHC | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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 | 6.5000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5400 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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 | 5.349 | 4.811 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 3 | 0.5400 | 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 | 6 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6684264737520279,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.2420070067763616,
"confidence": 0.8837663680000001,
"factors": {
"environmental": 1.079568,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.5675327360000002
},
"prediction": "low_scoring",
"expected_total_runs": 10,
"pre_simulation_expected_total_runs": 6.5,
"low_score_model_expected_total_runs": 6.5,
"final_simulation_total_runs": 10,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 123,
"near_bucket_sample_size": 123,
"medium_bucket_sample_size": 154,
"wide_bucket_sample_size": 183,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.6829,
"bayesian_hit_rate": 0.6596,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8723,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6853,
"calibrated_pick_probability": 0.6529,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "STL",
"games": 108,
"wins": 54,
"losses": 54,
"win_pct": 0.5,
"runs_scored": 474,
"runs_allowed": 486,
"run_differential": -12,
"run_differential_per_game": -0.1111111111111111,
"available": true
},
"away": {
"team": "CHC",
"games": 108,
"wins": 61,
"losses": 47,
"win_pct": 0.5648148148148148,
"runs_scored": 560,
"runs_allowed": 473,
"run_differential": 87,
"run_differential_per_game": 0.8055555555555556,
"available": true
},
"run_differential_edge_per_game": -0.9167,
"win_pct_edge": -0.0648,
"quality_edge": -1.0139,
"margin_adjustment": -0.4258,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 6.896,
"home_runs": 2.008,
"home_win_probability": 0.0845
}
}{
"applied": true,
"confidence_cap": 0.54,
"winner_flipped": false,
"reasons": [
"latest same-matchup result beat the predicted side",
"recent head-to-head is split and volatile",
"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"
],
"signals": {
"predicted_team": "CHC",
"opponent_team": "STL",
"h2h_net_margin": 11,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-07-29",
"predicted_team_runs": 2,
"opponent_runs": 3,
"margin_for_predicted_team": -1,
"winner": "STL"
},
{
"date": "2026-07-28",
"predicted_team_runs": 10,
"opponent_runs": 2,
"margin_for_predicted_team": 8,
"winner": "CHC"
},
{
"date": "2026-07-27",
"predicted_team_runs": 7,
"opponent_runs": 3,
"margin_for_predicted_team": 4,
"winner": "CHC"
}
],
"prediction_memory": {
"available": true,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 3,
"same_pick_blowout_loss_count": 1,
"prior_predictions": [
{
"date": "2026-07-29",
"predicted_team": "CHC",
"confidence": 0.54,
"actual_winner": "STL",
"actual_margin": 1,
"path": "20260729_CHC@STL.json"
},
{
"date": "2026-07-28",
"predicted_team": "CHC",
"confidence": 0.54,
"actual_winner": "CHC",
"actual_margin": 8,
"path": "20260728_CHC@STL.json"
},
{
"date": "2026-07-27",
"predicted_team": "STL",
"confidence": 0.51,
"actual_winner": "CHC",
"actual_margin": 4,
"path": "20260727_CHC@STL.json"
},
{
"date": "2026-07-05",
"predicted_team": "CHC",
"confidence": 0.5163941212711489,
"actual_winner": "STL",
"actual_margin": 3,
"path": "20260705_STL@CHC.json"
},
{
"date": "2026-07-04",
"predicted_team": "CHC",
"confidence": 0.53,
"actual_winner": null,
"actual_margin": 0,
"path": "20260704_STL@CHC.json"
}
]
},
"guardrail_predicted_team": "CHC",
"guardrail_opponent_team": "STL",
"output_pre_simulation_winner": "CHC",
"output_opponent_team": "STL",
"final_score_winner": "CHC",
"pre_simulation_winner": "CHC",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "CHC 5 - 4 STL",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 4,
"score_text": "CHC 6 - 4 STL",
"winner": "CHC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 1.0139,
"winner": "CHC",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "STL",
"games": 108,
"wins": 54,
"losses": 54,
"win_pct": 0.5,
"runs_scored": 474,
"runs_allowed": 486,
"run_differential": -12,
"run_differential_per_game": -0.1111111111111111,
"available": true
},
"away": {
"team": "CHC",
"games": 108,
"wins": 61,
"losses": 47,
"win_pct": 0.5648148148148148,
"runs_scored": 560,
"runs_allowed": 473,
"run_differential": 87,
"run_differential_per_game": 0.8055555555555556,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.4,
"final_margin": -0.4,
"margin_cap": 2.0,
"season_quality_edge": 1.0139,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.54,
"final_confidence": 0.54,
"confidence_cap": 0.66,
"score_gap": 2.1794,
"calibration_sample_size": 123,
"calibration_empirical_hit_rate": 0.6829,
"calibration_bayesian_hit_rate": 0.6596,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.0139,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"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": "CHC 5 - 4 STL",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 4,
"score_text": "CHC 6 - 4 STL",
"winner": "CHC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 1.0139,
"winner": "CHC",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 6,
"home_runs": 4,
"confidence": 0.54,
"home_win_probability": 0.45999999999999996,
"away_win_probability": 0.54,
"predicted_score_text": "CHC 6 - 4 STL",
"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": "CHC",
"original_runs": 5,
"run_delta": 0.114,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 37.0,
"quality": 0.12951316406912938,
"contact": 0.1164719200264908,
"power": 0.15158324284302535,
"discipline": 0.37187284163202977,
"xwoba": 0.3264324324324324,
"recent_xwoba": 0.3264324324324324,
"barrel": 8.205405405405404,
"ab_hard_contact": 0.07680256599821349,
"ab_bat_speed": 69.7293228469237,
"ab_strikeout_rate": 0.21999951124032296,
"available_players": 9,
"top_players": [
{
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"weight": 5.0,
"quality": 0.6090133187319569,
"contact": 0.6690625274140212,
"power": 0.8954024952912818,
"discipline": 0.13260509860509845,
"xwoba": 0.36,
"recent_xwoba": 0.36,
"barrel": 11.5,
"ab_hard_contact": 0.6328118105875421,
"ab_bat_speed": 72.22945165945166,
"ab_strikeout_rate": 0.25117845117845117,
"available": 1.0
},
{
"player_id": "624424",
"player_name": "Michael Conforto",
"position": "RF",
"weight": 3.0,
"quality": 0.3209899922256887,
"contact": 0.26877169052579364,
"power": 0.8735689535357011,
"discipline": -0.058386093073593104,
"xwoba": 0.33,
"recent_xwoba": 0.33,
"barrel": 12.0,
"ab_hard_contact": 0.35804573738069034,
"ab_bat_speed": 71.18387992831542,
"ab_strikeout_rate": 0.3203125,
"available": 1.0
},
{
"player_id": "608324",
"player_name": "Alex Bregman",
"position": "3B",
"weight": 5.0,
"quality": -0.19598961734898487,
"contact": -0.12806788693108165,
"power": -0.5406114412700097,
"discipline": 0.8068413729128013,
"xwoba": 0.306,
"recent_xwoba": 0.306,
"barrel": 4.1,
"ab_hard_contact": -0.5482288254001966,
"ab_bat_speed": 68.62251724975705,
"ab_strikeout_rate": 0.16794217687074828,
"available": 1.0
},
{
"player_id": "663538",
"player_name": "Nico Hoerner",
"position": "2B",
"weight": 4.0,
"quality": -0.051916690459272066,
"contact": 0.34773017758038793,
"power": -0.8612733539227121,
"discipline": 0.862132919772095,
"xwoba": 0.323,
"recent_xwoba": 0.323,
"barrel": 0.8,
"ab_hard_contact": -0.32832422131138367,
"ab_bat_speed": 67.79050923198604,
"ab_strikeout_rate": 0.08465063001145474,
"available": 1.0
},
{
"player_id": "673548",
"player_name": "Seiya Suzuki",
"position": "DH",
"weight": 4.0,
"quality": 0.18118588649900402,
"contact": 0.15372670466269886,
"power": 0.3567667412973536,
"discipline": 0.14367243867243862,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 9.8,
"ab_hard_contact": 0.22219196880421166,
"ab_bat_speed": 71.33706426366842,
"ab_strikeout_rate": 0.2611111111111111,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669467",
"player_name": "Andre Pallante",
"quality": 0.13022417118542198,
"contact": 0.5584529937395792,
"command": -0.5041048500881833,
"movement": -0.027447895591678012,
"xwoba": 0.296,
"whiff": 21.1,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "STL",
"original_runs": 3,
"run_delta": 0.6664,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.3438349149228622,
"contact": 0.470907454923804,
"power": 0.32632391634411156,
"discipline": 0.205204094100496,
"xwoba": 0.33246875,
"recent_xwoba": 0.33246875,
"barrel": 7.965624999999999,
"ab_hard_contact": 0.2849188030727082,
"ab_bat_speed": 71.16852759630063,
"ab_strikeout_rate": 0.19470891996876807,
"available_players": 9,
"top_players": [
{
"player_id": "676475",
"player_name": "Alec Burleson",
"position": "1B",
"weight": 4.0,
"quality": 1.2625233807337004,
"contact": 1.4823617999007939,
"power": 1.3895151061726068,
"discipline": 0.26800755367081885,
"xwoba": 0.383,
"recent_xwoba": 0.383,
"barrel": 11.5,
"ab_hard_contact": 1.0870640282140374,
"ab_bat_speed": 72.48943067124809,
"ab_strikeout_rate": 0.16141885325558797,
"available": 1.0
},
{
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "DH",
"weight": 4.0,
"quality": 1.0033302809589435,
"contact": 1.1044836322522906,
"power": 1.4431728154985584,
"discipline": -0.3181374124157628,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 13.8,
"ab_hard_contact": 1.0215515480664028,
"ab_bat_speed": 78.06496993127148,
"ab_strikeout_rate": 0.2529209621993127,
"available": 1.0
},
{
"player_id": "663457",
"player_name": "Lars Nootbaar",
"position": "RF",
"weight": 3.0,
"quality": 0.5340291136613706,
"contact": 0.7986097785975357,
"power": 0.7835268105758495,
"discipline": 0.9280604921394394,
"xwoba": 0.343,
"recent_xwoba": 0.343,
"barrel": 9.4,
"ab_hard_contact": 1.1432981162788993,
"ab_bat_speed": 71.00826754385965,
"ab_strikeout_rate": 0.20350877192982456,
"available": 1.0
},
{
"player_id": "802139",
"player_name": "JJ Wetherholt",
"position": "2B",
"weight": 4.0,
"quality": 0.5120020956370498,
"contact": 0.678776302765739,
"power": 0.35757550913051633,
"discipline": 0.5202908889199211,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 7.1,
"ab_hard_contact": 0.19151018261032843,
"ab_bat_speed": 70.73518245434374,
"ab_strikeout_rate": 0.16270694657791432,
"available": 1.0
},
{
"player_id": "701675",
"player_name": "Nathan Church",
"position": "CF",
"weight": 3.0,
"quality": -0.4685227550323156,
"contact": -0.5941015832445695,
"power": -0.41895993120915886,
"discipline": -0.31958988380041004,
"xwoba": 0.282,
"recent_xwoba": 0.282,
"barrel": 7.1,
"ab_hard_contact": -1.0957700527546077,
"ab_bat_speed": 67.65717019980507,
"ab_strikeout_rate": 0.20651629072681704,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "665871",
"player_name": "Javier Assad",
"quality": -0.507443888460887,
"contact": -0.2886044138239923,
"command": -0.9029619929453261,
"movement": -0.4933423082174935,
"xwoba": 0.331,
"whiff": 13.6,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"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": -1.0139,
"recent_form_edge_home_minus_away": -1.122,
"pitcher_matchup_edge_home_minus_away": -0.0698,
"composite_home_edge": -1.1717,
"existing_home_win_probability": 0.3471,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 1.1717
},
"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": "CHC 5 - 4 STL",
"confidence": 0.54,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "CHC 5 - 4 STL",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 4,
"score_text": "CHC 6 - 4 STL",
"winner": "CHC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 1.0139,
"winner": "CHC",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "CHC",
"display_confidence": 0.54,
"internal_signal_score": 0.7087,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.54,
"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": 2,
"winner_quality_edge": 1.0139,
"winner_recent_form_edge": 1.052,
"winner_pitcher_matchup_edge": 0.0698,
"winner_simulation_draw_rate": 0.75,
"blowout_draw_rate_margin_4_plus": 0.375,
"high_total_draw_rate_11_plus": 0.25,
"low_total_draw_rate_6_or_less": 0.25,
"total_runs_spread": {
"min": 3,
"median": 9,
"max": 13,
"range": 10
}
},
"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 CHC | True | 1.0230 | 1.0230 | 1 | 9 | 0 |
| Home STL | True | 1.0373 | 1.0373 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Seiya Suzuki | 30 | 1.0304 | 0.4058 | neutral | 0.3320 | 0.2480 | 0.4230 | 9.80 | 39.80 | 88.90 | 18.60 | 25.60 | 26.40 | 11.10 | -0.8571 |
| 1B | Michael Busch | 125 | 1.0364 | 0.4856 | neutral | 0.3380 | 0.2320 | 0.4070 | 9.90 | 40.40 | 88.40 | 14.60 | 25.50 | 23 | 13.80 | -0.0286 |
| CF | Pete Crow-Armstrong | 1 | 1.0672 | 0.8958 | negative_batter_regression | 0.3600 | 0.2540 | 0.4620 | 11.50 | 48.20 | 90 | 20.80 | 28.10 | 26.80 | 11.70 | -0.9429 |
| RF | Michael Conforto | 201 | 1.0365 | 0.4861 | neutral | 0.3300 | 0.2350 | 0.4390 | 12 | 46.30 | 92 | 19.60 | 29.20 | 29.10 | 11.50 | -0.5143 |
| LF | Ian Happ | 65 | 1.0189 | 0.2521 | neutral | 0.3180 | 0.2030 | 0.4050 | 12.40 | 41.90 | 89.40 | 15.20 | 31.30 | 31.20 | 13.20 | -0.4286 |
| 3B | Alex Bregman | 43 | 0.9891 | -0.1457 | neutral | 0.3060 | 0.2350 | 0.3500 | 4.10 | 36.20 | 87.90 | 17 | 16.70 | 16.10 | 11.10 | -0.3429 |
| 2B | Nico Hoerner | 96 | 1.0150 | 0.2001 | neutral | 0.3230 | 0.2950 | 0.3700 | 0.80 | 28.10 | 86 | 13.10 | 11.70 | 8.30 | 7.90 | 0.7143 |
| C | Carson Kelly | 129 | 1.0042 | 0.0553 | neutral | 0.3160 | 0.2370 | 0.3770 | 5.90 | 37.60 | 87.90 | 11.30 | 20.50 | 16.80 | 11.20 | -0.2857 |
| SS | Dansby Swanson | 50 | 1.0093 | 0.1242 | neutral | 0.3070 | 0.2240 | 0.3950 | 7.60 | 42.80 | 89.70 | 16.50 | 30.20 | 23 | 10.10 | -0.0857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | JJ Wetherholt | 11 | 1.0579 | 0.7722 | neutral | 0.3470 | 0.2570 | 0.4300 | 7.10 | 45.20 | 90 | 12.30 | 21.20 | 16.10 | 10 | 0.4571 |
| DH | Jordan Walker | 27 | 1.0966 | 1.2875 | neutral | 0.3640 | 0.2820 | 0.4980 | 13.80 | 49.80 | 93.50 | 11.60 | 30.60 | 24.40 | 8.30 | -0.0286 |
| C | Iván Herrera | 76 | 1.0192 | 0.2560 | neutral | 0.3320 | 0.2430 | 0.3720 | 5.40 | 39.30 | 89.10 | 9.60 | 20.10 | 17.40 | 10.80 | 0 |
| RF | Lars Nootbaar | 299 | 1.0450 | 0.5996 | neutral | 0.3430 | 0.2460 | 0.4370 | 9.40 | 50.90 | 92.30 | 8 | 18.80 | 21.30 | 14 | 0.6286 |
| LF | Bryan Torres | 290 | 1.0093 | 0.1245 | neutral | 0.3180 | 0.2550 | 0.4190 | 6.70 | 33.90 | 87.30 | 12.30 | 20.90 | 20 | 7.10 | 0.0571 |
| 3B | Blaze Jordan | 375 | 1.0098 | 0.1311 | positive_batter_regression | 0.2980 | 0.2540 | 0.3860 | 7.10 | 44.90 | 89.10 | 9.10 | 20.70 | 12.70 | 4.20 | 1.2286 |
| 1B | Alec Burleson | 101 | 1.1234 | 1.6458 | positive_batter_regression | 0.3830 | 0.2990 | 0.5380 | 11.50 | 48.70 | 91.70 | 11.60 | 21.10 | 15.40 | 7.80 | 0.9429 |
| CF | Nathan Church | 233 | 0.9809 | -0.2551 | neutral | 0.2820 | 0.2370 | 0.3670 | 7.10 | 32.70 | 86.20 | 11.30 | 22.60 | 20.40 | 4.90 | 0.2286 |
| SS | Masyn Winn | 97 | 0.9932 | -0.0901 | neutral | 0.3030 | 0.2540 | 0.3330 | 3.20 | 35.80 | 88.20 | 12.30 | 22.50 | 19.30 | 8.60 | 0.3429 |
{
"home": {
"applied": true,
"offense_factor": 1.0373,
"raw_average_factor": 1.0373,
"team_espn_average_rank": 167.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"offense_factor": 1.0579,
"quality_score": 0.7722,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802139",
"espn_id": 4941056,
"player_name": "JJ Wetherholt",
"team": "STL",
"role": "batter",
"espn_rank": 11,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 11,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 402.0,
"ab_rank": 29,
"r_value": 68.0,
"r_rank": 11,
"h_value": 101.0,
"h_rank": 50,
"avg_value": 0.2512437,
"avg_rank": 87.0,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 40.0,
"rbi_rank": 128,
"tb_value": 156.0,
"tb_rank": 959,
"bb_value": 47.0,
"bb_rank": 41,
"so_value": 74.0,
"so_rank": 128,
"sb_value": 11.0,
"sb_rank": 56,
"obp_value": 0.348387,
"obp_rank": "50",
"slg_value": 0.3880597,
"slg_rank": "121",
"ops_value": 0.7364467,
"ops_rank": 71.0,
"war_value": 4.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 427.0,
"k_percent": 16.1,
"bb_percent": 10.0,
"woba": 0.331,
"xwoba": 0.347,
"xba": 0.257,
"xslg": 0.43,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 12.3,
"whiff_percent": 21.2,
"swing_percent": 43.2
},
"components": {
"expected_quality": 0.8235,
"regression_edge": 0.4571,
"xwoba_edge": 1.2714,
"xba_edge": 0.5286,
"xslg_edge": 0.8357,
"barrel_edge": 0.0667,
"hard_hit_edge": 1.0143,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "691023",
"player_name": "Jordan Walker",
"offense_factor": 1.0966,
"quality_score": 1.2875,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691023",
"espn_id": 4684778,
"player_name": "Jordan Walker",
"team": "STL",
"role": "batter",
"espn_rank": 27,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 27,
"gp_value": 106.0,
"gp_rank": 29,
"ab_value": 408.0,
"ab_rank": 20,
"r_value": 67.0,
"r_rank": 15,
"h_value": 115.0,
"h_rank": 11,
"avg_value": 0.2818627,
"avg_rank": 27.0,
"2b_value": 23.0,
"2b_rank": 17,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 22.0,
"hr_rank": 17,
"rbi_value": 78.0,
"rbi_rank": 4,
"tb_value": 204.0,
"tb_rank": 577,
"bb_value": 37.0,
"bb_rank": 85,
"so_value": 111.0,
"so_rank": 29,
"sb_value": 14.0,
"sb_rank": 38,
"obp_value": 0.3436807,
"obp_rank": "57",
"slg_value": 0.5,
"slg_rank": "18",
"ops_value": 0.8436807,
"ops_rank": 39.0,
"war_value": 3.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 420.0,
"k_percent": 24.4,
"bb_percent": 8.3,
"woba": 0.365,
"xwoba": 0.364,
"xba": 0.282,
"xslg": 0.498,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 49.8,
"exit_velocity_avg": 93.5,
"launch_angle_avg": 11.6,
"whiff_percent": 30.6,
"swing_percent": 51.6
},
"components": {
"expected_quality": 1.5018,
"regression_edge": -0.0286,
"xwoba_edge": 1.7571,
"xba_edge": 1.2429,
"xslg_edge": 1.8071,
"barrel_edge": 1.5556,
"hard_hit_edge": 1.6714,
"exit_velocity_edge": 1.92,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "671056",
"player_name": "Iván Herrera",
"offense_factor": 1.0192,
"quality_score": 0.256,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671056",
"espn_id": 41889,
"player_name": "Ivan Herrera",
"team": "STL",
"role": "batter",
"espn_rank": 76,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 76,
"gp_value": 107.0,
"gp_rank": 20,
"ab_value": 398.0,
"ab_rank": 35,
"r_value": 65.0,
"r_rank": 20,
"h_value": 98.0,
"h_rank": 63,
"avg_value": 0.2462311,
"avg_rank": 96.0,
"2b_value": 17.0,
"2b_rank": 93,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 12.0,
"hr_rank": 105,
"rbi_value": 46.0,
"rbi_rank": 95,
"tb_value": 153.0,
"tb_rank": 683,
"bb_value": 51.0,
"bb_rank": 30,
"so_value": 83.0,
"so_rank": 90,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3647798,
"obp_rank": "26",
"slg_value": 0.3844221,
"slg_rank": "122",
"ops_value": 0.7492019,
"ops_rank": 96.0,
"war_value": 2.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 437.0,
"k_percent": 17.4,
"bb_percent": 10.8,
"woba": 0.332,
"xwoba": 0.332,
"xba": 0.243,
"xslg": 0.372,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 39.3,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 9.6,
"whiff_percent": 20.1,
"swing_percent": 44.3
},
"components": {
"expected_quality": 0.2976,
"regression_edge": 0.0,
"xwoba_edge": 0.8429,
"xba_edge": 0.1286,
"xslg_edge": 0.0071,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.1714,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "663457",
"player_name": "Lars Nootbaar",
"offense_factor": 1.045,
"quality_score": 0.5996,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663457",
"espn_id": 4448736,
"player_name": "Lars Nootbaar",
"team": "STL",
"role": "batter",
"espn_rank": 299,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 299,
"gp_value": 44.0,
"gp_rank": 358,
"ab_value": 141.0,
"ab_rank": 326,
"r_value": 20.0,
"r_rank": 299,
"h_value": 35.0,
"h_rank": 311,
"avg_value": 0.2482269,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 285,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 15.0,
"rbi_rank": 332,
"tb_value": 53.0,
"tb_rank": 1768,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 35.0,
"so_rank": 323,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3515151,
"obp_rank": "-",
"slg_value": 0.3758865,
"slg_rank": "-",
"ops_value": 0.7274016,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 145.0,
"k_percent": 21.3,
"bb_percent": 14.0,
"woba": 0.321,
"xwoba": 0.343,
"xba": 0.246,
"xslg": 0.437,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 50.9,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 8.0,
"whiff_percent": 18.8,
"swing_percent": 35.4
},
"components": {
"expected_quality": 0.9556,
"regression_edge": 0.6286,
"xwoba_edge": 1.1571,
"xba_edge": 0.2143,
"xslg_edge": 0.9357,
"barrel_edge": 0.5778,
"hard_hit_edge": 1.8286,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "663494",
"player_name": "Bryan Torres",
"offense_factor": 1.0093,
"quality_score": 0.1245,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663494",
"espn_id": 5125653,
"player_name": "Bryan Torres",
"team": "STL",
"role": "batter",
"espn_rank": 290,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 290,
"gp_value": 40.0,
"gp_rank": 377,
"ab_value": 78.0,
"ab_rank": 424,
"r_value": 11.0,
"r_rank": 393,
"h_value": 18.0,
"h_rank": 409,
"avg_value": 0.2307692,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 476,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 12.0,
"rbi_rank": 358,
"tb_value": 35.0,
"tb_rank": 1814,
"bb_value": 6.0,
"bb_rank": 415,
"so_value": 17.0,
"so_rank": 448,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.2857142,
"obp_rank": "-",
"slg_value": 0.4487179,
"slg_rank": "-",
"ops_value": 0.7344321,
"ops_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 73.0,
"k_percent": 20.0,
"bb_percent": 7.1,
"woba": 0.316,
"xwoba": 0.318,
"xba": 0.255,
"xslg": 0.419,
"sweet_spot_percent": 41.9,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 33.9,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 12.3,
"whiff_percent": 20.9,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.3123,
"regression_edge": 0.0571,
"xwoba_edge": 0.4429,
"xba_edge": 0.4714,
"xslg_edge": 0.6786,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.6,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 1.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691458",
"player_name": "Blaze Jordan",
"offense_factor": 1.0098,
"quality_score": 0.1311,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691458",
"espn_id": 4722953,
"player_name": "Blaze Jordan",
"team": "STL",
"role": "batter",
"espn_rank": 375,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 375,
"gp_value": 35.0,
"gp_rank": 401,
"ab_value": 113.0,
"ab_rank": 366,
"r_value": 10.0,
"r_rank": 405,
"h_value": 26.0,
"h_rank": 364,
"avg_value": 0.2300884,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 22.0,
"rbi_rank": 263,
"tb_value": 39.0,
"tb_rank": 2010,
"bb_value": 5.0,
"bb_rank": 432,
"so_value": 16.0,
"so_rank": 457,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.2540983,
"obp_rank": "-",
"slg_value": 0.3451327,
"slg_rank": "-",
"ops_value": 0.599231,
"ops_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 102.0,
"k_percent": 12.7,
"bb_percent": 4.2,
"woba": 0.255,
"xwoba": 0.298,
"xba": 0.254,
"xslg": 0.386,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 9.1,
"whiff_percent": 20.7,
"swing_percent": 54.2
},
"components": {
"expected_quality": 0.1288,
"regression_edge": 1.2286,
"xwoba_edge": -0.1286,
"xba_edge": 0.4429,
"xslg_edge": 0.2071,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.9714,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -0.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "676475",
"player_name": "Alec Burleson",
"offense_factor": 1.1234,
"quality_score": 1.6458,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676475",
"espn_id": 4345070,
"player_name": "Alec Burleson",
"team": "STL",
"role": "batter",
"espn_rank": 101,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 101,
"gp_value": 107.0,
"gp_rank": 20,
"ab_value": 411.0,
"ab_rank": 16,
"r_value": 57.0,
"r_rank": 44,
"h_value": 117.0,
"h_rank": 9,
"avg_value": 0.2846715,
"avg_rank": 20.0,
"2b_value": 26.0,
"2b_rank": 5,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 71.0,
"rbi_rank": 8,
"tb_value": 190.0,
"tb_rank": 409,
"bb_value": 35.0,
"bb_rank": 104,
"so_value": 71.0,
"so_rank": 142,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3443708,
"obp_rank": "57",
"slg_value": 0.4622871,
"slg_rank": "42",
"ops_value": 0.8066579,
"ops_rank": 99.0,
"war_value": 1.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 420.0,
"k_percent": 15.4,
"bb_percent": 7.8,
"woba": 0.35,
"xwoba": 0.383,
"xba": 0.299,
"xslg": 0.538,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 48.7,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 11.6,
"whiff_percent": 21.1,
"swing_percent": 51.9
},
"components": {
"expected_quality": 1.7602,
"regression_edge": 0.9429,
"xwoba_edge": 2.3,
"xba_edge": 1.7286,
"xslg_edge": 2.3786,
"barrel_edge": 1.0444,
"hard_hit_edge": 1.5143,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "701675",
"player_name": "Nathan Church",
"offense_factor": 0.9809,
"quality_score": -0.2551,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701675",
"espn_id": 4843048,
"player_name": "Nathan Church",
"team": "STL",
"role": "batter",
"espn_rank": 233,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 233,
"gp_value": 89.0,
"gp_rank": 155,
"ab_value": 268.0,
"ab_rank": 177,
"r_value": 33.0,
"r_rank": 190,
"h_value": 60.0,
"h_rank": 201,
"avg_value": 0.2238805,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 31.0,
"rbi_rank": 197,
"tb_value": 95.0,
"tb_rank": 1158,
"bb_value": 14.0,
"bb_rank": 290,
"so_value": 58.0,
"so_rank": 196,
"sb_value": 5.0,
"sb_rank": 143,
"obp_value": 0.2673611,
"obp_rank": "-",
"slg_value": 0.3544776,
"slg_rank": "-",
"ops_value": 0.6218387,
"ops_rank": null,
"war_value": 0.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 269.0,
"k_percent": 20.4,
"bb_percent": 4.9,
"woba": 0.274,
"xwoba": 0.282,
"xba": 0.237,
"xslg": 0.367,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 32.7,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 11.3,
"whiff_percent": 22.6,
"swing_percent": 57.8
},
"components": {
"expected_quality": -0.3339,
"regression_edge": 0.2286,
"xwoba_edge": -0.5857,
"xba_edge": -0.0429,
"xslg_edge": -0.0643,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.7714,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "691026",
"player_name": "Masyn Winn",
"offense_factor": 0.9932,
"quality_score": -0.0901,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691026",
"espn_id": 4683365,
"player_name": "Masyn Winn",
"team": "STL",
"role": "batter",
"espn_rank": 97,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 97,
"gp_value": 100.0,
"gp_rank": 94,
"ab_value": 361.0,
"ab_rank": 90,
"r_value": 41.0,
"r_rank": 139,
"h_value": 87.0,
"h_rank": 96,
"avg_value": 0.2409972,
"avg_rank": 112.0,
"2b_value": 13.0,
"2b_rank": 157,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 44.0,
"rbi_rank": 112,
"tb_value": 116.0,
"tb_rank": 1182,
"bb_value": 35.0,
"bb_rank": 104,
"so_value": 81.0,
"so_rank": 97,
"sb_value": 8.0,
"sb_rank": 83,
"obp_value": 0.3154034,
"obp_rank": "110",
"slg_value": 0.3213296,
"slg_rank": "154",
"ops_value": 0.636733,
"ops_rank": 264.0,
"war_value": 1.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 377.0,
"k_percent": 19.3,
"bb_percent": 8.6,
"woba": 0.291,
"xwoba": 0.303,
"xba": 0.254,
"xslg": 0.333,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 35.8,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 12.3,
"whiff_percent": 22.5,
"swing_percent": 43.0
},
"components": {
"expected_quality": -0.1606,
"regression_edge": 0.3429,
"xwoba_edge": 0.0143,
"xba_edge": 0.4429,
"xslg_edge": -0.55,
"barrel_edge": -0.8,
"hard_hit_edge": -0.3286,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.023,
"raw_average_factor": 1.023,
"team_espn_average_rank": 82.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"offense_factor": 1.0304,
"quality_score": 0.4058,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673548",
"espn_id": 4142424,
"player_name": "Seiya Suzuki",
"team": "CHC",
"role": "batter",
"espn_rank": 30,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 30,
"gp_value": 92.0,
"gp_rank": 145,
"ab_value": 349.0,
"ab_rank": 102,
"r_value": 58.0,
"r_rank": 41,
"h_value": 95.0,
"h_rank": 78,
"avg_value": 0.2722063,
"avg_rank": 45.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 18.0,
"hr_rank": 39,
"rbi_value": 60.0,
"rbi_rank": 37,
"tb_value": 167.0,
"tb_rank": 769,
"bb_value": 46.0,
"bb_rank": 43,
"so_value": 105.0,
"so_rank": 40,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3606965,
"obp_rank": "32",
"slg_value": 0.47851,
"slg_rank": "35",
"ops_value": 0.8392065,
"ops_rank": 3.0,
"war_value": 3.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 365.0,
"k_percent": 26.4,
"bb_percent": 11.1,
"woba": 0.362,
"xwoba": 0.332,
"xba": 0.248,
"xslg": 0.423,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 39.8,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 18.6,
"whiff_percent": 25.6,
"swing_percent": 40.7
},
"components": {
"expected_quality": 0.6114,
"regression_edge": -0.8571,
"xwoba_edge": 0.8429,
"xba_edge": 0.2714,
"xslg_edge": 0.7357,
"barrel_edge": 0.6667,
"hard_hit_edge": 0.2429,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "683737",
"player_name": "Michael Busch",
"offense_factor": 1.0364,
"quality_score": 0.4856,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683737",
"espn_id": 42415,
"player_name": "Michael Busch",
"team": "CHC",
"role": "batter",
"espn_rank": 125,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 125,
"gp_value": 107.0,
"gp_rank": 20,
"ab_value": 403.0,
"ab_rank": 26,
"r_value": 48.0,
"r_rank": 98,
"h_value": 97.0,
"h_rank": 66,
"avg_value": 0.2406947,
"avg_rank": 112.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 13.0,
"hr_rank": 92,
"rbi_value": 57.0,
"rbi_rank": 46,
"tb_value": 158.0,
"tb_rank": 510,
"bb_value": 66.0,
"bb_rank": 8,
"so_value": 112.0,
"so_rank": 28,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.358178,
"obp_rank": "35",
"slg_value": 0.3920595,
"slg_rank": "116",
"ops_value": 0.7502375,
"ops_rank": 151.0,
"war_value": 1.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 445.0,
"k_percent": 23.0,
"bb_percent": 13.8,
"woba": 0.339,
"xwoba": 0.338,
"xba": 0.232,
"xslg": 0.407,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 40.4,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 14.6,
"whiff_percent": 25.5,
"swing_percent": 42.9
},
"components": {
"expected_quality": 0.5692,
"regression_edge": -0.0286,
"xwoba_edge": 1.0143,
"xba_edge": -0.1857,
"xslg_edge": 0.5071,
"barrel_edge": 0.6889,
"hard_hit_edge": 0.3286,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"offense_factor": 1.0672,
"quality_score": 0.8958,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691718",
"espn_id": 4717833,
"player_name": "Pete Crow-Armstrong",
"team": "CHC",
"role": "batter",
"espn_rank": 1,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 1,
"gp_value": 108.0,
"gp_rank": 7,
"ab_value": 405.0,
"ab_rank": 25,
"r_value": 71.0,
"r_rank": 8,
"h_value": 115.0,
"h_rank": 11,
"avg_value": 0.2839506,
"avg_rank": 23.0,
"2b_value": 19.0,
"2b_rank": 61,
"3b_value": 6.0,
"3b_rank": 5,
"hr_value": 24.0,
"hr_rank": 10,
"rbi_value": 63.0,
"rbi_rank": 25,
"tb_value": 218.0,
"tb_rank": 112,
"bb_value": 55.0,
"bb_rank": 21,
"so_value": 126.0,
"so_rank": 11,
"sb_value": 26.0,
"sb_rank": 4,
"obp_value": 0.3818565,
"obp_rank": "12",
"slg_value": 0.5382716,
"slg_rank": "12",
"ops_value": 0.9201281,
"ops_rank": 24.0,
"war_value": 6.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 435.0,
"k_percent": 26.8,
"bb_percent": 11.7,
"woba": 0.393,
"xwoba": 0.36,
"xba": 0.254,
"xslg": 0.462,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 48.2,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 20.8,
"whiff_percent": 28.1,
"swing_percent": 49.3
},
"components": {
"expected_quality": 1.1951,
"regression_edge": -0.9429,
"xwoba_edge": 1.6429,
"xba_edge": 0.4429,
"xslg_edge": 1.2929,
"barrel_edge": 1.0444,
"hard_hit_edge": 1.4429,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.75,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "624424",
"player_name": "Michael Conforto",
"offense_factor": 1.0365,
"quality_score": 0.4861,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624424",
"espn_id": 33711,
"player_name": "Michael Conforto",
"team": "CHC",
"role": "batter",
"espn_rank": 201,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 201,
"gp_value": 72.0,
"gp_rank": 232,
"ab_value": 161.0,
"ab_rank": 300,
"r_value": 24.0,
"r_rank": 251,
"h_value": 39.0,
"h_rank": 291,
"avg_value": 0.242236,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 24.0,
"rbi_rank": 248,
"tb_value": 77.0,
"tb_rank": 1428,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 53.0,
"so_rank": 224,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3387096,
"obp_rank": "-",
"slg_value": 0.4782608,
"slg_rank": "-",
"ops_value": 0.8169704,
"ops_rank": null,
"war_value": 0.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 167.0,
"k_percent": 29.1,
"bb_percent": 11.5,
"woba": 0.348,
"xwoba": 0.33,
"xba": 0.235,
"xslg": 0.439,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 19.6,
"whiff_percent": 29.2,
"swing_percent": 43.8
},
"components": {
"expected_quality": 0.8284,
"regression_edge": -0.5143,
"xwoba_edge": 0.7857,
"xba_edge": -0.1,
"xslg_edge": 0.9643,
"barrel_edge": 1.1556,
"hard_hit_edge": 1.1714,
"exit_velocity_edge": 1.32,
"sweet_spot_edge": 0.9333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "664023",
"player_name": "Ian Happ",
"offense_factor": 1.0189,
"quality_score": 0.2521,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664023",
"espn_id": 34945,
"player_name": "Ian Happ",
"team": "CHC",
"role": "batter",
"espn_rank": 65,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 65,
"gp_value": 104.0,
"gp_rank": 50,
"ab_value": 384.0,
"ab_rank": 68,
"r_value": 65.0,
"r_rank": 20,
"h_value": 84.0,
"h_rank": 109,
"avg_value": 0.21875,
"avg_rank": 140.0,
"2b_value": 20.0,
"2b_rank": 49,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 18.0,
"hr_rank": 39,
"rbi_value": 47.0,
"rbi_rank": 89,
"tb_value": 162.0,
"tb_rank": 367,
"bb_value": 59.0,
"bb_rank": 14,
"so_value": 141.0,
"so_rank": 4,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3311111,
"obp_rank": "77",
"slg_value": 0.421875,
"slg_rank": "81",
"ops_value": 0.7529861,
"ops_rank": 4.0,
"war_value": 2.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 411.0,
"k_percent": 31.2,
"bb_percent": 13.2,
"woba": 0.333,
"xwoba": 0.318,
"xba": 0.203,
"xslg": 0.405,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 41.9,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 15.2,
"whiff_percent": 31.3,
"swing_percent": 44.2
},
"components": {
"expected_quality": 0.3629,
"regression_edge": -0.4286,
"xwoba_edge": 0.4429,
"xba_edge": -1.0143,
"xslg_edge": 0.4786,
"barrel_edge": 1.2444,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "608324",
"player_name": "Alex Bregman",
"offense_factor": 0.9891,
"quality_score": -0.1457,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608324",
"espn_id": 34886,
"player_name": "Alex Bregman",
"team": "CHC",
"role": "batter",
"espn_rank": 43,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 43,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 416.0,
"ab_rank": 12,
"r_value": 55.0,
"r_rank": 54,
"h_value": 102.0,
"h_rank": 45,
"avg_value": 0.2451923,
"avg_rank": 98.0,
"2b_value": 19.0,
"2b_rank": 61,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 46.0,
"rbi_rank": 95,
"tb_value": 156.0,
"tb_rank": 672,
"bb_value": 53.0,
"bb_rank": 26,
"so_value": 78.0,
"so_rank": 110,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3381742,
"obp_rank": "66",
"slg_value": 0.375,
"slg_rank": "128",
"ops_value": 0.7131742,
"ops_rank": 194.0,
"war_value": 2.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 450.0,
"k_percent": 16.1,
"bb_percent": 11.1,
"woba": 0.318,
"xwoba": 0.306,
"xba": 0.235,
"xslg": 0.35,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 17.0,
"whiff_percent": 16.7,
"swing_percent": 40.9
},
"components": {
"expected_quality": -0.1136,
"regression_edge": -0.3429,
"xwoba_edge": 0.1,
"xba_edge": -0.1,
"xslg_edge": -0.3071,
"barrel_edge": -0.6,
"hard_hit_edge": -0.2714,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "663538",
"player_name": "Nico Hoerner",
"offense_factor": 1.015,
"quality_score": 0.2001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663538",
"espn_id": 41219,
"player_name": "Nico Hoerner",
"team": "CHC",
"role": "batter",
"espn_rank": 96,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 96,
"gp_value": 106.0,
"gp_rank": 29,
"ab_value": 423.0,
"ab_rank": 4,
"r_value": 45.0,
"r_rank": 119,
"h_value": 107.0,
"h_rank": 30,
"avg_value": 0.252955,
"avg_rank": 79.0,
"2b_value": 23.0,
"2b_rank": 17,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 5.0,
"hr_rank": 249,
"rbi_value": 50.0,
"rbi_rank": 68,
"tb_value": 147.0,
"tb_rank": 1006,
"bb_value": 37.0,
"bb_rank": 85,
"so_value": 39.0,
"so_rank": 292,
"sb_value": 15.0,
"sb_rank": 29,
"obp_value": 0.3170212,
"obp_rank": "105",
"slg_value": 0.3475177,
"slg_rank": "143",
"ops_value": 0.6645389,
"ops_rank": 248.0,
"war_value": 1.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 440.0,
"k_percent": 8.3,
"bb_percent": 7.9,
"woba": 0.298,
"xwoba": 0.323,
"xba": 0.295,
"xslg": 0.37,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 0.8,
"hard_hit_percent": 28.1,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 13.1,
"whiff_percent": 11.7,
"swing_percent": 45.6
},
"components": {
"expected_quality": 0.1164,
"regression_edge": 0.7143,
"xwoba_edge": 0.5857,
"xba_edge": 1.6143,
"xslg_edge": -0.0214,
"barrel_edge": -1.3333,
"hard_hit_edge": -1.4286,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "608348",
"player_name": "Carson Kelly",
"offense_factor": 1.0042,
"quality_score": 0.0553,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608348",
"espn_id": 32797,
"player_name": "Carson Kelly",
"team": "CHC",
"role": "batter",
"espn_rank": 129,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 129,
"gp_value": 80.0,
"gp_rank": 193,
"ab_value": 250.0,
"ab_rank": 196,
"r_value": 38.0,
"r_rank": 151,
"h_value": 65.0,
"h_rank": 174,
"avg_value": 0.26,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 37.0,
"rbi_rank": 150,
"tb_value": 93.0,
"tb_rank": 1566,
"bb_value": 32.0,
"bb_rank": 122,
"so_value": 48.0,
"so_rank": 246,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3508771,
"obp_rank": "-",
"slg_value": 0.372,
"slg_rank": "-",
"ops_value": 0.7228771,
"ops_rank": null,
"war_value": 1.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 264.0,
"k_percent": 16.8,
"bb_percent": 11.2,
"woba": 0.326,
"xwoba": 0.316,
"xba": 0.237,
"xslg": 0.377,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 11.3,
"whiff_percent": 20.5,
"swing_percent": 44.3
},
"components": {
"expected_quality": 0.1109,
"regression_edge": -0.2857,
"xwoba_edge": 0.3857,
"xba_edge": -0.0429,
"xslg_edge": 0.0786,
"barrel_edge": -0.2,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "621020",
"player_name": "Dansby Swanson",
"offense_factor": 1.0093,
"quality_score": 0.1242,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621020",
"espn_id": 34895,
"player_name": "Dansby Swanson",
"team": "CHC",
"role": "batter",
"espn_rank": 50,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 50,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 354.0,
"ab_rank": 93,
"r_value": 67.0,
"r_rank": 15,
"h_value": 77.0,
"h_rank": 130,
"avg_value": 0.2175141,
"avg_rank": 142.0,
"2b_value": 13.0,
"2b_rank": 157,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 16.0,
"hr_rank": 56,
"rbi_value": 61.0,
"rbi_rank": 32,
"tb_value": 144.0,
"tb_rank": 493,
"bb_value": 40.0,
"bb_rank": 66,
"so_value": 92.0,
"so_rank": 70,
"sb_value": 14.0,
"sb_rank": 38,
"obp_value": 0.2957393,
"obp_rank": "141",
"slg_value": 0.4067796,
"slg_rank": "97",
"ops_value": 0.7025189,
"ops_rank": 44.0,
"war_value": 2.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 371.0,
"k_percent": 23.0,
"bb_percent": 10.1,
"woba": 0.31,
"xwoba": 0.307,
"xba": 0.224,
"xslg": 0.395,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 42.8,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 16.5,
"whiff_percent": 30.2,
"swing_percent": 47.3
},
"components": {
"expected_quality": 0.1584,
"regression_edge": -0.0857,
"xwoba_edge": 0.1286,
"xba_edge": -0.4143,
"xslg_edge": 0.3357,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.6714,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.4333,
"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 CHC | True | 225 | -0.5247 | 0.9920 | 1.0446 | 0.8954 | 0.9444 | 1.0864 | neutral | 0.3310 | 0.3050 | 16 | 6.10 | 13.60 | 7.90 | 48 | |
| Home STL | True | 61 | 0.1329 | 1 | 0.9887 | 0.9471 | 0.9580 | 0.9392 | neutral | 0.2960 | 0.2950 | 17.70 | 6.80 | 21.10 | 5.80 | 33.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHC | True | None | 65 | 89.95 | 2099 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0043 | |
| Home STL | True | None | 94 | 89.76 | 2303 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0061 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9887 |
| home_runs_vs_away_pitcher | 1.0442 |
| home_pitcher_quality_edge | 0.6576 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669467",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 442.0,
"k_percent": 17.7,
"bb_percent": 6.8,
"woba": 0.295,
"xwoba": 0.296,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 33.9,
"avg_best_speed": 76.4167,
"avg_hyper_speed": 93.6228,
"whiff_percent": 21.1,
"swing_percent": 44.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.4401,
"command_and_miss": -0.4239,
"regression_edge": -0.0286,
"xwoba_edge": 0.4571,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.6,
"whiff_edge": -0.6571,
"bb_edge": 0.525,
"pitch_design_score": -0.0061
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669467",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 89.76432208132069,
"release_spin_rate": 2303.4913836585406,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 89.76432208132069,
"release_spin_rate": 2303.4913836585406,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7643,
"release_spin_rate": 2303.4914,
"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.0061,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0432,
"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.1329,
"sample_weight": 1.0,
"run_prevention_factor": 0.9887,
"strikeout_factor": 0.9471,
"walk_factor": 0.958,
"homer_factor": 0.9392,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669467",
"espn_id": 4109034,
"player_name": "Andre Pallante",
"team": "STL",
"role": "pitcher",
"espn_rank": 61,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 61,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 20.0,
"gs_rank": 43,
"qs_value": 7.0,
"qs_rank": 63,
"era_value": 3.7655,
"era_rank": 36.0,
"w_value": 11.0,
"w_rank": 7,
"l_value": 6.0,
"l_rank": 63,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 112.1,
"ip_rank": 50,
"h_value": 104.0,
"h_rank": 48,
"er_value": 47.0,
"er_rank": 62,
"hr_value": 10.0,
"hr_rank": 117,
"bb_value": 32.0,
"bb_rank": 76,
"k_value": 83.0,
"k_rank": 93,
"k_per_9_value": 6.649852,
"k_per_9_rank": 50,
"whip_value": 1.2106,
"whip_rank": 37.0,
"war_value": 1.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "665871",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 248.0,
"k_percent": 16.0,
"bb_percent": 6.1,
"woba": 0.305,
"xwoba": 0.331,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 48.0,
"avg_best_speed": 79.6699,
"avg_hyper_speed": 94.8328,
"whiff_percent": 13.6,
"swing_percent": 44.5
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.407,
"command_and_miss": -0.8732,
"regression_edge": -0.7429,
"xwoba_edge": -0.5429,
"barrel_edge": -0.1778,
"hard_hit_edge": -1.4143,
"whiff_edge": -1.7286,
"bb_edge": 0.7,
"pitch_design_score": 0.0043
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "665871",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 65,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 65,
"pitch_usage": 0.0,
"release_speed": 89.9490439715741,
"release_spin_rate": 2099.397505851087,
"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": 65,
"pitch_usage": 0.0,
"release_speed": 89.9490439715741,
"release_spin_rate": 2099.397505851087,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.949,
"release_spin_rate": 2099.3975,
"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.0043,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0306,
"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.5247,
"sample_weight": 0.992,
"run_prevention_factor": 1.0446,
"strikeout_factor": 0.8954,
"walk_factor": 0.9444,
"homer_factor": 1.0864,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665871",
"espn_id": 5002950,
"player_name": "Javier Assad",
"team": "CHC",
"role": "pitcher",
"espn_rank": 225,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 225,
"gp_value": 17.0,
"gp_rank": 362,
"gs_value": 8.0,
"gs_rank": 166,
"qs_value": 1.0,
"qs_rank": 159,
"era_value": 3.8571,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 65.1,
"ip_rank": 147,
"h_value": 57.0,
"h_rank": 154,
"er_value": 28.0,
"er_rank": 159,
"hr_value": 12.0,
"hr_rank": 77,
"bb_value": 16.0,
"bb_rank": 272,
"k_value": 42.0,
"k_rank": 264,
"k_per_9_value": 5.785714,
"k_per_9_rank": 48,
"whip_value": 1.1173,
"whip_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9887,
"home_runs_vs_away_pitcher": 1.0442,
"home_pitcher_quality_edge": 0.6576
},
"score_before": {
"away_runs": 6.0,
"home_runs": 2.0
},
"score_after": {
"away_runs": 5.9322,
"home_runs": 2.0885,
"home_win_probability": 0.1851
},
"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 CHC | 6-4 | 0.600 | 6.80 | 3.40 | 34 | 1L | hot | strong |
| Home STL | 3-7 | 0.300 | 3 | 4.60 | -16 | 1W | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHC | 61-47 | 0.565 | 87 | 0.806 | True |
| Home STL | 54-54 | 0.500 | -12 | -0.111 | True |
| Signal | - | - | -0.917 | -1.014 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-29 | CHC @ STL | 2 - 3 | STL | 1 | close |
| 2026-07-28 | CHC @ STL | 10 - 2 | CHC | 8 | blowout |
| 2026-07-27 | CHC @ STL | 7 - 3 | CHC | 4 | blowout |
| 2026-07-05 | STL @ CHC | 4 - 6 | CHC | 2 | close |
| 2026-07-05 | STL @ CHC | 3 - 0 | STL | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHC | - | - | 5 | - | - | - | - |
| Game target STL | - | - | 4 | - | - | - | - |
| Player finalized CHC | 37 | 9 | 7 | 0 | 5 | 4 | 8 |
| Player finalized STL | 32 | 9 | 4 | 0 | 2 | 0 | 8 |
| Player model fractional CHC | 34.92 | 8.24 | 5.27 | 1.36 | 5.28 | 4.12 | 8.21 |
| Player model fractional STL | 31.53 | 7.56 | 4.00 | 0.79 | 3.86 | 2.88 | 6.67 |
| Simulation box CHC | 37 | 10 | 6 | 2 | 6 | 4 | 9 |
| Simulation box STL | 32 | 6 | 4 | 1 | 4 | 3 | 8 |
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 CHC | Starter | Javier Assad | 5 | 3 | 7 | 4 | 3 | 3.49 | 1.23 | True |
| Away CHC | Middle Reliever | Caleb Thielbar | 1 | 0 | 0 | 0 | 0 | 3.55 | 1.09 | True |
| Away CHC | Middle Reliever | Jacob Webb | 1 | 0 | 1 | 1 | 0 | 1.95 | 1.21 | True |
| Away CHC | Middle Reliever | Trent Thornton | 1 | 0 | 0 | 0 | 0 | 4.05 | 1.31 | True |
| Away CHC | Middle Reliever | Ryan Rolison | 1 | 1 | 0 | 1 | 0 | 3.66 | 1.48 | True |
| Home STL | Starter | Andre Pallante | 5.20 | 6 | 5 | 7 | 3 | 4.10 | 1.25 | True |
| Home STL | Middle Reliever | George Soriano | 1 | 0 | 1 | 1 | 0 | 3.91 | 1.16 | True |
| Home STL | Middle Reliever | Riley O'Brien | 1 | 0 | 2 | 1 | 0 | 3.74 | 1.52 | True |
| Home STL | Middle Reliever | Ryne Stanek | 1 | 0 | 1 | 0 | 0 | 2.98 | 1.20 | True |
| Home STL | Middle Reliever | Gordon Graceffo | 0.10 | 0 | 0 | 1 | 1 | 3.99 | 1.27 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CHC | batter | 2B | Nico Hoerner | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 3.4600 | boost | better |
| away | CHC | batter | RF | Michael Conforto | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 2.1770 | boost | worse |
| away | CHC | batter | 1B | Michael Busch | better | 11 | 6 | 5 | 7 | 4 | predicted_H | 2.0500 | boost | better |
| home | STL | batter | DH | Jordan Walker | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.9520 | boost | worse |
| home | STL | batter | CF | Nathan Church | worse | 11 | 2 | 9 | 3 | 8 | predicted_RBI | 1.6700 | boost | better |
| home | STL | batter | LF | Bryan Torres | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | 1.5000 | boost | better |
| away | CHC | batter | DH | Seiya Suzuki | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | 1.2200 | boost | better |
| home | STL | batter | RF | Lars Nootbaar | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 1.2050 | boost | better |
| away | CHC | batter | CF | Pete Crow-Armstrong | worse | 12 | 4 | 8 | 5 | 7 | predicted_SO | -1.1420 | deboost | better |
| away | CHC | batter | SS | Dansby Swanson | worse | 12 | 6 | 6 | 5 | 7 | predicted_3B | 0.9700 | boost | better |
| home | STL | batter | SS | Masyn Winn | better | 10 | 5 | 5 | 6 | 4 | predicted_HR | 0.9500 | boost | better |
| home | STL | batter | 3B | Blaze Jordan | worse | 11 | 4 | 7 | 3 | 8 | predicted_3B | 0.9410 | boost | better |
| home | STL | batter | 2B | JJ Wetherholt | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | -0.9400 | deboost | worse |
| home | STL | batter | C | Iván Herrera | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | -0.8950 | deboost | worse |
| away | CHC | batter | LF | Ian Happ | better | 10 | 6 | 4 | 7 | 3 | predicted_HR | 0.8600 | boost | better |
| away | CHC | batter | 3B | Alex Bregman | better | 10 | 7 | 3 | 8 | 2 | predicted_2B | 0.8170 | boost | better |
| home | STL | batter | 1B | Alec Burleson | worse | 9 | 5 | 4 | 4 | 5 | predicted_2B | 0.7520 | boost | better |
| away | CHC | batter | C | Carson Kelly | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 0.7110 | boost | better |
| home | STL | pitcher | Starter | Andre Pallante | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | CHC | pitcher | Starter | Javier Assad | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.3333 | deboost | worse |
| away | CHC | pitcher | Middle Reliever | Ryan Rolison | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
| home | STL | pitcher | Middle Reliever | Gordon Graceffo | 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 | Javier Assad |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.5247 |
| ESPN Rank | 225 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0043 |
| Avg Velo | 89.9490 |
| Avg Spin | 2099.3975 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 7 |
| Season ERA | 3.8571 |
| Season WHIP | 1.1173 |
| Role Avg IP | 5.2500 |
| Recent Avg IP | 5.2670 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"opponent": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"edges": {
"quality_edge": 0.2307,
"offense_edge": 0.1487,
"opponent_offense_edge": -0.063,
"defense_strength": 0.0302,
"opponent_defense_weakness": -0.0694,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0127,
"run_prevention": 0.9754,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "665871",
"profile": {
"available": true,
"pitcher_id": "665871",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 248.0,
"k_percent": 16.0,
"bb_percent": 6.1,
"woba": 0.305,
"xwoba": 0.331,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 48.0,
"avg_best_speed": 79.6699,
"avg_hyper_speed": 94.8328,
"whiff_percent": 13.6,
"swing_percent": 44.5
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.407,
"command_and_miss": -0.8732,
"regression_edge": -0.7429,
"xwoba_edge": -0.5429,
"barrel_edge": -0.1778,
"hard_hit_edge": -1.4143,
"whiff_edge": -1.7286,
"bb_edge": 0.7,
"pitch_design_score": 0.0043
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "665871",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 65,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 65,
"pitch_usage": 0.0,
"release_speed": 89.9490439715741,
"release_spin_rate": 2099.397505851087,
"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": 65,
"pitch_usage": 0.0,
"release_speed": 89.9490439715741,
"release_spin_rate": 2099.397505851087,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.949,
"release_spin_rate": 2099.3975,
"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.0043,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0306,
"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.5247,
"sample_weight": 0.992,
"run_prevention_factor": 1.0446,
"strikeout_factor": 0.8954,
"walk_factor": 0.9444,
"homer_factor": 1.0864,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665871",
"espn_id": 5002950,
"player_name": "Javier Assad",
"team": "CHC",
"role": "pitcher",
"espn_rank": 225,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 225,
"gp_value": 17.0,
"gp_rank": 362,
"gs_value": 8.0,
"gs_rank": 166,
"qs_value": 1.0,
"qs_rank": 159,
"era_value": 3.8571,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 65.1,
"ip_rank": 147,
"h_value": 57.0,
"h_rank": 154,
"er_value": 28.0,
"er_rank": 159,
"hr_value": 12.0,
"hr_rank": 77,
"bb_value": 16.0,
"bb_rank": 272,
"k_value": 42.0,
"k_rank": 264,
"k_per_9_value": 5.785714,
"k_per_9_rank": 48,
"whip_value": 1.1173,
"whip_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0442,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0442,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9448,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0857,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.8962,
"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": 41.1,
"ER": 12,
"H": 34,
"BB": 9,
"SO": 29,
"HR": 9,
"ERA": 2.6129032258064515,
"WHIP": 1.0403225806451613,
"K9": 6.314516129032258,
"HR9": 1.9596774193548385,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "665871",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 65,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 65,
"pitch_usage": 0.0,
"release_speed": 89.9490439715741,
"release_spin_rate": 2099.397505851087,
"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": 65,
"pitch_usage": 0.0,
"release_speed": 89.9490439715741,
"release_spin_rate": 2099.397505851087,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.949,
"release_spin_rate": 2099.3975,
"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.0043,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0306,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7727,
"prior_weight": 0.2273
},
"role": "pitcher",
"player_id": "665871",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 16.1,
"ER": 6.0,
"R": 7.0,
"H": 17.0,
"BB": 5.0,
"SO": 12.0,
"HR": 4.0,
"BF": 69.0,
"Pitches": 273.0
},
"per_game": {
"IP": 3.1,
"ER": 1.2,
"R": 1.4,
"H": 3.4,
"BB": 1.0,
"SO": 2.4,
"HR": 0.8,
"BF": 13.8,
"Pitches": 54.6
},
"rates": {
"ERA": 3.3061,
"WHIP": 1.3469,
"ER_per_IP": 0.36735,
"H_per_IP": 1.04082,
"BB_per_IP": 0.30612,
"SO_per_IP": 0.73469,
"HR_per_IP": 0.2449
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 41.1,
"ER": 12.0,
"R": 13.0,
"H": 34.0,
"BB": 9.0,
"SO": 29.0,
"HR": 9.0,
"BF": 162.0,
"Pitches": 644.0
},
"per_game": {
"IP": 4.0,
"ER": 1.2,
"R": 1.3,
"H": 3.4,
"BB": 0.9,
"SO": 2.9,
"HR": 0.9,
"BF": 16.2,
"Pitches": 64.4
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.0403,
"ER_per_IP": 0.29032,
"H_per_IP": 0.82258,
"BB_per_IP": 0.21774,
"SO_per_IP": 0.70161,
"HR_per_IP": 0.21774
}
},
"season": {
"games": 17,
"totals": {
"IP": 65.1,
"ER": 28.0,
"R": 29.0,
"H": 57.0,
"BB": 16.0,
"SO": 42.0,
"HR": 12.0,
"BF": 262.0,
"Pitches": 1023.0
},
"per_game": {
"IP": 4.0,
"ER": 1.6471,
"R": 1.7059,
"H": 3.3529,
"BB": 0.9412,
"SO": 2.4706,
"HR": 0.7059,
"BF": 15.4118,
"Pitches": 60.1765
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.1173,
"ER_per_IP": 0.42857,
"H_per_IP": 0.87245,
"BB_per_IP": 0.2449,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.18367
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 1.578,
"predicted_H": 3.831,
"predicted_BB": 1.157,
"predicted_SO": 3.104,
"predicted_HR": 0.842,
"predicted_ERA": 3.4876,
"predicted_WHIP": 1.2251
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.446,
"form_weight": 0.554,
"form_reliability": 0.7727,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7727,
"prior_weight": 0.2273
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 4.0,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.578,
"final": 2.2123,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.831,
"final": 3.9064,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.157,
"final": 1.979,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 3.104,
"final": 4.8417,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.842,
"final": 0.4664,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4876,
"final": 3.4876,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2251,
"final": 1.2251,
"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 | Caleb Thielbar |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0086 |
| ESPN Rank | 348 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2079 |
| Avg Velo | 86.1599 |
| Avg Spin | 2395.5722 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.6562 |
| Season WHIP | 1.1562 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"opponent": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"edges": {
"quality_edge": 0.2307,
"offense_edge": 0.1487,
"opponent_offense_edge": -0.063,
"defense_strength": 0.0302,
"opponent_defense_weakness": -0.0694,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0127,
"run_prevention": 0.9754,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "573204",
"profile": {
"available": true,
"pitcher_id": "573204",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 123.0,
"k_percent": 30.8,
"bb_percent": 9.2,
"woba": 0.308,
"xwoba": 0.318,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 39.7,
"avg_best_speed": 76.4008,
"avg_hyper_speed": 94.6549,
"whiff_percent": 28.9,
"swing_percent": 52.5
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.2701,
"command_and_miss": 0.6882,
"regression_edge": -0.2857,
"xwoba_edge": -0.1714,
"barrel_edge": -1.6,
"hard_hit_edge": -0.2286,
"whiff_edge": 0.4571,
"bb_edge": -0.075,
"pitch_design_score": -0.2079
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "573204",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 86.15993899526761,
"release_spin_rate": 2395.572169330216,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 86.15993899526761,
"release_spin_rate": 2395.572169330216,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.1599,
"release_spin_rate": 2395.5722,
"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.2079,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.485,
"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.0086,
"sample_weight": 0.492,
"run_prevention_factor": 1.0007,
"strikeout_factor": 1.0328,
"walk_factor": 1.003,
"homer_factor": 1.07,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573204",
"espn_id": 32440,
"player_name": "Caleb Thielbar",
"team": "CHC",
"role": "pitcher",
"espn_rank": 348,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 348,
"gp_value": 37.0,
"gp_rank": 116,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.9375,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 7.0,
"hld_rank": 89,
"ip_value": 32.0,
"ip_rank": 357,
"h_value": 26.0,
"h_rank": 378,
"er_value": 14.0,
"er_rank": 338,
"hr_value": 8.0,
"hr_rank": 157,
"bb_value": 13.0,
"bb_rank": 332,
"k_value": 42.0,
"k_rank": 264,
"k_per_9_value": 11.8125,
"k_per_9_rank": 19,
"whip_value": 1.2187,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0003,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0003,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0015,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0344,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0161,
"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": 3,
"H": 9,
"BB": 0,
"SO": 13,
"HR": 3,
"ERA": 3.1153846153846154,
"WHIP": 1.0384615384615385,
"K9": 13.500000000000002,
"HR9": 3.1153846153846154,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "573204",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 86.15993899526761,
"release_spin_rate": 2395.572169330216,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 86.15993899526761,
"release_spin_rate": 2395.572169330216,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.1599,
"release_spin_rate": 2395.5722,
"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.2079,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.485,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.377,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5605,
"prior_weight": 0.4395
},
"role": "pitcher",
"player_id": "573204",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 7.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.0,
"SO": 1.4,
"HR": 0.2,
"BF": 3.2,
"Pitches": 14.2
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.6923,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.0,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 3.0,
"H": 9.0,
"BB": 0.0,
"SO": 13.0,
"HR": 3.0,
"BF": 35.0,
"Pitches": 136.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.9,
"BB": 0.0,
"SO": 1.3,
"HR": 0.3,
"BF": 3.5,
"Pitches": 13.6
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.0385,
"ER_per_IP": 0.34615,
"H_per_IP": 1.03846,
"BB_per_IP": 0.0,
"SO_per_IP": 1.5,
"HR_per_IP": 0.34615
}
},
"season": {
"games": 36,
"totals": {
"IP": 32.0,
"ER": 13.0,
"R": 14.0,
"H": 25.0,
"BB": 12.0,
"SO": 42.0,
"HR": 7.0,
"BF": 133.0,
"Pitches": 556.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3611,
"R": 0.3889,
"H": 0.6944,
"BB": 0.3333,
"SO": 1.1667,
"HR": 0.1944,
"BF": 3.6944,
"Pitches": 15.4444
},
"rates": {
"ERA": 3.6562,
"WHIP": 1.1562,
"ER_per_IP": 0.40625,
"H_per_IP": 0.78125,
"BB_per_IP": 0.375,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.21875
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.394,
"predicted_H": 0.895,
"predicted_BB": 0.198,
"predicted_SO": 1.27,
"predicted_HR": 0.217,
"predicted_ERA": 3.5466,
"predicted_WHIP": 1.0934
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5357,
"form_weight": 0.4643,
"form_reliability": 0.5605,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.377,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5605,
"prior_weight": 0.4395
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.394,
"final": 0.1829,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.895,
"final": 0.4156,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.198,
"final": 0.0919,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.27,
"final": 0.5897,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.217,
"final": 0.1008,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5466,
"final": 3.5466,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0934,
"final": 1.0934,
"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 Webb |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0234 |
| ESPN Rank | 230 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0357 |
| Avg Velo | 89.2346 |
| Avg Spin | 2416.7679 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.7194 |
| Season WHIP | 1.2734 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"opponent": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"edges": {
"quality_edge": 0.2307,
"offense_edge": 0.1487,
"opponent_offense_edge": -0.063,
"defense_strength": 0.0302,
"opponent_defense_weakness": -0.0694,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0127,
"run_prevention": 0.9754,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657097",
"profile": {
"available": true,
"pitcher_id": "657097",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 184.0,
"k_percent": 26.9,
"bb_percent": 8.8,
"woba": 0.296,
"xwoba": 0.314,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 46.0,
"avg_best_speed": 78.8346,
"avg_hyper_speed": 94.7709,
"whiff_percent": 32.5,
"swing_percent": 51.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.1423,
"command_and_miss": 0.6375,
"regression_edge": -0.5143,
"xwoba_edge": -0.0571,
"barrel_edge": -0.0444,
"hard_hit_edge": -1.1286,
"whiff_edge": 0.9714,
"bb_edge": 0.025,
"pitch_design_score": -0.0357
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657097",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 89.23460586983262,
"release_spin_rate": 2416.7678555193665,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 89.23460586983262,
"release_spin_rate": 2416.7678555193665,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2346,
"release_spin_rate": 2416.7679,
"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.0357,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2551,
"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.0234,
"sample_weight": 0.736,
"run_prevention_factor": 0.998,
"strikeout_factor": 1.0477,
"walk_factor": 0.9985,
"homer_factor": 1.0371,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657097",
"espn_id": 40384,
"player_name": "Jacob Webb",
"team": "CHC",
"role": "pitcher",
"espn_rank": 230,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 230,
"gp_value": 47.0,
"gp_rank": 27,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.7194,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 5.0,
"sv_rank": 35,
"hld_value": 7.0,
"hld_rank": 89,
"ip_value": 46.1,
"ip_rank": 218,
"h_value": 42.0,
"h_rank": 219,
"er_value": 14.0,
"er_rank": 338,
"hr_value": 6.0,
"hr_rank": 208,
"bb_value": 17.0,
"bb_rank": 254,
"k_value": 55.0,
"k_rank": 170,
"k_per_9_value": 10.683454,
"k_per_9_rank": 21,
"whip_value": 1.2733,
"whip_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9985,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9985,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9989,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0273,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0351,
"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": 0,
"H": 7,
"BB": 3,
"SO": 10,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.0,
"K9": 9.0,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "657097",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 89.23460586983262,
"release_spin_rate": 2416.7678555193665,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 89.23460586983262,
"release_spin_rate": 2416.7678555193665,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2346,
"release_spin_rate": 2416.7679,
"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.0357,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2551,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.234,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6487,
"prior_weight": 0.3513
},
"role": "pitcher",
"player_id": "657097",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 47,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.8,
"Pitches": 13.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.2,
"ER_per_IP": 0.0,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 7.0,
"BB": 3.0,
"SO": 10.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 144.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.7,
"BB": 0.3,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.4
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.7,
"BB_per_IP": 0.3,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 47,
"totals": {
"IP": 46.1,
"ER": 14.0,
"R": 17.0,
"H": 42.0,
"BB": 17.0,
"SO": 55.0,
"HR": 6.0,
"BF": 196.0,
"Pitches": 805.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2979,
"R": 0.3617,
"H": 0.8936,
"BB": 0.3617,
"SO": 1.1702,
"HR": 0.1277,
"BF": 4.1702,
"Pitches": 17.1277
},
"rates": {
"ERA": 2.7194,
"WHIP": 1.2734,
"ER_per_IP": 0.30216,
"H_per_IP": 0.90647,
"BB_per_IP": 0.36691,
"SO_per_IP": 1.18705,
"HR_per_IP": 0.1295
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.217,
"predicted_H": 0.911,
"predicted_BB": 0.299,
"predicted_SO": 1.127,
"predicted_HR": 0.07,
"predicted_ERA": 1.9529,
"predicted_WHIP": 1.2105
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4984,
"form_weight": 0.5016,
"form_reliability": 0.6487,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.234,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6487,
"prior_weight": 0.3513
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.217,
"final": 0.1088,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.911,
"final": 0.9554,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.299,
"final": 0.15,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.127,
"final": 1.0637,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0351,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9529,
"final": 1.9529,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2105,
"final": 1.2105,
"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 | Trent Thornton |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2992 |
| ESPN Rank | 252 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0263 |
| Avg Velo | 89.4027 |
| Avg Spin | 2667.9444 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.7551 |
| Season WHIP | 1.0714 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"opponent": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"edges": {
"quality_edge": 0.2307,
"offense_edge": 0.1487,
"opponent_offense_edge": -0.063,
"defense_strength": 0.0302,
"opponent_defense_weakness": -0.0694,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0127,
"run_prevention": 0.9754,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663423",
"profile": {
"available": true,
"pitcher_id": "663423",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 108.0,
"k_percent": 12.2,
"bb_percent": 8.1,
"woba": 0.277,
"xwoba": 0.345,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 46.9,
"avg_best_speed": 81.5946,
"avg_hyper_speed": 94.9645,
"whiff_percent": 21.6,
"swing_percent": 49.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.4569,
"command_and_miss": -0.8175,
"regression_edge": -1.9429,
"xwoba_edge": -0.9429,
"barrel_edge": -0.2444,
"hard_hit_edge": -1.2571,
"whiff_edge": -0.5857,
"bb_edge": 0.2,
"pitch_design_score": -0.0263
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663423",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 5,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 5,
"pitch_usage": 0.0,
"release_speed": 89.40267128016747,
"release_spin_rate": 2667.9444478803052,
"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": 5,
"pitch_usage": 0.0,
"release_speed": 89.40267128016747,
"release_spin_rate": 2667.9444478803052,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.4027,
"release_spin_rate": 2667.9444,
"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.0263,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1879,
"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.2992,
"sample_weight": 0.45,
"run_prevention_factor": 1.0254,
"strikeout_factor": 0.9634,
"walk_factor": 0.9928,
"homer_factor": 1.0442,
"woba_minus_xwoba": -0.068,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663423",
"espn_id": 36728,
"player_name": "Trent Thornton",
"team": "CHC",
"role": "pitcher",
"espn_rank": 252,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 252,
"gp_value": 30.0,
"gp_rank": 176,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.0306,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 3.0,
"sv_rank": 53,
"hld_value": 2.0,
"hld_rank": 199,
"ip_value": 32.2,
"ip_rank": 350,
"h_value": 25.0,
"h_rank": 385,
"er_value": 11.0,
"er_rank": 417,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 11.0,
"bb_rank": 382,
"k_value": 15.0,
"k_rank": 473,
"k_per_9_value": 4.132653,
"k_per_9_rank": 36,
"whip_value": 1.102,
"whip_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0114,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0114,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9968,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0199,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9835,
"adjusted": 0
}
}
}
}{
"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.2,
"ER": 3,
"H": 9,
"BB": 1,
"SO": 4,
"HR": 0,
"ERA": 3.5217391304347827,
"WHIP": 1.3043478260869565,
"K9": 4.695652173913044,
"HR9": 0.0,
"games_pitched": 9,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "663423",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 5,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 5,
"pitch_usage": 0.0,
"release_speed": 89.40267128016747,
"release_spin_rate": 2667.9444478803052,
"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": 5,
"pitch_usage": 0.0,
"release_speed": 89.40267128016747,
"release_spin_rate": 2667.9444478803052,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.4027,
"release_spin_rate": 2667.9444,
"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.0263,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1879,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.51,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5656,
"prior_weight": 0.4344
},
"role": "pitcher",
"player_id": "663423",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 1.0,
"SO": 2.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 56.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 0.2,
"SO": 0.4,
"HR": 0.0,
"BF": 3.4,
"Pitches": 11.2
},
"rates": {
"ERA": 4.5,
"WHIP": 1.5,
"ER_per_IP": 0.5,
"H_per_IP": 1.25,
"BB_per_IP": 0.25,
"SO_per_IP": 0.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 4.0,
"H": 9.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 115.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.9,
"BB": 0.1,
"SO": 0.4,
"HR": 0.0,
"BF": 3.3,
"Pitches": 11.5
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.1538,
"ER_per_IP": 0.34615,
"H_per_IP": 1.03846,
"BB_per_IP": 0.11538,
"SO_per_IP": 0.46154,
"HR_per_IP": 0.0
}
},
"season": {
"games": 29,
"totals": {
"IP": 32.2,
"ER": 10.0,
"R": 12.0,
"H": 24.0,
"BB": 11.0,
"SO": 15.0,
"HR": 4.0,
"BF": 126.0,
"Pitches": 460.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3448,
"R": 0.4138,
"H": 0.8276,
"BB": 0.3793,
"SO": 0.5172,
"HR": 0.1379,
"BF": 4.3448,
"Pitches": 15.8621
},
"rates": {
"ERA": 2.7551,
"WHIP": 1.0714,
"ER_per_IP": 0.30612,
"H_per_IP": 0.73469,
"BB_per_IP": 0.33673,
"SO_per_IP": 0.45918,
"HR_per_IP": 0.12245
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.412,
"predicted_H": 0.943,
"predicted_BB": 0.255,
"predicted_SO": 0.629,
"predicted_HR": 0.073,
"predicted_ERA": 4.0522,
"predicted_WHIP": 1.31
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5335,
"form_weight": 0.4665,
"form_reliability": 0.5656,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.51,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5656,
"prior_weight": 0.4344
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.412,
"final": 0.1922,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.943,
"final": 0.4399,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.255,
"final": 0.1189,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.629,
"final": 0.2934,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.073,
"final": 0.0341,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0522,
"final": 4.0522,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.31,
"final": 1.31,
"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 | Ryan Rolison |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0322 |
| ESPN Rank | 183 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0029 |
| Avg Velo | 89.8209 |
| Avg Spin | 2398.6988 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.6557 |
| Season WHIP | 1.3033 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"opponent": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"edges": {
"quality_edge": 0.2307,
"offense_edge": 0.1487,
"opponent_offense_edge": -0.063,
"defense_strength": 0.0302,
"opponent_defense_weakness": -0.0694,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0127,
"run_prevention": 0.9754,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669020",
"profile": {
"available": true,
"pitcher_id": "669020",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 149.0,
"k_percent": 25.6,
"bb_percent": 11.6,
"woba": 0.304,
"xwoba": 0.311,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 42.6,
"avg_best_speed": 79.9684,
"avg_hyper_speed": 94.069,
"whiff_percent": 22.0,
"swing_percent": 44.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.0087,
"command_and_miss": -0.1111,
"regression_edge": -0.2,
"xwoba_edge": 0.0286,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.6429,
"whiff_edge": -0.5286,
"bb_edge": -0.675,
"pitch_design_score": -0.0029
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669020",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 89.82086780559413,
"release_spin_rate": 2398.698814381818,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 89.82086780559413,
"release_spin_rate": 2398.698814381818,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.8209,
"release_spin_rate": 2398.6988,
"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.0029,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0206,
"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.0322,
"sample_weight": 0.596,
"run_prevention_factor": 1.0027,
"strikeout_factor": 0.9985,
"walk_factor": 1.0322,
"homer_factor": 1.001,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669020",
"espn_id": 41220,
"player_name": "Ryan Rolison",
"team": "CHC",
"role": "pitcher",
"espn_rank": 183,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 183,
"gp_value": 37.0,
"gp_rank": 116,
"gs_value": 2.0,
"gs_rank": 244,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.6557,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 4.0,
"hld_rank": 162,
"ip_value": 40.2,
"ip_rank": 281,
"h_value": 34.0,
"h_rank": 288,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 19.0,
"bb_rank": 216,
"k_value": 42.0,
"k_rank": 264,
"k_per_9_value": 9.295082,
"k_per_9_rank": 25,
"whip_value": 1.3032,
"whip_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0016,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0016,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0192,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0006,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9991,
"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": 5,
"H": 12,
"BB": 6,
"SO": 11,
"HR": 0,
"ERA": 5.1923076923076925,
"WHIP": 2.076923076923077,
"K9": 11.423076923076923,
"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-07-27T00:00:00"
}{
"available": true,
"pitcher_id": "669020",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 89.82086780559413,
"release_spin_rate": 2398.698814381818,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 89.82086780559413,
"release_spin_rate": 2398.698814381818,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.8209,
"release_spin_rate": 2398.6988,
"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.0029,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0206,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.104,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6184,
"prior_weight": 0.3816
},
"role": "pitcher",
"player_id": "669020",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 17.0
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.3125,
"ER_per_IP": 0.1875,
"H_per_IP": 0.9375,
"BB_per_IP": 0.375,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 5.0,
"R": 5.0,
"H": 12.0,
"BB": 6.0,
"SO": 11.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.2,
"BB": 0.6,
"SO": 1.1,
"HR": 0.0,
"BF": 4.2,
"Pitches": 17.6
},
"rates": {
"ERA": 5.1923,
"WHIP": 2.0769,
"ER_per_IP": 0.57692,
"H_per_IP": 1.38462,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.0
}
},
"season": {
"games": 37,
"totals": {
"IP": 40.2,
"ER": 12.0,
"R": 14.0,
"H": 34.0,
"BB": 19.0,
"SO": 42.0,
"HR": 4.0,
"BF": 164.0,
"Pitches": 635.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3243,
"R": 0.3784,
"H": 0.9189,
"BB": 0.5135,
"SO": 1.1351,
"HR": 0.1081,
"BF": 4.4324,
"Pitches": 17.1622
},
"rates": {
"ERA": 2.6557,
"WHIP": 1.3033,
"ER_per_IP": 0.29508,
"H_per_IP": 0.83607,
"BB_per_IP": 0.46721,
"SO_per_IP": 1.03279,
"HR_per_IP": 0.09836
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.355,
"predicted_H": 0.905,
"predicted_BB": 0.391,
"predicted_SO": 0.944,
"predicted_HR": 0.061,
"predicted_ERA": 3.6599,
"predicted_WHIP": 1.4843
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5112,
"form_weight": 0.4888,
"form_reliability": 0.6184,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.104,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6184,
"prior_weight": 0.3816
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.355,
"final": 0.6847,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.905,
"final": 0.9536,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.391,
"final": 0.1911,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.944,
"final": 0.4614,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.061,
"final": 0.541,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6599,
"final": 3.6599,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4843,
"final": 1.4843,
"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.198 | 0.000 | 0.000 | Hitting_2B | 0.203 | 0.000 | -0.203 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.780 | 5.000 | 4.000 | Hitting_AB | 3.899 | 3.000 | 1.101 | 2.000 |
| predicted_AVG | 0.273 | 0.200 | 0.250 | Hitting_AVG | 0.277 | 0.333 | -0.077 | -0.133 |
| predicted_BB | 0.505 | 0.000 | 1.000 | Hitting_BB | 0.536 | 2.000 | -0.536 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.033 | 1.000 | 1.000 | Hitting_H | 1.080 | 1.000 | -0.080 | 0.000 |
| predicted_HR | 0.198 | 0.000 | 0.000 | Hitting_HR | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_OBP | 0.359 | 0.200 | 0.400 | Hitting_OBP | 0.367 | 0.600 | -0.167 | -0.400 |
| predicted_R | 0.637 | 1.000 | 1.000 | Hitting_R | 0.693 | 0.000 | 0.307 | 1.000 |
| predicted_RBI | 0.659 | 0.000 | 1.000 | Hitting_RBI | 0.675 | 0.000 | -0.675 | 0.000 |
| predicted_SLG | 0.483 | 0.200 | 0.250 | Hitting_SLG | 0.487 | 0.333 | -0.287 | -0.133 |
| predicted_SO | 1.121 | 2.000 | 1.000 | Hitting_SO | 1.131 | 0.000 | 0.869 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.7800 -> 5.0000 (boost 1.2200, better) |
| Biggest Deboost | predicted_RBI: 0.6590 -> 0.0000 (deboost -0.6590, 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 | 4 | 0 | 3 | 1 | predicted_AB: 3.7800 -> 3.8637 (boost 0.0837, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4891 -> 0.5000 (boost 0.0109, better) | - | 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 | 4 | 4 | predicted_BB: 0.5297 -> 1.0000 (boost 0.4703, better) | predicted_2B: 0.2199 -> 0.0000 (deboost -0.2199, worse) | AB rounded to 4 (raw=3.86), rates preserved: AVG=0.281 HR/AB=0.054 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6992 -> 1.0000 (boost 0.3008, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3674 -> 0.4000 (boost 0.0326, better) | predicted_SLG: 0.5000 -> 0.2500 (deboost -0.2500, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.5000 (boost 0.2500, better) | predicted_OBP: 0.4000 -> 0.3674 (deboost -0.0326, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"position": "DH",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.198,
"predicted_3B": 0.0,
"predicted_AB": 3.78,
"predicted_AVG": 0.273,
"predicted_BB": 0.505,
"predicted_H": 1.033,
"predicted_HR": 0.198,
"predicted_OBP": 0.359,
"predicted_R": 0.637,
"predicted_RBI": 0.659,
"predicted_SLG": 0.483,
"predicted_SO": 1.121
},
"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.2199,
"predicted_3B": 0.0004,
"predicted_AB": 3.8637,
"predicted_AVG": 0.273,
"predicted_BB": 0.523,
"predicted_H": 1.0553,
"predicted_HBP": 0.079,
"predicted_HR": 0.2044,
"predicted_OBP": 0.3636,
"predicted_R": 0.6666,
"predicted_RBI": 0.7354,
"predicted_SLG": 0.4891,
"predicted_SO": 1.1919
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.2199,
"delta": 0.0219,
"percent_delta": 0.1106,
"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.78,
"after": 3.8637,
"delta": 0.0837,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.273,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.505,
"after": 0.523,
"delta": 0.018,
"percent_delta": 0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.033,
"after": 1.0553,
"delta": 0.0223,
"percent_delta": 0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.198,
"after": 0.2044,
"delta": 0.0064,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3636,
"delta": 0.0046,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.637,
"after": 0.6666,
"delta": 0.0296,
"percent_delta": 0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.659,
"after": 0.7354,
"delta": 0.0764,
"percent_delta": 0.1159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.4891,
"delta": 0.0061,
"percent_delta": 0.0126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.121,
"after": 1.1919,
"delta": 0.0709,
"percent_delta": 0.0632,
"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.78,
"after": 3.8637,
"delta": 0.0837,
"percent_delta": 0.0221,
"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": 91
}
},
{
"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.2199,
"predicted_3B": 0.0004,
"predicted_AB": 3.8637,
"predicted_AVG": 0.2806,
"predicted_BB": 0.5297,
"predicted_H": 1.0843,
"predicted_HBP": 0.079,
"predicted_HR": 0.209,
"predicted_OBP": 0.3674,
"predicted_R": 0.6992,
"predicted_RBI": 0.7714,
"predicted_SLG": 0.5,
"predicted_SO": 1.1765
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2199,
"after": 0.2199,
"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.8637,
"after": 3.8637,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2806,
"delta": 0.0076,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.523,
"after": 0.5297,
"delta": 0.0067,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0553,
"after": 1.0843,
"delta": 0.029,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.079,
"after": 0.079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2044,
"after": 0.209,
"delta": 0.0046,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3636,
"after": 0.3674,
"delta": 0.0038,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6666,
"after": 0.6992,
"delta": 0.0326,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7354,
"after": 0.7714,
"delta": 0.036,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4891,
"after": 0.5,
"delta": 0.0109,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1919,
"after": 1.1765,
"delta": -0.0154,
"percent_delta": -0.0129,
"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_SLG",
"before": 0.4891,
"after": 0.5,
"delta": 0.0109,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.86), rates preserved: AVG=0.281 HR/AB=0.054",
"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.2199,
"after": 0.0,
"delta": -0.2199,
"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.8637,
"after": 4.0,
"delta": 0.1363,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5297,
"after": 1.0,
"delta": 0.4703,
"percent_delta": 0.8879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0843,
"after": 1.0,
"delta": -0.0843,
"percent_delta": -0.0777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.079,
"after": 0.0,
"delta": -0.079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.209,
"after": 0.0,
"delta": -0.209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7714,
"after": 1.0,
"delta": 0.2286,
"percent_delta": 0.2963,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1765,
"after": 1.0,
"delta": -0.1765,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5297,
"after": 1.0,
"delta": 0.4703,
"percent_delta": 0.8879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2199,
"after": 0.0,
"delta": -0.2199,
"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.500)",
"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": 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": 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": 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.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": 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.6992,
"after": 1.0,
"delta": 0.3008,
"percent_delta": 0.4302,
"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.6992,
"after": 1.0,
"delta": 0.3008,
"percent_delta": 0.4302,
"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": 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.2806,
"after": 0.25,
"delta": -0.0306,
"percent_delta": -0.1091,
"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.3674,
"after": 0.4,
"delta": 0.0326,
"percent_delta": 0.0887,
"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.5,
"after": 0.25,
"delta": -0.25,
"percent_delta": -0.5,
"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.3674,
"after": 0.4,
"delta": 0.0326,
"percent_delta": 0.0887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.25,
"delta": -0.25,
"percent_delta": -0.5,
"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": 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": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"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": {
"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": 5.0,
"predicted_AVG": 0.2806,
"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.3674,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5,
"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.2806,
"delta": 0.0306,
"percent_delta": 0.1226,
"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.4,
"after": 0.3674,
"delta": -0.0326,
"percent_delta": -0.0815,
"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.5,
"delta": 0.25,
"percent_delta": 1.0001,
"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.5,
"delta": 0.25,
"percent_delta": 1.0001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3674,
"delta": -0.0326,
"percent_delta": -0.0815,
"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.198,
"after": 0.0,
"delta": -0.198,
"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.78,
"after": 5.0,
"delta": 1.22,
"percent_delta": 0.3228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2806,
"delta": 0.0076,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.505,
"after": 0.0,
"delta": -0.505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.033,
"after": 1.0,
"delta": -0.033,
"percent_delta": -0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3674,
"delta": 0.0084,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.637,
"after": 1.0,
"delta": 0.363,
"percent_delta": 0.5699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.659,
"after": 0.0,
"delta": -0.659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.5,
"delta": 0.017,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.121,
"after": 2.0,
"delta": 0.879,
"percent_delta": 0.7841,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.78,
"after": 5.0,
"delta": 1.22,
"percent_delta": 0.3228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.659,
"after": 0.0,
"delta": -0.659,
"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.198 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.780 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.505 | - |
| predicted_H | 1.033 | - |
| predicted_HR | 0.198 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.637 | - |
| predicted_RBI | 0.659 | - |
| predicted_SLG | 0.483 | - |
| predicted_SO | 1.121 | - |
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.220 | 0.022 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.864 | 0.084 |
| predicted_AVG | 0.273 | 0.000 |
| predicted_BB | 0.523 | 0.018 |
| predicted_H | 1.055 | 0.022 |
| predicted_HBP | 0.079 | - |
| predicted_HR | 0.204 | 0.006 |
| predicted_OBP | 0.364 | 0.005 |
| predicted_R | 0.667 | 0.030 |
| predicted_RBI | 0.735 | 0.076 |
| predicted_SLG | 0.489 | 0.006 |
| predicted_SO | 1.192 | 0.071 |
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.220 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.864 | 0.000 |
| predicted_AVG | 0.281 | 0.008 |
| predicted_BB | 0.530 | 0.007 |
| predicted_H | 1.084 | 0.029 |
| predicted_HBP | 0.079 | 0.000 |
| predicted_HR | 0.209 | 0.005 |
| predicted_OBP | 0.367 | 0.004 |
| predicted_R | 0.699 | 0.033 |
| predicted_RBI | 0.771 | 0.036 |
| predicted_SLG | 0.500 | 0.011 |
| predicted_SO | 1.177 | -0.015 |
AB rounded to 4 (raw=3.86), rates preserved: AVG=0.281 HR/AB=0.054
| 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 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.500)
| 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 | 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 | 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.220 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.136 |
| predicted_AVG | 0.250 | -0.031 |
| predicted_BB | 1.000 | 0.470 |
| predicted_H | 1.000 | -0.084 |
| predicted_HR | 0.000 | -0.209 |
| predicted_OBP | 0.400 | 0.033 |
| predicted_R | 1.000 | 0.301 |
| predicted_RBI | 1.000 | 0.229 |
| predicted_SLG | 0.250 | -0.250 |
| predicted_SO | 1.000 | -0.177 |
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 | 1.000 | 0.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 | 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 | - | 23.000 | 7.000 | 2.000 | 0.000 | 1.000 | 6.000 | 4.000 | 2.000 | 9.000 | 0.3043 | 0.3846 | 0.5217 | 0.3044 | 0.0435 | 0.2609 | 0.0870 | 0.3913 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 3.000 | 0.000 | 3.000 | 12.000 | 9.000 | 9.000 | 15.000 | 0.2500 | 0.4000 | 0.5500 | 0.2500 | 0.0750 | 0.3000 | 0.2250 | 0.3750 |
| season | 0.60 | 91 | - | 344.000 | 94.000 | 18.000 | 0.000 | 18.000 | 60.000 | 58.000 | 46.000 | 102.000 | 0.2733 | 0.3627 | 0.4826 | 0.2733 | 0.0523 | 0.1744 | 0.1337 | 0.2965 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2490 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9750 |
| predicted_AVG | 0.2730 |
| predicted_BB | 0.5470 |
| predicted_H | 1.0850 |
| predicted_HBP | 0.0790 |
| predicted_HR | 0.2130 |
| predicted_OBP | 0.3697 |
| predicted_R | 0.7060 |
| predicted_RBI | 0.8370 |
| predicted_SLG | 0.4972 |
| predicted_SO | 1.2860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.2490 | 0.2199 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7800 | 3.9750 | 3.8637 | model_form_blend |
| predicted_AVG | 0.2730 | 0.2730 | 0.2730 | model_form_blend |
| predicted_BB | 0.5050 | 0.5470 | 0.5230 | model_form_blend |
| predicted_H | 1.0330 | 1.0850 | 1.0553 | model_form_blend |
| predicted_HBP | - | 0.0790 | 0.0790 | form_only |
| predicted_HR | 0.1980 | 0.2130 | 0.2044 | model_form_blend |
| predicted_OBP | 0.3590 | 0.3697 | 0.3636 | model_form_blend |
| predicted_R | 0.6370 | 0.7060 | 0.6666 | model_form_blend |
| predicted_RBI | 0.6590 | 0.8370 | 0.7354 | model_form_blend |
| predicted_SLG | 0.4830 | 0.4972 | 0.4891 | model_form_blend |
| predicted_SO | 1.1210 | 1.2860 | 1.1919 | 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 | 375 |
| Season rows before report date | 375 |
| Report year | 2026 |
| Profile rows used | 91 |
| 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.273 |
| 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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | RF |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 673548 |
| playerID | 673548 |
| playerName | Seiya Suzuki |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.362 |
| sl_xwoba | 0.332 |
| sl_xba | 0.248 |
| sl_xslg | 0.423 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 39.8 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 18.6 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 40.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.171 | 1.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | 0.832 | 1.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.790 | 4.000 | 5.000 | Hitting_AB | 3.810 | 5.000 | 0.190 | -1.000 |
| predicted_AVG | 0.198 | 0.750 | 0.200 | Hitting_AVG | 0.242 | 0.000 | 0.508 | 0.750 |
| predicted_BB | 0.619 | 1.000 | 1.000 | Hitting_BB | 0.681 | 0.000 | 0.319 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 0.950 | 3.000 | 1.000 | Hitting_H | 0.921 | 0.000 | 2.079 | 3.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.298 | 0.800 | 0.333 | Hitting_OBP | 0.366 | 0.000 | 0.434 | 0.800 |
| predicted_R | 0.448 | 1.000 | 0.000 | Hitting_R | 0.488 | 0.000 | 0.512 | 1.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.558 | 0.000 | -0.558 | 0.000 |
| predicted_SLG | 0.344 | 1.000 | 0.200 | Hitting_SLG | 0.398 | 0.000 | 0.602 | 1.000 |
| predicted_SO | 1.048 | 0.000 | 1.000 | Hitting_SO | 1.085 | 2.000 | -1.085 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.9500 -> 3.0000 (boost 2.0500, better) |
| Biggest Deboost | predicted_SO: 1.0480 -> 0.0000 (deboost -1.0480, 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 | 3 | 2 | 3 | 2 | predicted_AVG: 0.1980 -> 0.2178 (boost 0.0198, better) | predicted_AB: 4.7900 -> 4.5339 (deboost -0.2561, 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.3506 -> 0.3339 (deboost -0.0167, 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.5339 -> 5.0000 (boost 0.4661, better) | predicted_2B: 0.1697 -> 0.0000 (deboost -0.1697, worse) | AB rounded to 5 (raw=4.79), rates preserved: AVG=0.211 HR/AB=0.021 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.778) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4826 -> 0.0000 (deboost -0.4826, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3082 -> 0.3330 (boost 0.0248, better) | predicted_SLG: 0.3339 -> 0.2000 (deboost -0.1339, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 3 | 3 | 4 | 2 | predicted_H: 1.0000 -> 3.0000 (boost 2.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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.3339 (boost 0.1339, better) | predicted_OBP: 0.3330 -> 0.3082 (deboost -0.0248, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683737",
"player_name": "Michael Busch",
"position": "1B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.019,
"predicted_AB": 4.79,
"predicted_AVG": 0.198,
"predicted_BB": 0.619,
"predicted_H": 0.95,
"predicted_HR": 0.1,
"predicted_OBP": 0.298,
"predicted_R": 0.448,
"predicted_RBI": 0.61,
"predicted_SLG": 0.344,
"predicted_SO": 1.048
},
"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.1697,
"predicted_3B": 0.0164,
"predicted_AB": 4.5339,
"predicted_AVG": 0.2178,
"predicted_BB": 0.555,
"predicted_H": 0.9816,
"predicted_HBP": 0.056,
"predicted_HR": 0.0987,
"predicted_OBP": 0.3092,
"predicted_R": 0.4601,
"predicted_RBI": 0.5858,
"predicted_SLG": 0.3506,
"predicted_SO": 1.0714
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.1697,
"delta": -0.0013,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0164,
"delta": -0.0026,
"percent_delta": -0.1368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.79,
"after": 4.5339,
"delta": -0.2561,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.2178,
"delta": 0.0198,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.619,
"after": 0.555,
"delta": -0.064,
"percent_delta": -0.1034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9816,
"delta": 0.0316,
"percent_delta": 0.0333,
"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.298,
"after": 0.3092,
"delta": 0.0112,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.4601,
"delta": 0.0121,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.5858,
"delta": -0.0242,
"percent_delta": -0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3506,
"delta": 0.0066,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.048,
"after": 1.0714,
"delta": 0.0234,
"percent_delta": 0.0223,
"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_AVG",
"before": 0.198,
"after": 0.2178,
"delta": 0.0198,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.79,
"after": 4.5339,
"delta": -0.2561,
"percent_delta": -0.0535,
"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": 105
}
},
{
"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.1697,
"predicted_3B": 0.0164,
"predicted_AB": 4.5339,
"predicted_AVG": 0.2225,
"predicted_BB": 0.5622,
"predicted_H": 1.0086,
"predicted_HBP": 0.056,
"predicted_HR": 0.1009,
"predicted_OBP": 0.3082,
"predicted_R": 0.4826,
"predicted_RBI": 0.6144,
"predicted_SLG": 0.3339,
"predicted_SO": 1.0576
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1697,
"after": 0.1697,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0164,
"after": 0.0164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5339,
"after": 4.5339,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2178,
"after": 0.2225,
"delta": 0.0047,
"percent_delta": 0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.555,
"after": 0.5622,
"delta": 0.0072,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9816,
"after": 1.0086,
"delta": 0.027,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.056,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0987,
"after": 0.1009,
"delta": 0.0022,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3092,
"after": 0.3082,
"delta": -0.001,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4601,
"after": 0.4826,
"delta": 0.0225,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5858,
"after": 0.6144,
"delta": 0.0286,
"percent_delta": 0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3506,
"after": 0.3339,
"delta": -0.0167,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0714,
"after": 1.0576,
"delta": -0.0138,
"percent_delta": -0.0129,
"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.3506,
"after": 0.3339,
"delta": -0.0167,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.79), rates preserved: AVG=0.211 HR/AB=0.021",
"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.1697,
"after": 0.0,
"delta": -0.1697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0164,
"after": 0.0,
"delta": -0.0164,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5339,
"after": 5.0,
"delta": 0.4661,
"percent_delta": 0.1028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5622,
"after": 1.0,
"delta": 0.4378,
"percent_delta": 0.7787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0086,
"after": 1.0,
"delta": -0.0086,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1009,
"after": 0.0,
"delta": -0.1009,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6144,
"after": 1.0,
"delta": 0.3856,
"percent_delta": 0.6276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0576,
"after": 1.0,
"delta": -0.0576,
"percent_delta": -0.0545,
"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.5339,
"after": 5.0,
"delta": 0.4661,
"percent_delta": 0.1028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1697,
"after": 0.0,
"delta": -0.1697,
"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=9.0, weight=0.092, BvP AVG=0.778)",
"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.9077,
"bvp": 0.0923
},
"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": 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": 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.4826,
"after": 0.0,
"delta": -0.4826,
"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.4826,
"after": 0.0,
"delta": -0.4826,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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.2225,
"after": 0.2,
"delta": -0.0225,
"percent_delta": -0.1011,
"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.3082,
"after": 0.333,
"delta": 0.0248,
"percent_delta": 0.0805,
"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": 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.3339,
"after": 0.2,
"delta": -0.1339,
"percent_delta": -0.401,
"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.3082,
"after": 0.333,
"delta": 0.0248,
"percent_delta": 0.0805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3339,
"after": 0.2,
"delta": -0.1339,
"percent_delta": -0.401,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.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": 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": 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": 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": 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": 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": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"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_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2225,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3082,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3339,
"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.2,
"after": 0.2225,
"delta": 0.0225,
"percent_delta": 0.1123,
"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": 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.333,
"after": 0.3082,
"delta": -0.0248,
"percent_delta": -0.0744,
"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.2,
"after": 0.3339,
"delta": 0.1339,
"percent_delta": 0.6695,
"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.2,
"after": 0.3339,
"delta": 0.1339,
"percent_delta": 0.6695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3082,
"delta": -0.0248,
"percent_delta": -0.0744,
"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.171,
"after": 1.0,
"delta": 0.829,
"percent_delta": 4.848,
"direction": "boost",
"projection_effect": "better",
"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": 4.79,
"after": 4.0,
"delta": -0.79,
"percent_delta": -0.1649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.2225,
"delta": 0.0245,
"percent_delta": 0.1237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 3.0,
"delta": 2.05,
"percent_delta": 2.1579,
"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.298,
"after": 0.3082,
"delta": 0.0102,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3339,
"delta": -0.0101,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.048,
"after": 0.0,
"delta": -1.048,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.95,
"after": 3.0,
"delta": 2.05,
"percent_delta": 2.1579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.048,
"after": 0.0,
"delta": -1.048,
"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.171 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.790 | - |
| predicted_AVG | 0.198 | - |
| predicted_BB | 0.619 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.448 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.344 | - |
| predicted_SO | 1.048 | - |
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.001 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 4.534 | -0.256 |
| predicted_AVG | 0.218 | 0.020 |
| predicted_BB | 0.555 | -0.064 |
| predicted_H | 0.982 | 0.032 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.099 | -0.001 |
| predicted_OBP | 0.309 | 0.011 |
| predicted_R | 0.460 | 0.012 |
| predicted_RBI | 0.586 | -0.024 |
| predicted_SLG | 0.351 | 0.007 |
| predicted_SO | 1.071 | 0.023 |
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.016 | 0.000 |
| predicted_AB | 4.534 | 0.000 |
| predicted_AVG | 0.223 | 0.005 |
| predicted_BB | 0.562 | 0.007 |
| predicted_H | 1.009 | 0.027 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.101 | 0.002 |
| predicted_OBP | 0.308 | -0.001 |
| predicted_R | 0.483 | 0.022 |
| predicted_RBI | 0.614 | 0.029 |
| predicted_SLG | 0.334 | -0.017 |
| predicted_SO | 1.058 | -0.014 |
AB rounded to 5 (raw=4.79), rates preserved: AVG=0.211 HR/AB=0.021
| 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=9.0, weight=0.092, BvP AVG=0.778)
| 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 | 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.170 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 5.000 | 0.466 |
| predicted_AVG | 0.200 | -0.022 |
| predicted_BB | 1.000 | 0.438 |
| predicted_H | 1.000 | -0.009 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.333 | 0.025 |
| predicted_R | 0.000 | -0.483 |
| predicted_RBI | 1.000 | 0.386 |
| predicted_SLG | 0.200 | -0.134 |
| predicted_SO | 1.000 | -0.058 |
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 | 0.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 | 1.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 | - | 25.000 | 6.000 | 1.000 | 0.000 | 0.000 | 3.000 | 2.000 | 1.000 | 5.000 | 0.2400 | 0.2692 | 0.2800 | 0.2400 | 0.0000 | 0.1200 | 0.0400 | 0.2000 |
| last_10 | 0.20 | 10 | - | 48.000 | 12.000 | 1.000 | 0.000 | 1.000 | 6.000 | 6.000 | 2.000 | 14.000 | 0.2500 | 0.2800 | 0.3333 | 0.2500 | 0.0208 | 0.1250 | 0.0417 | 0.2917 |
| season | 0.60 | 105 | - | 396.000 | 96.000 | 18.000 | 2.000 | 12.000 | 55.000 | 47.000 | 65.000 | 110.000 | 0.2424 | 0.3586 | 0.3889 | 0.2424 | 0.0303 | 0.1389 | 0.1641 | 0.2778 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0130 |
| predicted_AB | 4.1980 |
| predicted_AVG | 0.2437 |
| predicted_BB | 0.4710 |
| predicted_H | 1.0230 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.3238 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.5540 |
| predicted_SLG | 0.3592 |
| predicted_SO | 1.1020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.1680 | 0.1697 | model_form_blend |
| predicted_3B | 0.0190 | 0.0130 | 0.0164 | model_form_blend |
| predicted_AB | 4.7900 | 4.1980 | 4.5339 | model_form_blend |
| predicted_AVG | 0.1980 | 0.2437 | 0.2178 | model_form_blend |
| predicted_BB | 0.6190 | 0.4710 | 0.5550 | model_form_blend |
| predicted_H | 0.9500 | 1.0230 | 0.9816 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.1000 | 0.0970 | 0.0987 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3238 | 0.3092 | model_form_blend |
| predicted_R | 0.4480 | 0.4760 | 0.4601 | model_form_blend |
| predicted_RBI | 0.6100 | 0.5540 | 0.5858 | model_form_blend |
| predicted_SLG | 0.3440 | 0.3592 | 0.3506 | model_form_blend |
| predicted_SO | 1.0480 | 1.1020 | 1.0714 | 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 | 457 |
| Season rows before report date | 457 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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 | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| 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 | 0 |
| Hitting_GIDP | 1 |
| 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 | 20260729_CHC@STL |
| game_type | full |
| mlbID | 683737 |
| playerID | 683737 |
| playerName | Michael Busch |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.339 |
| sl_xwoba | 0.338 |
| sl_xba | 0.232 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 40.4 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 42.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.179 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.057 | 0.000 | 0.000 | Hitting_3B | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_AB | 4.800 | 4.000 | 5.000 | Hitting_AB | 3.808 | 5.000 | 0.192 | -1.000 |
| predicted_AVG | 0.249 | 0.250 | 0.200 | Hitting_AVG | 0.300 | 0.200 | -0.050 | 0.050 |
| predicted_BB | 0.509 | 1.000 | 0.000 | Hitting_BB | 0.543 | 0.000 | 0.457 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 1.200 | 1.000 | 1.000 | Hitting_H | 1.143 | 1.000 | -0.143 | 0.000 |
| predicted_HR | 0.450 | 0.000 | 0.000 | Hitting_HR | 0.232 | 1.000 | -0.232 | -1.000 |
| predicted_OBP | 0.357 | 0.400 | 0.200 | Hitting_OBP | 0.401 | 0.200 | -0.001 | 0.200 |
| predicted_R | 0.660 | 1.000 | 1.000 | Hitting_R | 0.686 | 1.000 | 0.314 | 0.000 |
| predicted_RBI | 1.110 | 0.000 | 1.000 | Hitting_RBI | 0.612 | 2.000 | -0.612 | -2.000 |
| predicted_SLG | 0.600 | 0.250 | 0.200 | Hitting_SLG | 0.553 | 0.800 | -0.303 | -0.550 |
| predicted_SO | 1.142 | 0.000 | 1.000 | Hitting_SO | 1.147 | 0.000 | -1.147 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 8 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.5090 -> 1.0000 (boost 0.4910, better) |
| Biggest Deboost | predicted_SO: 1.1420 -> 0.0000 (deboost -1.1420, 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 | 2 | 3 | predicted_AVG: 0.2490 -> 0.2629 (boost 0.0139, better) | predicted_AB: 4.8000 -> 4.4114 (deboost -0.3886, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.6019 -> 0.6097 (boost 0.0078, better) | predicted_OBP: 0.3626 -> 0.3459 (deboost -0.0167, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_AB: 4.4114 -> 5.0000 (boost 0.5886, better) | predicted_HR: 0.3779 -> 0.0000 (deboost -0.3779, worse) | AB rounded to 5 (raw=4.80), rates preserved: AVG=0.247 HR/AB=0.079 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7032 -> 1.0000 (boost 0.2968, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.6097 -> 0.2000 (deboost -0.4097, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.6097 (boost 0.4097, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.057,
"predicted_AB": 4.8,
"predicted_AVG": 0.249,
"predicted_BB": 0.509,
"predicted_H": 1.2,
"predicted_HR": 0.45,
"predicted_OBP": 0.357,
"predicted_R": 0.66,
"predicted_RBI": 1.11,
"predicted_SLG": 0.6,
"predicted_SO": 1.142
},
"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.2131,
"predicted_3B": 0.0777,
"predicted_AB": 4.4114,
"predicted_AVG": 0.2629,
"predicted_BB": 0.5112,
"predicted_H": 1.1555,
"predicted_HBP": 0.082,
"predicted_HR": 0.3696,
"predicted_OBP": 0.3626,
"predicted_R": 0.6704,
"predicted_RBI": 0.976,
"predicted_SLG": 0.6019,
"predicted_SO": 1.19
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.2131,
"delta": 0.0341,
"percent_delta": 0.1905,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.057,
"after": 0.0777,
"delta": 0.0207,
"percent_delta": 0.3632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8,
"after": 4.4114,
"delta": -0.3886,
"percent_delta": -0.081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2629,
"delta": 0.0139,
"percent_delta": 0.0558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.509,
"after": 0.5112,
"delta": 0.0022,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 1.1555,
"delta": -0.0445,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.45,
"after": 0.3696,
"delta": -0.0804,
"percent_delta": -0.1787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3626,
"delta": 0.0056,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.66,
"after": 0.6704,
"delta": 0.0104,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.11,
"after": 0.976,
"delta": -0.134,
"percent_delta": -0.1207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.6,
"after": 0.6019,
"delta": 0.0019,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.142,
"after": 1.19,
"delta": 0.048,
"percent_delta": 0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2629,
"delta": 0.0139,
"percent_delta": 0.0558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.8,
"after": 4.4114,
"delta": -0.3886,
"percent_delta": -0.081,
"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": 106
}
},
{
"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.2131,
"predicted_3B": 0.0777,
"predicted_AB": 4.4114,
"predicted_AVG": 0.2691,
"predicted_BB": 0.5178,
"predicted_H": 1.1873,
"predicted_HBP": 0.082,
"predicted_HR": 0.3779,
"predicted_OBP": 0.3459,
"predicted_R": 0.7032,
"predicted_RBI": 1.0237,
"predicted_SLG": 0.6097,
"predicted_SO": 1.1746
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2131,
"after": 0.2131,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0777,
"after": 0.0777,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4114,
"after": 4.4114,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2629,
"after": 0.2691,
"delta": 0.0062,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5112,
"after": 0.5178,
"delta": 0.0066,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1555,
"after": 1.1873,
"delta": 0.0318,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 0.082,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3696,
"after": 0.3779,
"delta": 0.0083,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3626,
"after": 0.3459,
"delta": -0.0167,
"percent_delta": -0.0461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6704,
"after": 0.7032,
"delta": 0.0328,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.976,
"after": 1.0237,
"delta": 0.0477,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6019,
"after": 0.6097,
"delta": 0.0078,
"percent_delta": 0.013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.19,
"after": 1.1746,
"delta": -0.0154,
"percent_delta": -0.0129,
"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.6019,
"after": 0.6097,
"delta": 0.0078,
"percent_delta": 0.013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3626,
"after": 0.3459,
"delta": -0.0167,
"percent_delta": -0.0461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.80), rates preserved: AVG=0.247 HR/AB=0.079",
"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.2131,
"after": 0.0,
"delta": -0.2131,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0777,
"after": 0.0,
"delta": -0.0777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.4114,
"after": 5.0,
"delta": 0.5886,
"percent_delta": 0.1334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5178,
"after": 1.0,
"delta": 0.4822,
"percent_delta": 0.9312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1873,
"after": 1.0,
"delta": -0.1873,
"percent_delta": -0.1578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 0.0,
"delta": -0.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3779,
"after": 0.0,
"delta": -0.3779,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0237,
"after": 1.0,
"delta": -0.0237,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1746,
"after": 1.0,
"delta": -0.1746,
"percent_delta": -0.1486,
"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_AB",
"before": 4.4114,
"after": 5.0,
"delta": 0.5886,
"percent_delta": 0.1334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3779,
"after": 0.0,
"delta": -0.3779,
"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": 5.0,
"predicted_BB": 0.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": 0.0,
"delta": -1.0,
"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.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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"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": {
"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": 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.7032,
"after": 1.0,
"delta": 0.2968,
"percent_delta": 0.4221,
"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.7032,
"after": 1.0,
"delta": 0.2968,
"percent_delta": 0.4221,
"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": 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.2691,
"after": 0.2,
"delta": -0.0691,
"percent_delta": -0.2568,
"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.3459,
"after": 0.2,
"delta": -0.1459,
"percent_delta": -0.4218,
"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.6097,
"after": 0.2,
"delta": -0.4097,
"percent_delta": -0.672,
"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.6097,
"after": 0.2,
"delta": -0.4097,
"percent_delta": -0.672,
"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": 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": 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": 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": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"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": 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.2691,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3459,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6097,
"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.2,
"after": 0.2691,
"delta": 0.0691,
"percent_delta": 0.3457,
"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": 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.3459,
"delta": 0.1459,
"percent_delta": 0.7296,
"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.6097,
"delta": 0.4097,
"percent_delta": 2.0483,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.6097,
"delta": 0.4097,
"percent_delta": 2.0483,
"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.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.8,
"after": 4.0,
"delta": -0.8,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2691,
"delta": 0.0201,
"percent_delta": 0.0807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.509,
"after": 1.0,
"delta": 0.491,
"percent_delta": 0.9646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 1.0,
"delta": -0.2,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3459,
"delta": -0.0111,
"percent_delta": -0.0311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.6,
"after": 0.6097,
"delta": 0.0097,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.142,
"after": 0.0,
"delta": -1.142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 4,
"deboosted_metrics": 8,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.509,
"after": 1.0,
"delta": 0.491,
"percent_delta": 0.9646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.142,
"after": 0.0,
"delta": -1.142,
"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.179 | - |
| predicted_3B | 0.057 | - |
| predicted_AB | 4.800 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.509 | - |
| predicted_H | 1.200 | - |
| predicted_HR | 0.450 | - |
| predicted_OBP | 0.357 | - |
| predicted_R | 0.660 | - |
| predicted_RBI | 1.110 | - |
| predicted_SLG | 0.600 | - |
| predicted_SO | 1.142 | - |
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.034 |
| predicted_3B | 0.078 | 0.021 |
| predicted_AB | 4.411 | -0.389 |
| predicted_AVG | 0.263 | 0.014 |
| predicted_BB | 0.511 | 0.002 |
| predicted_H | 1.155 | -0.044 |
| predicted_HBP | 0.082 | - |
| predicted_HR | 0.370 | -0.080 |
| predicted_OBP | 0.363 | 0.006 |
| predicted_R | 0.670 | 0.010 |
| predicted_RBI | 0.976 | -0.134 |
| predicted_SLG | 0.602 | 0.002 |
| predicted_SO | 1.190 | 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.213 | 0.000 |
| predicted_3B | 0.078 | 0.000 |
| predicted_AB | 4.411 | 0.000 |
| predicted_AVG | 0.269 | 0.006 |
| predicted_BB | 0.518 | 0.007 |
| predicted_H | 1.187 | 0.032 |
| predicted_HBP | 0.082 | 0.000 |
| predicted_HR | 0.378 | 0.008 |
| predicted_OBP | 0.346 | -0.017 |
| predicted_R | 0.703 | 0.033 |
| predicted_RBI | 1.024 | 0.048 |
| predicted_SLG | 0.610 | 0.008 |
| predicted_SO | 1.175 | -0.015 |
AB rounded to 5 (raw=4.80), rates preserved: AVG=0.247 HR/AB=0.079
| 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=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 | 5.000 | 0.000 |
| BB | 0.000 | -1.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 | 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.213 |
| predicted_3B | 0.000 | -0.078 |
| predicted_AB | 5.000 | 0.589 |
| predicted_AVG | 0.200 | -0.069 |
| predicted_BB | 0.000 | -0.518 |
| predicted_H | 1.000 | -0.187 |
| predicted_HR | 0.000 | -0.378 |
| predicted_OBP | 0.200 | -0.146 |
| predicted_R | 1.000 | 0.297 |
| predicted_RBI | 1.000 | -0.024 |
| predicted_SLG | 0.200 | -0.410 |
| predicted_SO | 1.000 | -0.175 |
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 | 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 | 6.000 | 2.000 | 1.000 | 2.000 | 7.000 | 4.000 | 2.000 | 8.000 | 0.2727 | 0.3200 | 0.7273 | 0.2727 | 0.0909 | 0.3182 | 0.0909 | 0.3636 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 4.000 | 2.000 | 3.000 | 10.000 | 7.000 | 7.000 | 14.000 | 0.2821 | 0.3958 | 0.7179 | 0.2821 | 0.0769 | 0.2564 | 0.1795 | 0.3590 |
| season | 0.60 | 106 | - | 397.000 | 114.000 | 19.000 | 6.000 | 24.000 | 63.000 | 70.000 | 54.000 | 121.000 | 0.2872 | 0.3849 | 0.5466 | 0.2872 | 0.0604 | 0.1587 | 0.1360 | 0.3048 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2580 |
| predicted_3B | 0.1050 |
| predicted_AB | 3.9010 |
| predicted_AVG | 0.2812 |
| predicted_BB | 0.5140 |
| predicted_H | 1.0970 |
| predicted_HBP | 0.0820 |
| predicted_HR | 0.2640 |
| predicted_OBP | 0.3699 |
| predicted_R | 0.6840 |
| predicted_RBI | 0.8000 |
| predicted_SLG | 0.6044 |
| predicted_SO | 1.2530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.2580 | 0.2131 | model_form_blend |
| predicted_3B | 0.0570 | 0.1050 | 0.0777 | model_form_blend |
| predicted_AB | 4.8000 | 3.9010 | 4.4114 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2812 | 0.2629 | model_form_blend |
| predicted_BB | 0.5090 | 0.5140 | 0.5112 | model_form_blend |
| predicted_H | 1.2000 | 1.0970 | 1.1555 | model_form_blend |
| predicted_HBP | - | 0.0820 | 0.0820 | form_only |
| predicted_HR | 0.4500 | 0.2640 | 0.3696 | model_form_blend |
| predicted_OBP | 0.3570 | 0.3699 | 0.3626 | model_form_blend |
| predicted_R | 0.6600 | 0.6840 | 0.6704 | model_form_blend |
| predicted_RBI | 1.1100 | 0.8000 | 0.9760 | model_form_blend |
| predicted_SLG | 0.6000 | 0.6044 | 0.6019 | model_form_blend |
| predicted_SO | 1.1420 | 1.2530 | 1.1900 | 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 | 449 |
| Season rows before report date | 449 |
| Report year | 2026 |
| Profile rows used | 106 |
| 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 | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.287 |
| 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.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| 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 | CF |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 691718 |
| playerID | 691718 |
| playerName | Pete Crow-Armstrong |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.393 |
| sl_xwoba | 0.36 |
| sl_xba | 0.254 |
| sl_xslg | 0.462 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 48.2 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 49.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.171 | 0.000 | 0.000 | Hitting_2B | 0.196 | 0.000 | -0.196 | 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 | 2.916 | 1.000 | 1.084 | 3.000 |
| predicted_AVG | 0.242 | 0.000 | 0.333 | Hitting_AVG | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_BB | 0.311 | 0.000 | 0.000 | Hitting_BB | 0.419 | 2.000 | -0.419 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.606 | 0.000 | 1.000 | Hitting_H | 0.749 | 0.000 | -0.749 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_OBP | 0.326 | 0.000 | 0.333 | Hitting_OBP | 0.350 | 0.750 | -0.350 | -0.750 |
| predicted_R | 0.373 | 0.000 | 0.000 | Hitting_R | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_RBI | 0.357 | 0.000 | 0.000 | Hitting_RBI | 0.492 | 0.000 | -0.492 | 0.000 |
| predicted_SLG | 0.478 | 0.000 | 0.333 | Hitting_SLG | 0.502 | 0.000 | -0.502 | 0.000 |
| predicted_SO | 0.823 | 3.000 | 1.000 | Hitting_SO | 0.944 | 0.000 | 2.056 | 3.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_SO: 0.8230 -> 3.0000 (boost 2.1770, worse) |
| Biggest Deboost | predicted_H: 0.6060 -> 0.0000 (deboost -0.6060, 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 | 2 | 1 | predicted_OBP: 0.3260 -> 0.3419 (boost 0.0159, better) | predicted_SO: 0.8230 -> 0.7539 (deboost -0.0691, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4652 -> 0.4761 (boost 0.0109, better) | - | 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_AB: 2.4771 -> 3.0000 (boost 0.5229, better) | predicted_BB: 0.3460 -> 0.0000 (deboost -0.3460, worse) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.251 HR/AB=0.051 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4196 -> 0.0000 (deboost -0.4196, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2532 -> 0.3330 (boost 0.0798, better) | predicted_SLG: 0.4761 -> 0.3330 (deboost -0.1431, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4761 (boost 0.1431, better) | predicted_AVG: 0.3330 -> 0.2532 (deboost -0.0798, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624424",
"player_name": "Michael Conforto",
"position": "RF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.242,
"predicted_BB": 0.311,
"predicted_H": 0.606,
"predicted_HR": 0.14,
"predicted_OBP": 0.326,
"predicted_R": 0.373,
"predicted_RBI": 0.357,
"predicted_SLG": 0.478,
"predicted_SO": 0.823
},
"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.1681,
"predicted_3B": 0.0004,
"predicted_AB": 2.4771,
"predicted_AVG": 0.2462,
"predicted_BB": 0.3416,
"predicted_H": 0.6105,
"predicted_HBP": 0.073,
"predicted_HR": 0.1249,
"predicted_OBP": 0.3419,
"predicted_R": 0.4,
"predicted_RBI": 0.319,
"predicted_SLG": 0.4652,
"predicted_SO": 0.7539
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.1681,
"delta": -0.0029,
"percent_delta": -0.017,
"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.4771,
"delta": -0.0229,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2462,
"delta": 0.0042,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.311,
"after": 0.3416,
"delta": 0.0306,
"percent_delta": 0.0984,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.606,
"after": 0.6105,
"delta": 0.0045,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1249,
"delta": -0.0151,
"percent_delta": -0.1079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3419,
"delta": 0.0159,
"percent_delta": 0.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 0.4,
"delta": 0.027,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.357,
"after": 0.319,
"delta": -0.038,
"percent_delta": -0.1064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.4652,
"delta": -0.0128,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.823,
"after": 0.7539,
"delta": -0.0691,
"percent_delta": -0.084,
"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_OBP",
"before": 0.326,
"after": 0.3419,
"delta": 0.0159,
"percent_delta": 0.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.823,
"after": 0.7539,
"delta": -0.0691,
"percent_delta": -0.084,
"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": 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.1681,
"predicted_3B": 0.0004,
"predicted_AB": 2.4771,
"predicted_AVG": 0.2532,
"predicted_BB": 0.346,
"predicted_H": 0.6273,
"predicted_HBP": 0.073,
"predicted_HR": 0.1277,
"predicted_OBP": 0.3448,
"predicted_R": 0.4196,
"predicted_RBI": 0.3346,
"predicted_SLG": 0.4761,
"predicted_SO": 0.7442
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1681,
"after": 0.1681,
"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.4771,
"after": 2.4771,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2462,
"after": 0.2532,
"delta": 0.007,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3416,
"after": 0.346,
"delta": 0.0044,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6105,
"after": 0.6273,
"delta": 0.0168,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1249,
"after": 0.1277,
"delta": 0.0028,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3419,
"after": 0.3448,
"delta": 0.0029,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4196,
"delta": 0.0196,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.319,
"after": 0.3346,
"delta": 0.0156,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4652,
"after": 0.4761,
"delta": 0.0109,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7539,
"after": 0.7442,
"delta": -0.0097,
"percent_delta": -0.0129,
"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_SLG",
"before": 0.4652,
"after": 0.4761,
"delta": 0.0109,
"percent_delta": 0.0234,
"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=2.50), rates preserved: AVG=0.251 HR/AB=0.051",
"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.1681,
"after": 0.0,
"delta": -0.1681,
"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.4771,
"after": 3.0,
"delta": 0.5229,
"percent_delta": 0.2111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.346,
"after": 0.0,
"delta": -0.346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6273,
"after": 1.0,
"delta": 0.3727,
"percent_delta": 0.5941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1277,
"after": 0.0,
"delta": -0.1277,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3346,
"after": 0.0,
"delta": -0.3346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7442,
"after": 1.0,
"delta": 0.2558,
"percent_delta": 0.3437,
"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.4771,
"after": 3.0,
"delta": 0.5229,
"percent_delta": 0.2111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.346,
"after": 0.0,
"delta": -0.346,
"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=8.0, weight=0.084, 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.9158,
"bvp": 0.0842
},
"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.4196,
"after": 0.0,
"delta": -0.4196,
"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.4196,
"after": 0.0,
"delta": -0.4196,
"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.2532,
"after": 0.333,
"delta": 0.0798,
"percent_delta": 0.3152,
"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.3448,
"after": 0.333,
"delta": -0.0118,
"percent_delta": -0.0342,
"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.4761,
"after": 0.333,
"delta": -0.1431,
"percent_delta": -0.3006,
"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.2532,
"after": 0.333,
"delta": 0.0798,
"percent_delta": 0.3152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4761,
"after": 0.333,
"delta": -0.1431,
"percent_delta": -0.3006,
"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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"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": {
"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": 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.2532,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3448,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4761,
"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.2532,
"delta": -0.0798,
"percent_delta": -0.2395,
"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.3448,
"delta": 0.0118,
"percent_delta": 0.0353,
"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.333,
"after": 0.4761,
"delta": 0.1431,
"percent_delta": 0.4297,
"direction": "boost",
"projection_effect": "better",
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4761,
"delta": 0.1431,
"percent_delta": 0.4297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2532,
"delta": -0.0798,
"percent_delta": -0.2395,
"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.171,
"after": 0.0,
"delta": -0.171,
"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.242,
"after": 0.2532,
"delta": 0.0112,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.311,
"after": 0.0,
"delta": -0.311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.606,
"after": 0.0,
"delta": -0.606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3448,
"delta": 0.0188,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 0.0,
"delta": -0.373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.4761,
"delta": -0.0019,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.823,
"after": 3.0,
"delta": 2.177,
"percent_delta": 2.6452,
"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_SO",
"before": 0.823,
"after": 3.0,
"delta": 2.177,
"percent_delta": 2.6452,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.606,
"after": 0.0,
"delta": -0.606,
"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.171 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.311 | - |
| predicted_H | 0.606 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.373 | - |
| predicted_RBI | 0.357 | - |
| predicted_SLG | 0.478 | - |
| predicted_SO | 0.823 | - |
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.168 | -0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.477 | -0.023 |
| predicted_AVG | 0.246 | 0.004 |
| predicted_BB | 0.342 | 0.031 |
| predicted_H | 0.611 | 0.005 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.125 | -0.015 |
| predicted_OBP | 0.342 | 0.016 |
| predicted_R | 0.400 | 0.027 |
| predicted_RBI | 0.319 | -0.038 |
| predicted_SLG | 0.465 | -0.013 |
| predicted_SO | 0.754 | -0.069 |
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.168 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.477 | 0.000 |
| predicted_AVG | 0.253 | 0.007 |
| predicted_BB | 0.346 | 0.004 |
| predicted_H | 0.627 | 0.017 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.128 | 0.003 |
| predicted_OBP | 0.345 | 0.003 |
| predicted_R | 0.420 | 0.020 |
| predicted_RBI | 0.335 | 0.016 |
| predicted_SLG | 0.476 | 0.011 |
| predicted_SO | 0.744 | -0.010 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.251 HR/AB=0.051
| 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=8.0, weight=0.084, 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.168 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.523 |
| predicted_AVG | 0.333 | 0.080 |
| predicted_BB | 0.000 | -0.346 |
| predicted_H | 1.000 | 0.373 |
| predicted_HR | 0.000 | -0.128 |
| predicted_OBP | 0.333 | -0.012 |
| predicted_R | 0.000 | -0.420 |
| predicted_RBI | 0.000 | -0.335 |
| predicted_SLG | 0.333 | -0.143 |
| predicted_SO | 1.000 | 0.256 |
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 | 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 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 0.3000 | 0.5000 | 0.4000 | 0.3000 | 0.0000 | 0.0000 | 0.3000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 21.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 6.000 | 0.2381 | 0.3846 | 0.4286 | 0.2381 | 0.0476 | 0.0952 | 0.1905 | 0.2857 |
| season | 0.60 | 69 | - | 161.000 | 39.000 | 11.000 | 0.000 | 9.000 | 23.000 | 24.000 | 20.000 | 53.000 | 0.2422 | 0.3297 | 0.4783 | 0.2422 | 0.0559 | 0.1429 | 0.1242 | 0.3292 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.4440 |
| predicted_AVG | 0.2523 |
| predicted_BB | 0.3860 |
| predicted_H | 0.6170 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.3649 |
| predicted_R | 0.4390 |
| predicted_RBI | 0.2640 |
| predicted_SLG | 0.4466 |
| predicted_SO | 0.6540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.1640 | 0.1681 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.5000 | 2.4440 | 2.4771 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2523 | 0.2462 | model_form_blend |
| predicted_BB | 0.3110 | 0.3860 | 0.3416 | model_form_blend |
| predicted_H | 0.6060 | 0.6170 | 0.6105 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.1400 | 0.1030 | 0.1249 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3649 | 0.3419 | model_form_blend |
| predicted_R | 0.3730 | 0.4390 | 0.4000 | model_form_blend |
| predicted_RBI | 0.3570 | 0.2640 | 0.3190 | model_form_blend |
| predicted_SLG | 0.4780 | 0.4466 | 0.4652 | model_form_blend |
| predicted_SO | 0.8230 | 0.6540 | 0.7539 | 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 | 179 |
| Season rows before report date | 179 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| 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 | 2 |
| 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 | 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 | DH |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 624424 |
| playerID | 624424 |
| playerName | Michael Conforto |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.348 |
| sl_xwoba | 0.33 |
| sl_xba | 0.235 |
| sl_xslg | 0.439 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 19.6 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 43.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.188 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.260 | 4.000 | 4.000 | Hitting_AB | 3.784 | 4.000 | 0.216 | 0.000 |
| predicted_AVG | 0.160 | 0.250 | 0.250 | Hitting_AVG | 0.230 | 0.000 | 0.020 | 0.250 |
| predicted_BB | 0.574 | 1.000 | 1.000 | Hitting_BB | 0.579 | 0.000 | 0.421 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.872 | 0.000 | 0.128 | 1.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.209 | 0.000 | 0.791 | 1.000 |
| predicted_OBP | 0.293 | 0.400 | 0.400 | Hitting_OBP | 0.340 | 0.000 | 0.060 | 0.400 |
| predicted_R | 0.634 | 1.000 | 1.000 | Hitting_R | 0.693 | 0.000 | 0.307 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 0.000 | Hitting_RBI | 0.523 | 0.000 | 0.477 | 1.000 |
| predicted_SLG | 0.350 | 1.000 | 0.250 | Hitting_SLG | 0.453 | 0.000 | 0.547 | 1.000 |
| predicted_SO | 1.347 | 1.000 | 1.000 | Hitting_SO | 1.284 | 2.000 | -0.284 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_HR: 0.1400 -> 1.0000 (boost 0.8600, better) |
| Biggest Deboost | predicted_SO: 1.3470 -> 1.0000 (deboost -0.3470, 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 | 3 | 1 | 3 | 1 | predicted_AVG: 0.1600 -> 0.1807 (boost 0.0207, better) | predicted_AB: 4.2600 -> 4.0534 (deboost -0.2066, 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.3050 -> 0.2871 (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 | 2 | 5 | 3 | 4 | predicted_BB: 0.5858 -> 1.0000 (boost 0.4142, better) | predicted_RBI: 0.5072 -> 0.0000 (deboost -0.5072, worse) | AB rounded to 4 (raw=4.26), rates preserved: AVG=0.175 HR/AB=0.032 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.389) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6152 -> 1.0000 (boost 0.3848, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2871 -> 0.4000 (boost 0.1129, better) | predicted_SLG: 0.3473 -> 0.2500 (deboost -0.0973, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3473 (boost 0.0973, better) | predicted_OBP: 0.4000 -> 0.2871 (deboost -0.1129, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.02,
"predicted_AB": 4.26,
"predicted_AVG": 0.16,
"predicted_BB": 0.574,
"predicted_H": 0.68,
"predicted_HR": 0.14,
"predicted_OBP": 0.293,
"predicted_R": 0.634,
"predicted_RBI": 0.5,
"predicted_SLG": 0.35,
"predicted_SO": 1.347
},
"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.2135,
"predicted_3B": 0.0165,
"predicted_AB": 4.0534,
"predicted_AVG": 0.1807,
"predicted_BB": 0.5783,
"predicted_H": 0.7262,
"predicted_HBP": 0.049,
"predicted_HR": 0.1353,
"predicted_OBP": 0.305,
"predicted_R": 0.5865,
"predicted_RBI": 0.4836,
"predicted_SLG": 0.3639,
"predicted_SO": 1.3729
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.2135,
"delta": 0.0255,
"percent_delta": 0.1356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0165,
"delta": -0.0035,
"percent_delta": -0.175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.26,
"after": 4.0534,
"delta": -0.2066,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.16,
"after": 0.1807,
"delta": 0.0207,
"percent_delta": 0.1294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 0.5783,
"delta": 0.0043,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.7262,
"delta": 0.0462,
"percent_delta": 0.0679,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1353,
"delta": -0.0047,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.305,
"delta": 0.012,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.634,
"after": 0.5865,
"delta": -0.0475,
"percent_delta": -0.0749,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4836,
"delta": -0.0164,
"percent_delta": -0.0328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.3639,
"delta": 0.0139,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.347,
"after": 1.3729,
"delta": 0.0259,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.16,
"after": 0.1807,
"delta": 0.0207,
"percent_delta": 0.1294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 4.0534,
"delta": -0.2066,
"percent_delta": -0.0485,
"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.2135,
"predicted_3B": 0.0165,
"predicted_AB": 4.0534,
"predicted_AVG": 0.1841,
"predicted_BB": 0.5858,
"predicted_H": 0.7462,
"predicted_HBP": 0.049,
"predicted_HR": 0.1383,
"predicted_OBP": 0.2871,
"predicted_R": 0.6152,
"predicted_RBI": 0.5072,
"predicted_SLG": 0.3473,
"predicted_SO": 1.3552
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2135,
"after": 0.2135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0165,
"after": 0.0165,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0534,
"after": 4.0534,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1807,
"after": 0.1841,
"delta": 0.0034,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5783,
"after": 0.5858,
"delta": 0.0075,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7262,
"after": 0.7462,
"delta": 0.02,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1353,
"after": 0.1383,
"delta": 0.003,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2871,
"delta": -0.0179,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5865,
"after": 0.6152,
"delta": 0.0287,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4836,
"after": 0.5072,
"delta": 0.0236,
"percent_delta": 0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3639,
"after": 0.3473,
"delta": -0.0166,
"percent_delta": -0.0456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3729,
"after": 1.3552,
"delta": -0.0177,
"percent_delta": -0.0129,
"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.305,
"after": 0.2871,
"delta": -0.0179,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.175 HR/AB=0.032",
"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.2135,
"after": 0.0,
"delta": -0.2135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0165,
"after": 0.0,
"delta": -0.0165,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0534,
"after": 4.0,
"delta": -0.0534,
"percent_delta": -0.0132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5858,
"after": 1.0,
"delta": 0.4142,
"percent_delta": 0.7071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7462,
"after": 1.0,
"delta": 0.2538,
"percent_delta": 0.3401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1383,
"after": 0.0,
"delta": -0.1383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5072,
"after": 0.0,
"delta": -0.5072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3552,
"after": 1.0,
"delta": -0.3552,
"percent_delta": -0.2621,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5858,
"after": 1.0,
"delta": 0.4142,
"percent_delta": 0.7071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5072,
"after": 0.0,
"delta": -0.5072,
"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=18.0, weight=0.150, BvP AVG=0.389)",
"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.85,
"bvp": 0.15
},
"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": 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": 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.6152,
"after": 1.0,
"delta": 0.3848,
"percent_delta": 0.6255,
"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.6152,
"after": 1.0,
"delta": 0.3848,
"percent_delta": 0.6255,
"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": 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": 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.1841,
"after": 0.25,
"delta": 0.0659,
"percent_delta": 0.358,
"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.2871,
"after": 0.4,
"delta": 0.1129,
"percent_delta": 0.3932,
"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_SLG",
"before": 0.3473,
"after": 0.25,
"delta": -0.0973,
"percent_delta": -0.2802,
"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.2871,
"after": 0.4,
"delta": 0.1129,
"percent_delta": 0.3932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3473,
"after": 0.25,
"delta": -0.0973,
"percent_delta": -0.2802,
"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": 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": 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_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": 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_HR",
"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": 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.1841,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2871,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3473,
"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.1841,
"delta": -0.0659,
"percent_delta": -0.2637,
"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.4,
"after": 0.2871,
"delta": -0.1129,
"percent_delta": -0.2822,
"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.3473,
"delta": 0.0973,
"percent_delta": 0.3891,
"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.3473,
"delta": 0.0973,
"percent_delta": 0.3891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.2871,
"delta": -0.1129,
"percent_delta": -0.2822,
"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.188,
"after": 0.0,
"delta": -0.188,
"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": 4.26,
"after": 4.0,
"delta": -0.26,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.16,
"after": 0.1841,
"delta": 0.0241,
"percent_delta": 0.1506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 1.0,
"delta": 0.426,
"percent_delta": 0.7422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2871,
"delta": -0.0059,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.3473,
"delta": -0.0027,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.347,
"after": 1.0,
"delta": -0.347,
"percent_delta": -0.2576,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.347,
"after": 1.0,
"delta": -0.347,
"percent_delta": -0.2576,
"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.188 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.160 | - |
| predicted_BB | 0.574 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.634 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.350 | - |
| predicted_SO | 1.347 | - |
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.025 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 4.053 | -0.207 |
| predicted_AVG | 0.181 | 0.021 |
| predicted_BB | 0.578 | 0.004 |
| predicted_H | 0.726 | 0.046 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.135 | -0.005 |
| predicted_OBP | 0.305 | 0.012 |
| predicted_R | 0.587 | -0.047 |
| predicted_RBI | 0.484 | -0.016 |
| predicted_SLG | 0.364 | 0.014 |
| predicted_SO | 1.373 | 0.026 |
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.017 | 0.000 |
| predicted_AB | 4.053 | 0.000 |
| predicted_AVG | 0.184 | 0.003 |
| predicted_BB | 0.586 | 0.007 |
| predicted_H | 0.746 | 0.020 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.138 | 0.003 |
| predicted_OBP | 0.287 | -0.018 |
| predicted_R | 0.615 | 0.029 |
| predicted_RBI | 0.507 | 0.024 |
| predicted_SLG | 0.347 | -0.017 |
| predicted_SO | 1.355 | -0.018 |
AB rounded to 4 (raw=4.26), rates preserved: AVG=0.175 HR/AB=0.032
| 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=18.0, weight=0.150, BvP AVG=0.389)
| 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 | 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.213 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | -0.053 |
| predicted_AVG | 0.250 | 0.066 |
| predicted_BB | 1.000 | 0.414 |
| predicted_H | 1.000 | 0.254 |
| predicted_HR | 0.000 | -0.138 |
| predicted_OBP | 0.400 | 0.113 |
| predicted_R | 1.000 | 0.385 |
| predicted_RBI | 0.000 | -0.507 |
| predicted_SLG | 0.250 | -0.097 |
| predicted_SO | 1.000 | -0.355 |
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 | 1.000 | 0.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 | 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 | - | 20.000 | 3.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 9.000 | 0.1500 | 0.2609 | 0.2500 | 0.1500 | 0.0000 | 0.1000 | 0.1500 | 0.4500 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 3.000 | 0.000 | 1.000 | 5.000 | 5.000 | 7.000 | 14.000 | 0.2162 | 0.3556 | 0.3784 | 0.2162 | 0.0270 | 0.1351 | 0.1892 | 0.3784 |
| season | 0.60 | 101 | - | 377.000 | 83.000 | 19.000 | 2.000 | 18.000 | 47.000 | 64.000 | 58.000 | 136.000 | 0.2202 | 0.3311 | 0.4244 | 0.2202 | 0.0478 | 0.1247 | 0.1538 | 0.3607 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2470 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7810 |
| predicted_AVG | 0.2081 |
| predicted_BB | 0.5840 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.1290 |
| predicted_OBP | 0.3209 |
| predicted_R | 0.5240 |
| predicted_RBI | 0.4620 |
| predicted_SLG | 0.3822 |
| predicted_SO | 1.4070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.2470 | 0.2135 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0165 | model_form_blend |
| predicted_AB | 4.2600 | 3.7810 | 4.0534 | model_form_blend |
| predicted_AVG | 0.1600 | 0.2081 | 0.1807 | model_form_blend |
| predicted_BB | 0.5740 | 0.5840 | 0.5783 | model_form_blend |
| predicted_H | 0.6800 | 0.7870 | 0.7262 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.1400 | 0.1290 | 0.1353 | model_form_blend |
| predicted_OBP | 0.2930 | 0.3209 | 0.3050 | model_form_blend |
| predicted_R | 0.6340 | 0.5240 | 0.5865 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4620 | 0.4836 | model_form_blend |
| predicted_SLG | 0.3500 | 0.3822 | 0.3639 | model_form_blend |
| predicted_SO | 1.3470 | 1.4070 | 1.3729 | 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 | 430 |
| Season rows before report date | 430 |
| 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 | 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.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 | 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 | 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 | LF |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 664023 |
| playerID | 664023 |
| playerName | Ian Happ |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 31.2 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.333 |
| sl_xwoba | 0.318 |
| sl_xba | 0.203 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 41.9 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 44.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.183 | 1.000 | 0.000 | Hitting_2B | 0.150 | 1.000 | 0.850 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 4.820 | 5.000 | 5.000 | Hitting_AB | 4.007 | 4.000 | 0.993 | 1.000 |
| predicted_AVG | 0.270 | 0.400 | 0.200 | Hitting_AVG | 0.241 | 0.250 | 0.159 | 0.150 |
| predicted_BB | 0.510 | 0.000 | 1.000 | Hitting_BB | 0.551 | 0.000 | -0.551 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 1.300 | 2.000 | 1.000 | Hitting_H | 0.967 | 1.000 | 1.033 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_OBP | 0.339 | 0.400 | 0.333 | Hitting_OBP | 0.342 | 0.250 | 0.058 | 0.150 |
| predicted_R | 0.529 | 1.000 | 1.000 | Hitting_R | 0.534 | 0.000 | 0.466 | 1.000 |
| predicted_RBI | 0.450 | 1.000 | 0.000 | Hitting_RBI | 0.458 | 0.000 | 0.542 | 1.000 |
| predicted_SLG | 0.440 | 0.600 | 0.200 | Hitting_SLG | 0.361 | 0.500 | 0.239 | 0.100 |
| predicted_SO | 0.750 | 0.000 | 1.000 | Hitting_SO | 0.731 | 1.000 | -0.731 | -1.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_2B: 0.1830 -> 1.0000 (boost 0.8170, better) |
| Biggest Deboost | predicted_SO: 0.7500 -> 0.0000 (deboost -0.7500, 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 | 6 | 4 | 2 | 4 | 2 | predicted_R: 0.5290 -> 0.6013 (boost 0.0723, better) | predicted_AB: 4.8200 -> 4.5076 (deboost -0.3124, 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 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2742 -> 0.2812 (boost 0.0070, better) | predicted_SLG: 0.4516 -> 0.4392 (deboost -0.0124, 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_BB: 0.4850 -> 1.0000 (boost 0.5150, better) | predicted_RBI: 0.4716 -> 0.0000 (deboost -0.4716, worse) | AB rounded to 5 (raw=4.82), rates preserved: AVG=0.263 HR/AB=0.031 |
| 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.6307 -> 1.0000 (boost 0.3693, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4392 -> 0.2000 (deboost -0.2392, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4392 (boost 0.2392, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608324",
"player_name": "Alex Bregman",
"position": "3B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.183,
"predicted_3B": 0.01,
"predicted_AB": 4.82,
"predicted_AVG": 0.27,
"predicted_BB": 0.51,
"predicted_H": 1.3,
"predicted_HR": 0.15,
"predicted_OBP": 0.339,
"predicted_R": 0.529,
"predicted_RBI": 0.45,
"predicted_SLG": 0.44,
"predicted_SO": 0.75
},
"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.2466,
"predicted_3B": 0.0087,
"predicted_AB": 4.5076,
"predicted_AVG": 0.2742,
"predicted_BB": 0.4788,
"predicted_H": 1.2338,
"predicted_HBP": 0.065,
"predicted_HR": 0.1461,
"predicted_OBP": 0.3468,
"predicted_R": 0.6013,
"predicted_RBI": 0.4496,
"predicted_SLG": 0.4516,
"predicted_SO": 0.7768
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.2466,
"delta": 0.0636,
"percent_delta": 0.3475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.82,
"after": 4.5076,
"delta": -0.3124,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2742,
"delta": 0.0042,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.51,
"after": 0.4788,
"delta": -0.0312,
"percent_delta": -0.0612,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3,
"after": 1.2338,
"delta": -0.0662,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1461,
"delta": -0.0039,
"percent_delta": -0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3468,
"delta": 0.0078,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.6013,
"delta": 0.0723,
"percent_delta": 0.1367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4496,
"delta": -0.0004,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4516,
"delta": 0.0116,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.7768,
"delta": 0.0268,
"percent_delta": 0.0357,
"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_R",
"before": 0.529,
"after": 0.6013,
"delta": 0.0723,
"percent_delta": 0.1367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.82,
"after": 4.5076,
"delta": -0.3124,
"percent_delta": -0.0648,
"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": 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.2466,
"predicted_3B": 0.0087,
"predicted_AB": 4.5076,
"predicted_AVG": 0.2812,
"predicted_BB": 0.485,
"predicted_H": 1.2677,
"predicted_HBP": 0.065,
"predicted_HR": 0.1494,
"predicted_OBP": 0.3511,
"predicted_R": 0.6307,
"predicted_RBI": 0.4716,
"predicted_SLG": 0.4392,
"predicted_SO": 0.7668
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2466,
"after": 0.2466,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5076,
"after": 4.5076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2742,
"after": 0.2812,
"delta": 0.007,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4788,
"after": 0.485,
"delta": 0.0062,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2338,
"after": 1.2677,
"delta": 0.0339,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.065,
"after": 0.065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1461,
"after": 0.1494,
"delta": 0.0033,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3468,
"after": 0.3511,
"delta": 0.0043,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6013,
"after": 0.6307,
"delta": 0.0294,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4496,
"after": 0.4716,
"delta": 0.022,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4516,
"after": 0.4392,
"delta": -0.0124,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7768,
"after": 0.7668,
"delta": -0.01,
"percent_delta": -0.0129,
"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_AVG",
"before": 0.2742,
"after": 0.2812,
"delta": 0.007,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4516,
"after": 0.4392,
"delta": -0.0124,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.82), rates preserved: AVG=0.263 HR/AB=0.031",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2466,
"after": 0.0,
"delta": -0.2466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5076,
"after": 5.0,
"delta": 0.4924,
"percent_delta": 0.1092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.485,
"after": 1.0,
"delta": 0.515,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2677,
"after": 1.0,
"delta": -0.2677,
"percent_delta": -0.2112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.065,
"after": 0.0,
"delta": -0.065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1494,
"after": 0.0,
"delta": -0.1494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4716,
"after": 0.0,
"delta": -0.4716,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7668,
"after": 1.0,
"delta": 0.2332,
"percent_delta": 0.3041,
"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_BB",
"before": 0.485,
"after": 1.0,
"delta": 0.515,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4716,
"after": 0.0,
"delta": -0.4716,
"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": 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_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.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": 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": 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.6307,
"after": 1.0,
"delta": 0.3693,
"percent_delta": 0.5855,
"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.6307,
"after": 1.0,
"delta": 0.3693,
"percent_delta": 0.5855,
"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": 0.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.2812,
"after": 0.2,
"delta": -0.0812,
"percent_delta": -0.2888,
"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.3511,
"after": 0.333,
"delta": -0.0181,
"percent_delta": -0.0516,
"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.4392,
"after": 0.2,
"delta": -0.2392,
"percent_delta": -0.5446,
"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.4392,
"after": 0.2,
"delta": -0.2392,
"percent_delta": -0.5446,
"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": 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": 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": 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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"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": {
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2812,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3511,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4392,
"predicted_SO": 0.0,
"predicted_TB": 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": 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.2812,
"delta": 0.0812,
"percent_delta": 0.4062,
"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": 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.3511,
"delta": 0.0181,
"percent_delta": 0.0542,
"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.4392,
"delta": 0.2392,
"percent_delta": 1.1961,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4392,
"delta": 0.2392,
"percent_delta": 1.1961,
"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.183,
"after": 1.0,
"delta": 0.817,
"percent_delta": 4.4645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.82,
"after": 5.0,
"delta": 0.18,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2812,
"delta": 0.0112,
"percent_delta": 0.0415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3,
"after": 2.0,
"delta": 0.7,
"percent_delta": 0.5385,
"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.339,
"after": 0.3511,
"delta": 0.0121,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 1.0,
"delta": 0.55,
"percent_delta": 1.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4392,
"delta": -0.0008,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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_2B",
"before": 0.183,
"after": 1.0,
"delta": 0.817,
"percent_delta": 4.4645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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.183 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.820 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.510 | - |
| predicted_H | 1.300 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.529 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.750 | - |
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.247 | 0.064 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 4.508 | -0.312 |
| predicted_AVG | 0.274 | 0.004 |
| predicted_BB | 0.479 | -0.031 |
| predicted_H | 1.234 | -0.066 |
| predicted_HBP | 0.065 | - |
| predicted_HR | 0.146 | -0.004 |
| predicted_OBP | 0.347 | 0.008 |
| predicted_R | 0.601 | 0.072 |
| predicted_RBI | 0.450 | -0.000 |
| predicted_SLG | 0.452 | 0.012 |
| predicted_SO | 0.777 | 0.027 |
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.247 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.508 | 0.000 |
| predicted_AVG | 0.281 | 0.007 |
| predicted_BB | 0.485 | 0.006 |
| predicted_H | 1.268 | 0.034 |
| predicted_HBP | 0.065 | 0.000 |
| predicted_HR | 0.149 | 0.003 |
| predicted_OBP | 0.351 | 0.004 |
| predicted_R | 0.631 | 0.029 |
| predicted_RBI | 0.472 | 0.022 |
| predicted_SLG | 0.439 | -0.012 |
| predicted_SO | 0.767 | -0.010 |
AB rounded to 5 (raw=4.82), rates preserved: AVG=0.263 HR/AB=0.031
| 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 | 0.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 | 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 | 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 | 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.247 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 5.000 | 0.492 |
| predicted_AVG | 0.200 | -0.081 |
| predicted_BB | 1.000 | 0.515 |
| predicted_H | 1.000 | -0.268 |
| predicted_HR | 0.000 | -0.149 |
| predicted_OBP | 0.333 | -0.018 |
| predicted_R | 1.000 | 0.369 |
| predicted_RBI | 0.000 | -0.472 |
| predicted_SLG | 0.200 | -0.239 |
| predicted_SO | 1.000 | 0.233 |
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 | 0.000 |
| BB | 0.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 | 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 | - | 22.000 | 8.000 | 4.000 | 0.000 | 1.000 | 2.000 | 5.000 | 2.000 | 4.000 | 0.3636 | 0.4167 | 0.6818 | 0.3636 | 0.0454 | 0.0909 | 0.0909 | 0.1818 |
| last_10 | 0.20 | 10 | - | 43.000 | 13.000 | 4.000 | 0.000 | 2.000 | 5.000 | 10.000 | 3.000 | 10.000 | 0.3023 | 0.3617 | 0.5349 | 0.3023 | 0.0465 | 0.1163 | 0.0698 | 0.2326 |
| season | 0.60 | 104 | - | 412.000 | 102.000 | 19.000 | 1.000 | 11.000 | 46.000 | 55.000 | 53.000 | 78.000 | 0.2476 | 0.3410 | 0.3786 | 0.2476 | 0.0267 | 0.1116 | 0.1286 | 0.1893 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3300 |
| predicted_3B | 0.0070 |
| predicted_AB | 4.0980 |
| predicted_AVG | 0.2798 |
| predicted_BB | 0.4380 |
| predicted_H | 1.1470 |
| predicted_HBP | 0.0650 |
| predicted_HR | 0.1410 |
| predicted_OBP | 0.3570 |
| predicted_R | 0.6960 |
| predicted_RBI | 0.4490 |
| predicted_SLG | 0.4669 |
| predicted_SO | 0.8120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.3300 | 0.2466 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 4.8200 | 4.0980 | 4.5076 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2798 | 0.2742 | model_form_blend |
| predicted_BB | 0.5100 | 0.4380 | 0.4788 | model_form_blend |
| predicted_H | 1.3000 | 1.1470 | 1.2338 | model_form_blend |
| predicted_HBP | - | 0.0650 | 0.0650 | form_only |
| predicted_HR | 0.1500 | 0.1410 | 0.1461 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3570 | 0.3468 | model_form_blend |
| predicted_R | 0.5290 | 0.6960 | 0.6013 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4490 | 0.4496 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4669 | 0.4516 | model_form_blend |
| predicted_SO | 0.7500 | 0.8120 | 0.7768 | 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 | 461 |
| Season rows before report date | 461 |
| 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 | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.248 |
| 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.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 | 2 |
| 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 | 20260729_CHC@STL |
| game_type | full |
| mlbID | 608324 |
| playerID | 608324 |
| playerName | Alex Bregman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.318 |
| sl_xwoba | 0.306 |
| sl_xba | 0.235 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 16.7 |
| sl_swing_percent | 40.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.212 | 0.000 | 0.000 | Hitting_2B | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 4.010 | 3.000 | 4.000 | Hitting_AB | 4.175 | 1.000 | -1.175 | 2.000 |
| predicted_AVG | 0.257 | 0.333 | 0.250 | Hitting_AVG | 0.255 | 0.000 | 0.078 | 0.333 |
| predicted_BB | 0.346 | 1.000 | 0.000 | Hitting_BB | 0.386 | 0.000 | 0.614 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 0.490 | 1.000 | 1.000 | Hitting_H | 1.067 | 0.000 | -0.067 | 1.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.049 | 0.000 | 0.951 | 1.000 |
| predicted_OBP | 0.319 | 0.500 | 0.250 | Hitting_OBP | 0.320 | 0.000 | 0.180 | 0.500 |
| predicted_R | 0.413 | 1.000 | 1.000 | Hitting_R | 0.461 | 0.000 | 0.539 | 1.000 |
| predicted_RBI | 0.540 | 4.000 | 1.000 | Hitting_RBI | 0.486 | 0.000 | 3.514 | 4.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_SLG | 0.386 | 1.333 | 0.250 | Hitting_SLG | 0.357 | 0.000 | 0.976 | 1.333 |
| predicted_SO | 0.365 | 1.000 | 0.000 | Hitting_SO | 0.353 | 0.000 | 0.647 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.5400 -> 4.0000 (boost 3.4600, better) |
| Biggest Deboost | predicted_AB: 4.0100 -> 3.0000 (deboost -1.0100, 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 | 6 | 0 | 6 | 0 | predicted_H: 0.4900 -> 0.7990 (boost 0.3090, 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_AVG: 0.2781 -> 0.2064 (deboost -0.0717, 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_RBI: 0.6761 -> 1.0000 (boost 0.3239, better) | predicted_SO: 0.3948 -> 0.0000 (deboost -0.3948, better) | AB rounded to 4 (raw=4.01), rates preserved: AVG=0.205 HR/AB=0.025 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.364) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5144 -> 1.0000 (boost 0.4856, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2064 -> 0.2500 (boost 0.0436, better) | predicted_SLG: 0.3336 -> 0.2500 (deboost -0.0836, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 3 | 2 | predicted_RBI: 1.0000 -> 4.0000 (boost 3.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3336 (boost 0.0836, better) | predicted_AVG: 0.2500 -> 0.2064 (deboost -0.0436, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663538",
"player_name": "Nico Hoerner",
"position": "2B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.01,
"predicted_AB": 4.01,
"predicted_AVG": 0.257,
"predicted_BB": 0.346,
"predicted_H": 0.49,
"predicted_HR": 0.1,
"predicted_OBP": 0.319,
"predicted_R": 0.413,
"predicted_RBI": 0.54,
"predicted_SLG": 0.386,
"predicted_SO": 0.365
},
"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.1757,
"predicted_3B": 0.016,
"predicted_AB": 3.9785,
"predicted_AVG": 0.2781,
"predicted_BB": 0.3119,
"predicted_H": 0.799,
"predicted_HBP": 0.018,
"predicted_HR": 0.0974,
"predicted_OBP": 0.3332,
"predicted_R": 0.4904,
"predicted_RBI": 0.6446,
"predicted_SLG": 0.4019,
"predicted_SO": 0.4
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.1757,
"delta": -0.0363,
"percent_delta": -0.1712,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.016,
"delta": 0.006,
"percent_delta": 0.6,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 3.9785,
"delta": -0.0315,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2781,
"delta": 0.0211,
"percent_delta": 0.0821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.346,
"after": 0.3119,
"delta": -0.0341,
"percent_delta": -0.0986,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.49,
"after": 0.799,
"delta": 0.309,
"percent_delta": 0.6306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0974,
"delta": -0.0026,
"percent_delta": -0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3332,
"delta": 0.0142,
"percent_delta": 0.0445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 0.4904,
"delta": 0.0774,
"percent_delta": 0.1874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.6446,
"delta": 0.1046,
"percent_delta": 0.1937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.4019,
"delta": 0.0159,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.365,
"after": 0.4,
"delta": 0.035,
"percent_delta": 0.0959,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.49,
"after": 0.799,
"delta": 0.309,
"percent_delta": 0.6306,
"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.1757,
"predicted_3B": 0.016,
"predicted_AB": 3.9785,
"predicted_AVG": 0.2064,
"predicted_BB": 0.3159,
"predicted_H": 0.821,
"predicted_HBP": 0.018,
"predicted_HR": 0.0996,
"predicted_OBP": 0.2647,
"predicted_R": 0.5144,
"predicted_RBI": 0.6761,
"predicted_SLG": 0.3336,
"predicted_SO": 0.3948
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1757,
"after": 0.1757,
"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.9785,
"after": 3.9785,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2781,
"after": 0.2064,
"delta": -0.0717,
"percent_delta": -0.2578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3119,
"after": 0.3159,
"delta": 0.004,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.799,
"after": 0.821,
"delta": 0.022,
"percent_delta": 0.0275,
"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.0974,
"after": 0.0996,
"delta": 0.0022,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3332,
"after": 0.2647,
"delta": -0.0685,
"percent_delta": -0.2056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4904,
"after": 0.5144,
"delta": 0.024,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6446,
"after": 0.6761,
"delta": 0.0315,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4019,
"after": 0.3336,
"delta": -0.0683,
"percent_delta": -0.1699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4,
"after": 0.3948,
"delta": -0.0052,
"percent_delta": -0.013,
"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.2781,
"after": 0.2064,
"delta": -0.0717,
"percent_delta": -0.2578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.01), rates preserved: AVG=0.205 HR/AB=0.025",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1757,
"after": 0.0,
"delta": -0.1757,
"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.9785,
"after": 4.0,
"delta": 0.0215,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3159,
"after": 0.0,
"delta": -0.3159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.821,
"after": 1.0,
"delta": 0.179,
"percent_delta": 0.218,
"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.0996,
"after": 0.0,
"delta": -0.0996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6761,
"after": 1.0,
"delta": 0.3239,
"percent_delta": 0.4791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3948,
"after": 0.0,
"delta": -0.3948,
"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_RBI",
"before": 0.6761,
"after": 1.0,
"delta": 0.3239,
"percent_delta": 0.4791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3948,
"after": 0.0,
"delta": -0.3948,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.364)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.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_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": 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": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"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": 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": 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.5144,
"after": 1.0,
"delta": 0.4856,
"percent_delta": 0.944,
"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": 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_R",
"before": 0.5144,
"after": 1.0,
"delta": 0.4856,
"percent_delta": 0.944,
"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": 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": 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.2064,
"after": 0.25,
"delta": 0.0436,
"percent_delta": 0.2112,
"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.2647,
"after": 0.25,
"delta": -0.0147,
"percent_delta": -0.0555,
"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.3336,
"after": 0.25,
"delta": -0.0836,
"percent_delta": -0.2506,
"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.2064,
"after": 0.25,
"delta": 0.0436,
"percent_delta": 0.2112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3336,
"after": 0.25,
"delta": -0.0836,
"percent_delta": -0.2506,
"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": 3.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": 4.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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 4.0,
"delta": 3.0,
"percent_delta": 3.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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2064,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2647,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3336,
"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.25,
"after": 0.2064,
"delta": -0.0436,
"percent_delta": -0.1746,
"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.25,
"after": 0.2647,
"delta": 0.0147,
"percent_delta": 0.059,
"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": 4.0,
"after": 4.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.3336,
"delta": 0.0836,
"percent_delta": 0.3346,
"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.3336,
"delta": 0.0836,
"percent_delta": 0.3346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2064,
"delta": -0.0436,
"percent_delta": -0.1746,
"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.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 3.0,
"delta": -1.01,
"percent_delta": -0.2519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2064,
"delta": -0.0506,
"percent_delta": -0.1969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.346,
"after": 1.0,
"delta": 0.654,
"percent_delta": 1.8902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.2647,
"delta": -0.0543,
"percent_delta": -0.1702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 1.0,
"delta": 0.587,
"percent_delta": 1.4213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 4.0,
"delta": 3.46,
"percent_delta": 6.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3336,
"delta": -0.0524,
"percent_delta": -0.1358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.365,
"after": 1.0,
"delta": 0.635,
"percent_delta": 1.7397,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.54,
"after": 4.0,
"delta": 3.46,
"percent_delta": 6.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 3.0,
"delta": -1.01,
"percent_delta": -0.2519,
"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.212 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.010 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.346 | - |
| predicted_H | 0.490 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.413 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 0.365 | - |
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.036 |
| predicted_3B | 0.016 | 0.006 |
| predicted_AB | 3.978 | -0.031 |
| predicted_AVG | 0.278 | 0.021 |
| predicted_BB | 0.312 | -0.034 |
| predicted_H | 0.799 | 0.309 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.097 | -0.003 |
| predicted_OBP | 0.333 | 0.014 |
| predicted_R | 0.490 | 0.077 |
| predicted_RBI | 0.645 | 0.105 |
| predicted_SLG | 0.402 | 0.016 |
| predicted_SO | 0.400 | 0.035 |
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.016 | 0.000 |
| predicted_AB | 3.978 | 0.000 |
| predicted_AVG | 0.206 | -0.072 |
| predicted_BB | 0.316 | 0.004 |
| predicted_H | 0.821 | 0.022 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.100 | 0.002 |
| predicted_OBP | 0.265 | -0.069 |
| predicted_R | 0.514 | 0.024 |
| predicted_RBI | 0.676 | 0.032 |
| predicted_SLG | 0.334 | -0.068 |
| predicted_SO | 0.395 | -0.005 |
AB rounded to 4 (raw=4.01), rates preserved: AVG=0.205 HR/AB=0.025
| 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 | 0.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.364)
| 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 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.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 | 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 | 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.176 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | 0.022 |
| predicted_AVG | 0.250 | 0.044 |
| predicted_BB | 0.000 | -0.316 |
| predicted_H | 1.000 | 0.179 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.250 | -0.015 |
| predicted_R | 1.000 | 0.486 |
| predicted_RBI | 1.000 | 0.324 |
| predicted_SLG | 0.250 | -0.084 |
| predicted_SO | 0.000 | -0.395 |
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 | -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 | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 4.000 | 3.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 | - | 18.000 | 8.000 | 0.000 | 0.000 | 1.000 | 7.000 | 5.000 | 1.000 | 2.000 | 0.4444 | 0.4737 | 0.6111 | 0.4444 | 0.0556 | 0.3889 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 41.000 | 14.000 | 0.000 | 1.000 | 1.000 | 11.000 | 7.000 | 1.000 | 6.000 | 0.3415 | 0.3571 | 0.4634 | 0.3415 | 0.0244 | 0.2683 | 0.0244 | 0.1463 |
| season | 0.60 | 104 | - | 417.000 | 106.000 | 22.000 | 1.000 | 5.000 | 50.000 | 43.000 | 36.000 | 38.000 | 0.2542 | 0.3145 | 0.3477 | 0.2542 | 0.0120 | 0.1199 | 0.0863 | 0.0911 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1280 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.9370 |
| predicted_AVG | 0.3059 |
| predicted_BB | 0.2670 |
| predicted_H | 1.2050 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.3518 |
| predicted_R | 0.5920 |
| predicted_RBI | 0.7820 |
| predicted_SLG | 0.4227 |
| predicted_SO | 0.4460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.1280 | 0.1757 | model_form_blend |
| predicted_3B | 0.0100 | 0.0240 | 0.0160 | model_form_blend |
| predicted_AB | 4.0100 | 3.9370 | 3.9785 | model_form_blend |
| predicted_AVG | 0.2570 | 0.3059 | 0.2781 | model_form_blend |
| predicted_BB | 0.3460 | 0.2670 | 0.3119 | model_form_blend |
| predicted_H | 0.4900 | 1.2050 | 0.7990 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1000 | 0.0940 | 0.0974 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3518 | 0.3332 | model_form_blend |
| predicted_R | 0.4130 | 0.5920 | 0.4904 | model_form_blend |
| predicted_RBI | 0.5400 | 0.7820 | 0.6446 | model_form_blend |
| predicted_SLG | 0.3860 | 0.4227 | 0.4019 | model_form_blend |
| predicted_SO | 0.3650 | 0.4460 | 0.4000 | 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 | 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 | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 4 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| 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 | 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 | PH-2B |
| gameID | 20260729_CHC@STL |
| game_type | ph |
| mlbID | 663538 |
| note | Lined out for Amaya in the 10th. |
| playerID | 663538 |
| playerName | Nico Hoerner |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 8.3 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.298 |
| sl_xwoba | 0.323 |
| sl_xba | 0.295 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 0.8 |
| sl_hard_hit_percent | 28.1 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 11.7 |
| sl_swing_percent | 45.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.132 | 0.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.289 | 4.000 | 3.000 | Hitting_AB | 3.524 | 0.000 | 0.476 | 4.000 |
| predicted_AVG | 0.275 | 0.000 | 0.333 | Hitting_AVG | 0.277 | - | -0.277 | - |
| predicted_BB | 0.408 | 0.000 | 0.000 | Hitting_BB | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.370 | 0.000 | 1.000 | Hitting_H | 0.974 | 0.000 | -0.974 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.290 | 0.000 | 0.333 | Hitting_OBP | 0.370 | - | -0.370 | - |
| predicted_R | 0.500 | 0.000 | 1.000 | Hitting_R | 0.593 | 0.000 | -0.593 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.564 | 0.000 | -0.564 | 0.000 |
| predicted_SLG | 0.332 | 0.000 | 0.333 | Hitting_SLG | 0.398 | - | -0.398 | - |
| predicted_SO | 0.632 | 1.000 | 1.000 | Hitting_SO | 0.681 | 0.000 | 0.319 | 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: 3.2890 -> 4.0000 (boost 0.7110, better) |
| Biggest Deboost | predicted_R: 0.5000 -> 0.0000 (deboost -0.5000, 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 | 3 | 2 | 3 | 2 | predicted_H: 0.3700 -> 0.5342 (boost 0.1642, better) | predicted_AVG: 0.2750 -> 0.2518 (deboost -0.0232, 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.2518 -> 0.1635 (deboost -0.0883, 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.6492 -> 1.0000 (boost 0.3508, worse) | predicted_H: 0.5489 -> 0.0000 (deboost -0.5489, worse) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.163 HR/AB=0.014 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.625) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5099 -> 1.0000 (boost 0.4901, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1635 -> 0.3330 (boost 0.1695, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | 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 |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1635 (deboost -0.1695, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608348",
"player_name": "Carson Kelly",
"position": "C",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.132,
"predicted_3B": 0.0,
"predicted_AB": 3.289,
"predicted_AVG": 0.275,
"predicted_BB": 0.408,
"predicted_H": 0.37,
"predicted_HR": 0.04,
"predicted_OBP": 0.29,
"predicted_R": 0.5,
"predicted_RBI": 0.25,
"predicted_SLG": 0.332,
"predicted_SO": 0.632
},
"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.1147,
"predicted_3B": 0.0004,
"predicted_AB": 3.3574,
"predicted_AVG": 0.2518,
"predicted_BB": 0.3962,
"predicted_H": 0.5342,
"predicted_HBP": 0.025,
"predicted_HR": 0.0472,
"predicted_OBP": 0.2946,
"predicted_R": 0.4861,
"predicted_RBI": 0.3424,
"predicted_SLG": 0.3168,
"predicted_SO": 0.6577
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1147,
"delta": -0.0173,
"percent_delta": -0.1311,
"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.289,
"after": 3.3574,
"delta": 0.0684,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2518,
"delta": -0.0232,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.408,
"after": 0.3962,
"delta": -0.0118,
"percent_delta": -0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 0.5342,
"delta": 0.1642,
"percent_delta": 0.4438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0472,
"delta": 0.0072,
"percent_delta": 0.18,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2946,
"delta": 0.0046,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4861,
"delta": -0.0139,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.3424,
"delta": 0.0924,
"percent_delta": 0.3696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3168,
"delta": -0.0152,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.632,
"after": 0.6577,
"delta": 0.0257,
"percent_delta": 0.0407,
"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_H",
"before": 0.37,
"after": 0.5342,
"delta": 0.1642,
"percent_delta": 0.4438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2518,
"delta": -0.0232,
"percent_delta": -0.0844,
"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.1147,
"predicted_3B": 0.0004,
"predicted_AB": 3.3574,
"predicted_AVG": 0.1635,
"predicted_BB": 0.4013,
"predicted_H": 0.5489,
"predicted_HBP": 0.025,
"predicted_HR": 0.0483,
"predicted_OBP": 0.2528,
"predicted_R": 0.5099,
"predicted_RBI": 0.3591,
"predicted_SLG": 0.241,
"predicted_SO": 0.6492
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1147,
"after": 0.1147,
"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.3574,
"after": 3.3574,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2518,
"after": 0.1635,
"delta": -0.0883,
"percent_delta": -0.3507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3962,
"after": 0.4013,
"delta": 0.0051,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5342,
"after": 0.5489,
"delta": 0.0147,
"percent_delta": 0.0275,
"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.0472,
"after": 0.0483,
"delta": 0.0011,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2946,
"after": 0.2528,
"delta": -0.0418,
"percent_delta": -0.1419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4861,
"after": 0.5099,
"delta": 0.0238,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3424,
"after": 0.3591,
"delta": 0.0167,
"percent_delta": 0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3168,
"after": 0.241,
"delta": -0.0758,
"percent_delta": -0.2393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6577,
"after": 0.6492,
"delta": -0.0085,
"percent_delta": -0.0129,
"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.2518,
"after": 0.1635,
"delta": -0.0883,
"percent_delta": -0.3507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.36), rates preserved: AVG=0.163 HR/AB=0.014",
"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.1147,
"after": 0.0,
"delta": -0.1147,
"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.3574,
"after": 3.0,
"delta": -0.3574,
"percent_delta": -0.1065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4013,
"after": 0.0,
"delta": -0.4013,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5489,
"after": 0.0,
"delta": -0.5489,
"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.0483,
"after": 0.0,
"delta": -0.0483,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3591,
"after": 0.0,
"delta": -0.3591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6492,
"after": 1.0,
"delta": 0.3508,
"percent_delta": 0.5404,
"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.6492,
"after": 1.0,
"delta": 0.3508,
"percent_delta": 0.5404,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5489,
"after": 0.0,
"delta": -0.5489,
"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=8.0, weight=0.084, BvP AVG=0.625)",
"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": 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_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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"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": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 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": 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.5099,
"after": 1.0,
"delta": 0.4901,
"percent_delta": 0.9612,
"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.5099,
"after": 1.0,
"delta": 0.4901,
"percent_delta": 0.9612,
"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": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.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.1635,
"after": 0.333,
"delta": 0.1695,
"percent_delta": 1.0367,
"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.2528,
"after": 0.333,
"delta": 0.0802,
"percent_delta": 0.3172,
"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_SLG",
"before": 0.241,
"after": 0.333,
"delta": 0.092,
"percent_delta": 0.3817,
"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.1635,
"after": 0.333,
"delta": 0.1695,
"percent_delta": 1.0367,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"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": 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.1635,
"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.2528,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.241,
"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.1635,
"delta": -0.1695,
"percent_delta": -0.509,
"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.2528,
"delta": -0.0802,
"percent_delta": -0.2408,
"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.241,
"delta": -0.092,
"percent_delta": -0.2763,
"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.1635,
"delta": -0.1695,
"percent_delta": -0.509,
"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.132,
"after": 0.0,
"delta": -0.132,
"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.289,
"after": 4.0,
"delta": 0.711,
"percent_delta": 0.2162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.1635,
"delta": -0.1115,
"percent_delta": -0.4055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.408,
"after": 0.0,
"delta": -0.408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"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.29,
"after": 0.2528,
"delta": -0.0372,
"percent_delta": -0.1283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"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.332,
"after": 0.241,
"delta": -0.091,
"percent_delta": -0.2741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.632,
"after": 1.0,
"delta": 0.368,
"percent_delta": 0.5823,
"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": 3.289,
"after": 4.0,
"delta": 0.711,
"percent_delta": 0.2162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"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.132 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.289 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.408 | - |
| predicted_H | 0.370 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.332 | - |
| predicted_SO | 0.632 | - |
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.115 | -0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.357 | 0.068 |
| predicted_AVG | 0.252 | -0.023 |
| predicted_BB | 0.396 | -0.012 |
| predicted_H | 0.534 | 0.164 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.047 | 0.007 |
| predicted_OBP | 0.295 | 0.005 |
| predicted_R | 0.486 | -0.014 |
| predicted_RBI | 0.342 | 0.092 |
| predicted_SLG | 0.317 | -0.015 |
| predicted_SO | 0.658 | 0.026 |
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.115 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.357 | 0.000 |
| predicted_AVG | 0.164 | -0.088 |
| predicted_BB | 0.401 | 0.005 |
| predicted_H | 0.549 | 0.015 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.048 | 0.001 |
| predicted_OBP | 0.253 | -0.042 |
| predicted_R | 0.510 | 0.024 |
| predicted_RBI | 0.359 | 0.017 |
| predicted_SLG | 0.241 | -0.076 |
| predicted_SO | 0.649 | -0.008 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.163 HR/AB=0.014
| 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=8.0, weight=0.084, BvP AVG=0.625)
| 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 | 1.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 | 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.115 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.357 |
| predicted_AVG | 0.333 | 0.170 |
| predicted_BB | 0.000 | -0.401 |
| predicted_H | 1.000 | 0.451 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.333 | 0.080 |
| predicted_R | 1.000 | 0.490 |
| predicted_RBI | 0.000 | -0.359 |
| predicted_SLG | 0.333 | 0.092 |
| predicted_SO | 1.000 | 0.351 |
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 | -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 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 4.000 | 0.1579 | 0.2000 | 0.1579 | 0.1579 | 0.0000 | 0.1053 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 34.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 4.000 | 5.000 | 7.000 | 0.1471 | 0.2564 | 0.1471 | 0.1471 | 0.0000 | 0.1471 | 0.1471 | 0.2059 |
| season | 0.60 | 76 | - | 250.000 | 65.000 | 10.000 | 0.000 | 6.000 | 36.000 | 38.000 | 31.000 | 48.000 | 0.2600 | 0.3486 | 0.3720 | 0.2600 | 0.0240 | 0.1440 | 0.1240 | 0.1920 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0910 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4510 |
| predicted_AVG | 0.2200 |
| predicted_BB | 0.3800 |
| predicted_H | 0.7590 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0570 |
| predicted_OBP | 0.3009 |
| predicted_R | 0.4670 |
| predicted_RBI | 0.4690 |
| predicted_SLG | 0.2961 |
| predicted_SO | 0.6930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.0910 | 0.1147 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2890 | 3.4510 | 3.3574 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2200 | 0.2518 | model_form_blend |
| predicted_BB | 0.4080 | 0.3800 | 0.3962 | model_form_blend |
| predicted_H | 0.3700 | 0.7590 | 0.5342 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0400 | 0.0570 | 0.0472 | model_form_blend |
| predicted_OBP | 0.2900 | 0.3009 | 0.2946 | model_form_blend |
| predicted_R | 0.5000 | 0.4670 | 0.4861 | model_form_blend |
| predicted_RBI | 0.2500 | 0.4690 | 0.3424 | model_form_blend |
| predicted_SLG | 0.3320 | 0.2961 | 0.3168 | model_form_blend |
| predicted_SO | 0.6320 | 0.6930 | 0.6577 | 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 | 273 |
| Season rows before report date | 273 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.26 |
| 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 | 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 | C |
| gameID | 20260729_CHC@STL |
| game_type | short |
| mlbID | 608348 |
| playerID | 608348 |
| playerName | Carson Kelly |
| pos | C |
| started | False |
| startingPosition | C |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.326 |
| sl_xwoba | 0.316 |
| sl_xba | 0.237 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 20.5 |
| sl_swing_percent | 44.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.130 | 0.000 | 0.000 | Hitting_2B | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_3B | 0.030 | 1.000 | 0.000 | Hitting_3B | 0.044 | 0.000 | 0.956 | 1.000 |
| predicted_AB | 3.800 | 4.000 | 4.000 | Hitting_AB | 3.553 | 4.000 | 0.447 | 0.000 |
| predicted_AVG | 0.246 | 0.250 | 0.250 | Hitting_AVG | 0.230 | 0.000 | 0.020 | 0.250 |
| predicted_BB | 0.400 | 0.000 | 0.000 | Hitting_BB | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 1.000 | 1.000 | Hitting_H | 0.816 | 0.000 | 0.184 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.166 | 0.000 | -0.166 | 0.000 |
| predicted_OBP | 0.306 | 0.250 | 0.250 | Hitting_OBP | 0.312 | 0.000 | -0.062 | 0.250 |
| predicted_R | 0.640 | 0.000 | 1.000 | Hitting_R | 0.717 | 1.000 | -0.717 | -1.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.639 | 0.000 | -0.639 | 0.000 |
| predicted_SLG | 0.399 | 0.750 | 0.250 | Hitting_SLG | 0.431 | 0.000 | 0.319 | 0.750 |
| predicted_SO | 0.890 | 1.000 | 1.000 | Hitting_SO | 0.883 | 1.000 | 0.117 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_3B: 0.0300 -> 1.0000 (boost 0.9700, better) |
| Biggest Deboost | predicted_R: 0.6400 -> 0.0000 (deboost -0.6400, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 3.8000 -> 3.7348 (deboost -0.0652, 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.3087 -> 0.3218 (boost 0.0131, better) | - | 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.5267 -> 1.0000 (boost 0.4733, better) | predicted_BB: 0.3791 -> 0.0000 (deboost -0.3791, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.249 HR/AB=0.027 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6933 -> 1.0000 (boost 0.3067, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3922 -> 0.2500 (deboost -0.1422, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3922 (boost 0.1422, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621020",
"player_name": "Dansby Swanson",
"position": "SS",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.13,
"predicted_3B": 0.03,
"predicted_AB": 3.8,
"predicted_AVG": 0.246,
"predicted_BB": 0.4,
"predicted_H": 0.93,
"predicted_HR": 0.11,
"predicted_OBP": 0.306,
"predicted_R": 0.64,
"predicted_RBI": 0.5,
"predicted_SLG": 0.399,
"predicted_SO": 0.89
},
"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.142,
"predicted_3B": 0.033,
"predicted_AB": 3.7348,
"predicted_AVG": 0.2469,
"predicted_BB": 0.3743,
"predicted_H": 0.9193,
"predicted_HBP": 0.008,
"predicted_HR": 0.1018,
"predicted_OBP": 0.3087,
"predicted_R": 0.661,
"predicted_RBI": 0.5021,
"predicted_SLG": 0.3936,
"predicted_SO": 0.8982
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.142,
"delta": 0.012,
"percent_delta": 0.0923,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.033,
"delta": 0.003,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 3.7348,
"delta": -0.0652,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2469,
"delta": 0.0009,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.3743,
"delta": -0.0257,
"percent_delta": -0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9193,
"delta": -0.0107,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1018,
"delta": -0.0082,
"percent_delta": -0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3087,
"delta": 0.0027,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.64,
"after": 0.661,
"delta": 0.021,
"percent_delta": 0.0328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5021,
"delta": 0.0021,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.3936,
"delta": -0.0054,
"percent_delta": -0.0135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.89,
"after": 0.8982,
"delta": 0.0082,
"percent_delta": 0.0092,
"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_AB",
"before": 3.8,
"after": 3.7348,
"delta": -0.0652,
"percent_delta": -0.0172,
"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.142,
"predicted_3B": 0.033,
"predicted_AB": 3.7348,
"predicted_AVG": 0.2529,
"predicted_BB": 0.3791,
"predicted_H": 0.9446,
"predicted_HBP": 0.008,
"predicted_HR": 0.1041,
"predicted_OBP": 0.3218,
"predicted_R": 0.6933,
"predicted_RBI": 0.5267,
"predicted_SLG": 0.3922,
"predicted_SO": 0.8866
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.142,
"after": 0.142,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.033,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7348,
"after": 3.7348,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2469,
"after": 0.2529,
"delta": 0.006,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3743,
"after": 0.3791,
"delta": 0.0048,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9193,
"after": 0.9446,
"delta": 0.0253,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1018,
"after": 0.1041,
"delta": 0.0023,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3087,
"after": 0.3218,
"delta": 0.0131,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.661,
"after": 0.6933,
"delta": 0.0323,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5021,
"after": 0.5267,
"delta": 0.0246,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3936,
"after": 0.3922,
"delta": -0.0014,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8982,
"after": 0.8866,
"delta": -0.0116,
"percent_delta": -0.0129,
"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.3087,
"after": 0.3218,
"delta": 0.0131,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.80), rates preserved: AVG=0.249 HR/AB=0.027",
"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.142,
"after": 0.0,
"delta": -0.142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7348,
"after": 4.0,
"delta": 0.2652,
"percent_delta": 0.071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3791,
"after": 0.0,
"delta": -0.3791,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9446,
"after": 1.0,
"delta": 0.0554,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1041,
"after": 0.0,
"delta": -0.1041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5267,
"after": 1.0,
"delta": 0.4733,
"percent_delta": 0.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8866,
"after": 1.0,
"delta": 0.1134,
"percent_delta": 0.1279,
"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.5267,
"after": 1.0,
"delta": 0.4733,
"percent_delta": 0.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3791,
"after": 0.0,
"delta": -0.3791,
"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=16.0, weight=0.139, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.8609,
"bvp": 0.1391
},
"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": 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.6933,
"after": 1.0,
"delta": 0.3067,
"percent_delta": 0.4424,
"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.6933,
"after": 1.0,
"delta": 0.3067,
"percent_delta": 0.4424,
"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": 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.2529,
"after": 0.25,
"delta": -0.0029,
"percent_delta": -0.0115,
"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_OBP",
"before": 0.3218,
"after": 0.25,
"delta": -0.0718,
"percent_delta": -0.2231,
"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.3922,
"after": 0.25,
"delta": -0.1422,
"percent_delta": -0.3626,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3922,
"after": 0.25,
"delta": -0.1422,
"percent_delta": -0.3626,
"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": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_3B",
"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": 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": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2529,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3218,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3922,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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.2529,
"delta": 0.0029,
"percent_delta": 0.0117,
"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_OBP",
"before": 0.25,
"after": 0.3218,
"delta": 0.0718,
"percent_delta": 0.2871,
"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.3922,
"delta": 0.1422,
"percent_delta": 0.5688,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3922,
"delta": 0.1422,
"percent_delta": 0.5688,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 1.0,
"delta": 0.97,
"percent_delta": 32.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 4.0,
"delta": 0.2,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2529,
"delta": 0.0069,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"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.93,
"after": 1.0,
"delta": 0.07,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3218,
"delta": 0.0158,
"percent_delta": 0.0516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.3922,
"delta": -0.0068,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 6,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.03,
"after": 1.0,
"delta": 0.97,
"percent_delta": 32.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"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.130 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.640 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.399 | - |
| predicted_SO | 0.890 | - |
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.142 | 0.012 |
| predicted_3B | 0.033 | 0.003 |
| predicted_AB | 3.735 | -0.065 |
| predicted_AVG | 0.247 | 0.001 |
| predicted_BB | 0.374 | -0.026 |
| predicted_H | 0.919 | -0.011 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.102 | -0.008 |
| predicted_OBP | 0.309 | 0.003 |
| predicted_R | 0.661 | 0.021 |
| predicted_RBI | 0.502 | 0.002 |
| predicted_SLG | 0.394 | -0.005 |
| predicted_SO | 0.898 | 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.142 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.735 | 0.000 |
| predicted_AVG | 0.253 | 0.006 |
| predicted_BB | 0.379 | 0.005 |
| predicted_H | 0.945 | 0.025 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.104 | 0.002 |
| predicted_OBP | 0.322 | 0.013 |
| predicted_R | 0.693 | 0.032 |
| predicted_RBI | 0.527 | 0.025 |
| predicted_SLG | 0.392 | -0.001 |
| predicted_SO | 0.887 | -0.012 |
AB rounded to 4 (raw=3.80), rates preserved: AVG=0.249 HR/AB=0.027
| 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 | - |
Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.125)
| 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 |
| 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 | 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.142 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | 0.265 |
| predicted_AVG | 0.250 | -0.003 |
| predicted_BB | 0.000 | -0.379 |
| predicted_H | 1.000 | 0.055 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.250 | -0.072 |
| predicted_R | 1.000 | 0.307 |
| predicted_RBI | 1.000 | 0.473 |
| predicted_SLG | 0.250 | -0.142 |
| predicted_SO | 1.000 | 0.113 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.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 | -1.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 | 1.000 | 0.000 | 0.000 | 3.000 | 4.000 | 1.000 | 6.000 | 0.3000 | 0.3333 | 0.3500 | 0.3000 | 0.0000 | 0.1500 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 1.000 | 0.000 | 3.000 | 8.000 | 3.000 | 7.000 | 0.2895 | 0.3415 | 0.3947 | 0.2895 | 0.0000 | 0.0790 | 0.0790 | 0.1842 |
| season | 0.60 | 100 | - | 346.000 | 75.000 | 13.000 | 3.000 | 14.000 | 54.000 | 64.000 | 40.000 | 89.000 | 0.2168 | 0.2967 | 0.3931 | 0.2168 | 0.0405 | 0.1561 | 0.1156 | 0.2572 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1580 |
| predicted_3B | 0.0370 |
| predicted_AB | 3.6480 |
| predicted_AVG | 0.2480 |
| predicted_BB | 0.3400 |
| predicted_H | 0.9050 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.3124 |
| predicted_R | 0.6890 |
| predicted_RBI | 0.5050 |
| predicted_SLG | 0.3865 |
| predicted_SO | 0.9090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.1580 | 0.1420 | model_form_blend |
| predicted_3B | 0.0300 | 0.0370 | 0.0330 | model_form_blend |
| predicted_AB | 3.8000 | 3.6480 | 3.7348 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2480 | 0.2469 | model_form_blend |
| predicted_BB | 0.4000 | 0.3400 | 0.3743 | model_form_blend |
| predicted_H | 0.9300 | 0.9050 | 0.9193 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1100 | 0.0910 | 0.1018 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3124 | 0.3087 | model_form_blend |
| predicted_R | 0.6400 | 0.6890 | 0.6610 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5050 | 0.5021 | model_form_blend |
| predicted_SLG | 0.3990 | 0.3865 | 0.3936 | model_form_blend |
| predicted_SO | 0.8900 | 0.9090 | 0.8982 | 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 | 385 |
| Season rows before report date | 385 |
| 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 | 1 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.217 |
| 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 | 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 | 20260729_CHC@STL |
| game_type | full |
| mlbID | 621020 |
| playerID | 621020 |
| playerName | Dansby Swanson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.31 |
| sl_xwoba | 0.307 |
| sl_xba | 0.224 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 30.7 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 42.8 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 47.3 |
| 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 | 0.941 | 0.000 | 2.059 | 3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.647 | 0.000 | 1.353 | 3.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 3.353 | 1.000 | 0.647 | 3.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 3.624 | 3.000 | 1.376 | 2.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 2.471 | 3.000 | 4.529 | 4.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.0000 (deboost -0.3333, 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 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.0000 (deboost -0.3333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 4 | 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": "665871",
"player_name": "Javier Assad",
"position": "Starter",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 4.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"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.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"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": 0.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"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 | 3.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 7.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| 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 | 0.000 | 0.000 |
| predicted_IP | 5.000 | -0.333 |
| predicted_SO | 7.000 | 0.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 | 0.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| predicted_SO | 7.000 | 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 | 16.100 | 6.000 | 17.000 | 5.000 | 12.000 | 4.000 | 3.3061 | 1.3469 | 0.3674 | 1.0408 | 0.3061 | 0.7347 | 0.2449 |
| last_10 | 0.35 | 10 | 41.100 | 12.000 | 34.000 | 9.000 | 29.000 | 9.000 | 2.6129 | 1.0403 | 0.2903 | 0.8226 | 0.2177 | 0.7016 | 0.2177 |
| season | 0.20 | 17 | 65.100 | 28.000 | 57.000 | 16.000 | 42.000 | 12.000 | 3.8571 | 1.1173 | 0.4286 | 0.8724 | 0.2449 | 0.6429 | 0.1837 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1570 |
| predicted_ER | 1.5780 |
| predicted_ERA | 3.4876 |
| predicted_H | 3.8310 |
| predicted_HR | 0.8420 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.1040 |
| predicted_WHIP | 1.2251 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.1570 | 1.9790 | model_form_blend |
| predicted_ER | 3.0000 | 1.5780 | 2.2123 | model_form_blend |
| predicted_ERA | - | 3.4876 | 3.4876 | form_only |
| predicted_H | 4.0000 | 3.8310 | 3.9064 | model_form_blend |
| predicted_HR | 0.0000 | 0.8420 | 0.4664 | model_form_blend |
| predicted_IP | 5.1000 | 4.0000 | 4.2000 | model_form_blend |
| predicted_SO | 7.0000 | 3.1040 | 4.8417 | model_form_blend |
| predicted_WHIP | - | 1.2251 | 1.2251 | 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 | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 7 |
| HR | 0 |
| BF | 22 |
| 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 | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 11 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.86 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.0 |
| Pitching_Pitches | 32 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 25 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260725_CHC@PIT |
| game_type | full |
| mlbID | 665871 |
| playerID | 665871 |
| playerName | Javier Assad |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-25 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.305 |
| sl_xwoba | 0.331 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 48.0 |
| sl_whiff_percent | 13.6 |
| sl_swing_percent | 44.5 |
| sl_avg_best_speed | 79.6698574 |
| sl_avg_hyper_speed | 94.83282615 |
| 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.351 | 0.000 | -0.351 | 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.703 | 1.000 | -0.703 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.714 | 1.000 | 0.286 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.135 | 2.000 | -1.135 | -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": "573204",
"player_name": "Caleb Thielbar",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.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": 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": 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": 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": 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 | 0.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.100 | 1.000 | 3.000 | 0.000 | 7.000 | 1.000 | 2.0769 | 0.6923 | 0.2308 | 0.6923 | 0.0000 | 1.6154 | 0.2308 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 9.000 | 0.000 | 13.000 | 3.000 | 3.1154 | 1.0385 | 0.3462 | 1.0385 | 0.0000 | 1.5000 | 0.3462 |
| season | 0.20 | 36 | 32.000 | 13.000 | 25.000 | 12.000 | 42.000 | 7.000 | 3.6562 | 1.1562 | 0.4062 | 0.7812 | 0.3750 | 1.3125 | 0.2188 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1980 |
| predicted_ER | 0.3940 |
| predicted_ERA | 3.5466 |
| predicted_H | 0.8950 |
| predicted_HR | 0.2170 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2700 |
| predicted_WHIP | 1.0934 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1980 | 0.0919 | model_form_blend |
| predicted_ER | 0.0000 | 0.3940 | 0.1829 | model_form_blend |
| predicted_ERA | - | 3.5466 | 3.5466 | form_only |
| predicted_H | 0.0000 | 0.8950 | 0.4156 | model_form_blend |
| predicted_HR | 0.0000 | 0.2170 | 0.1008 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2700 | 0.5897 | model_form_blend |
| predicted_WHIP | - | 1.0934 | 1.0934 | 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 | 36 |
| 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 | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| 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.94 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 573204 |
| playerID | 573204 |
| playerName | Caleb Thielbar |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.308 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 39.7 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 52.5 |
| sl_avg_best_speed | 76.400770263 |
| sl_avg_hyper_speed | 94.654893158 |
| 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.362 | 0.000 | -0.362 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.298 | 0.000 | -0.298 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.894 | 0.000 | 0.106 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.891 | 1.000 | 0.109 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.170 | 3.000 | -0.170 | -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": "657097",
"player_name": "Jacob Webb",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.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": 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": 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": 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": 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 | 1.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 | 5.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 1.2000 | 0.0000 | 1.0000 | 0.2000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 7.000 | 3.000 | 10.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.7000 | 0.3000 | 1.0000 | 0.0000 |
| season | 0.20 | 47 | 46.100 | 14.000 | 42.000 | 17.000 | 55.000 | 6.000 | 2.7194 | 1.2734 | 0.3022 | 0.9065 | 0.3669 | 1.1870 | 0.1295 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2990 |
| predicted_ER | 0.2170 |
| predicted_ERA | 1.9529 |
| predicted_H | 0.9110 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1270 |
| predicted_WHIP | 1.2105 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2990 | 0.1500 | model_form_blend |
| predicted_ER | 0.0000 | 0.2170 | 0.1088 | model_form_blend |
| predicted_ERA | - | 1.9529 | 1.9529 | form_only |
| predicted_H | 1.0000 | 0.9110 | 0.9554 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0351 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1270 | 1.0637 | model_form_blend |
| predicted_WHIP | - | 1.2105 | 1.2105 | 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 | 47 |
| Season rows before report date | 47 |
| 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.72 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 657097 |
| playerID | 657097 |
| playerName | Jacob Webb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.9 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.296 |
| sl_xwoba | 0.314 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 46.0 |
| sl_whiff_percent | 32.5 |
| sl_swing_percent | 51.3 |
| sl_avg_best_speed | 78.834644262 |
| sl_avg_hyper_speed | 94.770899426 |
| 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 | 1.000 | -0.367 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.367 | 2.000 | -0.367 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.833 | 2.000 | -0.833 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.003 | 0.100 | -0.003 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.500 | 0.000 | -0.500 | 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": "663423",
"player_name": "Trent Thornton",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.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": 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": 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": 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": 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 | 0.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 | 2.000 | 5.000 | 1.000 | 2.000 | 0.000 | 4.5000 | 1.5000 | 0.5000 | 1.2500 | 0.2500 | 0.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 9.000 | 1.000 | 4.000 | 0.000 | 3.1154 | 1.1538 | 0.3462 | 1.0385 | 0.1154 | 0.4615 | 0.0000 |
| season | 0.20 | 29 | 32.200 | 10.000 | 24.000 | 11.000 | 15.000 | 4.000 | 2.7551 | 1.0714 | 0.3061 | 0.7347 | 0.3367 | 0.4592 | 0.1225 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2550 |
| predicted_ER | 0.4120 |
| predicted_ERA | 4.0522 |
| predicted_H | 0.9430 |
| predicted_HR | 0.0730 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6290 |
| predicted_WHIP | 1.3100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2550 | 0.1189 | model_form_blend |
| predicted_ER | 0.0000 | 0.4120 | 0.1922 | model_form_blend |
| predicted_ERA | - | 4.0522 | 4.0522 | form_only |
| predicted_H | 0.0000 | 0.9430 | 0.4399 | model_form_blend |
| predicted_HR | 0.0000 | 0.0730 | 0.0341 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6290 | 0.2934 | model_form_blend |
| predicted_WHIP | - | 1.3100 | 1.3100 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 29 |
| 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 | 0 |
| 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 | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.03 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 16 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 663423 |
| playerID | 663423 |
| playerName | Trent Thornton |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-29 |
| sl_k_percent | 12.2 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.277 |
| sl_xwoba | 0.345 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 46.9 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 49.6 |
| sl_avg_best_speed | 81.59460625 |
| sl_avg_hyper_speed | 94.964476146 |
| 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.514 | 1.000 | -0.514 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.324 | 0.000 | 0.676 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.919 | 0.000 | 0.081 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.878 | 0.200 | 0.122 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.135 | 2.000 | -1.135 | -2.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": "669020",
"player_name": "Ryan Rolison",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 0.6667,
"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.0,
"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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"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": 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": 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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"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": 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 | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.667 | - |
| 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 | 5.100 | 1.000 | 5.000 | 2.000 | 6.000 | 0.000 | 1.6875 | 1.3125 | 0.1875 | 0.9375 | 0.3750 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 5.000 | 12.000 | 6.000 | 11.000 | 0.000 | 5.1923 | 2.0769 | 0.5769 | 1.3846 | 0.6923 | 1.2692 | 0.0000 |
| season | 0.20 | 37 | 40.200 | 12.000 | 34.000 | 19.000 | 42.000 | 4.000 | 2.6557 | 1.3033 | 0.2951 | 0.8361 | 0.4672 | 1.0328 | 0.0984 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3910 |
| predicted_ER | 0.3550 |
| predicted_ERA | 3.6599 |
| predicted_H | 0.9050 |
| predicted_HR | 0.0610 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9440 |
| predicted_WHIP | 1.4843 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3910 | 0.1911 | model_form_blend |
| predicted_ER | 1.0000 | 0.3550 | 0.6847 | model_form_blend |
| predicted_ERA | - | 3.6599 | 3.6599 | form_only |
| predicted_H | 1.0000 | 0.9050 | 0.9536 | model_form_blend |
| predicted_HR | 1.0000 | 0.0610 | 0.5410 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9440 | 0.4614 | model_form_blend |
| predicted_WHIP | - | 1.4843 | 1.4843 | 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 | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 4 |
| Pitches | 18 |
| 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.66 |
| 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.2 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260727_CHC@STL |
| game_type | full |
| mlbID | 669020 |
| playerID | 669020 |
| playerName | Ryan Rolison |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-07-27 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.304 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 42.6 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 79.968374706 |
| sl_avg_hyper_speed | 94.069020099 |
| Field | Value |
|---|---|
| Pitcher | Andre Pallante |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1329 |
| ESPN Rank | 61 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0061 |
| Avg Velo | 89.7643 |
| Avg Spin | 2303.4914 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 6 |
| Pre H | 7 |
| Pre BB | 3 |
| Pre SO | 5 |
| Season ERA | 3.7656 |
| Season WHIP | 1.2107 |
| Role Avg IP | 5.6170 |
| Recent Avg IP | 5.9330 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"opponent": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"edges": {
"quality_edge": -0.2307,
"offense_edge": -0.063,
"opponent_offense_edge": 0.1487,
"defense_strength": 0.0694,
"opponent_defense_weakness": -0.0302,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9869,
"run_prevention": 1.0284,
"strikeout": 0.9812
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669467",
"profile": {
"available": true,
"pitcher_id": "669467",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 442.0,
"k_percent": 17.7,
"bb_percent": 6.8,
"woba": 0.295,
"xwoba": 0.296,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 33.9,
"avg_best_speed": 76.4167,
"avg_hyper_speed": 93.6228,
"whiff_percent": 21.1,
"swing_percent": 44.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.4401,
"command_and_miss": -0.4239,
"regression_edge": -0.0286,
"xwoba_edge": 0.4571,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.6,
"whiff_edge": -0.6571,
"bb_edge": 0.525,
"pitch_design_score": -0.0061
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669467",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 89.76432208132069,
"release_spin_rate": 2303.4913836585406,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 89.76432208132069,
"release_spin_rate": 2303.4913836585406,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7643,
"release_spin_rate": 2303.4914,
"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.0061,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0432,
"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.1329,
"sample_weight": 1.0,
"run_prevention_factor": 0.9887,
"strikeout_factor": 0.9471,
"walk_factor": 0.958,
"homer_factor": 0.9392,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669467",
"espn_id": 4109034,
"player_name": "Andre Pallante",
"team": "STL",
"role": "pitcher",
"espn_rank": 61,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 61,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 20.0,
"gs_rank": 43,
"qs_value": 7.0,
"qs_rank": 63,
"era_value": 3.7655,
"era_rank": 36.0,
"w_value": 11.0,
"w_rank": 7,
"l_value": 6.0,
"l_rank": 63,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 112.1,
"ip_rank": 50,
"h_value": 104.0,
"h_rank": 48,
"er_value": 47.0,
"er_rank": 62,
"hr_value": 10.0,
"hr_rank": 117,
"bb_value": 32.0,
"bb_rank": 76,
"k_value": 83.0,
"k_rank": 93,
"k_per_9_value": 6.649852,
"k_per_9_rank": 50,
"whip_value": 1.2106,
"whip_rank": 37.0,
"war_value": 1.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9887,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9887,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.958,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9392,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9471,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 57.1,
"ER": 24,
"H": 55,
"BB": 12,
"SO": 40,
"HR": 3,
"ERA": 3.7674418604651163,
"WHIP": 1.1686046511627906,
"K9": 6.27906976744186,
"HR9": 0.47093023255813954,
"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-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "669467",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 89.76432208132069,
"release_spin_rate": 2303.4913836585406,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 89.76432208132069,
"release_spin_rate": 2303.4913836585406,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7643,
"release_spin_rate": 2303.4914,
"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.0061,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0432,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": "669467",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.2,
"ER": 14.0,
"R": 14.0,
"H": 31.0,
"BB": 7.0,
"SO": 19.0,
"HR": 1.0,
"BF": 123.0,
"Pitches": 475.0
},
"per_game": {
"IP": 6.0,
"ER": 2.8,
"R": 2.8,
"H": 6.2,
"BB": 1.4,
"SO": 3.8,
"HR": 0.2,
"BF": 24.6,
"Pitches": 95.0
},
"rates": {
"ERA": 4.2472,
"WHIP": 1.2809,
"ER_per_IP": 0.47191,
"H_per_IP": 1.04494,
"BB_per_IP": 0.23596,
"SO_per_IP": 0.64045,
"HR_per_IP": 0.03371
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 57.1,
"ER": 24.0,
"R": 24.0,
"H": 55.0,
"BB": 12.0,
"SO": 40.0,
"HR": 3.0,
"BF": 236.0,
"Pitches": 905.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4,
"R": 2.4,
"H": 5.5,
"BB": 1.2,
"SO": 4.0,
"HR": 0.3,
"BF": 23.6,
"Pitches": 90.5
},
"rates": {
"ERA": 3.7674,
"WHIP": 1.1686,
"ER_per_IP": 0.4186,
"H_per_IP": 0.9593,
"BB_per_IP": 0.2093,
"SO_per_IP": 0.69767,
"HR_per_IP": 0.05233
}
},
"season": {
"games": 20,
"totals": {
"IP": 112.1,
"ER": 47.0,
"R": 49.0,
"H": 104.0,
"BB": 32.0,
"SO": 83.0,
"HR": 10.0,
"BF": 469.0,
"Pitches": 1825.0
},
"per_game": {
"IP": 5.2,
"ER": 2.35,
"R": 2.45,
"H": 5.2,
"BB": 1.6,
"SO": 4.15,
"HR": 0.5,
"BF": 23.45,
"Pitches": 91.25
},
"rates": {
"ERA": 3.7656,
"WHIP": 1.2107,
"ER_per_IP": 0.4184,
"H_per_IP": 0.92582,
"BB_per_IP": 0.28487,
"SO_per_IP": 0.73887,
"HR_per_IP": 0.08902
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.634,
"predicted_H": 5.718,
"predicted_BB": 1.506,
"predicted_SO": 4.258,
"predicted_HR": 0.413,
"predicted_ERA": 4.0973,
"predicted_WHIP": 1.2485
}
}{
"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": 6.0,
"form": 2.634,
"final": 4.0965,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.718,
"final": 6.275,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.506,
"final": 2.1551,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.258,
"final": 4.5804,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.413,
"final": 1.1026,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0973,
"final": 4.0973,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2485,
"final": 1.2485,
"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 | George Soriano |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0546 |
| ESPN Rank | 192 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1001 |
| Avg Velo | 91.6602 |
| Avg Spin | 2171.6586 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.4225 |
| Season WHIP | 1.0986 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"opponent": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"edges": {
"quality_edge": -0.2307,
"offense_edge": -0.063,
"opponent_offense_edge": 0.1487,
"defense_strength": 0.0694,
"opponent_defense_weakness": -0.0302,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9869,
"run_prevention": 1.0284,
"strikeout": 0.9812
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666277",
"profile": {
"available": true,
"pitcher_id": "666277",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 179.0,
"k_percent": 22.6,
"bb_percent": 8.4,
"woba": 0.278,
"xwoba": 0.306,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 41.1,
"avg_best_speed": 79.8568,
"avg_hyper_speed": 94.4824,
"whiff_percent": 29.9,
"swing_percent": 49.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.1482,
"command_and_miss": 0.2511,
"regression_edge": -0.8,
"xwoba_edge": 0.1714,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.4286,
"whiff_edge": 0.6,
"bb_edge": 0.125,
"pitch_design_score": 0.1001
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666277",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.66022695794307,
"release_spin_rate": 2171.658566652483,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 91.66022695794307,
"release_spin_rate": 2171.658566652483,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.6602,
"release_spin_rate": 2171.6586,
"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.1001,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7151,
"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.0546,
"sample_weight": 0.716,
"run_prevention_factor": 0.9954,
"strikeout_factor": 1.0182,
"walk_factor": 0.9928,
"homer_factor": 1.0353,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666277",
"espn_id": 4917836,
"player_name": "George Soriano",
"team": "STL",
"role": "pitcher",
"espn_rank": 192,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 192,
"gp_value": 48.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.4225,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 16.0,
"hld_rank": 15,
"ip_value": 47.1,
"ip_rank": 210,
"h_value": 35.0,
"h_rank": 278,
"er_value": 18.0,
"er_rank": 268,
"hr_value": 6.0,
"hr_rank": 208,
"bb_value": 17.0,
"bb_rank": 254,
"k_value": 45.0,
"k_rank": 236,
"k_per_9_value": 8.556338,
"k_per_9_rank": 30,
"whip_value": 1.0985,
"whip_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9967,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9967,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9948,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0253,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.013,
"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": 4,
"H": 8,
"BB": 1,
"SO": 15,
"HR": 2,
"ERA": 3.6,
"WHIP": 0.9,
"K9": 13.5,
"HR9": 1.8,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "666277",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.66022695794307,
"release_spin_rate": 2171.658566652483,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 91.66022695794307,
"release_spin_rate": 2171.658566652483,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.6602,
"release_spin_rate": 2171.6586,
"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.1001,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7151,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.433,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6536,
"prior_weight": 0.3464
},
"role": "pitcher",
"player_id": "666277",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 7.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 1.4,
"HR": 0.2,
"BF": 4.2,
"Pitches": 15.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.2,
"ER_per_IP": 0.4,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 1.0,
"SO": 15.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 153.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.1,
"SO": 1.5,
"HR": 0.2,
"BF": 3.9,
"Pitches": 15.3
},
"rates": {
"ERA": 3.6,
"WHIP": 0.9,
"ER_per_IP": 0.4,
"H_per_IP": 0.8,
"BB_per_IP": 0.1,
"SO_per_IP": 1.5,
"HR_per_IP": 0.2
}
},
"season": {
"games": 48,
"totals": {
"IP": 47.1,
"ER": 18.0,
"R": 19.0,
"H": 35.0,
"BB": 17.0,
"SO": 45.0,
"HR": 6.0,
"BF": 194.0,
"Pitches": 742.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.3958,
"H": 0.7292,
"BB": 0.3542,
"SO": 0.9375,
"HR": 0.125,
"BF": 4.0417,
"Pitches": 15.4583
},
"rates": {
"ERA": 3.4225,
"WHIP": 1.0986,
"ER_per_IP": 0.38028,
"H_per_IP": 0.73944,
"BB_per_IP": 0.35915,
"SO_per_IP": 0.9507,
"HR_per_IP": 0.12676
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.434,
"predicted_H": 0.912,
"predicted_BB": 0.252,
"predicted_SO": 1.211,
"predicted_HR": 0.174,
"predicted_ERA": 3.9075,
"predicted_WHIP": 1.1639
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4964,
"form_weight": 0.5036,
"form_reliability": 0.6536,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.433,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6536,
"prior_weight": 0.3464
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.434,
"final": 0.2186,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.912,
"final": 0.9557,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.252,
"final": 0.1269,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.211,
"final": 1.1063,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.174,
"final": 0.0876,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9075,
"final": 3.9075,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1639,
"final": 1.1639,
"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 | Riley O'Brien |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0610 |
| ESPN Rank | 215 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1876 |
| Avg Velo | 93.2231 |
| Avg Spin | 2259.2101 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.5859 |
| Season WHIP | 1.2188 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"opponent": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"edges": {
"quality_edge": -0.2307,
"offense_edge": -0.063,
"opponent_offense_edge": 0.1487,
"defense_strength": 0.0694,
"opponent_defense_weakness": -0.0302,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9869,
"run_prevention": 1.0284,
"strikeout": 0.9812
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676617",
"profile": {
"available": true,
"pitcher_id": "676617",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 176.0,
"k_percent": 24.4,
"bb_percent": 9.4,
"woba": 0.296,
"xwoba": 0.331,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 40.0,
"avg_best_speed": 76.6073,
"avg_hyper_speed": 94.5036,
"whiff_percent": 27.3,
"swing_percent": 44.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.0897,
"command_and_miss": 0.1868,
"regression_edge": -1.0,
"xwoba_edge": -0.5429,
"barrel_edge": -0.0444,
"hard_hit_edge": -0.2714,
"whiff_edge": 0.2286,
"bb_edge": -0.125,
"pitch_design_score": 0.1876
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676617",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 93.22308393875583,
"release_spin_rate": 2259.2101201590676,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 93.22308393875583,
"release_spin_rate": 2259.2101201590676,
"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.2231,
"release_spin_rate": 2259.2101,
"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.1876,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3403,
"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.061,
"sample_weight": 0.704,
"run_prevention_factor": 1.0052,
"strikeout_factor": 1.0147,
"walk_factor": 1.007,
"homer_factor": 1.0216,
"woba_minus_xwoba": -0.035,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676617",
"espn_id": 41509,
"player_name": "Riley O'Brien",
"team": "STL",
"role": "pitcher",
"espn_rank": 215,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 215,
"gp_value": 43.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.5859,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 26.0,
"sv_rank": 4,
"hld_value": 1.0,
"hld_rank": 231,
"ip_value": 42.2,
"ip_rank": 261,
"h_value": 34.0,
"h_rank": 288,
"er_value": 17.0,
"er_rank": 288,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 18.0,
"bb_rank": 235,
"k_value": 45.0,
"k_rank": 236,
"k_per_9_value": 9.4921875,
"k_per_9_rank": 24,
"whip_value": 1.2187,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0037,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0037,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0049,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0152,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0103,
"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.1,
"ER": 2,
"H": 5,
"BB": 7,
"SO": 12,
"HR": 0,
"ERA": 1.9285714285714288,
"WHIP": 1.2857142857142858,
"K9": 11.571428571428573,
"HR9": 0.0,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "676617",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 93.22308393875583,
"release_spin_rate": 2259.2101201590676,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 93.22308393875583,
"release_spin_rate": 2259.2101201590676,
"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.2231,
"release_spin_rate": 2259.2101,
"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.1876,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3403,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.503,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6297,
"prior_weight": 0.3703
},
"role": "pitcher",
"player_id": "676617",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 6.0,
"SO": 7.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 99.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 1.2,
"SO": 1.4,
"HR": 0.0,
"BF": 5.0,
"Pitches": 19.8
},
"rates": {
"ERA": 4.1538,
"WHIP": 2.0769,
"ER_per_IP": 0.46154,
"H_per_IP": 0.69231,
"BB_per_IP": 1.38462,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 7.0,
"SO": 12.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.7,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.3
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.2857,
"ER_per_IP": 0.21429,
"H_per_IP": 0.53571,
"BB_per_IP": 0.75,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"season": {
"games": 43,
"totals": {
"IP": 42.2,
"ER": 17.0,
"R": 19.0,
"H": 34.0,
"BB": 18.0,
"SO": 45.0,
"HR": 2.0,
"BF": 185.0,
"Pitches": 712.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3953,
"R": 0.4419,
"H": 0.7907,
"BB": 0.4186,
"SO": 1.0465,
"HR": 0.0465,
"BF": 4.3023,
"Pitches": 16.5581
},
"rates": {
"ERA": 3.5859,
"WHIP": 1.2188,
"ER_per_IP": 0.39844,
"H_per_IP": 0.79688,
"BB_per_IP": 0.42188,
"SO_per_IP": 1.05469,
"HR_per_IP": 0.04688
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.416,
"predicted_H": 0.776,
"predicted_BB": 0.743,
"predicted_SO": 1.229,
"predicted_HR": 0.062,
"predicted_ERA": 3.7403,
"predicted_WHIP": 1.5186
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5065,
"form_weight": 0.4935,
"form_reliability": 0.6297,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.503,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6297,
"prior_weight": 0.3703
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.416,
"final": 0.2053,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.776,
"final": 0.8894,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.743,
"final": 0.3667,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.229,
"final": 1.6195,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0306,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7403,
"final": 3.7403,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5186,
"final": 1.5186,
"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 | Ryne Stanek |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0955 |
| ESPN Rank | 465 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2595 |
| Avg Velo | 94.5059 |
| Avg Spin | 2154.9605 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.1371 |
| Season WHIP | 1.4032 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"opponent": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"edges": {
"quality_edge": -0.2307,
"offense_edge": -0.063,
"opponent_offense_edge": 0.1487,
"defense_strength": 0.0694,
"opponent_defense_weakness": -0.0302,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9869,
"run_prevention": 1.0284,
"strikeout": 0.9812
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592773",
"profile": {
"available": true,
"pitcher_id": "592773",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 170.0,
"k_percent": 24.3,
"bb_percent": 13.0,
"woba": 0.318,
"xwoba": 0.307,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 33.0,
"avg_best_speed": 78.1768,
"avg_hyper_speed": 94.0163,
"whiff_percent": 28.8,
"swing_percent": 48.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.1226,
"command_and_miss": 0.0754,
"regression_edge": 0.3143,
"xwoba_edge": 0.1429,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.7286,
"whiff_edge": 0.4429,
"bb_edge": -1.025,
"pitch_design_score": 0.2595
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592773",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.50588596609082,
"release_spin_rate": 2154.960485255271,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 94.50588596609082,
"release_spin_rate": 2154.960485255271,
"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": 94.5059,
"release_spin_rate": 2154.9605,
"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.2595,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8534,
"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.0955,
"sample_weight": 0.68,
"run_prevention_factor": 0.9919,
"strikeout_factor": 1.0196,
"walk_factor": 1.0558,
"homer_factor": 0.9797,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592773",
"espn_id": 33301,
"player_name": "Ryne Stanek",
"team": "STL",
"role": "pitcher",
"espn_rank": 465,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 465,
"gp_value": 46.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.3548,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 17.0,
"hld_rank": 10,
"ip_value": 41.1,
"ip_rank": 276,
"h_value": 35.0,
"h_rank": 278,
"er_value": 20.0,
"er_rank": 237,
"hr_value": 6.0,
"hr_rank": 208,
"bb_value": 25.0,
"bb_rank": 141,
"k_value": 45.0,
"k_rank": 236,
"k_per_9_value": 9.798387,
"k_per_9_rank": 23,
"whip_value": 1.4516,
"whip_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0379,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9862,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0133,
"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": 1,
"H": 4,
"BB": 6,
"SO": 7,
"HR": 0,
"ERA": 1.0384615384615385,
"WHIP": 1.153846153846154,
"K9": 7.26923076923077,
"HR9": 0.0,
"games_pitched": 9,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "592773",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.50588596609082,
"release_spin_rate": 2154.960485255271,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 94.50588596609082,
"release_spin_rate": 2154.960485255271,
"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": 94.5059,
"release_spin_rate": 2154.9605,
"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.2595,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8534,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.237,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6223,
"prior_weight": 0.3777
},
"role": "pitcher",
"player_id": "592773",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 45,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 4.0,
"SO": 5.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.8,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.0714,
"ER_per_IP": 0.21429,
"H_per_IP": 0.21429,
"BB_per_IP": 0.85714,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 6.0,
"SO": 8.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 159.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.9
},
"rates": {
"ERA": 0.931,
"WHIP": 1.0345,
"ER_per_IP": 0.10345,
"H_per_IP": 0.41379,
"BB_per_IP": 0.62069,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.0
}
},
"season": {
"games": 45,
"totals": {
"IP": 41.1,
"ER": 19.0,
"R": 21.0,
"H": 34.0,
"BB": 24.0,
"SO": 45.0,
"HR": 6.0,
"BF": 180.0,
"Pitches": 754.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4222,
"R": 0.4667,
"H": 0.7556,
"BB": 0.5333,
"SO": 1.0,
"HR": 0.1333,
"BF": 4.0,
"Pitches": 16.7556
},
"rates": {
"ERA": 4.1371,
"WHIP": 1.4032,
"ER_per_IP": 0.45968,
"H_per_IP": 0.82258,
"BB_per_IP": 0.58065,
"SO_per_IP": 1.08871,
"HR_per_IP": 0.14516
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.331,
"predicted_H": 0.621,
"predicted_BB": 0.582,
"predicted_SO": 0.978,
"predicted_HR": 0.075,
"predicted_ERA": 2.978,
"predicted_WHIP": 1.2031
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5096,
"form_weight": 0.4904,
"form_reliability": 0.6223,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.237,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6223,
"prior_weight": 0.3777
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.331,
"final": 0.1623,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.621,
"final": 0.3046,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.582,
"final": 0.2854,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.978,
"final": 0.9892,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0368,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.978,
"final": 2.978,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2031,
"final": 1.2031,
"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 | Gordon Graceffo |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.6042 |
| ESPN Rank | 172 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0616 |
| Avg Velo | 90.9718 |
| Avg Spin | 2166.5746 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 3.1863 |
| Season WHIP | 1.1180 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 118,
"wins": 60,
"losses": 58,
"win_pct": 0.5085,
"runs_scored": 500.0,
"runs_allowed": 499.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0085,
"avg_runs_scored": 4.2373,
"avg_runs_allowed": 4.2288,
"offense_index": 0.937,
"defense_index": 1.0694,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.6,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.0617
},
"opponent": {
"team": "CHC",
"games": 118,
"wins": 64,
"losses": 54,
"win_pct": 0.5424,
"runs_scored": 613.0,
"runs_allowed": 518.0,
"run_differential": 95.0,
"run_differential_per_game": 0.8051,
"avg_runs_scored": 5.1949,
"avg_runs_allowed": 4.3898,
"offense_index": 1.1487,
"defense_index": 1.0302,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 3.4,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.169
},
"edges": {
"quality_edge": -0.2307,
"offense_edge": -0.063,
"opponent_offense_edge": 0.1487,
"defense_strength": 0.0694,
"opponent_defense_weakness": -0.0302,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9869,
"run_prevention": 1.0284,
"strikeout": 0.9812
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "700669",
"profile": {
"available": true,
"pitcher_id": "700669",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 196.0,
"k_percent": 15.8,
"bb_percent": 11.6,
"woba": 0.271,
"xwoba": 0.349,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 45.5,
"avg_best_speed": 83.6758,
"avg_hyper_speed": 95.2845,
"whiff_percent": 17.4,
"swing_percent": 43.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.577,
"command_and_miss": -0.9711,
"regression_edge": -2.0,
"xwoba_edge": -1.0571,
"barrel_edge": -0.8667,
"hard_hit_edge": -1.0571,
"whiff_edge": -1.1857,
"bb_edge": -0.675,
"pitch_design_score": 0.0616
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700669",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.97182041731237,
"release_spin_rate": 2166.5745720047776,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 90.97182041731237,
"release_spin_rate": 2166.5745720047776,
"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.9718,
"release_spin_rate": 2166.5746,
"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.0616,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4397,
"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.6042,
"sample_weight": 0.784,
"run_prevention_factor": 1.0514,
"strikeout_factor": 0.9335,
"walk_factor": 1.0423,
"homer_factor": 1.1124,
"woba_minus_xwoba": -0.078,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "700669",
"espn_id": 5123582,
"player_name": "Gordon Graceffo",
"team": "STL",
"role": "pitcher",
"espn_rank": 172,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 172,
"gp_value": 44.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.1863,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 4.0,
"hld_rank": 162,
"ip_value": 53.2,
"ip_rank": 183,
"h_value": 35.0,
"h_rank": 278,
"er_value": 19.0,
"er_rank": 248,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 25.0,
"bb_rank": 141,
"k_value": 34.0,
"k_rank": 318,
"k_per_9_value": 5.7018633,
"k_per_9_rank": 46,
"whip_value": 1.118,
"whip_rank": null,
"war_value": 0.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0403,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0403,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0332,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0881,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9479,
"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": 14.1,
"ER": 4,
"H": 8,
"BB": 6,
"SO": 16,
"HR": 1,
"ERA": 2.511627906976744,
"WHIP": 0.9767441860465116,
"K9": 10.046511627906977,
"HR9": 0.627906976744186,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "700669",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.97182041731237,
"release_spin_rate": 2166.5745720047776,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 90.97182041731237,
"release_spin_rate": 2166.5745720047776,
"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.9718,
"release_spin_rate": 2166.5746,
"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.0616,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4397,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.695,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6814,
"prior_weight": 0.3186
},
"role": "pitcher",
"player_id": "700669",
"report_date": "20260730_C",
"season_year": 2026,
"rows_used": 44,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 4.0,
"SO": 10.0,
"HR": 1.0,
"BF": 33.0,
"Pitches": 141.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8,
"R": 0.8,
"H": 1.4,
"BB": 0.8,
"SO": 2.0,
"HR": 0.2,
"BF": 6.6,
"Pitches": 28.2
},
"rates": {
"ERA": 4.9091,
"WHIP": 1.5,
"ER_per_IP": 0.54545,
"H_per_IP": 0.95455,
"BB_per_IP": 0.54545,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.13636
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.1,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 6.0,
"SO": 16.0,
"HR": 1.0,
"BF": 57.0,
"Pitches": 237.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.6,
"SO": 1.6,
"HR": 0.1,
"BF": 5.7,
"Pitches": 23.7
},
"rates": {
"ERA": 2.5116,
"WHIP": 0.9767,
"ER_per_IP": 0.27907,
"H_per_IP": 0.55814,
"BB_per_IP": 0.4186,
"SO_per_IP": 1.11628,
"HR_per_IP": 0.06977
}
},
"season": {
"games": 44,
"totals": {
"IP": 53.2,
"ER": 19.0,
"R": 21.0,
"H": 35.0,
"BB": 25.0,
"SO": 34.0,
"HR": 5.0,
"BF": 215.0,
"Pitches": 800.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4318,
"R": 0.4773,
"H": 0.7955,
"BB": 0.5682,
"SO": 0.7727,
"HR": 0.1136,
"BF": 4.8864,
"Pitches": 18.1818
},
"rates": {
"ERA": 3.1863,
"WHIP": 1.118,
"ER_per_IP": 0.35404,
"H_per_IP": 0.65217,
"BB_per_IP": 0.46584,
"SO_per_IP": 0.63354,
"HR_per_IP": 0.09317
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.45,
"predicted_H": 0.838,
"predicted_BB": 0.45,
"predicted_SO": 1.092,
"predicted_HR": 0.121,
"predicted_ERA": 3.9896,
"predicted_WHIP": 1.2696
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4846,
"form_weight": 0.5154,
"form_reliability": 0.6814,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.695,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6814,
"prior_weight": 0.3186
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.45,
"final": 0.2319,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.838,
"final": 0.9165,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.45,
"final": 0.7165,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.092,
"final": 0.5628,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.121,
"final": 0.0624,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9896,
"final": 3.9896,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2696,
"final": 1.2696,
"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.100 | 0.000 | 0.000 | Hitting_2B | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.940 | 3.000 | 4.000 | Hitting_AB | 4.029 | 4.000 | -1.029 | -1.000 |
| predicted_AVG | 0.251 | 0.333 | 0.250 | Hitting_AVG | 0.260 | 0.000 | 0.073 | 0.333 |
| predicted_BB | 0.460 | 1.000 | 0.000 | Hitting_BB | 0.474 | 1.000 | 0.526 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 1.000 | 1.000 | Hitting_H | 1.047 | 0.000 | -0.047 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_OBP | 0.330 | 0.500 | 0.250 | Hitting_OBP | 0.357 | 0.200 | 0.143 | 0.300 |
| predicted_R | 0.660 | 0.000 | 1.000 | Hitting_R | 0.688 | 1.000 | -0.688 | -1.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.436 | 0.000 | -0.436 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_SLG | 0.391 | 0.333 | 0.250 | Hitting_SLG | 0.409 | 0.000 | -0.076 | 0.333 |
| predicted_SO | 0.720 | 1.000 | 1.000 | Hitting_SO | 0.719 | 0.000 | 0.281 | 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_BB: 0.4600 -> 1.0000 (boost 0.5400, better) |
| Biggest Deboost | predicted_AB: 3.9400 -> 3.0000 (deboost -0.9400, 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_H: 0.9900 -> 0.8971 (deboost -0.0929, 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.3206 -> 0.3093 (deboost -0.0113, 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.7446 -> 1.0000 (boost 0.2554, worse) | predicted_BB: 0.4745 -> 0.0000 (deboost -0.4745, worse) | AB rounded to 4 (raw=3.94), rates preserved: AVG=0.222 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6400 -> 1.0000 (boost 0.3600, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2249 -> 0.2500 (boost 0.0251, better) | predicted_SLG: 0.3474 -> 0.2500 (deboost -0.0974, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.3474 (boost 0.0974, better) | predicted_AVG: 0.2500 -> 0.2249 (deboost -0.0251, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"position": "2B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.1,
"predicted_3B": 0.0,
"predicted_AB": 3.94,
"predicted_AVG": 0.251,
"predicted_BB": 0.46,
"predicted_H": 0.99,
"predicted_HR": 0.15,
"predicted_OBP": 0.33,
"predicted_R": 0.66,
"predicted_RBI": 0.39,
"predicted_SLG": 0.391,
"predicted_SO": 0.72
},
"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.0853,
"predicted_3B": 0.0004,
"predicted_AB": 3.8813,
"predicted_AVG": 0.2306,
"predicted_BB": 0.479,
"predicted_H": 0.8971,
"predicted_HBP": 0.073,
"predicted_HR": 0.1327,
"predicted_OBP": 0.3206,
"predicted_R": 0.6717,
"predicted_RBI": 0.3434,
"predicted_SLG": 0.3551,
"predicted_SO": 0.7377
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1,
"after": 0.0853,
"delta": -0.0147,
"percent_delta": -0.147,
"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.94,
"after": 3.8813,
"delta": -0.0587,
"percent_delta": -0.0149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2306,
"delta": -0.0204,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 0.479,
"delta": 0.019,
"percent_delta": 0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.8971,
"delta": -0.0929,
"percent_delta": -0.0938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1327,
"delta": -0.0173,
"percent_delta": -0.1153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3206,
"delta": -0.0094,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.66,
"after": 0.6717,
"delta": 0.0117,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3434,
"delta": -0.0466,
"percent_delta": -0.1195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3551,
"delta": -0.0359,
"percent_delta": -0.0918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 0.7377,
"delta": 0.0177,
"percent_delta": 0.0246,
"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_H",
"before": 0.99,
"after": 0.8971,
"delta": -0.0929,
"percent_delta": -0.0938,
"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.0853,
"predicted_3B": 0.0004,
"predicted_AB": 3.8813,
"predicted_AVG": 0.2249,
"predicted_BB": 0.4745,
"predicted_H": 0.873,
"predicted_HBP": 0.073,
"predicted_HR": 0.1298,
"predicted_OBP": 0.3093,
"predicted_R": 0.64,
"predicted_RBI": 0.3272,
"predicted_SLG": 0.3474,
"predicted_SO": 0.7446
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0853,
"after": 0.0853,
"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.8813,
"after": 3.8813,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2306,
"after": 0.2249,
"delta": -0.0057,
"percent_delta": -0.0247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.479,
"after": 0.4745,
"delta": -0.0045,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8971,
"after": 0.873,
"delta": -0.0241,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1327,
"after": 0.1298,
"delta": -0.0029,
"percent_delta": -0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3206,
"after": 0.3093,
"delta": -0.0113,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6717,
"after": 0.64,
"delta": -0.0317,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3434,
"after": 0.3272,
"delta": -0.0162,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3551,
"after": 0.3474,
"delta": -0.0077,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7377,
"after": 0.7446,
"delta": 0.0069,
"percent_delta": 0.0094,
"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.3206,
"after": 0.3093,
"delta": -0.0113,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.94), rates preserved: AVG=0.222 HR/AB=0.033",
"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.0853,
"after": 0.0,
"delta": -0.0853,
"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.8813,
"after": 4.0,
"delta": 0.1187,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4745,
"after": 0.0,
"delta": -0.4745,
"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_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1298,
"after": 0.0,
"delta": -0.1298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3272,
"after": 0.0,
"delta": -0.3272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7446,
"after": 1.0,
"delta": 0.2554,
"percent_delta": 0.343,
"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.7446,
"after": 1.0,
"delta": 0.2554,
"percent_delta": 0.343,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4745,
"after": 0.0,
"delta": -0.4745,
"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.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"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.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"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.2249,
"after": 0.25,
"delta": 0.0251,
"percent_delta": 0.1116,
"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.3093,
"after": 0.25,
"delta": -0.0593,
"percent_delta": -0.1917,
"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.3474,
"after": 0.25,
"delta": -0.0974,
"percent_delta": -0.2804,
"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.2249,
"after": 0.25,
"delta": 0.0251,
"percent_delta": 0.1116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3474,
"after": 0.25,
"delta": -0.0974,
"percent_delta": -0.2804,
"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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 0.0,
"delta": -1.0,
"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_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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2249,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3093,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3474,
"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.25,
"after": 0.2249,
"delta": -0.0251,
"percent_delta": -0.1003,
"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": 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.3093,
"delta": 0.0593,
"percent_delta": 0.2374,
"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.3474,
"delta": 0.0974,
"percent_delta": 0.3896,
"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.3474,
"delta": 0.0974,
"percent_delta": 0.3896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2249,
"delta": -0.0251,
"percent_delta": -0.1003,
"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.1,
"after": 0.0,
"delta": -0.1,
"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.94,
"after": 3.0,
"delta": -0.94,
"percent_delta": -0.2386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2249,
"delta": -0.0261,
"percent_delta": -0.104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.33,
"after": 0.3093,
"delta": -0.0207,
"percent_delta": -0.0627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3474,
"delta": -0.0436,
"percent_delta": -0.1115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"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_BB",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.94,
"after": 3.0,
"delta": -0.94,
"percent_delta": -0.2386,
"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.100 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.460 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.660 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 0.720 | - |
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.085 | -0.015 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.881 | -0.059 |
| predicted_AVG | 0.231 | -0.020 |
| predicted_BB | 0.479 | 0.019 |
| predicted_H | 0.897 | -0.093 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.133 | -0.017 |
| predicted_OBP | 0.321 | -0.009 |
| predicted_R | 0.672 | 0.012 |
| predicted_RBI | 0.343 | -0.047 |
| predicted_SLG | 0.355 | -0.036 |
| predicted_SO | 0.738 | 0.018 |
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.085 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.881 | 0.000 |
| predicted_AVG | 0.225 | -0.006 |
| predicted_BB | 0.474 | -0.005 |
| predicted_H | 0.873 | -0.024 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.130 | -0.003 |
| predicted_OBP | 0.309 | -0.011 |
| predicted_R | 0.640 | -0.032 |
| predicted_RBI | 0.327 | -0.016 |
| predicted_SLG | 0.347 | -0.008 |
| predicted_SO | 0.745 | 0.007 |
AB rounded to 4 (raw=3.94), rates preserved: AVG=0.222 HR/AB=0.033
| 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.085 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.119 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 0.000 | -0.474 |
| predicted_H | 1.000 | 0.127 |
| predicted_HR | 0.000 | -0.130 |
| predicted_OBP | 0.250 | -0.059 |
| predicted_R | 1.000 | 0.360 |
| predicted_RBI | 0.000 | -0.327 |
| predicted_SLG | 0.250 | -0.097 |
| predicted_SO | 1.000 | 0.255 |
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 | -1.000 |
| BB | 1.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 | 0.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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 4.000 | 0.1111 | 0.2381 | 0.1111 | 0.1111 | 0.0000 | 0.0000 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 10 | - | 36.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 7.000 | 6.000 | 8.000 | 0.1389 | 0.2619 | 0.2222 | 0.1389 | 0.0278 | 0.0556 | 0.1667 | 0.2222 |
| season | 0.60 | 100 | - | 394.000 | 99.000 | 10.000 | 0.000 | 15.000 | 39.000 | 66.000 | 46.000 | 72.000 | 0.2513 | 0.3473 | 0.3909 | 0.2513 | 0.0381 | 0.0990 | 0.1168 | 0.1827 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8040 |
| predicted_AVG | 0.2037 |
| predicted_BB | 0.5040 |
| predicted_H | 0.7750 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.1100 |
| predicted_OBP | 0.3082 |
| predicted_R | 0.6870 |
| predicted_RBI | 0.2820 |
| predicted_SLG | 0.3079 |
| predicted_SO | 0.7610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1000 | 0.0660 | 0.0853 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9400 | 3.8040 | 3.8813 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2037 | 0.2306 | model_form_blend |
| predicted_BB | 0.4600 | 0.5040 | 0.4790 | model_form_blend |
| predicted_H | 0.9900 | 0.7750 | 0.8971 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.1500 | 0.1100 | 0.1327 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3082 | 0.3206 | model_form_blend |
| predicted_R | 0.6600 | 0.6870 | 0.6717 | model_form_blend |
| predicted_RBI | 0.3900 | 0.2820 | 0.3434 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3079 | 0.3551 | model_form_blend |
| predicted_SO | 0.7200 | 0.7610 | 0.7377 | 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 | 445 |
| Season rows before report date | 445 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.251 |
| 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 | 1 |
| 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 | 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 | 2B |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 802139 |
| playerID | 802139 |
| playerName | JJ Wetherholt |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.331 |
| sl_xwoba | 0.347 |
| sl_xba | 0.257 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 43.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.221 | 0.000 | 0.000 | Hitting_2B | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.837 | 4.000 | 4.000 | Hitting_AB | 3.921 | 5.000 | 0.079 | -1.000 |
| predicted_AVG | 0.283 | 0.000 | 0.250 | Hitting_AVG | 0.302 | 0.200 | -0.302 | -0.200 |
| predicted_BB | 0.356 | 0.000 | 0.000 | Hitting_BB | 0.377 | 0.000 | -0.377 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 1.087 | 0.000 | 1.000 | Hitting_H | 1.184 | 1.000 | -1.184 | -1.000 |
| predicted_HR | 0.192 | 0.000 | 0.000 | Hitting_HR | 0.223 | 0.000 | -0.223 | 0.000 |
| predicted_OBP | 0.344 | 0.000 | 0.250 | Hitting_OBP | 0.365 | 0.200 | -0.365 | -0.200 |
| predicted_R | 0.625 | 0.000 | 1.000 | Hitting_R | 0.686 | 1.000 | -0.686 | -1.000 |
| predicted_RBI | 0.702 | 0.000 | 1.000 | Hitting_RBI | 0.812 | 1.000 | -0.812 | -1.000 |
| predicted_SLG | 0.491 | 0.000 | 0.250 | Hitting_SLG | 0.537 | 0.200 | -0.537 | -0.200 |
| predicted_SO | 1.048 | 3.000 | 1.000 | Hitting_SO | 1.065 | 2.000 | 1.935 | 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: 1.0480 -> 3.0000 (boost 1.9520, worse) |
| Biggest Deboost | predicted_H: 1.0870 -> 0.0000 (deboost -1.0870, 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_RBI: 0.7020 -> 0.6144 (deboost -0.0876, 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.4477 -> 0.4379 (deboost -0.0098, 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 | 2 | 3 | predicted_RBI: 0.5854 -> 1.0000 (boost 0.4146, better) | predicted_BB: 0.3492 -> 0.0000 (deboost -0.3492, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.257 HR/AB=0.041 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | 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 |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4379 -> 0.2500 (deboost -0.1879, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.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.2500 -> 0.4379 (boost 0.1879, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "DH",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.0,
"predicted_AB": 3.837,
"predicted_AVG": 0.283,
"predicted_BB": 0.356,
"predicted_H": 1.087,
"predicted_HR": 0.192,
"predicted_OBP": 0.344,
"predicted_R": 0.625,
"predicted_RBI": 0.702,
"predicted_SLG": 0.491,
"predicted_SO": 1.048
},
"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.2245,
"predicted_3B": 0.0004,
"predicted_AB": 3.8301,
"predicted_AVG": 0.264,
"predicted_BB": 0.3525,
"predicted_H": 1.0119,
"predicted_HBP": 0.018,
"predicted_HR": 0.1592,
"predicted_OBP": 0.3268,
"predicted_R": 0.5849,
"predicted_RBI": 0.6144,
"predicted_SLG": 0.4477,
"predicted_SO": 1.0346
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.2245,
"delta": 0.0035,
"percent_delta": 0.0158,
"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.837,
"after": 3.8301,
"delta": -0.0069,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.264,
"delta": -0.019,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.3525,
"delta": -0.0035,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.087,
"after": 1.0119,
"delta": -0.0751,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.192,
"after": 0.1592,
"delta": -0.0328,
"percent_delta": -0.1708,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3268,
"delta": -0.0172,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.625,
"after": 0.5849,
"delta": -0.0401,
"percent_delta": -0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.702,
"after": 0.6144,
"delta": -0.0876,
"percent_delta": -0.1248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4477,
"delta": -0.0433,
"percent_delta": -0.0882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.048,
"after": 1.0346,
"delta": -0.0134,
"percent_delta": -0.0128,
"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_RBI",
"before": 0.702,
"after": 0.6144,
"delta": -0.0876,
"percent_delta": -0.1248,
"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": 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.2245,
"predicted_3B": 0.0004,
"predicted_AB": 3.8301,
"predicted_AVG": 0.2571,
"predicted_BB": 0.3492,
"predicted_H": 0.9847,
"predicted_HBP": 0.018,
"predicted_HR": 0.1557,
"predicted_OBP": 0.3192,
"predicted_R": 0.5573,
"predicted_RBI": 0.5854,
"predicted_SLG": 0.4379,
"predicted_SO": 1.0443
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2245,
"after": 0.2245,
"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.8301,
"after": 3.8301,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2571,
"delta": -0.0069,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3525,
"after": 0.3492,
"delta": -0.0033,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0119,
"after": 0.9847,
"delta": -0.0272,
"percent_delta": -0.0269,
"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.1592,
"after": 0.1557,
"delta": -0.0035,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3268,
"after": 0.3192,
"delta": -0.0076,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5849,
"after": 0.5573,
"delta": -0.0276,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6144,
"after": 0.5854,
"delta": -0.029,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4477,
"after": 0.4379,
"delta": -0.0098,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0346,
"after": 1.0443,
"delta": 0.0097,
"percent_delta": 0.0094,
"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.4477,
"after": 0.4379,
"delta": -0.0098,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.257 HR/AB=0.041",
"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.2245,
"after": 0.0,
"delta": -0.2245,
"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.8301,
"after": 4.0,
"delta": 0.1699,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3492,
"after": 0.0,
"delta": -0.3492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9847,
"after": 1.0,
"delta": 0.0153,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1557,
"after": 0.0,
"delta": -0.1557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5854,
"after": 1.0,
"delta": 0.4146,
"percent_delta": 0.7082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0443,
"after": 1.0,
"delta": -0.0443,
"percent_delta": -0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5854,
"after": 1.0,
"delta": 0.4146,
"percent_delta": 0.7082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3492,
"after": 0.0,
"delta": -0.3492,
"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.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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": 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": 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": 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.2571,
"after": 0.25,
"delta": -0.0071,
"percent_delta": -0.0276,
"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.3192,
"after": 0.25,
"delta": -0.0692,
"percent_delta": -0.2168,
"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.4379,
"after": 0.25,
"delta": -0.1879,
"percent_delta": -0.4291,
"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.4379,
"after": 0.25,
"delta": -0.1879,
"percent_delta": -0.4291,
"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": 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_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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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": {
"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": 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.2571,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3192,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4379,
"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.25,
"after": 0.2571,
"delta": 0.0071,
"percent_delta": 0.0284,
"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.3192,
"delta": 0.0692,
"percent_delta": 0.2766,
"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.4379,
"delta": 0.1879,
"percent_delta": 0.7514,
"direction": "boost",
"projection_effect": "better",
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4379,
"delta": 0.1879,
"percent_delta": 0.7514,
"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.221,
"after": 0.0,
"delta": -0.221,
"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.837,
"after": 4.0,
"delta": 0.163,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2571,
"delta": -0.0259,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.0,
"delta": -0.356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.087,
"after": 0.0,
"delta": -1.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.344,
"after": 0.3192,
"delta": -0.0248,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.625,
"after": 0.0,
"delta": -0.625,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.702,
"after": 0.0,
"delta": -0.702,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4379,
"delta": -0.0531,
"percent_delta": -0.1081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.048,
"after": 3.0,
"delta": 1.952,
"percent_delta": 1.8626,
"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": 1.048,
"after": 3.0,
"delta": 1.952,
"percent_delta": 1.8626,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.087,
"after": 0.0,
"delta": -1.087,
"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.221 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.837 | - |
| predicted_AVG | 0.283 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 1.087 | - |
| predicted_HR | 0.192 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.625 | - |
| predicted_RBI | 0.702 | - |
| predicted_SLG | 0.491 | - |
| predicted_SO | 1.048 | - |
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.225 | 0.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.830 | -0.007 |
| predicted_AVG | 0.264 | -0.019 |
| predicted_BB | 0.352 | -0.004 |
| predicted_H | 1.012 | -0.075 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.159 | -0.033 |
| predicted_OBP | 0.327 | -0.017 |
| predicted_R | 0.585 | -0.040 |
| predicted_RBI | 0.614 | -0.088 |
| predicted_SLG | 0.448 | -0.043 |
| predicted_SO | 1.035 | -0.013 |
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.225 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.830 | 0.000 |
| predicted_AVG | 0.257 | -0.007 |
| predicted_BB | 0.349 | -0.003 |
| predicted_H | 0.985 | -0.027 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.156 | -0.004 |
| predicted_OBP | 0.319 | -0.008 |
| predicted_R | 0.557 | -0.028 |
| predicted_RBI | 0.585 | -0.029 |
| predicted_SLG | 0.438 | -0.010 |
| predicted_SO | 1.044 | 0.010 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.257 HR/AB=0.041
| 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 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
| 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 |
| 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 | 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.225 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.170 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 0.000 | -0.349 |
| predicted_H | 1.000 | 0.015 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.250 | -0.069 |
| predicted_R | 1.000 | 0.443 |
| predicted_RBI | 1.000 | 0.415 |
| predicted_SLG | 0.250 | -0.188 |
| predicted_SO | 1.000 | -0.044 |
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 | -1.000 |
| RBI | 0.000 | -1.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 | - | 19.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 5.000 | 0.1579 | 0.2381 | 0.2105 | 0.1579 | 0.0000 | 0.0526 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 10.000 | 0.1842 | 0.2439 | 0.2632 | 0.1842 | 0.0000 | 0.0526 | 0.0790 | 0.2632 |
| season | 0.60 | 104 | - | 399.000 | 113.000 | 23.000 | 0.000 | 20.000 | 73.000 | 65.000 | 37.000 | 109.000 | 0.2832 | 0.3462 | 0.4912 | 0.2832 | 0.0501 | 0.1830 | 0.0927 | 0.2732 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2290 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8210 |
| predicted_AVG | 0.2390 |
| predicted_BB | 0.3480 |
| predicted_H | 0.9130 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.3042 |
| predicted_R | 0.5320 |
| predicted_RBI | 0.4990 |
| predicted_SLG | 0.3907 |
| predicted_SO | 1.0170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.2290 | 0.2245 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8370 | 3.8210 | 3.8301 | model_form_blend |
| predicted_AVG | 0.2830 | 0.2390 | 0.2640 | model_form_blend |
| predicted_BB | 0.3560 | 0.3480 | 0.3525 | model_form_blend |
| predicted_H | 1.0870 | 0.9130 | 1.0119 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1920 | 0.1160 | 0.1592 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3042 | 0.3268 | model_form_blend |
| predicted_R | 0.6250 | 0.5320 | 0.5849 | model_form_blend |
| predicted_RBI | 0.7020 | 0.4990 | 0.6144 | model_form_blend |
| predicted_SLG | 0.4910 | 0.3907 | 0.4477 | model_form_blend |
| predicted_SO | 1.0480 | 1.0170 | 1.0346 | 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 | 430 |
| Season rows before report date | 430 |
| 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 | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.283 |
| 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.2 |
| 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 | 2 |
| 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 | RF |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 691023 |
| playerID | 691023 |
| playerName | Jordan Walker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.365 |
| sl_xwoba | 0.364 |
| sl_xba | 0.282 |
| sl_xslg | 0.498 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 49.8 |
| sl_exit_velocity_avg | 93.5 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 30.6 |
| 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.162 | 0.000 | 0.000 | Hitting_2B | 0.143 | 2.000 | -0.143 | -2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.724 | 4.000 | 4.000 | Hitting_AB | 3.762 | 5.000 | 0.238 | -1.000 |
| predicted_AVG | 0.240 | 0.000 | 0.250 | Hitting_AVG | 0.243 | 0.600 | -0.243 | -0.600 |
| predicted_BB | 0.467 | 0.000 | 0.000 | Hitting_BB | 0.493 | 0.000 | -0.493 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.895 | 0.000 | 1.000 | Hitting_H | 0.914 | 3.000 | -0.914 | -3.000 |
| predicted_HR | 0.105 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.325 | 0.000 | 0.250 | Hitting_OBP | 0.368 | 0.600 | -0.368 | -0.600 |
| predicted_R | 0.590 | 0.000 | 1.000 | Hitting_R | 0.648 | 0.000 | -0.648 | 0.000 |
| predicted_RBI | 0.419 | 0.000 | 0.000 | Hitting_RBI | 0.419 | 2.000 | -0.419 | -2.000 |
| predicted_SLG | 0.368 | 0.000 | 0.250 | Hitting_SLG | 0.365 | 1.000 | -0.365 | -1.000 |
| predicted_SO | 0.790 | 1.000 | 1.000 | Hitting_SO | 0.778 | 1.000 | 0.222 | 0.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 | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.7240 -> 4.0000 (boost 0.2760, better) |
| Biggest Deboost | predicted_H: 0.8950 -> 0.0000 (deboost -0.8950, 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 | 8 | 7 | 1 | 6 | 2 | predicted_AB: 3.7240 -> 3.8278 (boost 0.1038, better) | predicted_BB: 0.4670 -> 0.3935 (deboost -0.0735, 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.3335 -> 0.3169 (deboost -0.0166, 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_AB: 3.8278 -> 4.0000 (boost 0.1722, better) | predicted_RBI: 0.4483 -> 0.0000 (deboost -0.4483, worse) | AB rounded to 4 (raw=3.83), rates preserved: AVG=0.247 HR/AB=0.029 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5345 -> 1.0000 (boost 0.4655, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3873 -> 0.2500 (deboost -0.1373, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3873 (boost 0.1373, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671056",
"player_name": "Iván Herrera",
"position": "C",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0,
"predicted_AB": 3.724,
"predicted_AVG": 0.24,
"predicted_BB": 0.467,
"predicted_H": 0.895,
"predicted_HR": 0.105,
"predicted_OBP": 0.325,
"predicted_R": 0.59,
"predicted_RBI": 0.419,
"predicted_SLG": 0.368,
"predicted_SO": 0.79
},
"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.2052,
"predicted_3B": 0.0004,
"predicted_AB": 3.8278,
"predicted_AVG": 0.2535,
"predicted_BB": 0.3935,
"predicted_H": 0.9728,
"predicted_HBP": 0.162,
"predicted_HR": 0.1124,
"predicted_OBP": 0.3335,
"predicted_R": 0.561,
"predicted_RBI": 0.4705,
"predicted_SLG": 0.3951,
"predicted_SO": 0.8475
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.2052,
"delta": 0.0432,
"percent_delta": 0.2667,
"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.724,
"after": 3.8278,
"delta": 0.1038,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2535,
"delta": 0.0135,
"percent_delta": 0.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.467,
"after": 0.3935,
"delta": -0.0735,
"percent_delta": -0.1574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.895,
"after": 0.9728,
"delta": 0.0778,
"percent_delta": 0.0869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.105,
"after": 0.1124,
"delta": 0.0074,
"percent_delta": 0.0705,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3335,
"delta": 0.0085,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.561,
"delta": -0.029,
"percent_delta": -0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.419,
"after": 0.4705,
"delta": 0.0515,
"percent_delta": 0.1229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3951,
"delta": 0.0271,
"percent_delta": 0.0736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.79,
"after": 0.8475,
"delta": 0.0575,
"percent_delta": 0.0728,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 7,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.724,
"after": 3.8278,
"delta": 0.1038,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.467,
"after": 0.3935,
"delta": -0.0735,
"percent_delta": -0.1574,
"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": 105
}
},
{
"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.2052,
"predicted_3B": 0.0004,
"predicted_AB": 3.8278,
"predicted_AVG": 0.2473,
"predicted_BB": 0.3898,
"predicted_H": 0.9466,
"predicted_HBP": 0.162,
"predicted_HR": 0.1099,
"predicted_OBP": 0.3169,
"predicted_R": 0.5345,
"predicted_RBI": 0.4483,
"predicted_SLG": 0.3873,
"predicted_SO": 0.8555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2052,
"after": 0.2052,
"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.8278,
"after": 3.8278,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2535,
"after": 0.2473,
"delta": -0.0062,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3935,
"after": 0.3898,
"delta": -0.0037,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9728,
"after": 0.9466,
"delta": -0.0262,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.162,
"after": 0.162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1124,
"after": 0.1099,
"delta": -0.0025,
"percent_delta": -0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3335,
"after": 0.3169,
"delta": -0.0166,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 0.5345,
"delta": -0.0265,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4705,
"after": 0.4483,
"delta": -0.0222,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3951,
"after": 0.3873,
"delta": -0.0078,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8475,
"after": 0.8555,
"delta": 0.008,
"percent_delta": 0.0094,
"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.3335,
"after": 0.3169,
"delta": -0.0166,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.83), rates preserved: AVG=0.247 HR/AB=0.029",
"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.2052,
"after": 0.0,
"delta": -0.2052,
"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.8278,
"after": 4.0,
"delta": 0.1722,
"percent_delta": 0.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3898,
"after": 0.0,
"delta": -0.3898,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9466,
"after": 1.0,
"delta": 0.0534,
"percent_delta": 0.0564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1099,
"after": 0.0,
"delta": -0.1099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4483,
"after": 0.0,
"delta": -0.4483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8555,
"after": 1.0,
"delta": 0.1445,
"percent_delta": 0.1689,
"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": 3.8278,
"after": 4.0,
"delta": 0.1722,
"percent_delta": 0.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4483,
"after": 0.0,
"delta": -0.4483,
"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=7.0, weight=0.076, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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_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.9243,
"bvp": 0.0757
},
"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": 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.5345,
"after": 1.0,
"delta": 0.4655,
"percent_delta": 0.8709,
"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.5345,
"after": 1.0,
"delta": 0.4655,
"percent_delta": 0.8709,
"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": 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.2473,
"after": 0.25,
"delta": 0.0027,
"percent_delta": 0.0109,
"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_OBP",
"before": 0.3169,
"after": 0.25,
"delta": -0.0669,
"percent_delta": -0.2111,
"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.3873,
"after": 0.25,
"delta": -0.1373,
"percent_delta": -0.3545,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3873,
"after": 0.25,
"delta": -0.1373,
"percent_delta": -0.3545,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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_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": 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.2473,
"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.3169,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3873,
"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.2473,
"delta": -0.0027,
"percent_delta": -0.0108,
"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": 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.3169,
"delta": 0.0669,
"percent_delta": 0.2675,
"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.3873,
"delta": 0.1373,
"percent_delta": 0.5491,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3873,
"delta": 0.1373,
"percent_delta": 0.5491,
"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.162,
"after": 0.0,
"delta": -0.162,
"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.724,
"after": 4.0,
"delta": 0.276,
"percent_delta": 0.0741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2473,
"delta": 0.0073,
"percent_delta": 0.0304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.895,
"after": 0.0,
"delta": -0.895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3169,
"delta": -0.0081,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3873,
"delta": 0.0193,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.79,
"after": 1.0,
"delta": 0.21,
"percent_delta": 0.2658,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.724,
"after": 4.0,
"delta": 0.276,
"percent_delta": 0.0741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.895,
"after": 0.0,
"delta": -0.895,
"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.162 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.724 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.467 | - |
| predicted_H | 0.895 | - |
| predicted_HR | 0.105 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.590 | - |
| predicted_RBI | 0.419 | - |
| predicted_SLG | 0.368 | - |
| predicted_SO | 0.790 | - |
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.205 | 0.043 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.828 | 0.104 |
| predicted_AVG | 0.254 | 0.014 |
| predicted_BB | 0.394 | -0.074 |
| predicted_H | 0.973 | 0.078 |
| predicted_HBP | 0.162 | - |
| predicted_HR | 0.112 | 0.007 |
| predicted_OBP | 0.334 | 0.009 |
| predicted_R | 0.561 | -0.029 |
| predicted_RBI | 0.470 | 0.051 |
| predicted_SLG | 0.395 | 0.027 |
| predicted_SO | 0.848 | 0.057 |
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.205 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.828 | 0.000 |
| predicted_AVG | 0.247 | -0.006 |
| predicted_BB | 0.390 | -0.004 |
| predicted_H | 0.947 | -0.026 |
| predicted_HBP | 0.162 | 0.000 |
| predicted_HR | 0.110 | -0.003 |
| predicted_OBP | 0.317 | -0.017 |
| predicted_R | 0.534 | -0.027 |
| predicted_RBI | 0.448 | -0.022 |
| predicted_SLG | 0.387 | -0.008 |
| predicted_SO | 0.856 | 0.008 |
AB rounded to 4 (raw=3.83), rates preserved: AVG=0.247 HR/AB=0.029
| 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 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
| 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 |
| 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 | 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.205 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.172 |
| predicted_AVG | 0.250 | 0.003 |
| predicted_BB | 0.000 | -0.390 |
| predicted_H | 1.000 | 0.053 |
| predicted_HR | 0.000 | -0.110 |
| predicted_OBP | 0.250 | -0.067 |
| predicted_R | 1.000 | 0.466 |
| predicted_RBI | 0.000 | -0.448 |
| predicted_SLG | 0.250 | -0.137 |
| predicted_SO | 1.000 | 0.144 |
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 | -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 | - | 22.000 | 8.000 | 3.000 | 0.000 | 1.000 | 5.000 | 2.000 | 0.000 | 5.000 | 0.3636 | 0.3636 | 0.6364 | 0.3636 | 0.0454 | 0.2273 | 0.0000 | 0.2273 |
| last_10 | 0.20 | 10 | - | 43.000 | 12.000 | 3.000 | 0.000 | 1.000 | 5.000 | 4.000 | 0.000 | 13.000 | 0.2791 | 0.2955 | 0.4186 | 0.2791 | 0.0233 | 0.1163 | 0.0000 | 0.3023 |
| season | 0.60 | 105 | - | 391.000 | 94.000 | 17.000 | 0.000 | 11.000 | 44.000 | 62.000 | 49.000 | 83.000 | 0.2404 | 0.3590 | 0.3683 | 0.2404 | 0.0281 | 0.1125 | 0.1253 | 0.2123 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2620 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9640 |
| predicted_AVG | 0.2713 |
| predicted_BB | 0.2970 |
| predicted_H | 1.0750 |
| predicted_HBP | 0.1620 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.3447 |
| predicted_R | 0.5230 |
| predicted_RBI | 0.5380 |
| predicted_SLG | 0.4306 |
| predicted_SO | 0.9230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.2620 | 0.2052 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7240 | 3.9640 | 3.8278 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2713 | 0.2535 | model_form_blend |
| predicted_BB | 0.4670 | 0.2970 | 0.3935 | model_form_blend |
| predicted_H | 0.8950 | 1.0750 | 0.9728 | model_form_blend |
| predicted_HBP | - | 0.1620 | 0.1620 | form_only |
| predicted_HR | 0.1050 | 0.1220 | 0.1124 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3447 | 0.3335 | model_form_blend |
| predicted_R | 0.5900 | 0.5230 | 0.5610 | model_form_blend |
| predicted_RBI | 0.4190 | 0.5380 | 0.4705 | model_form_blend |
| predicted_SLG | 0.3680 | 0.4306 | 0.3951 | model_form_blend |
| predicted_SO | 0.7900 | 0.9230 | 0.8475 | 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 | 454 |
| Season rows before report date | 454 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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.24 |
| 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 | 2 |
| 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 | 1 |
| Hitting_TB | 5 |
| 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 | DH |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 671056 |
| playerID | 671056 |
| playerName | Iván Herrera |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.4 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.332 |
| sl_xwoba | 0.332 |
| sl_xba | 0.243 |
| sl_xslg | 0.372 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 39.3 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 20.1 |
| sl_swing_percent | 44.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.159 | 0.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.205 | 4.000 | 3.000 | Hitting_AB | 3.516 | 1.000 | 0.484 | 3.000 |
| predicted_AVG | 0.248 | 0.500 | 0.333 | Hitting_AVG | 0.255 | 1.000 | 0.245 | -0.500 |
| predicted_BB | 0.523 | 0.000 | 0.000 | Hitting_BB | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.795 | 2.000 | 1.000 | Hitting_H | 0.895 | 1.000 | 1.105 | 1.000 |
| predicted_HR | 0.068 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.354 | 0.500 | 0.333 | Hitting_OBP | 0.354 | 1.000 | 0.146 | -0.500 |
| predicted_R | 0.455 | 1.000 | 0.000 | Hitting_R | 0.477 | 0.000 | 0.523 | 1.000 |
| predicted_RBI | 0.341 | 0.000 | 0.000 | Hitting_RBI | 0.392 | 0.000 | -0.392 | 0.000 |
| predicted_SLG | 0.376 | 0.500 | 0.333 | Hitting_SLG | 0.374 | 1.000 | 0.126 | -0.500 |
| predicted_SO | 0.795 | 0.000 | 1.000 | Hitting_SO | 0.902 | 0.000 | -0.902 | 0.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_H: 0.7950 -> 2.0000 (boost 1.2050, better) |
| Biggest Deboost | predicted_SO: 0.7950 -> 0.0000 (deboost -0.7950, 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 | 0 | 2 | 0 | 2 | - | predicted_AB: 3.2050 -> 3.1523 (deboost -0.0527, 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.3680 -> 0.3601 (deboost -0.0079, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.7579 -> 1.0000 (boost 0.2421, better) | predicted_BB: 0.5310 -> 0.0000 (deboost -0.5310, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.236 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4316 -> 0.0000 (deboost -0.4316, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2404 -> 0.3330 (boost 0.0926, better) | predicted_SLG: 0.3601 -> 0.3330 (deboost -0.0271, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3601 (boost 0.0271, better) | predicted_AVG: 0.3330 -> 0.2404 (deboost -0.0926, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663457",
"player_name": "Lars Nootbaar",
"position": "RF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.159,
"predicted_3B": 0.023,
"predicted_AB": 3.205,
"predicted_AVG": 0.248,
"predicted_BB": 0.523,
"predicted_H": 0.795,
"predicted_HR": 0.068,
"predicted_OBP": 0.354,
"predicted_R": 0.455,
"predicted_RBI": 0.341,
"predicted_SLG": 0.376,
"predicted_SO": 0.795
},
"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.1614,
"predicted_3B": 0.0189,
"predicted_AB": 3.1523,
"predicted_AVG": 0.2469,
"predicted_BB": 0.536,
"predicted_H": 0.7788,
"predicted_HBP": 0.004,
"predicted_HR": 0.0607,
"predicted_OBP": 0.3561,
"predicted_R": 0.453,
"predicted_RBI": 0.3163,
"predicted_SLG": 0.368,
"predicted_SO": 0.7549
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.1614,
"delta": 0.0024,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0189,
"delta": -0.0041,
"percent_delta": -0.1783,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.205,
"after": 3.1523,
"delta": -0.0527,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2469,
"delta": -0.0011,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.523,
"after": 0.536,
"delta": 0.013,
"percent_delta": 0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.795,
"after": 0.7788,
"delta": -0.0162,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.068,
"after": 0.0607,
"delta": -0.0073,
"percent_delta": -0.1074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3561,
"delta": 0.0021,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.453,
"delta": -0.002,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.341,
"after": 0.3163,
"delta": -0.0247,
"percent_delta": -0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.368,
"delta": -0.008,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.7549,
"delta": -0.0401,
"percent_delta": -0.0504,
"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_AB",
"before": 3.205,
"after": 3.1523,
"delta": -0.0527,
"percent_delta": -0.0164,
"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": 44
}
},
{
"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.1614,
"predicted_3B": 0.0189,
"predicted_AB": 3.1523,
"predicted_AVG": 0.2404,
"predicted_BB": 0.531,
"predicted_H": 0.7579,
"predicted_HBP": 0.004,
"predicted_HR": 0.0594,
"predicted_OBP": 0.3499,
"predicted_R": 0.4316,
"predicted_RBI": 0.3014,
"predicted_SLG": 0.3601,
"predicted_SO": 0.762
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1614,
"after": 0.1614,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0189,
"after": 0.0189,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1523,
"after": 3.1523,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2469,
"after": 0.2404,
"delta": -0.0065,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.536,
"after": 0.531,
"delta": -0.005,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7788,
"after": 0.7579,
"delta": -0.0209,
"percent_delta": -0.0268,
"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.0607,
"after": 0.0594,
"delta": -0.0013,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3561,
"after": 0.3499,
"delta": -0.0062,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 0.4316,
"delta": -0.0214,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3163,
"after": 0.3014,
"delta": -0.0149,
"percent_delta": -0.0471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3601,
"delta": -0.0079,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7549,
"after": 0.762,
"delta": 0.0071,
"percent_delta": 0.0094,
"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.368,
"after": 0.3601,
"delta": -0.0079,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.21), rates preserved: AVG=0.236 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.1614,
"after": 0.0,
"delta": -0.1614,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0189,
"after": 0.0,
"delta": -0.0189,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1523,
"after": 3.0,
"delta": -0.1523,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.531,
"after": 0.0,
"delta": -0.531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7579,
"after": 1.0,
"delta": 0.2421,
"percent_delta": 0.3194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.0594,
"after": 0.0,
"delta": -0.0594,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3014,
"after": 0.0,
"delta": -0.3014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.762,
"after": 1.0,
"delta": 0.238,
"percent_delta": 0.3123,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7579,
"after": 1.0,
"delta": 0.2421,
"percent_delta": 0.3194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.531,
"after": 0.0,
"delta": -0.531,
"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=11.0, weight=0.107, BvP AVG=0.182)",
"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.8927,
"bvp": 0.1073
},
"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.4316,
"after": 0.0,
"delta": -0.4316,
"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.4316,
"after": 0.0,
"delta": -0.4316,
"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.2404,
"after": 0.333,
"delta": 0.0926,
"percent_delta": 0.3852,
"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.3499,
"after": 0.333,
"delta": -0.0169,
"percent_delta": -0.0483,
"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.3601,
"after": 0.333,
"delta": -0.0271,
"percent_delta": -0.0753,
"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.2404,
"after": 0.333,
"delta": 0.0926,
"percent_delta": 0.3852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3601,
"after": 0.333,
"delta": -0.0271,
"percent_delta": -0.0753,
"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": 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": 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": 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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"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": 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.2404,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3499,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3601,
"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.2404,
"delta": -0.0926,
"percent_delta": -0.278,
"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.3499,
"delta": 0.0169,
"percent_delta": 0.0508,
"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.3601,
"delta": 0.0271,
"percent_delta": 0.0814,
"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.3601,
"delta": 0.0271,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2404,
"delta": -0.0926,
"percent_delta": -0.278,
"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.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.205,
"after": 4.0,
"delta": 0.795,
"percent_delta": 0.248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2404,
"delta": -0.0076,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.523,
"after": 0.0,
"delta": -0.523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.795,
"after": 2.0,
"delta": 1.205,
"percent_delta": 1.5157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3499,
"delta": -0.0041,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 1.0,
"delta": 0.545,
"percent_delta": 1.1978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.341,
"after": 0.0,
"delta": -0.341,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3601,
"delta": -0.0159,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.0,
"delta": -0.795,
"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_H",
"before": 0.795,
"after": 2.0,
"delta": 1.205,
"percent_delta": 1.5157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.795,
"after": 0.0,
"delta": -0.795,
"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.159 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.205 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.523 | - |
| predicted_H | 0.795 | - |
| predicted_HR | 0.068 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.341 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.795 | - |
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.161 | 0.002 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.152 | -0.053 |
| predicted_AVG | 0.247 | -0.001 |
| predicted_BB | 0.536 | 0.013 |
| predicted_H | 0.779 | -0.016 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.061 | -0.007 |
| predicted_OBP | 0.356 | 0.002 |
| predicted_R | 0.453 | -0.002 |
| predicted_RBI | 0.316 | -0.025 |
| predicted_SLG | 0.368 | -0.008 |
| predicted_SO | 0.755 | -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.161 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.152 | 0.000 |
| predicted_AVG | 0.240 | -0.007 |
| predicted_BB | 0.531 | -0.005 |
| predicted_H | 0.758 | -0.021 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.350 | -0.006 |
| predicted_R | 0.432 | -0.021 |
| predicted_RBI | 0.301 | -0.015 |
| predicted_SLG | 0.360 | -0.008 |
| predicted_SO | 0.762 | 0.007 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.236 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 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
| 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.161 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 3.000 | -0.152 |
| predicted_AVG | 0.333 | 0.093 |
| predicted_BB | 0.000 | -0.531 |
| predicted_H | 1.000 | 0.242 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.333 | -0.017 |
| predicted_R | 0.000 | -0.432 |
| predicted_RBI | 0.000 | -0.301 |
| predicted_SLG | 0.333 | -0.027 |
| predicted_SO | 1.000 | 0.238 |
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 | 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 | - | 11.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.2727 | 0.4286 | 0.3636 | 0.2727 | 0.0000 | 0.0000 | 0.2727 | 0.1818 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 1.000 | 0.000 | 0.000 | 3.000 | 4.000 | 7.000 | 6.000 | 0.2069 | 0.3611 | 0.2414 | 0.2069 | 0.0000 | 0.1035 | 0.2414 | 0.2069 |
| season | 0.60 | 44 | - | 141.000 | 35.000 | 7.000 | 1.000 | 3.000 | 15.000 | 20.000 | 23.000 | 35.000 | 0.2482 | 0.3515 | 0.3759 | 0.2482 | 0.0213 | 0.1064 | 0.1631 | 0.2482 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1650 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.0750 |
| predicted_AVG | 0.2454 |
| predicted_BB | 0.5550 |
| predicted_H | 0.7550 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0500 |
| predicted_OBP | 0.3591 |
| predicted_R | 0.4500 |
| predicted_RBI | 0.2800 |
| predicted_SLG | 0.3562 |
| predicted_SO | 0.6960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.1650 | 0.1614 | model_form_blend |
| predicted_3B | 0.0230 | 0.0130 | 0.0189 | model_form_blend |
| predicted_AB | 3.2050 | 3.0750 | 3.1523 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2454 | 0.2469 | model_form_blend |
| predicted_BB | 0.5230 | 0.5550 | 0.5360 | model_form_blend |
| predicted_H | 0.7950 | 0.7550 | 0.7788 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0680 | 0.0500 | 0.0607 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3591 | 0.3561 | model_form_blend |
| predicted_R | 0.4550 | 0.4500 | 0.4530 | model_form_blend |
| predicted_RBI | 0.3410 | 0.2800 | 0.3163 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3562 | 0.3680 | model_form_blend |
| predicted_SO | 0.7950 | 0.6960 | 0.7549 | 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 | 153 |
| Season rows before report date | 153 |
| Report year | 2026 |
| Profile rows used | 44 |
| 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 | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.248 |
| 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 | 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 | PH |
| gameID | 20260729_CHC@STL |
| game_type | ph |
| mlbID | 663457 |
| note | Singled for Pagés, P in the 10th. |
| playerID | 663457 |
| playerName | Lars Nootbaar |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.321 |
| sl_xwoba | 0.343 |
| sl_xba | 0.246 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 50.9 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 35.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.036 | 0.000 | 0.000 | Hitting_2B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_3B | 0.071 | 0.000 | 0.000 | Hitting_3B | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.618 | 0.000 | 1.382 | 4.000 |
| predicted_AVG | 0.229 | 0.000 | 0.333 | Hitting_AVG | 0.223 | - | -0.223 | - |
| predicted_BB | 0.179 | 0.000 | 0.000 | Hitting_BB | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.571 | 0.000 | 1.000 | Hitting_H | 0.584 | 0.000 | -0.584 | 0.000 |
| predicted_HR | 0.107 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.280 | 0.000 | 0.333 | Hitting_OBP | 0.296 | - | -0.296 | - |
| predicted_R | 0.286 | 0.000 | 0.000 | Hitting_R | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_RBI | 0.357 | 0.000 | 0.000 | Hitting_RBI | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_SLG | 0.429 | 0.000 | 0.333 | Hitting_SLG | 0.403 | - | -0.403 | - |
| predicted_SO | 0.500 | 1.000 | 1.000 | Hitting_SO | 0.517 | 0.000 | 0.483 | 1.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_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_H: 0.5710 -> 0.0000 (deboost -0.5710, 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.5710 -> 0.6296 (boost 0.0586, 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.4387 -> 0.4292 (deboost -0.0095, 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.5103 -> 1.0000 (boost 0.4897, worse) | predicted_RBI: 0.3915 -> 0.0000 (deboost -0.3915, worse) | AB rounded to 3 (raw=2.53), rates preserved: AVG=0.242 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2949 -> 0.0000 (deboost -0.2949, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2420 -> 0.3330 (boost 0.0910, better) | predicted_SLG: 0.4292 -> 0.3330 (deboost -0.0962, 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.4292 (boost 0.0962, better) | predicted_AVG: 0.3330 -> 0.2420 (deboost -0.0910, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663494",
"player_name": "Bryan Torres",
"position": "LF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.036,
"predicted_3B": 0.071,
"predicted_AB": 2.5,
"predicted_AVG": 0.229,
"predicted_BB": 0.179,
"predicted_H": 0.571,
"predicted_HR": 0.107,
"predicted_OBP": 0.28,
"predicted_R": 0.286,
"predicted_RBI": 0.357,
"predicted_SLG": 0.429,
"predicted_SO": 0.5
},
"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.0646,
"predicted_3B": 0.0655,
"predicted_AB": 2.5319,
"predicted_AVG": 0.2487,
"predicted_BB": 0.1691,
"predicted_H": 0.6296,
"predicted_HBP": 0.006,
"predicted_HR": 0.0949,
"predicted_OBP": 0.297,
"predicted_R": 0.3095,
"predicted_RBI": 0.4109,
"predicted_SLG": 0.4387,
"predicted_SO": 0.5055
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.036,
"after": 0.0646,
"delta": 0.0286,
"percent_delta": 0.7944,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.071,
"after": 0.0655,
"delta": -0.0055,
"percent_delta": -0.0775,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5319,
"delta": 0.0319,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2487,
"delta": 0.0197,
"percent_delta": 0.086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.1691,
"delta": -0.0099,
"percent_delta": -0.0553,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.571,
"after": 0.6296,
"delta": 0.0586,
"percent_delta": 0.1026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.107,
"after": 0.0949,
"delta": -0.0121,
"percent_delta": -0.1131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.297,
"delta": 0.017,
"percent_delta": 0.0607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.3095,
"delta": 0.0235,
"percent_delta": 0.0822,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.357,
"after": 0.4109,
"delta": 0.0539,
"percent_delta": 0.151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4387,
"delta": 0.0097,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5055,
"delta": 0.0055,
"percent_delta": 0.011,
"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.571,
"after": 0.6296,
"delta": 0.0586,
"percent_delta": 0.1026,
"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": 30
}
},
{
"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.0646,
"predicted_3B": 0.0655,
"predicted_AB": 2.5319,
"predicted_AVG": 0.242,
"predicted_BB": 0.1675,
"predicted_H": 0.6127,
"predicted_HBP": 0.006,
"predicted_HR": 0.0928,
"predicted_OBP": 0.289,
"predicted_R": 0.2949,
"predicted_RBI": 0.3915,
"predicted_SLG": 0.4292,
"predicted_SO": 0.5103
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0646,
"after": 0.0646,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0655,
"after": 0.0655,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5319,
"after": 2.5319,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2487,
"after": 0.242,
"delta": -0.0067,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1691,
"after": 0.1675,
"delta": -0.0016,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6296,
"after": 0.6127,
"delta": -0.0169,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0949,
"after": 0.0928,
"delta": -0.0021,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.289,
"delta": -0.008,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3095,
"after": 0.2949,
"delta": -0.0146,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4109,
"after": 0.3915,
"delta": -0.0194,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4387,
"after": 0.4292,
"delta": -0.0095,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5055,
"after": 0.5103,
"delta": 0.0048,
"percent_delta": 0.0095,
"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.4387,
"after": 0.4292,
"delta": -0.0095,
"percent_delta": -0.0217,
"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.242 HR/AB=0.037",
"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.0646,
"after": 0.0,
"delta": -0.0646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0655,
"after": 0.0,
"delta": -0.0655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.5319,
"after": 3.0,
"delta": 0.4681,
"percent_delta": 0.1849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1675,
"after": 0.0,
"delta": -0.1675,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6127,
"after": 1.0,
"delta": 0.3873,
"percent_delta": 0.6321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0928,
"after": 0.0,
"delta": -0.0928,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3915,
"after": 0.0,
"delta": -0.3915,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5103,
"after": 1.0,
"delta": 0.4897,
"percent_delta": 0.9596,
"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.5103,
"after": 1.0,
"delta": 0.4897,
"percent_delta": 0.9596,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3915,
"after": 0.0,
"delta": -0.3915,
"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.2949,
"after": 0.0,
"delta": -0.2949,
"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.2949,
"after": 0.0,
"delta": -0.2949,
"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.242,
"after": 0.333,
"delta": 0.091,
"percent_delta": 0.376,
"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.289,
"after": 0.333,
"delta": 0.044,
"percent_delta": 0.1522,
"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.4292,
"after": 0.333,
"delta": -0.0962,
"percent_delta": -0.2241,
"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.242,
"after": 0.333,
"delta": 0.091,
"percent_delta": 0.376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4292,
"after": 0.333,
"delta": -0.0962,
"percent_delta": -0.2241,
"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.242,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.289,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4292,
"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.242,
"delta": -0.091,
"percent_delta": -0.2733,
"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.289,
"delta": -0.044,
"percent_delta": -0.1321,
"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.4292,
"delta": 0.0962,
"percent_delta": 0.2889,
"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.4292,
"delta": 0.0962,
"percent_delta": 0.2889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.242,
"delta": -0.091,
"percent_delta": -0.2733,
"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.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.229,
"after": 0.242,
"delta": 0.013,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.571,
"after": 0.0,
"delta": -0.571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.289,
"delta": 0.009,
"percent_delta": 0.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4292,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"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_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.571,
"after": 0.0,
"delta": -0.571,
"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.036 | - |
| predicted_3B | 0.071 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.179 | - |
| predicted_H | 0.571 | - |
| predicted_HR | 0.107 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.286 | - |
| predicted_RBI | 0.357 | - |
| predicted_SLG | 0.429 | - |
| predicted_SO | 0.500 | - |
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.065 | 0.029 |
| predicted_3B | 0.066 | -0.005 |
| predicted_AB | 2.532 | 0.032 |
| predicted_AVG | 0.249 | 0.020 |
| predicted_BB | 0.169 | -0.010 |
| predicted_H | 0.630 | 0.059 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.095 | -0.012 |
| predicted_OBP | 0.297 | 0.017 |
| predicted_R | 0.309 | 0.024 |
| predicted_RBI | 0.411 | 0.054 |
| predicted_SLG | 0.439 | 0.010 |
| predicted_SO | 0.505 | 0.005 |
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.065 | 0.000 |
| predicted_3B | 0.066 | 0.000 |
| predicted_AB | 2.532 | 0.000 |
| predicted_AVG | 0.242 | -0.007 |
| predicted_BB | 0.168 | -0.002 |
| predicted_H | 0.613 | -0.017 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.093 | -0.002 |
| predicted_OBP | 0.289 | -0.008 |
| predicted_R | 0.295 | -0.015 |
| predicted_RBI | 0.392 | -0.019 |
| predicted_SLG | 0.429 | -0.009 |
| predicted_SO | 0.510 | 0.005 |
AB rounded to 3 (raw=2.53), rates preserved: AVG=0.242 HR/AB=0.037
| 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.065 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 3.000 | 0.468 |
| predicted_AVG | 0.333 | 0.091 |
| predicted_BB | 0.000 | -0.168 |
| predicted_H | 1.000 | 0.387 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.333 | 0.044 |
| predicted_R | 0.000 | -0.295 |
| predicted_RBI | 0.000 | -0.392 |
| predicted_SLG | 0.333 | -0.096 |
| predicted_SO | 1.000 | 0.490 |
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 | - | 9.000 | 4.000 | 1.000 | 0.000 | 0.000 | 4.000 | 2.000 | 0.000 | 1.000 | 0.4444 | 0.4444 | 0.5556 | 0.4444 | 0.0000 | 0.4444 | 0.0000 | 0.1111 |
| last_10 | 0.20 | 10 | - | 17.000 | 6.000 | 1.000 | 1.000 | 0.000 | 4.000 | 2.000 | 1.000 | 4.000 | 0.3529 | 0.3889 | 0.5294 | 0.3529 | 0.0000 | 0.2353 | 0.0588 | 0.2353 |
| season | 0.60 | 30 | - | 70.000 | 16.000 | 1.000 | 2.000 | 3.000 | 10.000 | 8.000 | 5.000 | 14.000 | 0.2286 | 0.2800 | 0.4286 | 0.2286 | 0.0429 | 0.1429 | 0.0714 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1140 |
| predicted_3B | 0.0560 |
| predicted_AB | 2.5870 |
| predicted_AVG | 0.2828 |
| predicted_BB | 0.1520 |
| predicted_H | 0.7310 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.3263 |
| predicted_R | 0.3500 |
| predicted_RBI | 0.5040 |
| predicted_SLG | 0.4556 |
| predicted_SO | 0.5150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0360 | 0.1140 | 0.0646 | model_form_blend |
| predicted_3B | 0.0710 | 0.0560 | 0.0655 | model_form_blend |
| predicted_AB | 2.5000 | 2.5870 | 2.5319 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2828 | 0.2487 | model_form_blend |
| predicted_BB | 0.1790 | 0.1520 | 0.1691 | model_form_blend |
| predicted_H | 0.5710 | 0.7310 | 0.6296 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1070 | 0.0740 | 0.0949 | model_form_blend |
| predicted_OBP | 0.2800 | 0.3263 | 0.2970 | model_form_blend |
| predicted_R | 0.2860 | 0.3500 | 0.3095 | model_form_blend |
| predicted_RBI | 0.3570 | 0.5040 | 0.4109 | model_form_blend |
| predicted_SLG | 0.4290 | 0.4556 | 0.4387 | model_form_blend |
| predicted_SO | 0.5000 | 0.5150 | 0.5055 | 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 | 89 |
| Season rows before report date | 89 |
| Report year | 2026 |
| Profile rows used | 30 |
| 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.229 |
| 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 | 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 | PR-LF |
| gameID | 20260729_CHC@STL |
| game_type | ph |
| mlbID | 663494 |
| note | Ran for Jordan in the 9th. |
| playerID | 663494 |
| playerName | Bryan Torres |
| pos | OF |
| started | False |
| startingPosition | PR |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.316 |
| sl_xwoba | 0.318 |
| sl_xba | 0.255 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 41.9 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 33.9 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 47.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.176 | 0.000 | 0.000 | Hitting_2B | 0.165 | 1.000 | -0.165 | -1.000 |
| predicted_3B | 0.059 | 1.000 | 0.000 | Hitting_3B | 0.083 | 0.000 | 0.917 | 1.000 |
| predicted_AB | 3.324 | 3.000 | 3.000 | Hitting_AB | 3.477 | 4.000 | -0.477 | -1.000 |
| predicted_AVG | 0.230 | 0.333 | 0.333 | Hitting_AVG | 0.264 | 0.250 | 0.069 | 0.083 |
| predicted_BB | 0.147 | 1.000 | 0.000 | Hitting_BB | 0.110 | 0.000 | 0.890 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.765 | 1.000 | 1.000 | Hitting_H | 0.917 | 1.000 | 0.083 | 0.000 |
| predicted_HR | 0.029 | 0.000 | 0.000 | Hitting_HR | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_OBP | 0.263 | 0.500 | 0.333 | Hitting_OBP | 0.276 | 0.250 | 0.224 | 0.250 |
| predicted_R | 0.294 | 0.000 | 0.000 | Hitting_R | 0.422 | 0.000 | -0.422 | 0.000 |
| predicted_RBI | 0.647 | 0.000 | 1.000 | Hitting_RBI | 0.697 | 0.000 | -0.697 | 0.000 |
| predicted_SLG | 0.345 | 1.000 | 0.333 | Hitting_SLG | 0.391 | 0.500 | 0.609 | 0.500 |
| predicted_SO | 0.471 | 1.000 | 0.000 | Hitting_SO | 0.514 | 1.000 | 0.486 | 0.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 | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_3B: 0.0590 -> 1.0000 (boost 0.9410, better) |
| Biggest Deboost | predicted_RBI: 0.6470 -> 0.0000 (deboost -0.6470, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3450 -> 0.3329 (deboost -0.0121, 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.3329 -> 0.3258 (deboost -0.0071, 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_RBI: 0.5813 -> 1.0000 (boost 0.4187, better) | predicted_SO: 0.4786 -> 0.0000 (deboost -0.4786, better) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.215 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2626 -> 0.0000 (deboost -0.2626, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2148 -> 0.3330 (boost 0.1182, better) | - | 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_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 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.2148 (deboost -0.1182, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691458",
"player_name": "Blaze Jordan",
"position": "3B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.059,
"predicted_AB": 3.324,
"predicted_AVG": 0.23,
"predicted_BB": 0.147,
"predicted_H": 0.765,
"predicted_HR": 0.029,
"predicted_OBP": 0.263,
"predicted_R": 0.294,
"predicted_RBI": 0.647,
"predicted_SLG": 0.345,
"predicted_SO": 0.471
},
"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.1799,
"predicted_3B": 0.048,
"predicted_AB": 3.333,
"predicted_AVG": 0.2207,
"predicted_BB": 0.1764,
"predicted_H": 0.7356,
"predicted_HBP": 0.006,
"predicted_HR": 0.0321,
"predicted_OBP": 0.2593,
"predicted_R": 0.2756,
"predicted_RBI": 0.6101,
"predicted_SLG": 0.3329,
"predicted_SO": 0.4741
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1799,
"delta": 0.0039,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.048,
"delta": -0.011,
"percent_delta": -0.1864,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.324,
"after": 3.333,
"delta": 0.009,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2207,
"delta": -0.0093,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.147,
"after": 0.1764,
"delta": 0.0294,
"percent_delta": 0.2,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.765,
"after": 0.7356,
"delta": -0.0294,
"percent_delta": -0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.029,
"after": 0.0321,
"delta": 0.0031,
"percent_delta": 0.1069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2593,
"delta": -0.0037,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.2756,
"delta": -0.0184,
"percent_delta": -0.0626,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.647,
"after": 0.6101,
"delta": -0.0369,
"percent_delta": -0.057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3329,
"delta": -0.0121,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.471,
"after": 0.4741,
"delta": 0.0031,
"percent_delta": 0.0066,
"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.345,
"after": 0.3329,
"delta": -0.0121,
"percent_delta": -0.0351,
"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": 34
}
},
{
"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.1799,
"predicted_3B": 0.048,
"predicted_AB": 3.333,
"predicted_AVG": 0.2148,
"predicted_BB": 0.1747,
"predicted_H": 0.7158,
"predicted_HBP": 0.006,
"predicted_HR": 0.0314,
"predicted_OBP": 0.2539,
"predicted_R": 0.2626,
"predicted_RBI": 0.5813,
"predicted_SLG": 0.3258,
"predicted_SO": 0.4786
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1799,
"after": 0.1799,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.048,
"after": 0.048,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.333,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.2148,
"delta": -0.0059,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1764,
"after": 0.1747,
"delta": -0.0017,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7356,
"after": 0.7158,
"delta": -0.0198,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0321,
"after": 0.0314,
"delta": -0.0007,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2593,
"after": 0.2539,
"delta": -0.0054,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2756,
"after": 0.2626,
"delta": -0.013,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6101,
"after": 0.5813,
"delta": -0.0288,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3329,
"after": 0.3258,
"delta": -0.0071,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4741,
"after": 0.4786,
"delta": 0.0045,
"percent_delta": 0.0095,
"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.3329,
"after": 0.3258,
"delta": -0.0071,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.33), rates preserved: AVG=0.215 HR/AB=0.009",
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1799,
"after": 0.0,
"delta": -0.1799,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.0,
"delta": -0.333,
"percent_delta": -0.0999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1747,
"after": 0.0,
"delta": -0.1747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7158,
"after": 1.0,
"delta": 0.2842,
"percent_delta": 0.397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0314,
"after": 0.0,
"delta": -0.0314,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5813,
"after": 1.0,
"delta": 0.4187,
"percent_delta": 0.7203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4786,
"after": 0.0,
"delta": -0.4786,
"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_RBI",
"before": 0.5813,
"after": 1.0,
"delta": 0.4187,
"percent_delta": 0.7203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4786,
"after": 0.0,
"delta": -0.4786,
"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": 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": 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.2626,
"after": 0.0,
"delta": -0.2626,
"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": 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.2626,
"after": 0.0,
"delta": -0.2626,
"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": 1.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.2148,
"after": 0.333,
"delta": 0.1182,
"percent_delta": 0.5503,
"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.2539,
"after": 0.333,
"delta": 0.0791,
"percent_delta": 0.3115,
"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": 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.3258,
"after": 0.333,
"delta": 0.0072,
"percent_delta": 0.0221,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2148,
"after": 0.333,
"delta": 0.1182,
"percent_delta": 0.5503,
"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": 1.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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"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": 1.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2148,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2539,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3258,
"predicted_SO": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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.2148,
"delta": -0.1182,
"percent_delta": -0.3551,
"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": 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.2539,
"delta": -0.0791,
"percent_delta": -0.2376,
"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.3258,
"delta": -0.0072,
"percent_delta": -0.0216,
"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.2148,
"delta": -0.1182,
"percent_delta": -0.3551,
"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.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 1.0,
"delta": 0.941,
"percent_delta": 15.9492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.324,
"after": 3.0,
"delta": -0.324,
"percent_delta": -0.0975,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2148,
"delta": -0.0152,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.147,
"after": 1.0,
"delta": 0.853,
"percent_delta": 5.8027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.765,
"after": 1.0,
"delta": 0.235,
"percent_delta": 0.3072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2539,
"delta": -0.0091,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3258,
"delta": -0.0192,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.059,
"after": 1.0,
"delta": 0.941,
"percent_delta": 15.9492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"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.176 | - |
| predicted_3B | 0.059 | - |
| predicted_AB | 3.324 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.147 | - |
| predicted_H | 0.765 | - |
| predicted_HR | 0.029 | - |
| predicted_OBP | 0.263 | - |
| predicted_R | 0.294 | - |
| predicted_RBI | 0.647 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 0.471 | - |
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.180 | 0.004 |
| predicted_3B | 0.048 | -0.011 |
| predicted_AB | 3.333 | 0.009 |
| predicted_AVG | 0.221 | -0.009 |
| predicted_BB | 0.176 | 0.029 |
| predicted_H | 0.736 | -0.029 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.032 | 0.003 |
| predicted_OBP | 0.259 | -0.004 |
| predicted_R | 0.276 | -0.018 |
| predicted_RBI | 0.610 | -0.037 |
| predicted_SLG | 0.333 | -0.012 |
| predicted_SO | 0.474 | 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.180 | 0.000 |
| predicted_3B | 0.048 | 0.000 |
| predicted_AB | 3.333 | 0.000 |
| predicted_AVG | 0.215 | -0.006 |
| predicted_BB | 0.175 | -0.002 |
| predicted_H | 0.716 | -0.020 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.031 | -0.001 |
| predicted_OBP | 0.254 | -0.005 |
| predicted_R | 0.263 | -0.013 |
| predicted_RBI | 0.581 | -0.029 |
| predicted_SLG | 0.326 | -0.007 |
| predicted_SO | 0.479 | 0.005 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.215 HR/AB=0.009
| 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 | 1.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 | 1.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.180 |
| predicted_3B | 0.000 | -0.048 |
| predicted_AB | 3.000 | -0.333 |
| predicted_AVG | 0.333 | 0.118 |
| predicted_BB | 0.000 | -0.175 |
| predicted_H | 1.000 | 0.284 |
| predicted_HR | 0.000 | -0.031 |
| predicted_OBP | 0.333 | 0.079 |
| predicted_R | 0.000 | -0.263 |
| predicted_RBI | 1.000 | 0.419 |
| predicted_SLG | 0.333 | 0.007 |
| predicted_SO | 0.000 | -0.479 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 3.000 | 0.000 |
| BB | 1.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 | 0.000 | 0.000 |
| RBI | 0.000 | -1.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 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 1.000 | 0.1333 | 0.2353 | 0.2000 | 0.1333 | 0.0000 | 0.1333 | 0.1333 | 0.0667 |
| last_10 | 0.20 | 10 | - | 32.000 | 5.000 | 2.000 | 0.000 | 0.000 | 5.000 | 1.000 | 2.000 | 4.000 | 0.1562 | 0.2059 | 0.2188 | 0.1562 | 0.0000 | 0.1562 | 0.0625 | 0.1250 |
| season | 0.60 | 34 | - | 113.000 | 26.000 | 6.000 | 2.000 | 1.000 | 22.000 | 10.000 | 5.000 | 16.000 | 0.2301 | 0.2541 | 0.3451 | 0.2301 | 0.0089 | 0.1947 | 0.0442 | 0.1416 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0310 |
| predicted_AB | 3.3470 |
| predicted_AVG | 0.2063 |
| predicted_BB | 0.2220 |
| predicted_H | 0.6900 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.0370 |
| predicted_OBP | 0.2535 |
| predicted_R | 0.2470 |
| predicted_RBI | 0.5530 |
| predicted_SLG | 0.3142 |
| predicted_SO | 0.4790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1860 | 0.1799 | model_form_blend |
| predicted_3B | 0.0590 | 0.0310 | 0.0480 | model_form_blend |
| predicted_AB | 3.3240 | 3.3470 | 3.3330 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2063 | 0.2207 | model_form_blend |
| predicted_BB | 0.1470 | 0.2220 | 0.1764 | model_form_blend |
| predicted_H | 0.7650 | 0.6900 | 0.7356 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0290 | 0.0370 | 0.0321 | model_form_blend |
| predicted_OBP | 0.2630 | 0.2535 | 0.2593 | model_form_blend |
| predicted_R | 0.2940 | 0.2470 | 0.2756 | model_form_blend |
| predicted_RBI | 0.6470 | 0.5530 | 0.6101 | model_form_blend |
| predicted_SLG | 0.3450 | 0.3142 | 0.3329 | model_form_blend |
| predicted_SO | 0.4710 | 0.4790 | 0.4741 | 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 | 109 |
| Season rows before report date | 109 |
| Report year | 2026 |
| Profile rows used | 34 |
| 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 | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| 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.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 | 2 |
| 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 | 3B |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 691458 |
| playerID | 691458 |
| playerName | Blaze Jordan |
| pos | 1B |
| started | True |
| startingPosition | 3B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.255 |
| sl_xwoba | 0.298 |
| sl_xba | 0.254 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 9.1 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 54.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.248 | 1.000 | 0.000 | Hitting_2B | 0.278 | 0.000 | 0.722 | 1.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 4.050 | 4.000 | 4.000 | Hitting_AB | 3.991 | 4.000 | 0.009 | 0.000 |
| predicted_AVG | 0.257 | 0.250 | 0.250 | Hitting_AVG | 0.289 | 0.250 | -0.039 | 0.000 |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.040 | 1.000 | 1.000 | Hitting_H | 1.153 | 1.000 | -0.153 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.157 | 0.000 | -0.157 | 0.000 |
| predicted_OBP | 0.342 | 0.250 | 0.250 | Hitting_OBP | 0.348 | 0.250 | -0.098 | 0.000 |
| predicted_R | 0.543 | 1.000 | 1.000 | Hitting_R | 0.597 | 0.000 | 0.403 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 0.000 | Hitting_RBI | 0.722 | 0.000 | 0.278 | 1.000 |
| predicted_SLG | 0.424 | 0.500 | 0.250 | Hitting_SLG | 0.484 | 0.250 | 0.016 | 0.250 |
| predicted_SO | 0.667 | 1.000 | 1.000 | Hitting_SO | 0.662 | 2.000 | 0.338 | -1.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_2B: 0.2480 -> 1.0000 (boost 0.7520, better) |
| Biggest Deboost | predicted_BB: 0.3240 -> 0.0000 (deboost -0.3240, 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 | 4 | 2 | predicted_H: 1.0400 -> 1.1008 (boost 0.0608, better) | predicted_AB: 4.0500 -> 3.9594 (deboost -0.0906, 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.3483 -> 0.3219 (deboost -0.0264, 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.7325 -> 1.0000 (boost 0.2675, worse) | predicted_RBI: 0.4784 -> 0.0000 (deboost -0.4784, worse) | AB rounded to 4 (raw=4.05), rates preserved: AVG=0.264 HR/AB=0.024 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5099 -> 1.0000 (boost 0.4901, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4117 -> 0.2500 (deboost -0.1617, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4117 (boost 0.1617, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676475",
"player_name": "Alec Burleson",
"position": "1B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.248,
"predicted_3B": 0.01,
"predicted_AB": 4.05,
"predicted_AVG": 0.257,
"predicted_BB": 0.324,
"predicted_H": 1.04,
"predicted_HR": 0.11,
"predicted_OBP": 0.342,
"predicted_R": 0.543,
"predicted_RBI": 0.49,
"predicted_SLG": 0.424,
"predicted_SO": 0.667
},
"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.2463,
"predicted_3B": 0.0083,
"predicted_AB": 3.9594,
"predicted_AVG": 0.2788,
"predicted_BB": 0.3024,
"predicted_H": 1.1008,
"predicted_HBP": 0.024,
"predicted_HR": 0.1009,
"predicted_OBP": 0.3483,
"predicted_R": 0.5352,
"predicted_RBI": 0.5021,
"predicted_SLG": 0.4325,
"predicted_SO": 0.7257
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.248,
"after": 0.2463,
"delta": -0.0017,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0083,
"delta": -0.0017,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.05,
"after": 3.9594,
"delta": -0.0906,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2788,
"delta": 0.0218,
"percent_delta": 0.0848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.3024,
"delta": -0.0216,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.1008,
"delta": 0.0608,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1009,
"delta": -0.0091,
"percent_delta": -0.0827,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3483,
"delta": 0.0063,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.543,
"after": 0.5352,
"delta": -0.0078,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.5021,
"delta": 0.0121,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4325,
"delta": 0.0085,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.7257,
"delta": 0.0587,
"percent_delta": 0.088,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.04,
"after": 1.1008,
"delta": 0.0608,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.05,
"after": 3.9594,
"delta": -0.0906,
"percent_delta": -0.0224,
"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": 105
}
},
{
"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.2463,
"predicted_3B": 0.0083,
"predicted_AB": 3.9594,
"predicted_AVG": 0.2705,
"predicted_BB": 0.2996,
"predicted_H": 1.0712,
"predicted_HBP": 0.024,
"predicted_HR": 0.0987,
"predicted_OBP": 0.3219,
"predicted_R": 0.5099,
"predicted_RBI": 0.4784,
"predicted_SLG": 0.4117,
"predicted_SO": 0.7325
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2463,
"after": 0.2463,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9594,
"after": 3.9594,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2788,
"after": 0.2705,
"delta": -0.0083,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3024,
"after": 0.2996,
"delta": -0.0028,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1008,
"after": 1.0712,
"delta": -0.0296,
"percent_delta": -0.0269,
"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.1009,
"after": 0.0987,
"delta": -0.0022,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3483,
"after": 0.3219,
"delta": -0.0264,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5352,
"after": 0.5099,
"delta": -0.0253,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5021,
"after": 0.4784,
"delta": -0.0237,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4325,
"after": 0.4117,
"delta": -0.0208,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7257,
"after": 0.7325,
"delta": 0.0068,
"percent_delta": 0.0094,
"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.3483,
"after": 0.3219,
"delta": -0.0264,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.05), rates preserved: AVG=0.264 HR/AB=0.024",
"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.2463,
"after": 0.0,
"delta": -0.2463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0,
"delta": -0.0083,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9594,
"after": 4.0,
"delta": 0.0406,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2996,
"after": 0.0,
"delta": -0.2996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0712,
"after": 1.0,
"delta": -0.0712,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"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.0987,
"after": 0.0,
"delta": -0.0987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4784,
"after": 0.0,
"delta": -0.4784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7325,
"after": 1.0,
"delta": 0.2675,
"percent_delta": 0.3652,
"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.7325,
"after": 1.0,
"delta": 0.2675,
"percent_delta": 0.3652,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4784,
"after": 0.0,
"delta": -0.4784,
"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.300)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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_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": 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.5099,
"after": 1.0,
"delta": 0.4901,
"percent_delta": 0.9612,
"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.5099,
"after": 1.0,
"delta": 0.4901,
"percent_delta": 0.9612,
"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": 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.2705,
"after": 0.25,
"delta": -0.0205,
"percent_delta": -0.0758,
"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.3219,
"after": 0.25,
"delta": -0.0719,
"percent_delta": -0.2234,
"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.4117,
"after": 0.25,
"delta": -0.1617,
"percent_delta": -0.3928,
"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.4117,
"after": 0.25,
"delta": -0.1617,
"percent_delta": -0.3928,
"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": 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": 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": 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": 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_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": 9,
"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.2705,
"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.3219,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4117,
"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.25,
"after": 0.2705,
"delta": 0.0205,
"percent_delta": 0.0822,
"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.3219,
"delta": 0.0719,
"percent_delta": 0.2874,
"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.4117,
"delta": 0.1617,
"percent_delta": 0.6468,
"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.4117,
"delta": 0.1617,
"percent_delta": 0.6468,
"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.248,
"after": 1.0,
"delta": 0.752,
"percent_delta": 3.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.05,
"after": 4.0,
"delta": -0.05,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2705,
"delta": 0.0135,
"percent_delta": 0.0525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0,
"delta": -0.04,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3219,
"delta": -0.0201,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4117,
"delta": -0.0123,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"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_2B",
"before": 0.248,
"after": 1.0,
"delta": 0.752,
"percent_delta": 3.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"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.248 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.050 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.543 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.424 | - |
| predicted_SO | 0.667 | - |
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.246 | -0.002 |
| predicted_3B | 0.008 | -0.002 |
| predicted_AB | 3.959 | -0.091 |
| predicted_AVG | 0.279 | 0.022 |
| predicted_BB | 0.302 | -0.022 |
| predicted_H | 1.101 | 0.061 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.101 | -0.009 |
| predicted_OBP | 0.348 | 0.006 |
| predicted_R | 0.535 | -0.008 |
| predicted_RBI | 0.502 | 0.012 |
| predicted_SLG | 0.432 | 0.009 |
| predicted_SO | 0.726 | 0.059 |
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.246 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.959 | 0.000 |
| predicted_AVG | 0.271 | -0.008 |
| predicted_BB | 0.300 | -0.003 |
| predicted_H | 1.071 | -0.030 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.099 | -0.002 |
| predicted_OBP | 0.322 | -0.026 |
| predicted_R | 0.510 | -0.025 |
| predicted_RBI | 0.478 | -0.024 |
| predicted_SLG | 0.412 | -0.021 |
| predicted_SO | 0.733 | 0.007 |
AB rounded to 4 (raw=4.05), rates preserved: AVG=0.264 HR/AB=0.024
| 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 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
| 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 |
| 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 | 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.246 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.041 |
| predicted_AVG | 0.250 | -0.021 |
| predicted_BB | 0.000 | -0.300 |
| predicted_H | 1.000 | -0.071 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.250 | -0.072 |
| predicted_R | 1.000 | 0.490 |
| predicted_RBI | 0.000 | -0.478 |
| predicted_SLG | 0.250 | -0.162 |
| predicted_SO | 1.000 | 0.267 |
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 | 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 | 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 | - | 19.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 5.000 | 0.3684 | 0.4000 | 0.4211 | 0.3684 | 0.0000 | 0.1053 | 0.0526 | 0.2632 |
| last_10 | 0.20 | 10 | - | 39.000 | 13.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 10.000 | 0.3333 | 0.3659 | 0.4103 | 0.3333 | 0.0000 | 0.0513 | 0.0513 | 0.2564 |
| season | 0.60 | 105 | - | 403.000 | 115.000 | 26.000 | 1.000 | 15.000 | 70.000 | 57.000 | 34.000 | 70.000 | 0.2854 | 0.3446 | 0.4665 | 0.2854 | 0.0372 | 0.1737 | 0.0844 | 0.1737 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2440 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.8400 |
| predicted_AVG | 0.3076 |
| predicted_BB | 0.2740 |
| predicted_H | 1.1810 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0890 |
| predicted_OBP | 0.3565 |
| predicted_R | 0.5250 |
| predicted_RBI | 0.5180 |
| predicted_SLG | 0.4438 |
| predicted_SO | 0.8030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2480 | 0.2440 | 0.2463 | model_form_blend |
| predicted_3B | 0.0100 | 0.0060 | 0.0083 | model_form_blend |
| predicted_AB | 4.0500 | 3.8400 | 3.9594 | model_form_blend |
| predicted_AVG | 0.2570 | 0.3076 | 0.2788 | model_form_blend |
| predicted_BB | 0.3240 | 0.2740 | 0.3024 | model_form_blend |
| predicted_H | 1.0400 | 1.1810 | 1.1008 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1100 | 0.0890 | 0.1009 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3565 | 0.3483 | model_form_blend |
| predicted_R | 0.5430 | 0.5250 | 0.5352 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5180 | 0.5021 | model_form_blend |
| predicted_SLG | 0.4240 | 0.4438 | 0.4325 | model_form_blend |
| predicted_SO | 0.6670 | 0.8030 | 0.7257 | 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 | 432 |
| Season rows before report date | 432 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| 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 | 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 | 2 |
| 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 | 1B |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 676475 |
| playerID | 676475 |
| playerName | Alec Burleson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.35 |
| sl_xwoba | 0.383 |
| sl_xba | 0.299 |
| sl_xslg | 0.538 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 48.7 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 21.1 |
| sl_swing_percent | 51.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.111 | 0.000 | 0.000 | Hitting_2B | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 3.259 | 3.000 | 3.000 | Hitting_AB | 3.475 | 3.000 | -0.475 | 0.000 |
| predicted_AVG | 0.224 | 0.000 | 0.333 | Hitting_AVG | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_BB | 0.173 | 0.000 | 0.000 | Hitting_BB | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.640 | 0.000 | 1.000 | Hitting_H | 0.823 | 0.000 | -0.823 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_OBP | 0.249 | 0.000 | 0.333 | Hitting_OBP | 0.275 | 0.250 | -0.275 | -0.250 |
| predicted_R | 0.407 | 1.000 | 0.000 | Hitting_R | 0.450 | 1.000 | 0.550 | 0.000 |
| predicted_RBI | 0.330 | 2.000 | 0.000 | Hitting_RBI | 0.426 | 0.000 | 1.574 | 2.000 |
| predicted_SLG | 0.336 | 0.000 | 0.333 | Hitting_SLG | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_SO | 0.704 | 0.000 | 1.000 | Hitting_SO | 0.755 | 0.000 | -0.755 | 0.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_RBI: 0.3300 -> 2.0000 (boost 1.6700, better) |
| Biggest Deboost | predicted_SO: 0.7040 -> 0.0000 (deboost -0.7040, 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_AB: 3.2590 -> 3.2037 (deboost -0.0553, 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.2137 -> 0.1925 (deboost -0.0212, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.6167 -> 1.0000 (boost 0.3833, better) | predicted_RBI: 0.3325 -> 0.0000 (deboost -0.3325, worse) | AB rounded to 3 (raw=3.26), rates preserved: AVG=0.189 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3994 -> 0.0000 (deboost -0.3994, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1925 -> 0.3330 (boost 0.1405, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 3 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.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.1925 (deboost -0.1405, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701675",
"player_name": "Nathan Church",
"position": "CF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.012,
"predicted_AB": 3.259,
"predicted_AVG": 0.224,
"predicted_BB": 0.173,
"predicted_H": 0.64,
"predicted_HR": 0.08,
"predicted_OBP": 0.249,
"predicted_R": 0.407,
"predicted_RBI": 0.33,
"predicted_SLG": 0.336,
"predicted_SO": 0.704
},
"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.0945,
"predicted_3B": 0.0103,
"predicted_AB": 3.2037,
"predicted_AVG": 0.2137,
"predicted_BB": 0.1726,
"predicted_H": 0.6337,
"predicted_HBP": 0.077,
"predicted_HR": 0.0724,
"predicted_OBP": 0.2512,
"predicted_R": 0.4192,
"predicted_RBI": 0.349,
"predicted_SLG": 0.3154,
"predicted_SO": 0.6593
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0945,
"delta": -0.0165,
"percent_delta": -0.1486,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.259,
"after": 3.2037,
"delta": -0.0553,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2137,
"delta": -0.0103,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.173,
"after": 0.1726,
"delta": -0.0004,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6337,
"delta": -0.0063,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0724,
"delta": -0.0076,
"percent_delta": -0.095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.249,
"after": 0.2512,
"delta": 0.0022,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 0.4192,
"delta": 0.0122,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.349,
"delta": 0.019,
"percent_delta": 0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3154,
"delta": -0.0206,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.704,
"after": 0.6593,
"delta": -0.0447,
"percent_delta": -0.0635,
"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": 3.259,
"after": 3.2037,
"delta": -0.0553,
"percent_delta": -0.017,
"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": 81
}
},
{
"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.0945,
"predicted_3B": 0.0103,
"predicted_AB": 3.2037,
"predicted_AVG": 0.1925,
"predicted_BB": 0.171,
"predicted_H": 0.6167,
"predicted_HBP": 0.077,
"predicted_HR": 0.0708,
"predicted_OBP": 0.2334,
"predicted_R": 0.3994,
"predicted_RBI": 0.3325,
"predicted_SLG": 0.2947,
"predicted_SO": 0.6655
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0945,
"after": 0.0945,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2037,
"after": 3.2037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2137,
"after": 0.1925,
"delta": -0.0212,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1726,
"after": 0.171,
"delta": -0.0016,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6337,
"after": 0.6167,
"delta": -0.017,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0724,
"after": 0.0708,
"delta": -0.0016,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2512,
"after": 0.2334,
"delta": -0.0178,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4192,
"after": 0.3994,
"delta": -0.0198,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.349,
"after": 0.3325,
"delta": -0.0165,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3154,
"after": 0.2947,
"delta": -0.0207,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6593,
"after": 0.6655,
"delta": 0.0062,
"percent_delta": 0.0094,
"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.2137,
"after": 0.1925,
"delta": -0.0212,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.26), rates preserved: AVG=0.189 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.0945,
"after": 0.0,
"delta": -0.0945,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2037,
"after": 3.0,
"delta": -0.2037,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6167,
"after": 1.0,
"delta": 0.3833,
"percent_delta": 0.6215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0708,
"after": 0.0,
"delta": -0.0708,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3325,
"after": 0.0,
"delta": -0.3325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6655,
"after": 1.0,
"delta": 0.3345,
"percent_delta": 0.5026,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6167,
"after": 1.0,
"delta": 0.3833,
"percent_delta": 0.6215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3325,
"after": 0.0,
"delta": -0.3325,
"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.3994,
"after": 0.0,
"delta": -0.3994,
"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.3994,
"after": 0.0,
"delta": -0.3994,
"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.1925,
"after": 0.333,
"delta": 0.1405,
"percent_delta": 0.7299,
"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.2334,
"after": 0.333,
"delta": 0.0996,
"percent_delta": 0.4267,
"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.2947,
"after": 0.333,
"delta": 0.0383,
"percent_delta": 0.13,
"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.1925,
"after": 0.333,
"delta": 0.1405,
"percent_delta": 0.7299,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 1.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_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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"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": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"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_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.1925,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2334,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.2947,
"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.1925,
"delta": -0.1405,
"percent_delta": -0.422,
"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.2334,
"delta": -0.0996,
"percent_delta": -0.2991,
"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": 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.333,
"after": 0.2947,
"delta": -0.0383,
"percent_delta": -0.115,
"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.1925,
"delta": -0.1405,
"percent_delta": -0.422,
"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.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.259,
"after": 3.0,
"delta": -0.259,
"percent_delta": -0.0795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.1925,
"delta": -0.0315,
"percent_delta": -0.1406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.249,
"after": 0.2334,
"delta": -0.0156,
"percent_delta": -0.0627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 1.0,
"delta": 0.593,
"percent_delta": 1.457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 2.0,
"delta": 1.67,
"percent_delta": 5.0606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.2947,
"delta": -0.0413,
"percent_delta": -0.1229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.704,
"after": 0.0,
"delta": -0.704,
"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_RBI",
"before": 0.33,
"after": 2.0,
"delta": 1.67,
"percent_delta": 5.0606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.704,
"after": 0.0,
"delta": -0.704,
"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.111 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.259 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.173 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.249 | - |
| predicted_R | 0.407 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.336 | - |
| predicted_SO | 0.704 | - |
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.095 | -0.017 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.204 | -0.055 |
| predicted_AVG | 0.214 | -0.010 |
| predicted_BB | 0.173 | -0.000 |
| predicted_H | 0.634 | -0.006 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.072 | -0.008 |
| predicted_OBP | 0.251 | 0.002 |
| predicted_R | 0.419 | 0.012 |
| predicted_RBI | 0.349 | 0.019 |
| predicted_SLG | 0.315 | -0.021 |
| predicted_SO | 0.659 | -0.045 |
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.095 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.204 | 0.000 |
| predicted_AVG | 0.193 | -0.021 |
| predicted_BB | 0.171 | -0.002 |
| predicted_H | 0.617 | -0.017 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.071 | -0.002 |
| predicted_OBP | 0.233 | -0.018 |
| predicted_R | 0.399 | -0.020 |
| predicted_RBI | 0.333 | -0.016 |
| predicted_SLG | 0.295 | -0.021 |
| predicted_SO | 0.665 | 0.006 |
AB rounded to 3 (raw=3.26), rates preserved: AVG=0.189 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.095 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 3.000 | -0.204 |
| predicted_AVG | 0.333 | 0.141 |
| predicted_BB | 0.000 | -0.171 |
| predicted_H | 1.000 | 0.383 |
| predicted_HR | 0.000 | -0.071 |
| predicted_OBP | 0.333 | 0.100 |
| predicted_R | 0.000 | -0.399 |
| predicted_RBI | 0.000 | -0.333 |
| predicted_SLG | 0.333 | 0.038 |
| predicted_SO | 1.000 | 0.335 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.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 | 2.000 | 3.000 | 1.000 | 2.000 | 0.1429 | 0.2353 | 0.1429 | 0.1429 | 0.0000 | 0.1429 | 0.0714 | 0.1429 |
| last_10 | 0.20 | 10 | - | 27.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 4.000 | 0.1481 | 0.2000 | 0.1481 | 0.1482 | 0.0000 | 0.1111 | 0.0370 | 0.1482 |
| season | 0.60 | 81 | - | 264.000 | 60.000 | 9.000 | 1.000 | 8.000 | 30.000 | 33.000 | 14.000 | 57.000 | 0.2273 | 0.2695 | 0.3598 | 0.2273 | 0.0303 | 0.1136 | 0.0530 | 0.2159 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0720 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.1280 |
| predicted_AVG | 0.1997 |
| predicted_BB | 0.1720 |
| predicted_H | 0.6250 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.2542 |
| predicted_R | 0.4360 |
| predicted_RBI | 0.3750 |
| predicted_SLG | 0.2871 |
| predicted_SO | 0.5980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.0720 | 0.0945 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.2590 | 3.1280 | 3.2037 | model_form_blend |
| predicted_AVG | 0.2240 | 0.1997 | 0.2137 | model_form_blend |
| predicted_BB | 0.1730 | 0.1720 | 0.1726 | model_form_blend |
| predicted_H | 0.6400 | 0.6250 | 0.6337 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.0800 | 0.0620 | 0.0724 | model_form_blend |
| predicted_OBP | 0.2490 | 0.2542 | 0.2512 | model_form_blend |
| predicted_R | 0.4070 | 0.4360 | 0.4192 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3750 | 0.3490 | model_form_blend |
| predicted_SLG | 0.3360 | 0.2871 | 0.3154 | model_form_blend |
| predicted_SO | 0.7040 | 0.5980 | 0.6593 | 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 | 282 |
| Season rows before report date | 282 |
| Report year | 2026 |
| Profile rows used | 81 |
| 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 | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.227 |
| 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 | 1 |
| 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 | 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 | CF |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 701675 |
| playerID | 701675 |
| playerName | Nathan Church |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.274 |
| sl_xwoba | 0.282 |
| sl_xba | 0.237 |
| sl_xslg | 0.367 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 32.7 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 57.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.134 | 0.000 | 0.000 | Hitting_2B | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.870 | 3.000 | 4.000 | Hitting_AB | 3.755 | 4.000 | -0.755 | -1.000 |
| predicted_AVG | 0.267 | 0.333 | 0.250 | Hitting_AVG | 0.241 | 0.000 | 0.092 | 0.333 |
| predicted_BB | 0.340 | 1.000 | 0.000 | Hitting_BB | 0.363 | 0.000 | 0.637 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.040 | 1.000 | 1.000 | Hitting_H | 0.905 | 0.000 | 0.095 | 1.000 |
| predicted_HR | 0.050 | 1.000 | 0.000 | Hitting_HR | 0.046 | 0.000 | 0.954 | 1.000 |
| predicted_OBP | 0.322 | 0.500 | 0.250 | Hitting_OBP | 0.314 | 0.000 | 0.186 | 0.500 |
| predicted_R | 0.402 | 1.000 | 0.000 | Hitting_R | 0.433 | 0.000 | 0.567 | 1.000 |
| predicted_RBI | 0.460 | 1.000 | 0.000 | Hitting_RBI | 0.505 | 0.000 | 0.495 | 1.000 |
| predicted_SLG | 0.329 | 1.333 | 0.250 | Hitting_SLG | 0.327 | 0.000 | 1.007 | 1.333 |
| predicted_SO | 0.814 | 0.000 | 1.000 | Hitting_SO | 0.784 | 3.000 | -0.784 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_HR: 0.0500 -> 1.0000 (boost 0.9500, better) |
| Biggest Deboost | predicted_AB: 3.8700 -> 3.0000 (deboost -0.8700, 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 | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.8140 -> 0.8681 (boost 0.0541, worse) | predicted_AB: 3.8700 -> 3.8111 (deboost -0.0589, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3291 -> 0.3350 (boost 0.0059, better) | predicted_AVG: 0.2632 -> 0.2572 (deboost -0.0060, 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: 3.8111 -> 4.0000 (boost 0.1889, better) | predicted_RBI: 0.4129 -> 0.0000 (deboost -0.4129, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.253 HR/AB=0.011 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.857) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3699 -> 0.0000 (deboost -0.3699, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3350 -> 0.2500 (deboost -0.0850, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 4 | 2 | 5 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.2500 -> 0.3350 (boost 0.0850, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691026",
"player_name": "Masyn Winn",
"position": "SS",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.134,
"predicted_3B": 0.021,
"predicted_AB": 3.87,
"predicted_AVG": 0.267,
"predicted_BB": 0.34,
"predicted_H": 1.04,
"predicted_HR": 0.05,
"predicted_OBP": 0.322,
"predicted_R": 0.402,
"predicted_RBI": 0.46,
"predicted_SLG": 0.329,
"predicted_SO": 0.814
},
"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.1374,
"predicted_3B": 0.0176,
"predicted_AB": 3.8111,
"predicted_AVG": 0.2632,
"predicted_BB": 0.3241,
"predicted_H": 1.0073,
"predicted_HBP": 0.037,
"predicted_HR": 0.0423,
"predicted_OBP": 0.3204,
"predicted_R": 0.3882,
"predicted_RBI": 0.4334,
"predicted_SLG": 0.3291,
"predicted_SO": 0.8681
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.1374,
"delta": 0.0034,
"percent_delta": 0.0254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0176,
"delta": -0.0034,
"percent_delta": -0.1619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 3.8111,
"delta": -0.0589,
"percent_delta": -0.0152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2632,
"delta": -0.0038,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.34,
"after": 0.3241,
"delta": -0.0159,
"percent_delta": -0.0468,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0073,
"delta": -0.0327,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0423,
"delta": -0.0077,
"percent_delta": -0.154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3204,
"delta": -0.0016,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.402,
"after": 0.3882,
"delta": -0.0138,
"percent_delta": -0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4334,
"delta": -0.0266,
"percent_delta": -0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.3291,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.814,
"after": 0.8681,
"delta": 0.0541,
"percent_delta": 0.0665,
"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": 0.814,
"after": 0.8681,
"delta": 0.0541,
"percent_delta": 0.0665,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.87,
"after": 3.8111,
"delta": -0.0589,
"percent_delta": -0.0152,
"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": 97
}
},
{
"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.1374,
"predicted_3B": 0.0176,
"predicted_AB": 3.8111,
"predicted_AVG": 0.2572,
"predicted_BB": 0.3211,
"predicted_H": 0.9802,
"predicted_HBP": 0.037,
"predicted_HR": 0.0414,
"predicted_OBP": 0.3149,
"predicted_R": 0.3699,
"predicted_RBI": 0.4129,
"predicted_SLG": 0.335,
"predicted_SO": 0.8763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1374,
"after": 0.1374,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0176,
"after": 0.0176,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8111,
"after": 3.8111,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2632,
"after": 0.2572,
"delta": -0.006,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3241,
"after": 0.3211,
"delta": -0.003,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0073,
"after": 0.9802,
"delta": -0.0271,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0423,
"after": 0.0414,
"delta": -0.0009,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3204,
"after": 0.3149,
"delta": -0.0055,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3882,
"after": 0.3699,
"delta": -0.0183,
"percent_delta": -0.0471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4334,
"after": 0.4129,
"delta": -0.0205,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3291,
"after": 0.335,
"delta": 0.0059,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8681,
"after": 0.8763,
"delta": 0.0082,
"percent_delta": 0.0094,
"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.3291,
"after": 0.335,
"delta": 0.0059,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2632,
"after": 0.2572,
"delta": -0.006,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.253 HR/AB=0.011",
"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.1374,
"after": 0.0,
"delta": -0.1374,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0176,
"after": 0.0,
"delta": -0.0176,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8111,
"after": 4.0,
"delta": 0.1889,
"percent_delta": 0.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3211,
"after": 0.0,
"delta": -0.3211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9802,
"after": 1.0,
"delta": 0.0198,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0414,
"after": 0.0,
"delta": -0.0414,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4129,
"after": 0.0,
"delta": -0.4129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8763,
"after": 1.0,
"delta": 0.1237,
"percent_delta": 0.1412,
"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": 3.8111,
"after": 4.0,
"delta": 0.1889,
"percent_delta": 0.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4129,
"after": 0.0,
"delta": -0.4129,
"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=7.0, weight=0.076, BvP AVG=0.857)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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_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.9243,
"bvp": 0.0757
},
"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": 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.3699,
"after": 0.0,
"delta": -0.3699,
"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.3699,
"after": 0.0,
"delta": -0.3699,
"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": 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.2572,
"after": 0.25,
"delta": -0.0072,
"percent_delta": -0.028,
"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.3149,
"after": 0.25,
"delta": -0.0649,
"percent_delta": -0.2061,
"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.335,
"after": 0.25,
"delta": -0.085,
"percent_delta": -0.2537,
"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.335,
"after": 0.25,
"delta": -0.085,
"percent_delta": -0.2537,
"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": 3.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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 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_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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2572,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3149,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.335,
"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": 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.25,
"after": 0.2572,
"delta": 0.0072,
"percent_delta": 0.0288,
"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": 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.3149,
"delta": 0.0649,
"percent_delta": 0.2596,
"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.335,
"delta": 0.085,
"percent_delta": 0.3402,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.335,
"delta": 0.085,
"percent_delta": 0.3402,
"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.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 3.0,
"delta": -0.87,
"percent_delta": -0.2248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2572,
"delta": -0.0098,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0,
"delta": -0.04,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 1.0,
"delta": 0.95,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3149,
"delta": -0.0071,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.402,
"after": 1.0,
"delta": 0.598,
"percent_delta": 1.4876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.335,
"delta": 0.006,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.814,
"after": 0.0,
"delta": -0.814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.05,
"after": 1.0,
"delta": 0.95,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.87,
"after": 3.0,
"delta": -0.87,
"percent_delta": -0.2248,
"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.134 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.870 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.340 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.402 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.329 | - |
| predicted_SO | 0.814 | - |
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.137 | 0.003 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 3.811 | -0.059 |
| predicted_AVG | 0.263 | -0.004 |
| predicted_BB | 0.324 | -0.016 |
| predicted_H | 1.007 | -0.033 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.042 | -0.008 |
| predicted_OBP | 0.320 | -0.002 |
| predicted_R | 0.388 | -0.014 |
| predicted_RBI | 0.433 | -0.027 |
| predicted_SLG | 0.329 | 0.000 |
| predicted_SO | 0.868 | 0.054 |
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.137 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.811 | 0.000 |
| predicted_AVG | 0.257 | -0.006 |
| predicted_BB | 0.321 | -0.003 |
| predicted_H | 0.980 | -0.027 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.041 | -0.001 |
| predicted_OBP | 0.315 | -0.006 |
| predicted_R | 0.370 | -0.018 |
| predicted_RBI | 0.413 | -0.021 |
| predicted_SLG | 0.335 | 0.006 |
| predicted_SO | 0.876 | 0.008 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.253 HR/AB=0.011
| 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 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.857)
| 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 |
| 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 | 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.137 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 4.000 | 0.189 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 0.000 | -0.321 |
| predicted_H | 1.000 | 0.020 |
| predicted_HR | 0.000 | -0.041 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 0.000 | -0.370 |
| predicted_RBI | 0.000 | -0.413 |
| predicted_SLG | 0.250 | -0.085 |
| predicted_SO | 1.000 | 0.124 |
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 | -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 | 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 | - | 20.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 6.000 | 0.3500 | 0.3810 | 0.4000 | 0.3500 | 0.0000 | 0.1000 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 11.000 | 0.2222 | 0.2821 | 0.2500 | 0.2222 | 0.0000 | 0.0556 | 0.0833 | 0.3056 |
| season | 0.60 | 97 | - | 357.000 | 86.000 | 13.000 | 2.000 | 4.000 | 44.000 | 39.000 | 33.000 | 79.000 | 0.2409 | 0.3109 | 0.3221 | 0.2409 | 0.0112 | 0.1232 | 0.0924 | 0.2213 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1420 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.7330 |
| predicted_AVG | 0.2582 |
| predicted_BB | 0.3030 |
| predicted_H | 0.9640 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.0320 |
| predicted_OBP | 0.3182 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.3980 |
| predicted_SLG | 0.3292 |
| predicted_SO | 0.9400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1340 | 0.1420 | 0.1374 | model_form_blend |
| predicted_3B | 0.0210 | 0.0130 | 0.0176 | model_form_blend |
| predicted_AB | 3.8700 | 3.7330 | 3.8111 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2582 | 0.2632 | model_form_blend |
| predicted_BB | 0.3400 | 0.3030 | 0.3241 | model_form_blend |
| predicted_H | 1.0400 | 0.9640 | 1.0073 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.0500 | 0.0320 | 0.0423 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3182 | 0.3204 | model_form_blend |
| predicted_R | 0.4020 | 0.3700 | 0.3882 | model_form_blend |
| predicted_RBI | 0.4600 | 0.3980 | 0.4334 | model_form_blend |
| predicted_SLG | 0.3290 | 0.3292 | 0.3291 | model_form_blend |
| predicted_SO | 0.8140 | 0.9400 | 0.8681 | 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 | 388 |
| Season rows before report date | 388 |
| Report year | 2026 |
| Profile rows used | 97 |
| 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 | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| 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 | 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 | SS |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 691026 |
| playerID | 691026 |
| playerName | Masyn Winn |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.291 |
| sl_xwoba | 0.303 |
| sl_xba | 0.254 |
| sl_xslg | 0.333 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 35.8 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 43.0 |
| 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 | 1.600 | 1.000 | 1.400 | 2.000 |
| predicted_ER | 6.000 | 6.000 | 6.000 | Pitching_ER | 2.350 | 0.000 | 3.650 | 6.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.200 | 2.000 | 1.800 | 5.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.500 | 7.000 | -0.300 | -1.800 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.150 | 8.000 | 0.850 | -3.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": "669467",
"player_name": "Andre Pallante",
"position": "Starter",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 6.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 5.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 6.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 5.2,
"predicted_R": 6.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": 6.0,
"after": 6.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"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": 6.0,
"after": 6.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 6.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 5.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.200 | 14.000 | 31.000 | 7.000 | 19.000 | 1.000 | 4.2472 | 1.2809 | 0.4719 | 1.0449 | 0.2360 | 0.6404 | 0.0337 |
| last_10 | 0.35 | 10 | 57.100 | 24.000 | 55.000 | 12.000 | 40.000 | 3.000 | 3.7674 | 1.1686 | 0.4186 | 0.9593 | 0.2093 | 0.6977 | 0.0523 |
| season | 0.20 | 20 | 112.100 | 47.000 | 104.000 | 32.000 | 83.000 | 10.000 | 3.7656 | 1.2107 | 0.4184 | 0.9258 | 0.2849 | 0.7389 | 0.0890 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5060 |
| predicted_ER | 2.6340 |
| predicted_ERA | 4.0973 |
| predicted_H | 5.7180 |
| predicted_HR | 0.4130 |
| predicted_IP | 5.2000 |
| predicted_SO | 4.2580 |
| predicted_WHIP | 1.2485 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.5060 | 2.1551 | model_form_blend |
| predicted_ER | 6.0000 | 2.6340 | 4.0965 | model_form_blend |
| predicted_ERA | - | 4.0973 | 4.0973 | form_only |
| predicted_H | 7.0000 | 5.7180 | 6.2750 | model_form_blend |
| predicted_HR | 2.0000 | 0.4130 | 1.1026 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 5.0000 | 4.2580 | 4.5804 | model_form_blend |
| predicted_WHIP | - | 1.2485 | 1.2485 | 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 | 7 |
| R | 6 |
| ER | 6 |
| BB | 3 |
| SO | 5 |
| HR | 2 |
| BF | 27 |
| Pitches | 109 |
| 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 | 24 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.77 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 7 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 90 |
| Pitching_R | 0 |
| Pitching_SO | 8 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260725_CIN@STL |
| game_type | full |
| mlbID | 669467 |
| playerID | 669467 |
| playerName | Andre Pallante |
| pos | P |
| started | True |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-25 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.295 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 33.9 |
| sl_whiff_percent | 21.1 |
| sl_swing_percent | 44.9 |
| sl_avg_best_speed | 76.416683081 |
| sl_avg_hyper_speed | 93.622800058 |
| 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.354 | 1.000 | -0.354 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.729 | 0.000 | 0.271 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.865 | 1.000 | 0.135 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.938 | 2.000 | 0.062 | -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": "666277",
"player_name": "George Soriano",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.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": 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": 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": 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": 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 | 1.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 | 2.000 | 5.000 | 1.000 | 7.000 | 1.000 | 3.6000 | 1.2000 | 0.4000 | 1.0000 | 0.2000 | 1.4000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 4.000 | 8.000 | 1.000 | 15.000 | 2.000 | 3.6000 | 0.9000 | 0.4000 | 0.8000 | 0.1000 | 1.5000 | 0.2000 |
| season | 0.20 | 48 | 47.100 | 18.000 | 35.000 | 17.000 | 45.000 | 6.000 | 3.4225 | 1.0986 | 0.3803 | 0.7394 | 0.3592 | 0.9507 | 0.1268 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2520 |
| predicted_ER | 0.4340 |
| predicted_ERA | 3.9075 |
| predicted_H | 0.9120 |
| predicted_HR | 0.1740 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2110 |
| predicted_WHIP | 1.1639 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2520 | 0.1269 | model_form_blend |
| predicted_ER | 0.0000 | 0.4340 | 0.2186 | model_form_blend |
| predicted_ERA | - | 3.9075 | 3.9075 | form_only |
| predicted_H | 1.0000 | 0.9120 | 0.9557 | model_form_blend |
| predicted_HR | 0.0000 | 0.1740 | 0.0876 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2110 | 1.1063 | model_form_blend |
| predicted_WHIP | - | 1.1639 | 1.1639 | 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 | 48 |
| 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 | 1 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.42 |
| 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 | 22 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 666277 |
| playerID | 666277 |
| playerName | George Soriano |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.278 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 26.9 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 41.1 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 49.3 |
| sl_avg_best_speed | 79.856795077 |
| sl_avg_hyper_speed | 94.482421395 |
| 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.419 | 1.000 | -0.419 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.395 | 0.000 | -0.395 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.791 | 0.000 | 0.209 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.949 | 1.000 | 0.051 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.047 | 1.000 | 0.953 | 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": "676617",
"player_name": "Riley O'Brien",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.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": 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": 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": 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": 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 | 1.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.100 | 2.000 | 3.000 | 6.000 | 7.000 | 0.000 | 4.1538 | 2.0769 | 0.4615 | 0.6923 | 1.3846 | 1.6154 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 2.000 | 5.000 | 7.000 | 12.000 | 0.000 | 1.9286 | 1.2857 | 0.2143 | 0.5357 | 0.7500 | 1.2857 | 0.0000 |
| season | 0.20 | 43 | 42.200 | 17.000 | 34.000 | 18.000 | 45.000 | 2.000 | 3.5859 | 1.2188 | 0.3984 | 0.7969 | 0.4219 | 1.0547 | 0.0469 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7430 |
| predicted_ER | 0.4160 |
| predicted_ERA | 3.7403 |
| predicted_H | 0.7760 |
| predicted_HR | 0.0620 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2290 |
| predicted_WHIP | 1.5186 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7430 | 0.3667 | model_form_blend |
| predicted_ER | 0.0000 | 0.4160 | 0.2053 | model_form_blend |
| predicted_ERA | - | 3.7403 | 3.7403 | form_only |
| predicted_H | 1.0000 | 0.7760 | 0.8894 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0306 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2290 | 1.6195 | model_form_blend |
| predicted_WHIP | - | 1.5186 | 1.5186 | 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 | 43 |
| 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 | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| 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 | 0 |
| Pitching_ERA | 3.59 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 676617 |
| playerID | 676617 |
| playerName | Riley O'Brien |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.296 |
| sl_xwoba | 0.331 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 76.607273208 |
| sl_avg_hyper_speed | 94.503600286 |
| 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.543 | 2.000 | -0.543 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.761 | 0.000 | -0.761 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.757 | 1.000 | 0.243 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.978 | 2.000 | 0.022 | -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": "592773",
"player_name": "Ryne Stanek",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 1.000 | 1.000 | 4.000 | 5.000 | 0.000 | 1.9286 | 1.0714 | 0.2143 | 0.2143 | 0.8571 | 1.0714 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 4.000 | 6.000 | 8.000 | 0.000 | 0.9310 | 1.0345 | 0.1035 | 0.4138 | 0.6207 | 0.8276 | 0.0000 |
| season | 0.20 | 45 | 41.100 | 19.000 | 34.000 | 24.000 | 45.000 | 6.000 | 4.1371 | 1.4032 | 0.4597 | 0.8226 | 0.5806 | 1.0887 | 0.1452 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5820 |
| predicted_ER | 0.3310 |
| predicted_ERA | 2.9780 |
| predicted_H | 0.6210 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9780 |
| predicted_WHIP | 1.2031 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5820 | 0.2854 | model_form_blend |
| predicted_ER | 0.0000 | 0.3310 | 0.1623 | model_form_blend |
| predicted_ERA | - | 2.9780 | 2.9780 | form_only |
| predicted_H | 0.0000 | 0.6210 | 0.3046 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0368 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9780 | 0.9892 | model_form_blend |
| predicted_WHIP | - | 1.2031 | 1.2031 | 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 | 46 |
| Season rows before report date | 46 |
| Report year | 2026 |
| Profile rows used | 45 |
| 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 | 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.35 |
| 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 | 28 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_CHC@STL |
| game_type | full |
| mlbID | 592773 |
| playerID | 592773 |
| playerName | Ryne Stanek |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.318 |
| sl_xwoba | 0.307 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 33.0 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 78.176823148 |
| sl_avg_hyper_speed | 94.016322037 |
| 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 | 0.568 | 1.000 | 0.432 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.432 | 1.000 | -0.432 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.795 | 1.000 | 0.205 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 1.002 | 2.100 | -0.902 | -2.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.773 | 2.000 | -0.773 | -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: 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": "700669",
"player_name": "Gordon Graceffo",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 0.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": 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": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"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": 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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.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 | 7.100 | 4.000 | 7.000 | 4.000 | 10.000 | 1.000 | 4.9091 | 1.5000 | 0.5454 | 0.9546 | 0.5454 | 1.3636 | 0.1364 |
| last_10 | 0.35 | 10 | 14.100 | 4.000 | 8.000 | 6.000 | 16.000 | 1.000 | 2.5116 | 0.9767 | 0.2791 | 0.5581 | 0.4186 | 1.1163 | 0.0698 |
| season | 0.20 | 44 | 53.200 | 19.000 | 35.000 | 25.000 | 34.000 | 5.000 | 3.1863 | 1.1180 | 0.3540 | 0.6522 | 0.4658 | 0.6335 | 0.0932 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4500 |
| predicted_ER | 0.4500 |
| predicted_ERA | 3.9896 |
| predicted_H | 0.8380 |
| predicted_HR | 0.1210 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0920 |
| predicted_WHIP | 1.2696 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4500 | 0.7165 | model_form_blend |
| predicted_ER | 0.0000 | 0.4500 | 0.2319 | model_form_blend |
| predicted_ERA | - | 3.9896 | 3.9896 | form_only |
| predicted_H | 1.0000 | 0.8380 | 0.9165 | model_form_blend |
| predicted_HR | 0.0000 | 0.1210 | 0.0624 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0920 | 0.5628 | model_form_blend |
| predicted_WHIP | - | 1.2696 | 1.2696 | 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 | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 44 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 24 |
| 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 | 9 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.19 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.1 |
| Pitching_Pitches | 38 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260728_CHC@STL |
| game_type | full |
| mlbID | 700669 |
| playerID | 700669 |
| playerName | Gordon Graceffo |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-28 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.271 |
| sl_xwoba | 0.349 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 45.5 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 43.8 |
| sl_avg_best_speed | 83.675800779 |
| sl_avg_hyper_speed | 95.284537059 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | KC 3 - 4 MIN | MIN | 0.530 | scoring_simulation.final_score | True |
| Simulation draw | KC 4 - 5 MIN | MIN | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5300 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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 | 5.168 | 5.390 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5300 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 3 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 3 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4603488111239861,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.03392934414831983,
"confidence": 0.639784,
"factors": {
"environmental": 1.079568,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.079568
},
"prediction": "normal_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 9,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 150,
"near_bucket_sample_size": 150,
"medium_bucket_sample_size": 169,
"wide_bucket_sample_size": 257,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5,
"bayesian_hit_rate": 0.5,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8929,
"confidence_cap": 0.78,
"raw_pick_probability": 0.538,
"calibrated_pick_probability": 0.5137,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "MIN",
"games": 109,
"wins": 54,
"losses": 55,
"win_pct": 0.4954128440366973,
"runs_scored": 514,
"runs_allowed": 544,
"run_differential": -30,
"run_differential_per_game": -0.27522935779816515,
"available": true
},
"away": {
"team": "KC",
"games": 109,
"wins": 46,
"losses": 63,
"win_pct": 0.42201834862385323,
"runs_scored": 456,
"runs_allowed": 549,
"run_differential": -93,
"run_differential_per_game": -0.8532110091743119,
"available": true
},
"run_differential_edge_per_game": 0.578,
"win_pct_edge": 0.0734,
"quality_edge": 0.6881,
"margin_adjustment": 0.289,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 3.35,
"home_runs": 5.118,
"home_win_probability": 0.6503
}
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": true,
"reasons": [
"latest same-matchup result beat the predicted side",
"recent head-to-head is split and volatile",
"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",
"latest same-series result flipped a stale matchup lean"
],
"signals": {
"predicted_team": "MIN",
"opponent_team": "KC",
"h2h_net_margin": -4,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-07-29",
"predicted_team_runs": 0,
"opponent_runs": 4,
"margin_for_predicted_team": -4,
"winner": "KC"
},
{
"date": "2026-07-28",
"predicted_team_runs": 3,
"opponent_runs": 2,
"margin_for_predicted_team": 1,
"winner": "MIN"
},
{
"date": "2026-06-07",
"predicted_team_runs": 5,
"opponent_runs": 6,
"margin_for_predicted_team": -1,
"winner": "KC"
}
],
"prediction_memory": {
"available": true,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "2026-07-29",
"predicted_team": "MIN",
"confidence": 0.53,
"actual_winner": "KC",
"actual_margin": 4,
"path": "20260729_KC@MIN.json"
},
{
"date": "2026-07-28",
"predicted_team": "MIN",
"confidence": 0.53,
"actual_winner": "MIN",
"actual_margin": 1,
"path": "20260728_KC@MIN.json"
}
]
},
"guardrail_predicted_team": "MIN",
"guardrail_opponent_team": "KC",
"output_pre_simulation_winner": "MIN",
"output_opponent_team": "KC",
"final_score_winner": "MIN",
"pre_simulation_winner": "MIN",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "KC 3 - 4 MIN",
"winner": "MIN"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "KC 4 - 5 MIN",
"winner": "MIN"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.6881,
"winner": "MIN",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": true,
"reasons": [
"season-to-date record and run differential support the home team over a close road lean"
],
"signals": {
"home": {
"team": "MIN",
"games": 109,
"wins": 54,
"losses": 55,
"win_pct": 0.4954128440366973,
"runs_scored": 514,
"runs_allowed": 544,
"run_differential": -30,
"run_differential_per_game": -0.27522935779816515,
"available": true
},
"away": {
"team": "KC",
"games": 109,
"wins": 46,
"losses": 63,
"win_pct": 0.42201834862385323,
"runs_scored": 456,
"runs_allowed": 549,
"run_differential": -93,
"run_differential_per_game": -0.8532110091743119,
"available": true
},
"home_quality_edge": 0.1428,
"original_score": {
"away_runs": 4.409,
"home_runs": 4.059,
"home_win_probability": 0.49
},
"adjusted_score": {
"away_runs": 4.162,
"home_runs": 4.609,
"home_win_probability": 0.5358
}
}
}{
"applied": false,
"raw_margin": 0.4473,
"final_margin": 0.4473,
"margin_cap": 1.5,
"season_quality_edge": 0.6881,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.513687,
"final_confidence": 0.513687,
"confidence_cap": 0.66,
"score_gap": 0.4473,
"calibration_sample_size": 150,
"calibration_empirical_hit_rate": 0.5,
"calibration_bayesian_hit_rate": 0.5,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6881,
"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": 4,
"score_text": "KC 3 - 4 MIN",
"winner": "MIN"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "KC 4 - 5 MIN",
"winner": "MIN"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.6881,
"winner": "MIN",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 5,
"confidence": 0.53,
"home_win_probability": 0.53,
"away_win_probability": 0.47,
"predicted_score_text": "KC 4 - 5 MIN",
"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": "KC",
"original_runs": 3,
"run_delta": 0.268,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.06284426076664969,
"contact": -0.2066671287124467,
"power": -0.053081059942847446,
"discipline": -0.1329628033108017,
"xwoba": 0.2901515151515151,
"recent_xwoba": 0.2901515151515151,
"barrel": 7.496969696969697,
"ab_hard_contact": -0.1678665091022581,
"ab_bat_speed": 68.47000566169068,
"ab_strikeout_rate": 0.2335710284190268,
"available_players": 9,
"top_players": [
{
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"weight": 5.0,
"quality": 0.9041514456233772,
"contact": 0.8837526375132578,
"power": 1.4723384025249266,
"discipline": -0.6040643764837315,
"xwoba": 0.35,
"recent_xwoba": 0.35,
"barrel": 14.9,
"ab_hard_contact": 0.5324823362128238,
"ab_bat_speed": 75.98561900494965,
"ab_strikeout_rate": 0.2988479262672811,
"available": 1.0
},
{
"player_id": "623205",
"player_name": "Andrew Velazquez",
"position": "SS",
"weight": 3.0,
"quality": -0.0449512688705234,
"contact": -1.646292063492063,
"power": -1.8793904761904758,
"discipline": -0.39285930735930746,
"xwoba": 0.161,
"recent_xwoba": 0.161,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 42.41458333333333,
"ab_strikeout_rate": 0.125,
"available": 1.0
},
{
"player_id": "668942",
"player_name": "Josh Rojas",
"position": "3B",
"weight": 3.0,
"quality": -0.2202681337213508,
"contact": -1.0653351311769002,
"power": -1.0064266359896894,
"discipline": -0.5586437685121896,
"xwoba": 0.24,
"recent_xwoba": 0.24,
"barrel": 2.4,
"ab_hard_contact": -0.5441517674128413,
"ab_bat_speed": 66.81673245614036,
"ab_strikeout_rate": 0.27807017543859647,
"available": 1.0
},
{
"player_id": "679845",
"player_name": "Nick Loftin",
"position": "2B",
"weight": 3.0,
"quality": -0.19717978914711415,
"contact": -0.10272026510298567,
"power": -0.5527569183350638,
"discipline": 0.7990137085137086,
"xwoba": 0.312,
"recent_xwoba": 0.312,
"barrel": 4.9,
"ab_hard_contact": -0.5195193190822236,
"ab_bat_speed": 66.89885141093475,
"ab_strikeout_rate": 0.13412698412698412,
"available": 1.0
},
{
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"weight": 3.0,
"quality": -0.19182590701290542,
"contact": -0.14868912385522562,
"power": -0.4268956040601762,
"discipline": 0.41379585582956374,
"xwoba": 0.304,
"recent_xwoba": 0.304,
"barrel": 5.8,
"ab_hard_contact": 0.10627839498695504,
"ab_bat_speed": 71.06636047979798,
"ab_strikeout_rate": 0.23127340823970036,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "641927",
"player_name": "Bailey Ober",
"quality": -0.28502276703741924,
"contact": 0.015501198221562873,
"command": -0.5612477072310404,
"movement": -1.307422549360422,
"xwoba": 0.323,
"whiff": 19.7,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "MIN",
"original_runs": 4,
"run_delta": 0.2259,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": -0.03215049808741854,
"contact": -0.0012802797549199732,
"power": -0.02009238621774626,
"discipline": 0.34257851798790245,
"xwoba": 0.3156451612903226,
"recent_xwoba": 0.3156451612903226,
"barrel": 7.554838709677419,
"ab_hard_contact": -0.028428369516216034,
"ab_bat_speed": 70.05939922674018,
"ab_strikeout_rate": 0.18984788893850446,
"available_players": 9,
"top_players": [
{
"player_id": "680777",
"player_name": "Ryan Jeffers",
"position": "C",
"weight": 4.0,
"quality": 0.6817341293843588,
"contact": 0.9072269104450117,
"power": 0.964711401518296,
"discipline": 1.1728232323232322,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 13.0,
"ab_hard_contact": 0.16756136369925256,
"ab_bat_speed": 72.08096825396825,
"ab_strikeout_rate": 0.16031746031746033,
"available": 1.0
},
{
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "CF",
"weight": 3.0,
"quality": -0.5198219713837768,
"contact": -0.473380620901211,
"power": -0.9825622691809581,
"discipline": 0.700288562314878,
"xwoba": 0.301,
"recent_xwoba": 0.301,
"barrel": 2.9,
"ab_hard_contact": -0.4363882407620261,
"ab_bat_speed": 67.70162339181287,
"ab_strikeout_rate": 0.17228070175438598,
"available": 1.0
},
{
"player_id": "686797",
"player_name": "Brooks Lee",
"position": "3B",
"weight": 4.0,
"quality": -0.5893024279507142,
"contact": -0.6044457888888887,
"power": -0.7435149987570238,
"discipline": 0.1736982323232324,
"xwoba": 0.274,
"recent_xwoba": 0.274,
"barrel": 3.8,
"ab_hard_contact": -0.3628714037118972,
"ab_bat_speed": 68.7771707175926,
"ab_strikeout_rate": 0.1670138888888889,
"available": 1.0
},
{
"player_id": "668885",
"player_name": "Austin Martin",
"position": "LF",
"weight": 3.0,
"quality": -0.4061242063493762,
"contact": -0.29649295864621505,
"power": -0.9905080166925088,
"discipline": 0.926315295815296,
"xwoba": 0.311,
"recent_xwoba": 0.311,
"barrel": 2.0,
"ab_hard_contact": -0.4501603338501751,
"ab_bat_speed": 66.01424422799423,
"ab_strikeout_rate": 0.21111111111111108,
"available": 1.0
},
{
"player_id": "605137",
"player_name": "Josh Bell",
"position": "DH",
"weight": 4.0,
"quality": 0.2505283027111624,
"contact": 0.17966759013888903,
"power": 0.4934718982728309,
"discipline": -0.1482640692640692,
"xwoba": 0.319,
"recent_xwoba": 0.319,
"barrel": 9.7,
"ab_hard_contact": -0.0600858440671878,
"ab_bat_speed": 71.19102793650794,
"ab_strikeout_rate": 0.21483333333333335,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "702070",
"player_name": "Noah Cameron",
"quality": -0.39392660782163247,
"contact": -0.5056406314693895,
"command": -0.17753342151675464,
"movement": -0.7328679865261771,
"xwoba": 0.34,
"whiff": 25.1,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.6881,
"recent_form_edge_home_minus_away": -0.202,
"pitcher_matchup_edge_home_minus_away": 0.1864,
"composite_home_edge": 0.918,
"existing_home_win_probability": 0.5137,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.918
},
"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. Season quality guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "KC 3 - 4 MIN",
"confidence": 0.53,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "KC 3 - 4 MIN",
"winner": "MIN"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "KC 4 - 5 MIN",
"winner": "MIN"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.6881,
"winner": "MIN",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "MIN",
"display_confidence": 0.53,
"internal_signal_score": 0.6135,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.53,
"confidence_compression_detected": true,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.6881,
"winner_recent_form_edge": -0.132,
"winner_pitcher_matchup_edge": 0.1864,
"winner_simulation_draw_rate": 0.6364,
"blowout_draw_rate_margin_4_plus": 0.2727,
"high_total_draw_rate_11_plus": 0.0909,
"low_total_draw_rate_6_or_less": 0.2727,
"total_runs_spread": {
"min": 3,
"median": 7,
"max": 11,
"range": 8
}
},
"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 KC | True | 1.0008 | 1.0008 | 1 | 9 | 0 |
| Home MIN | True | 1.0089 | 1.0089 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Salvador Perez | 527 | 1.0190 | 0.2531 | neutral | 0.2980 | 0.2290 | 0.4090 | 10.10 | 43 | 89.10 | 16.10 | 25.70 | 20.40 | 4 | 0.7143 |
| DH | Michael Massey | 124 | 0.9984 | -0.0215 | neutral | 0.2980 | 0.2380 | 0.3970 | 6.40 | 41.10 | 89.90 | 17.10 | 20.40 | 17.50 | 5.60 | -0.6286 |
| 2B | Nick Loftin | 151 | 0.9938 | -0.0825 | neutral | 0.3120 | 0.2440 | 0.3600 | 4.90 | 30.10 | 87.30 | 13.40 | 14.90 | 13.80 | 9.80 | -0.4857 |
| RF | Jac Caglianone | 79 | 1.0923 | 1.2303 | neutral | 0.3500 | 0.2650 | 0.4860 | 14.90 | 55.40 | 93 | 7.90 | 30.30 | 28.30 | 7.10 | 0.6000 |
| LF | Isaac Collins | 188 | 0.9888 | -0.1498 | neutral | 0.3040 | 0.2310 | 0.3280 | 5.80 | 40.40 | 88.30 | 16.80 | 22.30 | 23.40 | 11.50 | -0.4000 |
| 3B | Josh Rojas | 224 | 0.9614 | -0.5153 | negative_batter_regression | 0.2400 | 0.2080 | 0.3060 | 2.40 | 39 | 84.70 | 11.10 | 25.80 | 17.30 | 3.80 | -1.5143 |
| CF | Lane Thomas | 333 | 1.0175 | 0.2340 | neutral | 0.3170 | 0.2420 | 0.3730 | 6.50 | 42.50 | 89.50 | 18.20 | 21.40 | 24.10 | 12 | -0.1143 |
| C | Carter Jensen | 141 | 0.9836 | -0.2181 | negative_batter_regression | 0.2840 | 0.2070 | 0.3630 | 9.60 | 43.30 | 90.80 | 20.60 | 29.30 | 29.30 | 9.20 | -0.9143 |
| SS | Andrew Velazquez | 465 | 0.9522 | -0.6375 | positive_batter_regression | 0.1610 | 0.1700 | 0.1960 | 0 | 27.30 | 84.90 | 22.90 | 13 | 15.40 | 0 | 2 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Austin Martin | 156 | 0.9818 | -0.2430 | neutral | 0.3110 | 0.2390 | 0.3190 | 2 | 28.60 | 87 | 12 | 20 | 18.50 | 13.80 | -0.0571 |
| 2B | Royce Lewis | 213 | 1.0175 | 0.2338 | neutral | 0.3070 | 0.2210 | 0.3890 | 12.10 | 41.60 | 89.30 | 20.90 | 34.10 | 24.90 | 10.40 | 0.1714 |
| 1B | Victor Caratini | 316 | 1.0385 | 0.5139 | neutral | 0.3280 | 0.2460 | 0.3990 | 6.90 | 39.60 | 89.90 | 13.50 | 21.80 | 19.10 | 8.90 | 0.6857 |
| CF | Luke Keaschall | 162 | 0.9719 | -0.3747 | neutral | 0.3010 | 0.2320 | 0.3320 | 2.90 | 28.60 | 84.70 | 16.70 | 17 | 15.30 | 10.20 | -0.3714 |
| C | Ryan Jeffers | 67 | 1.0696 | 0.9276 | neutral | 0.3770 | 0.2640 | 0.4800 | 13 | 41.20 | 90 | 18.20 | 17.40 | 16.30 | 14.20 | -0.6286 |
| 3B | Brooks Lee | 168 | 0.9481 | -0.6920 | negative_batter_regression | 0.2740 | 0.2260 | 0.3290 | 3.80 | 31.40 | 87.60 | 15.10 | 20.90 | 16.20 | 7.20 | -1.2571 |
| SS | Ryan Kreidler | 225 | 0.9935 | -0.0871 | neutral | 0.2980 | 0.2310 | 0.3940 | 7.90 | 36.20 | 87.90 | 12.10 | 30.60 | 20.90 | 6.80 | -0.3714 |
| DH | Josh Bell | 285 | 1.0343 | 0.4572 | neutral | 0.3190 | 0.2450 | 0.4310 | 9.70 | 43.10 | 90 | 13.30 | 24.90 | 22.50 | 7.40 | 0.1429 |
| RF | Alan Roden | 487 | 1.0246 | 0.3277 | positive_batter_regression | 0.3210 | 0.2580 | 0.3900 | 6.90 | 48.30 | 90.50 | 13.80 | 19.40 | 15.40 | 10.30 | 2 |
{
"home": {
"applied": true,
"offense_factor": 1.0089,
"raw_average_factor": 1.0089,
"team_espn_average_rank": 231.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "668885",
"player_name": "Austin Martin",
"offense_factor": 0.9818,
"quality_score": -0.243,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668885",
"espn_id": 4297998,
"player_name": "Austin Martin",
"team": "MIN",
"role": "batter",
"espn_rank": 156,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 156,
"gp_value": 96.0,
"gp_rank": 122,
"ab_value": 249.0,
"ab_rank": 199,
"r_value": 37.0,
"r_rank": 161,
"h_value": 61.0,
"h_rank": 194,
"avg_value": 0.2449799,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 2.0,
"hr_rank": 372,
"rbi_value": 21.0,
"rbi_rank": 271,
"tb_value": 81.0,
"tb_rank": 1942,
"bb_value": 41.0,
"bb_rank": 60,
"so_value": 55.0,
"so_rank": 214,
"sb_value": 10.0,
"sb_rank": 62,
"obp_value": 0.3590604,
"obp_rank": "-",
"slg_value": 0.3253012,
"slg_rank": "-",
"ops_value": 0.6843616,
"ops_rank": null,
"war_value": 1.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 281.0,
"k_percent": 18.5,
"bb_percent": 13.8,
"woba": 0.313,
"xwoba": 0.311,
"xba": 0.239,
"xslg": 0.319,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 2.0,
"hard_hit_percent": 28.6,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 12.0,
"whiff_percent": 20.0,
"swing_percent": 39.3
},
"components": {
"expected_quality": -0.2732,
"regression_edge": -0.0571,
"xwoba_edge": 0.2429,
"xba_edge": 0.0143,
"xslg_edge": -0.75,
"barrel_edge": -1.0667,
"hard_hit_edge": -1.3571,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "668904",
"player_name": "Royce Lewis",
"offense_factor": 1.0175,
"quality_score": 0.2338,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668904",
"espn_id": 40635,
"player_name": "Royce Lewis",
"team": "MIN",
"role": "batter",
"espn_rank": 213,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 213,
"gp_value": 74.0,
"gp_rank": 217,
"ab_value": 265.0,
"ab_rank": 183,
"r_value": 35.0,
"r_rank": 175,
"h_value": 57.0,
"h_rank": 211,
"avg_value": 0.2150943,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": 157,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 33.0,
"rbi_rank": 184,
"tb_value": 102.0,
"tb_rank": 982,
"bb_value": 31.0,
"bb_rank": 127,
"so_value": 75.0,
"so_rank": 119,
"sb_value": 10.0,
"sb_rank": 62,
"obp_value": 0.2990033,
"obp_rank": "-",
"slg_value": 0.3849056,
"slg_rank": "-",
"ops_value": 0.6839089,
"ops_rank": null,
"war_value": 0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 281.0,
"k_percent": 24.9,
"bb_percent": 10.4,
"woba": 0.301,
"xwoba": 0.307,
"xba": 0.221,
"xslg": 0.389,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 41.6,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 20.9,
"whiff_percent": 34.1,
"swing_percent": 46.9
},
"components": {
"expected_quality": 0.244,
"regression_edge": 0.1714,
"xwoba_edge": 0.1286,
"xba_edge": -0.5,
"xslg_edge": 0.25,
"barrel_edge": 1.1778,
"hard_hit_edge": 0.5,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "605170",
"player_name": "Victor Caratini",
"offense_factor": 1.0385,
"quality_score": 0.5139,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605170",
"espn_id": 33229,
"player_name": "Victor Caratini",
"team": "MIN",
"role": "batter",
"espn_rank": 316,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 316,
"gp_value": 79.0,
"gp_rank": 195,
"ab_value": 254.0,
"ab_rank": 190,
"r_value": 24.0,
"r_rank": 251,
"h_value": 60.0,
"h_rank": 201,
"avg_value": 0.2362204,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 36.0,
"rbi_rank": 160,
"tb_value": 90.0,
"tb_rank": 1525,
"bb_value": 26.0,
"bb_rank": 165,
"so_value": 57.0,
"so_rank": 201,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3198653,
"obp_rank": "-",
"slg_value": 0.3543307,
"slg_rank": "-",
"ops_value": 0.674196,
"ops_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 276.0,
"k_percent": 19.1,
"bb_percent": 8.9,
"woba": 0.304,
"xwoba": 0.328,
"xba": 0.246,
"xslg": 0.399,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 39.6,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 13.5,
"whiff_percent": 21.8,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.4859,
"regression_edge": 0.6857,
"xwoba_edge": 0.7286,
"xba_edge": 0.2143,
"xslg_edge": 0.3929,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "807712",
"player_name": "Luke Keaschall",
"offense_factor": 0.9719,
"quality_score": -0.3747,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807712",
"espn_id": 4977664,
"player_name": "Luke Keaschall",
"team": "MIN",
"role": "batter",
"espn_rank": 162,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 162,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 337.0,
"ab_rank": 114,
"r_value": 51.0,
"r_rank": 78,
"h_value": 87.0,
"h_rank": 96,
"avg_value": 0.2581602,
"avg_rank": 72.0,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 30.0,
"rbi_rank": 201,
"tb_value": 115.0,
"tb_rank": 1279,
"bb_value": 40.0,
"bb_rank": 66,
"so_value": 60.0,
"so_rank": 189,
"sb_value": 13.0,
"sb_rank": 45,
"obp_value": 0.3518987,
"obp_rank": "43",
"slg_value": 0.3412462,
"slg_rank": "149",
"ops_value": 0.6931449,
"ops_rank": 192.0,
"war_value": 1.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 373.0,
"k_percent": 15.3,
"bb_percent": 10.2,
"woba": 0.314,
"xwoba": 0.301,
"xba": 0.232,
"xslg": 0.332,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 28.6,
"exit_velocity_avg": 84.7,
"launch_angle_avg": 16.7,
"whiff_percent": 17.0,
"swing_percent": 41.8
},
"components": {
"expected_quality": -0.3752,
"regression_edge": -0.3714,
"xwoba_edge": -0.0429,
"xba_edge": -0.1857,
"xslg_edge": -0.5643,
"barrel_edge": -0.8667,
"hard_hit_edge": -1.3571,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "680777",
"player_name": "Ryan Jeffers",
"offense_factor": 1.0696,
"quality_score": 0.9276,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680777",
"espn_id": 41587,
"player_name": "Ryan Jeffers",
"team": "MIN",
"role": "batter",
"espn_rank": 67,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 67,
"gp_value": 47.0,
"gp_rank": 350,
"ab_value": 160.0,
"ab_rank": 302,
"r_value": 29.0,
"r_rank": 211,
"h_value": 47.0,
"h_rank": 250,
"avg_value": 0.29375,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 35.0,
"rbi_rank": 167,
"tb_value": 85.0,
"tb_rank": 1147,
"bb_value": 27.0,
"bb_rank": 156,
"so_value": 31.0,
"so_rank": 346,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3968253,
"obp_rank": "-",
"slg_value": 0.53125,
"slg_rank": "-",
"ops_value": 0.9280753,
"ops_rank": null,
"war_value": 2.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 174.0,
"k_percent": 16.3,
"bb_percent": 14.2,
"woba": 0.399,
"xwoba": 0.377,
"xba": 0.264,
"xslg": 0.48,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 41.2,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 18.2,
"whiff_percent": 17.4,
"swing_percent": 38.9
},
"components": {
"expected_quality": 1.4661,
"regression_edge": -0.6286,
"xwoba_edge": 2.1286,
"xba_edge": 0.7286,
"xslg_edge": 1.55,
"barrel_edge": 1.3778,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "686797",
"player_name": "Brooks Lee",
"offense_factor": 0.9481,
"quality_score": -0.692,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686797",
"espn_id": 4629081,
"player_name": "Brooks Lee",
"team": "MIN",
"role": "batter",
"espn_rank": 168,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 168,
"gp_value": 104.0,
"gp_rank": 50,
"ab_value": 384.0,
"ab_rank": 68,
"r_value": 49.0,
"r_rank": 93,
"h_value": 94.0,
"h_rank": 82,
"avg_value": 0.2447916,
"avg_rank": 98.0,
"2b_value": 16.0,
"2b_rank": 107,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 56.0,
"rbi_rank": 49,
"tb_value": 161.0,
"tb_rank": 428,
"bb_value": 30.0,
"bb_rank": 131,
"so_value": 68.0,
"so_rank": 154,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.3021582,
"obp_rank": "130",
"slg_value": 0.4192708,
"slg_rank": "87",
"ops_value": 0.721429,
"ops_rank": 43.0,
"war_value": 1.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 397.0,
"k_percent": 16.2,
"bb_percent": 7.2,
"woba": 0.318,
"xwoba": 0.274,
"xba": 0.226,
"xslg": 0.329,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 31.4,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 15.1,
"whiff_percent": 20.9,
"swing_percent": 52.5
},
"components": {
"expected_quality": -0.6,
"regression_edge": -1.2571,
"xwoba_edge": -0.8143,
"xba_edge": -0.3571,
"xslg_edge": -0.6071,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.9571,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "668952",
"player_name": "Ryan Kreidler",
"offense_factor": 0.9935,
"quality_score": -0.0871,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668952",
"espn_id": 42701,
"player_name": "Ryan Kreidler",
"team": "MIN",
"role": "batter",
"espn_rank": 225,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 225,
"gp_value": 64.0,
"gp_rank": 275,
"ab_value": 167.0,
"ab_rank": 289,
"r_value": 24.0,
"r_rank": 251,
"h_value": 41.0,
"h_rank": 272,
"avg_value": 0.2455089,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 5.0,
"hr_rank": 249,
"rbi_value": 25.0,
"rbi_rank": 241,
"tb_value": 70.0,
"tb_rank": 1317,
"bb_value": 12.0,
"bb_rank": 326,
"so_value": 37.0,
"so_rank": 308,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3,
"obp_rank": "-",
"slg_value": 0.4191616,
"slg_rank": "-",
"ops_value": 0.7191616,
"ops_rank": null,
"war_value": 0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 158.0,
"k_percent": 20.9,
"bb_percent": 6.8,
"woba": 0.311,
"xwoba": 0.298,
"xba": 0.231,
"xslg": 0.394,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 12.1,
"whiff_percent": 30.6,
"swing_percent": 52.5
},
"components": {
"expected_quality": -0.0806,
"regression_edge": -0.3714,
"xwoba_edge": -0.1286,
"xba_edge": -0.2143,
"xslg_edge": 0.3214,
"barrel_edge": 0.2444,
"hard_hit_edge": -0.2714,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.95,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "605137",
"player_name": "Josh Bell",
"offense_factor": 1.0343,
"quality_score": 0.4572,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605137",
"espn_id": 32517,
"player_name": "Josh Bell",
"team": "MIN",
"role": "batter",
"espn_rank": 285,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 285,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 385.0,
"ab_rank": 61,
"r_value": 51.0,
"r_rank": 78,
"h_value": 94.0,
"h_rank": 82,
"avg_value": 0.2441558,
"avg_rank": 101.0,
"2b_value": 23.0,
"2b_rank": 17,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 13.0,
"hr_rank": 92,
"rbi_value": 63.0,
"rbi_rank": 25,
"tb_value": 158.0,
"tb_rank": 587,
"bb_value": 32.0,
"bb_rank": 122,
"so_value": 94.0,
"so_rank": 66,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.304038,
"obp_rank": "128",
"slg_value": 0.4103896,
"slg_rank": "93",
"ops_value": 0.7144276,
"ops_rank": 221.0,
"war_value": 0.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 401.0,
"k_percent": 22.5,
"bb_percent": 7.4,
"woba": 0.314,
"xwoba": 0.319,
"xba": 0.245,
"xslg": 0.431,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 43.1,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 13.3,
"whiff_percent": 24.9,
"swing_percent": 51.0
},
"components": {
"expected_quality": 0.5084,
"regression_edge": 0.1429,
"xwoba_edge": 0.4714,
"xba_edge": 0.1857,
"xslg_edge": 0.85,
"barrel_edge": 0.6444,
"hard_hit_edge": 0.7143,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "702176",
"player_name": "Alan Roden",
"offense_factor": 1.0246,
"quality_score": 0.3277,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "702176",
"espn_id": 4424368,
"player_name": "Alan Roden",
"team": "MIN",
"role": "batter",
"espn_rank": 487,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 487,
"gp_value": 15.0,
"gp_rank": 496,
"ab_value": 37.0,
"ab_rank": 494,
"r_value": 3.0,
"r_rank": 497,
"h_value": 7.0,
"h_rank": 494,
"avg_value": 0.1891891,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 533,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 0.0,
"hr_rank": 493,
"rbi_value": 7.0,
"rbi_rank": 426,
"tb_value": 7.0,
"tb_rank": 3004,
"bb_value": 4.0,
"bb_rank": 452,
"so_value": 7.0,
"so_rank": 520,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.2619047,
"obp_rank": "-",
"slg_value": 0.1891891,
"slg_rank": "-",
"ops_value": 0.4510938,
"ops_rank": null,
"war_value": -0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 33.0,
"k_percent": 15.4,
"bb_percent": 10.3,
"woba": 0.231,
"xwoba": 0.321,
"xba": 0.258,
"xslg": 0.39,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 48.3,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 13.8,
"whiff_percent": 19.4,
"swing_percent": 44.9
},
"components": {
"expected_quality": 0.5212,
"regression_edge": 2.0,
"xwoba_edge": 0.5286,
"xba_edge": 0.5571,
"xslg_edge": 0.2643,
"barrel_edge": 0.0222,
"hard_hit_edge": 1.4571,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0008,
"raw_average_factor": 1.0008,
"team_espn_average_rank": 248.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "521692",
"player_name": "Salvador Perez",
"offense_factor": 1.019,
"quality_score": 0.2531,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "521692",
"espn_id": 31127,
"player_name": "Salvador Perez",
"team": "KC",
"role": "batter",
"espn_rank": 527,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 527,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 393.0,
"ab_rank": 44,
"r_value": 39.0,
"r_rank": 148,
"h_value": 84.0,
"h_rank": 109,
"avg_value": 0.2137404,
"avg_rank": 146.0,
"2b_value": 15.0,
"2b_rank": 120,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 45.0,
"rbi_rank": 104,
"tb_value": 146.0,
"tb_rank": 642,
"bb_value": 17.0,
"bb_rank": 251,
"so_value": 89.0,
"so_rank": 75,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.2629107,
"obp_rank": "156",
"slg_value": 0.3715012,
"slg_rank": "129",
"ops_value": 0.6344119,
"ops_rank": 27.0,
"war_value": -0.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 398.0,
"k_percent": 20.4,
"bb_percent": 4.0,
"woba": 0.273,
"xwoba": 0.298,
"xba": 0.229,
"xslg": 0.409,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 10.1,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 16.1,
"whiff_percent": 25.7,
"swing_percent": 56.9
},
"components": {
"expected_quality": 0.178,
"regression_edge": 0.7143,
"xwoba_edge": -0.1286,
"xba_edge": -0.2714,
"xslg_edge": 0.5357,
"barrel_edge": 0.7333,
"hard_hit_edge": 0.7,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "686681",
"player_name": "Michael Massey",
"offense_factor": 0.9984,
"quality_score": -0.0215,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686681",
"espn_id": 4109223,
"player_name": "Michael Massey",
"team": "KC",
"role": "batter",
"espn_rank": 124,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 124,
"gp_value": 89.0,
"gp_rank": 155,
"ab_value": 267.0,
"ab_rank": 181,
"r_value": 36.0,
"r_rank": 166,
"h_value": 72.0,
"h_rank": 146,
"avg_value": 0.2696629,
"avg_rank": null,
"2b_value": 19.0,
"2b_rank": 61,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 36.0,
"rbi_rank": 160,
"tb_value": 115.0,
"tb_rank": 1215,
"bb_value": 16.0,
"bb_rank": 259,
"so_value": 50.0,
"so_rank": 237,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3066202,
"obp_rank": "-",
"slg_value": 0.4307116,
"slg_rank": "-",
"ops_value": 0.7373318,
"ops_rank": null,
"war_value": 1.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 270.0,
"k_percent": 17.5,
"bb_percent": 5.6,
"woba": 0.32,
"xwoba": 0.298,
"xba": 0.238,
"xslg": 0.397,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 41.1,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 17.1,
"whiff_percent": 20.4,
"swing_percent": 51.6
},
"components": {
"expected_quality": 0.0773,
"regression_edge": -0.6286,
"xwoba_edge": -0.1286,
"xba_edge": -0.0143,
"xslg_edge": 0.3643,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.4286,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "679845",
"player_name": "Nick Loftin",
"offense_factor": 0.9938,
"quality_score": -0.0825,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679845",
"espn_id": 4314013,
"player_name": "Nick Loftin",
"team": "KC",
"role": "batter",
"espn_rank": 151,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 151,
"gp_value": 71.0,
"gp_rank": 239,
"ab_value": 214.0,
"ab_rank": 241,
"r_value": 30.0,
"r_rank": 204,
"h_value": 55.0,
"h_rank": 214,
"avg_value": 0.2570093,
"avg_rank": null,
"2b_value": 17.0,
"2b_rank": 93,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 5.0,
"hr_rank": 249,
"rbi_value": 35.0,
"rbi_rank": 167,
"tb_value": 89.0,
"tb_rank": 1266,
"bb_value": 24.0,
"bb_rank": 181,
"so_value": 34.0,
"so_rank": 328,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3400809,
"obp_rank": "-",
"slg_value": 0.4158878,
"slg_rank": "-",
"ops_value": 0.7559687,
"ops_rank": null,
"war_value": 1.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 221.0,
"k_percent": 13.8,
"bb_percent": 9.8,
"woba": 0.329,
"xwoba": 0.312,
"xba": 0.244,
"xslg": 0.36,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 30.1,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 13.4,
"whiff_percent": 14.9,
"swing_percent": 41.5
},
"components": {
"expected_quality": -0.0169,
"regression_edge": -0.4857,
"xwoba_edge": 0.2714,
"xba_edge": 0.1571,
"xslg_edge": -0.1643,
"barrel_edge": -0.4222,
"hard_hit_edge": -1.1429,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "695506",
"player_name": "Jac Caglianone",
"offense_factor": 1.0923,
"quality_score": 1.2303,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695506",
"espn_id": 4926296,
"player_name": "Jac Caglianone",
"team": "KC",
"role": "batter",
"espn_rank": 79,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 79,
"gp_value": 100.0,
"gp_rank": 94,
"ab_value": 354.0,
"ab_rank": 93,
"r_value": 46.0,
"r_rank": 106,
"h_value": 89.0,
"h_rank": 92,
"avg_value": 0.2514124,
"avg_rank": 87.0,
"2b_value": 17.0,
"2b_rank": 93,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 16.0,
"hr_rank": 56,
"rbi_value": 38.0,
"rbi_rank": 143,
"tb_value": 158.0,
"tb_rank": 445,
"bb_value": 27.0,
"bb_rank": 156,
"so_value": 109.0,
"so_rank": 33,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3108808,
"obp_rank": "117",
"slg_value": 0.4463276,
"slg_rank": "60",
"ops_value": 0.7572084,
"ops_rank": 177.0,
"war_value": 2.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 362.0,
"k_percent": 28.3,
"bb_percent": 7.1,
"woba": 0.329,
"xwoba": 0.35,
"xba": 0.265,
"xslg": 0.486,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 14.9,
"hard_hit_percent": 55.4,
"exit_velocity_avg": 93.0,
"launch_angle_avg": 7.9,
"whiff_percent": 30.3,
"swing_percent": 52.3
},
"components": {
"expected_quality": 1.3329,
"regression_edge": 0.6,
"xwoba_edge": 1.3571,
"xba_edge": 0.7571,
"xslg_edge": 1.6357,
"barrel_edge": 1.8,
"hard_hit_edge": 2.4714,
"exit_velocity_edge": 1.72,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "686555",
"player_name": "Isaac Collins",
"offense_factor": 0.9888,
"quality_score": -0.1498,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686555",
"espn_id": 42959,
"player_name": "Isaac Collins",
"team": "KC",
"role": "batter",
"espn_rank": 188,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 188,
"gp_value": 98.0,
"gp_rank": 112,
"ab_value": 307.0,
"ab_rank": 136,
"r_value": 38.0,
"r_rank": 151,
"h_value": 73.0,
"h_rank": 139,
"avg_value": 0.237785,
"avg_rank": 116.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 34.0,
"rbi_rank": 176,
"tb_value": 111.0,
"tb_rank": 1111,
"bb_value": 42.0,
"bb_rank": 55,
"so_value": 83.0,
"so_rank": 90,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3389355,
"obp_rank": "63",
"slg_value": 0.3615635,
"slg_rank": "134",
"ops_value": 0.700499,
"ops_rank": 71.0,
"war_value": 0.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 334.0,
"k_percent": 23.4,
"bb_percent": 11.5,
"woba": 0.318,
"xwoba": 0.304,
"xba": 0.231,
"xslg": 0.328,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 40.4,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 16.8,
"whiff_percent": 22.3,
"swing_percent": 40.0
},
"components": {
"expected_quality": -0.109,
"regression_edge": -0.4,
"xwoba_edge": 0.0429,
"xba_edge": -0.2143,
"xslg_edge": -0.6214,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.3286,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "668942",
"player_name": "Josh Rojas",
"offense_factor": 0.9614,
"quality_score": -0.5153,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "668942",
"espn_id": 40718,
"player_name": "Josh Rojas",
"team": "KC",
"role": "batter",
"espn_rank": 224,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 224,
"gp_value": 22.0,
"gp_rank": 458,
"ab_value": 53.0,
"ab_rank": 458,
"r_value": 6.0,
"r_rank": 454,
"h_value": 14.0,
"h_rank": 434,
"avg_value": 0.2641509,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 408,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 6.0,
"rbi_rank": 443,
"tb_value": 20.0,
"tb_rank": 2588,
"bb_value": 2.0,
"bb_rank": 488,
"so_value": 9.0,
"so_rank": 499,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.290909,
"obp_rank": "-",
"slg_value": 0.3773584,
"slg_rank": "-",
"ops_value": 0.6682674,
"ops_rank": null,
"war_value": 0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 49.0,
"k_percent": 17.3,
"bb_percent": 3.8,
"woba": 0.293,
"xwoba": 0.24,
"xba": 0.208,
"xslg": 0.306,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 39.0,
"exit_velocity_avg": 84.7,
"launch_angle_avg": 11.1,
"whiff_percent": 25.8,
"swing_percent": 53.6
},
"components": {
"expected_quality": -1.0849,
"regression_edge": -1.5143,
"xwoba_edge": -1.7857,
"xba_edge": -0.8714,
"xslg_edge": -0.9357,
"barrel_edge": -0.9778,
"hard_hit_edge": 0.1286,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "657041",
"player_name": "Lane Thomas",
"offense_factor": 1.0175,
"quality_score": 0.234,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657041",
"espn_id": 36409,
"player_name": "Lane Thomas",
"team": "KC",
"role": "batter",
"espn_rank": 333,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 333,
"gp_value": 94.0,
"gp_rank": 132,
"ab_value": 279.0,
"ab_rank": 167,
"r_value": 31.0,
"r_rank": 200,
"h_value": 64.0,
"h_rank": 181,
"avg_value": 0.2293906,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": 107,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 37.0,
"rbi_rank": 150,
"tb_value": 110.0,
"tb_rank": 1188,
"bb_value": 38.0,
"bb_rank": 80,
"so_value": 77.0,
"so_rank": 115,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.3239875,
"obp_rank": "-",
"slg_value": 0.3942652,
"slg_rank": "-",
"ops_value": 0.7182527,
"ops_rank": null,
"war_value": 0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 295.0,
"k_percent": 24.1,
"bb_percent": 12.0,
"woba": 0.321,
"xwoba": 0.317,
"xba": 0.242,
"xslg": 0.373,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 42.5,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 18.2,
"whiff_percent": 21.4,
"swing_percent": 41.1
},
"components": {
"expected_quality": 0.2907,
"regression_edge": -0.1143,
"xwoba_edge": 0.4143,
"xba_edge": 0.1,
"xslg_edge": 0.0214,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.6286,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.5333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "695600",
"player_name": "Carter Jensen",
"offense_factor": 0.9836,
"quality_score": -0.2181,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695600",
"espn_id": 4917812,
"player_name": "Carter Jensen",
"team": "KC",
"role": "batter",
"espn_rank": 141,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 141,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 355.0,
"ab_rank": 92,
"r_value": 45.0,
"r_rank": 119,
"h_value": 84.0,
"h_rank": 109,
"avg_value": 0.2366197,
"avg_rank": 119.0,
"2b_value": 24.0,
"2b_rank": 13,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 14.0,
"hr_rank": 81,
"rbi_value": 53.0,
"rbi_rank": 56,
"tb_value": 150.0,
"tb_rank": 863,
"bb_value": 36.0,
"bb_rank": 94,
"so_value": 118.0,
"so_rank": 18,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3047858,
"obp_rank": "126",
"slg_value": 0.4225352,
"slg_rank": "79",
"ops_value": 0.727321,
"ops_rank": 205.0,
"war_value": 1.25,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 375.0,
"k_percent": 29.3,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.284,
"xba": 0.207,
"xslg": 0.363,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 43.3,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 20.6,
"whiff_percent": 29.3,
"swing_percent": 45.2
},
"components": {
"expected_quality": -0.1048,
"regression_edge": -0.9143,
"xwoba_edge": -0.5286,
"xba_edge": -0.9,
"xslg_edge": -0.1214,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.7429,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "SS",
"player_id": "623205",
"player_name": "Andrew Velazquez",
"offense_factor": 0.9522,
"quality_score": -0.6375,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "623205",
"espn_id": 35247,
"player_name": "Andrew Velazquez",
"team": "KC",
"role": "batter",
"espn_rank": 465,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 465,
"gp_value": 5.0,
"gp_rank": 580,
"ab_value": 13.0,
"ab_rank": 565,
"r_value": 0.0,
"r_rank": 581,
"h_value": 1.0,
"h_rank": 570,
"avg_value": 0.076923,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 533,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 0.0,
"hr_rank": 493,
"rbi_value": 0.0,
"rbi_rank": 565,
"tb_value": 1.0,
"tb_rank": 3080,
"bb_value": 0.0,
"bb_rank": 566,
"so_value": 2.0,
"so_rank": 582,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.076923,
"obp_rank": "-",
"slg_value": 0.076923,
"slg_rank": "-",
"ops_value": 0.153846,
"ops_rank": null,
"war_value": -0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 7.0,
"k_percent": 15.4,
"bb_percent": 0.0,
"woba": 0.068,
"xwoba": 0.161,
"xba": 0.17,
"xslg": 0.196,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 27.3,
"exit_velocity_avg": 84.9,
"launch_angle_avg": 22.9,
"whiff_percent": 13.0,
"swing_percent": 65.7
},
"components": {
"expected_quality": -1.9728,
"regression_edge": 2.0,
"xwoba_edge": -2.5,
"xba_edge": -1.9571,
"xslg_edge": -2.5,
"barrel_edge": -1.5111,
"hard_hit_edge": -1.5429,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": -1.0,
"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 KC | True | 552 | -0.3978 | 1 | 1.0338 | 0.9894 | 0.9780 | 1.0782 | neutral | 0.3400 | 0.3330 | 21.10 | 7.80 | 25.10 | 9.60 | 39.80 | |
| Home MIN | True | 144 | -0.2094 | 1 | 1.0178 | 0.9380 | 0.9500 | 1.0177 | neutral | 0.3230 | 0.3220 | 17.50 | 6.40 | 19.70 | 9.30 | 32.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away KC | True | None | 98 | 86.76 | 2196 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1744 | |
| Home MIN | True | None | 83 | 83.84 | 2155 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2800 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0178 |
| home_runs_vs_away_pitcher | 1.0338 |
| home_pitcher_quality_edge | 0.1884 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "641927",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 320.0,
"k_percent": 17.5,
"bb_percent": 6.4,
"woba": 0.322,
"xwoba": 0.323,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 32.7,
"avg_best_speed": 76.8388,
"avg_hyper_speed": 93.5215,
"whiff_percent": 19.7,
"swing_percent": 48.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.1029,
"command_and_miss": -0.4868,
"regression_edge": -0.0286,
"xwoba_edge": -0.3143,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.7714,
"whiff_edge": -0.8571,
"bb_edge": 0.625,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641927",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 83.83575008702702,
"release_spin_rate": 2154.931996415359,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 83.83575008702702,
"release_spin_rate": 2154.931996415359,
"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": 83.8358,
"release_spin_rate": 2154.932,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2094,
"sample_weight": 1.0,
"run_prevention_factor": 1.0178,
"strikeout_factor": 0.938,
"walk_factor": 0.95,
"homer_factor": 1.0177,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641927",
"espn_id": 3107919,
"player_name": "Bailey Ober",
"team": "MIN",
"role": "pitcher",
"espn_rank": 144,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 144,
"gp_value": 15.0,
"gp_rank": 386,
"gs_value": 15.0,
"gs_rank": 103,
"qs_value": 4.0,
"qs_rank": 98,
"era_value": 4.5555,
"era_rank": null,
"w_value": 7.0,
"w_rank": 44,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 81.0,
"ip_rank": 116,
"h_value": 79.0,
"h_rank": 103,
"er_value": 41.0,
"er_rank": 92,
"hr_value": 13.0,
"hr_rank": 60,
"bb_value": 22.0,
"bb_rank": 174,
"k_value": 60.0,
"k_rank": 150,
"k_per_9_value": 6.6666665,
"k_per_9_rank": 34,
"whip_value": 1.2469,
"whip_rank": null,
"war_value": 0.98,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "702070",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 444.0,
"k_percent": 21.1,
"bb_percent": 7.8,
"woba": 0.333,
"xwoba": 0.34,
"sweet_spot_percent": 41.3,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 39.8,
"avg_best_speed": 78.7626,
"avg_hyper_speed": 94.4882,
"whiff_percent": 25.1,
"swing_percent": 47.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.624,
"command_and_miss": -0.0554,
"regression_edge": -0.2,
"xwoba_edge": -0.8,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.2429,
"whiff_edge": -0.0857,
"bb_edge": 0.275,
"pitch_design_score": -0.1744
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "702070",
"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": 86.75848482562041,
"release_spin_rate": 2196.120336435208,
"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": 86.75848482562041,
"release_spin_rate": 2196.120336435208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.7585,
"release_spin_rate": 2196.1203,
"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.1744,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2456,
"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.3978,
"sample_weight": 1.0,
"run_prevention_factor": 1.0338,
"strikeout_factor": 0.9894,
"walk_factor": 0.978,
"homer_factor": 1.0782,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702070",
"espn_id": 4417208,
"player_name": "Noah Cameron",
"team": "KC",
"role": "pitcher",
"espn_rank": 552,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 552,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 5.0,
"qs_rank": 83,
"era_value": 4.9318,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 8.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 107.2,
"ip_rank": 62,
"h_value": 115.0,
"h_rank": 18,
"er_value": 59.0,
"er_rank": 15,
"hr_value": 14.0,
"hr_rank": 53,
"bb_value": 37.0,
"bb_rank": 49,
"k_value": 100.0,
"k_rank": 54,
"k_per_9_value": 8.359133,
"k_per_9_rank": 23,
"whip_value": 1.4117,
"whip_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0178,
"home_runs_vs_away_pitcher": 1.0338,
"home_pitcher_quality_edge": 0.1884
},
"score_before": {
"away_runs": 3.8857,
"home_runs": 4.4982
},
"score_after": {
"away_runs": 3.9549,
"home_runs": 4.6502,
"home_win_probability": 0.5625
},
"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 KC | 6-4 | 0.600 | 3.20 | 4.30 | -11 | 1W | cold | average |
| Home MIN | 5-5 | 0.500 | 3.60 | 5.10 | -15 | 1L | average | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away KC | 46-63 | 0.422 | -93 | -0.853 | True |
| Home MIN | 54-55 | 0.495 | -30 | -0.275 | True |
| Signal | - | - | 0.578 | 0.688 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-29 | KC @ MIN | 4 - 0 | KC | 4 | blowout |
| 2026-07-28 | KC @ MIN | 2 - 3 | MIN | 1 | close |
| 2026-06-07 | KC @ MIN | 6 - 5 | KC | 1 | close |
| 2026-06-06 | KC @ MIN | 3 - 2 | KC | 1 | close |
| 2026-06-06 | KC @ MIN | 3 - 5 | MIN | 2 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target KC | - | - | 3 | - | - | - | - |
| Game target MIN | - | - | 4 | - | - | - | - |
| Player finalized KC | 33 | 9 | 0 | 0 | 1 | 0 | 9 |
| Player finalized MIN | 31 | 9 | 2 | 0 | 2 | 0 | 9 |
| Player model fractional KC | 32.00 | 6.95 | 3.11 | 0.92 | 3.57 | 2.25 | 7.28 |
| Player model fractional MIN | 30.62 | 7.41 | 3.92 | 0.83 | 3.99 | 3.20 | 6.41 |
| Simulation box KC | 33 | 6 | 4 | 2 | 4 | 4 | 5 |
| Simulation box MIN | 31 | 7 | 5 | 1 | 5 | 4 | 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 KC | Starter | Noah Cameron | 5 | 3 | 4 | 5 | 3 | 5.39 | 1.49 | True |
| Away KC | Middle Reliever | Daniel Lynch IV | 1 | 2 | 1 | 1 | 0 | 1.89 | 0.99 | True |
| Away KC | Middle Reliever | Steven Cruz | 1.20 | 0 | 1 | 1 | 1 | 3.70 | 1.16 | True |
| Away KC | Middle Reliever | Alex Lange | 0.10 | 0 | 1 | 0 | 0 | 8.65 | 1.63 | True |
| Home MIN | Starter | Bailey Ober | 5 | 1 | 1 | 3 | 3 | 5.35 | 1.41 | True |
| Home MIN | Middle Reliever | Andrew Morris | 1.10 | 0 | 1 | 0 | 0 | 2.58 | 1.14 | True |
| Home MIN | Middle Reliever | Tommy Nance | 1 | 3 | 0 | 2 | 1 | 3.38 | 1.44 | True |
| Home MIN | Middle Reliever | Yoendrys Gómez | 1 | 0 | 3 | 0 | 0 | 3.26 | 1.35 | True |
| Home MIN | Middle Reliever | Travis Adams | 0.20 | 0 | 0 | 1 | 0 | 3.68 | 1.19 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | KC | batter | 2B | Nick Loftin | better | 11 | 10 | 1 | 9 | 2 | predicted_RBI | 2.4930 | boost | better |
| home | MIN | batter | C | Ryan Jeffers | better | 11 | 7 | 4 | 8 | 3 | predicted_RBI | 2.2900 | boost | better |
| away | KC | batter | C | Carter Jensen | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 2.0400 | boost | better |
| away | KC | batter | RF | Jac Caglianone | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -1.7600 | deboost | worse |
| home | MIN | batter | 1B | Victor Caratini | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_RBI | 1.5380 | boost | better |
| home | MIN | batter | RF | Alan Roden | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.5270 | boost | worse |
| away | KC | batter | 3B | Josh Rojas | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | 1.4760 | boost | better |
| home | MIN | batter | DH | Josh Bell | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | -1.4100 | deboost | worse |
| home | MIN | batter | CF | Luke Keaschall | worse | 9 | 3 | 6 | 2 | 7 | predicted_SO | 1.4000 | boost | worse |
| home | MIN | batter | LF | Austin Martin | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -1.0740 | deboost | worse |
| away | KC | batter | SS | Andrew Velazquez | worse | 9 | 1 | 8 | 2 | 7 | predicted_BB | 1.0000 | boost | better |
| away | KC | batter | CF | Lane Thomas | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.9600 | deboost | worse |
| away | KC | batter | 1B | Salvador Perez | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | -0.8900 | deboost | worse |
| away | KC | batter | DH | Michael Massey | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.8370 | deboost | worse |
| home | MIN | batter | SS | Ryan Kreidler | deboosted | 12 | 5 | 7 | 6 | 6 | predicted_BB | 0.8140 | boost | better |
| away | KC | batter | LF | Isaac Collins | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 0.8110 | boost | better |
| home | MIN | batter | 3B | Brooks Lee | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -0.6730 | deboost | better |
| home | MIN | batter | 2B | Royce Lewis | better | 10 | 6 | 4 | 6 | 4 | predicted_R | 0.5270 | boost | better |
| home | MIN | pitcher | Middle Reliever | Travis Adams | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | KC | pitcher | Starter | Noah Cameron | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.3333 | deboost | worse |
| home | MIN | pitcher | Middle Reliever | Andrew Morris | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | KC | pitcher | Middle Reliever | Steven Cruz | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Noah Cameron |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3978 |
| ESPN Rank | 552 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1744 |
| Avg Velo | 86.7585 |
| Avg Spin | 2196.1203 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 4 |
| Season ERA | 4.9319 |
| Season WHIP | 1.4118 |
| Role Avg IP | 5.2980 |
| Recent Avg IP | 5.1330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"opponent": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"edges": {
"quality_edge": -0.14,
"offense_edge": -0.0981,
"opponent_offense_edge": 0.0558,
"defense_strength": -0.0987,
"opponent_defense_weakness": 0.0829,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9892,
"run_prevention": 1.0258,
"strikeout": 0.9913
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "702070",
"profile": {
"available": true,
"pitcher_id": "702070",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 444.0,
"k_percent": 21.1,
"bb_percent": 7.8,
"woba": 0.333,
"xwoba": 0.34,
"sweet_spot_percent": 41.3,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 39.8,
"avg_best_speed": 78.7626,
"avg_hyper_speed": 94.4882,
"whiff_percent": 25.1,
"swing_percent": 47.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.624,
"command_and_miss": -0.0554,
"regression_edge": -0.2,
"xwoba_edge": -0.8,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.2429,
"whiff_edge": -0.0857,
"bb_edge": 0.275,
"pitch_design_score": -0.1744
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "702070",
"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": 86.75848482562041,
"release_spin_rate": 2196.120336435208,
"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": 86.75848482562041,
"release_spin_rate": 2196.120336435208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.7585,
"release_spin_rate": 2196.1203,
"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.1744,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2456,
"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.3978,
"sample_weight": 1.0,
"run_prevention_factor": 1.0338,
"strikeout_factor": 0.9894,
"walk_factor": 0.978,
"homer_factor": 1.0782,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702070",
"espn_id": 4417208,
"player_name": "Noah Cameron",
"team": "KC",
"role": "pitcher",
"espn_rank": 552,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 552,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 5.0,
"qs_rank": 83,
"era_value": 4.9318,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 8.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 107.2,
"ip_rank": 62,
"h_value": 115.0,
"h_rank": 18,
"er_value": 59.0,
"er_rank": 15,
"hr_value": 14.0,
"hr_rank": 53,
"bb_value": 37.0,
"bb_rank": 49,
"k_value": 100.0,
"k_rank": 54,
"k_per_9_value": 8.359133,
"k_per_9_rank": 23,
"whip_value": 1.4117,
"whip_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0338,
"adjusted": 4
},
"predicted_H": {
"original": 7.0,
"factor": 1.0338,
"adjusted": 7
},
"predicted_BB": {
"original": 3.0,
"factor": 0.978,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0782,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9894,
"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": 55.0,
"ER": 32,
"H": 58,
"BB": 20,
"SO": 52,
"HR": 9,
"ERA": 5.236363636363636,
"WHIP": 1.4181818181818182,
"K9": 8.50909090909091,
"HR9": 1.4727272727272727,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-24T00:00:00"
}{
"available": true,
"pitcher_id": "702070",
"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": 86.75848482562041,
"release_spin_rate": 2196.120336435208,
"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": 86.75848482562041,
"release_spin_rate": 2196.120336435208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.7585,
"release_spin_rate": 2196.1203,
"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.1744,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2456,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": "702070",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.2,
"ER": 19.0,
"R": 19.0,
"H": 31.0,
"BB": 15.0,
"SO": 25.0,
"HR": 6.0,
"BF": 124.0,
"Pitches": 478.0
},
"per_game": {
"IP": 5.2,
"ER": 3.8,
"R": 3.8,
"H": 6.2,
"BB": 3.0,
"SO": 5.0,
"HR": 1.2,
"BF": 24.8,
"Pitches": 95.6
},
"rates": {
"ERA": 6.1807,
"WHIP": 1.6627,
"ER_per_IP": 0.68675,
"H_per_IP": 1.12048,
"BB_per_IP": 0.54217,
"SO_per_IP": 0.90361,
"HR_per_IP": 0.21687
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.0,
"ER": 32.0,
"R": 34.0,
"H": 58.0,
"BB": 20.0,
"SO": 52.0,
"HR": 9.0,
"BF": 243.0,
"Pitches": 971.0
},
"per_game": {
"IP": 5.1,
"ER": 3.2,
"R": 3.4,
"H": 5.8,
"BB": 2.0,
"SO": 5.2,
"HR": 0.9,
"BF": 24.3,
"Pitches": 97.1
},
"rates": {
"ERA": 5.2364,
"WHIP": 1.4182,
"ER_per_IP": 0.58182,
"H_per_IP": 1.05455,
"BB_per_IP": 0.36364,
"SO_per_IP": 0.94545,
"HR_per_IP": 0.16364
}
},
"season": {
"games": 20,
"totals": {
"IP": 107.2,
"ER": 59.0,
"R": 64.0,
"H": 115.0,
"BB": 37.0,
"SO": 100.0,
"HR": 14.0,
"BF": 473.0,
"Pitches": 1843.0
},
"per_game": {
"IP": 5.1,
"ER": 2.95,
"R": 3.2,
"H": 5.75,
"BB": 1.85,
"SO": 5.0,
"HR": 0.7,
"BF": 23.65,
"Pitches": 92.15
},
"rates": {
"ERA": 4.9319,
"WHIP": 1.4118,
"ER_per_IP": 0.54799,
"H_per_IP": 1.06811,
"BB_per_IP": 0.34365,
"SO_per_IP": 0.92879,
"HR_per_IP": 0.13003
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 3.267,
"predicted_H": 5.807,
"predicted_BB": 2.308,
"predicted_SO": 5.074,
"predicted_HR": 0.954,
"predicted_ERA": 5.3913,
"predicted_WHIP": 1.488
}
}{
"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.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 3.267,
"final": 3.151,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.807,
"final": 5.4564,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.308,
"final": 2.6087,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.074,
"final": 4.6073,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.954,
"final": 0.5395,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3913,
"final": 5.3913,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.488,
"final": 1.488,
"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 | Daniel Lynch IV |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1768 |
| ESPN Rank | 92 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0004 |
| Avg Velo | 89.8648 |
| Avg Spin | 2106.4023 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2 |
| Season WHIP | 0.9333 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"opponent": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"edges": {
"quality_edge": -0.14,
"offense_edge": -0.0981,
"opponent_offense_edge": 0.0558,
"defense_strength": -0.0987,
"opponent_defense_weakness": 0.0829,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9892,
"run_prevention": 1.0258,
"strikeout": 0.9913
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663738",
"profile": {
"available": true,
"pitcher_id": "663738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 162.0,
"k_percent": 19.4,
"bb_percent": 6.9,
"woba": 0.242,
"xwoba": 0.289,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 36.2,
"avg_best_speed": 76.3851,
"avg_hyper_speed": 93.8677,
"whiff_percent": 27.5,
"swing_percent": 46.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.7269,
"command_and_miss": 0.0004,
"regression_edge": -1.3429,
"xwoba_edge": 0.6571,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.2714,
"whiff_edge": 0.2571,
"bb_edge": 0.5,
"pitch_design_score": -0.0004
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663738",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 89.86478605807753,
"release_spin_rate": 2106.4023249364554,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 89.86478605807753,
"release_spin_rate": 2106.4023249364554,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.8648,
"release_spin_rate": 2106.4023,
"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.0004,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0031,
"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.1768,
"sample_weight": 0.648,
"run_prevention_factor": 0.985,
"strikeout_factor": 0.9957,
"walk_factor": 0.9741,
"homer_factor": 0.9618,
"woba_minus_xwoba": -0.047,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663738",
"espn_id": 41227,
"player_name": "Daniel Lynch IV",
"team": "KC",
"role": "pitcher",
"espn_rank": 92,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 92,
"gp_value": 45.0,
"gp_rank": 41,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.0,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 13.0,
"hld_rank": 27,
"ip_value": 45.0,
"ip_rank": 236,
"h_value": 30.0,
"h_rank": 328,
"er_value": 10.0,
"er_rank": 446,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 12.0,
"bb_rank": 360,
"k_value": 34.0,
"k_rank": 318,
"k_per_9_value": 6.8,
"k_per_9_rank": 36,
"whip_value": 0.9333,
"whip_rank": null,
"war_value": 1.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9903,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9903,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9752,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9972,
"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": 11.0,
"ER": 0,
"H": 6,
"BB": 1,
"SO": 4,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.6363636363636364,
"K9": 3.272727272727273,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "663738",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 89.86478605807753,
"release_spin_rate": 2106.4023249364554,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 89.86478605807753,
"release_spin_rate": 2106.4023249364554,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.8648,
"release_spin_rate": 2106.4023,
"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.0004,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0031,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.968,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.642,
"prior_weight": 0.358
},
"role": "pitcher",
"player_id": "663738",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 45,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.0,
"SO": 0.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 11.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8571,
"ER_per_IP": 0.0,
"H_per_IP": 0.85714,
"BB_per_IP": 0.0,
"SO_per_IP": 0.21429,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 0.0,
"R": 0.0,
"H": 6.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.1,
"SO": 0.4,
"HR": 0.0,
"BF": 3.9,
"Pitches": 13.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6364,
"ER_per_IP": 0.0,
"H_per_IP": 0.54545,
"BB_per_IP": 0.09091,
"SO_per_IP": 0.36364,
"HR_per_IP": 0.0
}
},
"season": {
"games": 45,
"totals": {
"IP": 45.0,
"ER": 10.0,
"R": 13.0,
"H": 30.0,
"BB": 12.0,
"SO": 34.0,
"HR": 2.0,
"BF": 179.0,
"Pitches": 664.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2222,
"R": 0.2889,
"H": 0.6667,
"BB": 0.2667,
"SO": 0.7556,
"HR": 0.0444,
"BF": 3.9778,
"Pitches": 14.7556
},
"rates": {
"ERA": 2.0,
"WHIP": 0.9333,
"ER_per_IP": 0.22222,
"H_per_IP": 0.66667,
"BB_per_IP": 0.26667,
"SO_per_IP": 0.75556,
"HR_per_IP": 0.04444
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.21,
"predicted_H": 0.805,
"predicted_BB": 0.182,
"predicted_SO": 0.584,
"predicted_HR": 0.06,
"predicted_ERA": 1.8874,
"predicted_WHIP": 0.9873
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5013,
"form_weight": 0.4987,
"form_reliability": 0.642,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.968,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.642,
"prior_weight": 0.358
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.21,
"final": 1.1072,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.805,
"final": 0.9027,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.182,
"final": 0.0908,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.584,
"final": 0.7925,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.06,
"final": 0.5312,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.8874,
"final": 1.8874,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9873,
"final": 0.9873,
"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 | Steven Cruz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1079 |
| ESPN Rank | 346 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.8361 |
| Avg Spin | 2201.5211 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 4.3846 |
| Season WHIP | 1.2564 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"opponent": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"edges": {
"quality_edge": -0.14,
"offense_edge": -0.0981,
"opponent_offense_edge": 0.0558,
"defense_strength": -0.0987,
"opponent_defense_weakness": 0.0829,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9892,
"run_prevention": 1.0258,
"strikeout": 0.9913
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "674444",
"profile": {
"available": true,
"pitcher_id": "674444",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 145.0,
"k_percent": 28.7,
"bb_percent": 10.6,
"woba": 0.335,
"xwoba": 0.305,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 34.4,
"avg_best_speed": 78.63,
"avg_hyper_speed": 93.9611,
"whiff_percent": 31.7,
"swing_percent": 52.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.1502,
"command_and_miss": 0.6232,
"regression_edge": 0.8571,
"xwoba_edge": 0.2,
"barrel_edge": -0.9778,
"hard_hit_edge": 0.5286,
"whiff_edge": 0.8571,
"bb_edge": -0.425,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "674444",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 95.83612126122736,
"release_spin_rate": 2201.52112884526,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 95.83612126122736,
"release_spin_rate": 2201.52112884526,
"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": 95.8361,
"release_spin_rate": 2201.5211,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1079,
"sample_weight": 0.58,
"run_prevention_factor": 0.9908,
"strikeout_factor": 1.0409,
"walk_factor": 1.0197,
"homer_factor": 1.0296,
"woba_minus_xwoba": 0.03,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "674444",
"espn_id": 5002931,
"player_name": "Steven Cruz",
"team": "KC",
"role": "pitcher",
"espn_rank": 346,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 346,
"gp_value": 37.0,
"gp_rank": 116,
"gs_value": 2.0,
"gs_rank": 244,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.3846,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 3.0,
"hld_rank": 179,
"ip_value": 39.0,
"ip_rank": 298,
"h_value": 32.0,
"h_rank": 309,
"er_value": 19.0,
"er_rank": 248,
"hr_value": 10.0,
"hr_rank": 117,
"bb_value": 17.0,
"bb_rank": 254,
"k_value": 46.0,
"k_rank": 228,
"k_per_9_value": 10.615384,
"k_per_9_rank": 20,
"whip_value": 1.2564,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9947,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9947,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0114,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0172,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0237,
"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": 2,
"H": 6,
"BB": 1,
"SO": 7,
"HR": 1,
"ERA": 1.8620689655172415,
"WHIP": 0.7241379310344828,
"K9": 6.517241379310345,
"HR9": 0.9310344827586208,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "674444",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 95.83612126122736,
"release_spin_rate": 2201.52112884526,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 95.83612126122736,
"release_spin_rate": 2201.52112884526,
"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": 95.8361,
"release_spin_rate": 2201.5211,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.772,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6085,
"prior_weight": 0.3915
},
"role": "pitcher",
"player_id": "674444",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 3.6,
"WHIP": 1.2,
"ER_per_IP": 0.4,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 1.0,
"SO": 7.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 127.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.1,
"SO": 0.7,
"HR": 0.1,
"BF": 3.5,
"Pitches": 12.7
},
"rates": {
"ERA": 1.8621,
"WHIP": 0.7241,
"ER_per_IP": 0.2069,
"H_per_IP": 0.62069,
"BB_per_IP": 0.10345,
"SO_per_IP": 0.72414,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 37,
"totals": {
"IP": 39.0,
"ER": 19.0,
"R": 20.0,
"H": 32.0,
"BB": 17.0,
"SO": 46.0,
"HR": 10.0,
"BF": 163.0,
"Pitches": 620.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5135,
"R": 0.5405,
"H": 0.8649,
"BB": 0.4595,
"SO": 1.2432,
"HR": 0.2703,
"BF": 4.4054,
"Pitches": 16.7568
},
"rates": {
"ERA": 4.3846,
"WHIP": 1.2564,
"ER_per_IP": 0.48718,
"H_per_IP": 0.82051,
"BB_per_IP": 0.4359,
"SO_per_IP": 1.17949,
"HR_per_IP": 0.25641
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.411,
"predicted_H": 0.888,
"predicted_BB": 0.269,
"predicted_SO": 0.947,
"predicted_HR": 0.167,
"predicted_ERA": 3.6991,
"predicted_WHIP": 1.1572
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5154,
"form_weight": 0.4846,
"form_reliability": 0.6085,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.772,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6085,
"prior_weight": 0.3915
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.411,
"final": 0.1992,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.888,
"final": 0.9457,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.269,
"final": 0.6458,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.947,
"final": 0.9743,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.167,
"final": 0.0809,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6991,
"final": 3.6991,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1572,
"final": 1.1572,
"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 | Alex Lange |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3443 |
| ESPN Rank | 764 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1094 |
| Avg Velo | 91.8265 |
| Avg Spin | 2154.0700 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 6.3281 |
| Season WHIP | 1.5469 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"opponent": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"edges": {
"quality_edge": -0.14,
"offense_edge": -0.0981,
"opponent_offense_edge": 0.0558,
"defense_strength": -0.0987,
"opponent_defense_weakness": 0.0829,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9892,
"run_prevention": 1.0258,
"strikeout": 0.9913
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656638",
"profile": {
"available": true,
"pitcher_id": "656638",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 180.0,
"k_percent": 22.8,
"bb_percent": 12.4,
"woba": 0.348,
"xwoba": 0.344,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 41.7,
"avg_best_speed": 79.7085,
"avg_hyper_speed": 94.7436,
"whiff_percent": 27.4,
"swing_percent": 46.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.8615,
"command_and_miss": -0.0611,
"regression_edge": 0.1143,
"xwoba_edge": -0.9143,
"barrel_edge": -1.2,
"hard_hit_edge": -0.5143,
"whiff_edge": 0.2429,
"bb_edge": -0.875,
"pitch_design_score": 0.1094
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656638",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 91.82652459981787,
"release_spin_rate": 2154.070035323872,
"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": 21,
"pitch_usage": 0.0,
"release_speed": 91.82652459981787,
"release_spin_rate": 2154.070035323872,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.8265,
"release_spin_rate": 2154.07,
"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.1094,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7816,
"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.3443,
"sample_weight": 0.72,
"run_prevention_factor": 1.0293,
"strikeout_factor": 1.0088,
"walk_factor": 1.0504,
"homer_factor": 1.1037,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656638",
"espn_id": 40976,
"player_name": "Alex Lange",
"team": "KC",
"role": "pitcher",
"espn_rank": 764,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 764,
"gp_value": 42.0,
"gp_rank": 76,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 6.3281,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 6.0,
"l_rank": 63,
"sv_value": 10.0,
"sv_rank": 25,
"hld_value": 1.0,
"hld_rank": 231,
"ip_value": 42.2,
"ip_rank": 261,
"h_value": 42.0,
"h_rank": 219,
"er_value": 30.0,
"er_rank": 144,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 24.0,
"bb_rank": 151,
"k_value": 44.0,
"k_rank": 245,
"k_per_9_value": 9.28125,
"k_per_9_rank": 25,
"whip_value": 1.5468,
"whip_rank": null,
"war_value": -1.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0211,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0211,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0363,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0747,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0063,
"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": 15,
"H": 13,
"BB": 5,
"SO": 9,
"HR": 2,
"ERA": 15.576923076923078,
"WHIP": 2.076923076923077,
"K9": 9.346153846153847,
"HR9": 2.076923076923077,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "656638",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 91.82652459981787,
"release_spin_rate": 2154.070035323872,
"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": 21,
"pitch_usage": 0.0,
"release_speed": 91.82652459981787,
"release_spin_rate": 2154.070035323872,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.8265,
"release_spin_rate": 2154.07,
"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.1094,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7816,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.503,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6297,
"prior_weight": 0.3703
},
"role": "pitcher",
"player_id": "656638",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 2.0,
"SO": 7.0,
"HR": 2.0,
"BF": 22.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.2,
"BB": 0.4,
"SO": 1.4,
"HR": 0.4,
"BF": 4.4,
"Pitches": 16.6
},
"rates": {
"ERA": 9.6429,
"WHIP": 1.7143,
"ER_per_IP": 1.07143,
"H_per_IP": 1.28571,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.5,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 15.0,
"R": 15.0,
"H": 13.0,
"BB": 5.0,
"SO": 9.0,
"HR": 2.0,
"BF": 45.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.0,
"ER": 1.5,
"R": 1.5,
"H": 1.3,
"BB": 0.5,
"SO": 0.9,
"HR": 0.2,
"BF": 4.5,
"Pitches": 18.3
},
"rates": {
"ERA": 15.5769,
"WHIP": 2.0769,
"ER_per_IP": 1.73077,
"H_per_IP": 1.5,
"BB_per_IP": 0.57692,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 42,
"totals": {
"IP": 42.2,
"ER": 30.0,
"R": 32.0,
"H": 42.0,
"BB": 24.0,
"SO": 44.0,
"HR": 4.0,
"BF": 193.0,
"Pitches": 816.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7143,
"R": 0.7619,
"H": 1.0,
"BB": 0.5714,
"SO": 1.0476,
"HR": 0.0952,
"BF": 4.5952,
"Pitches": 19.4286
},
"rates": {
"ERA": 6.3281,
"WHIP": 1.5469,
"ER_per_IP": 0.70312,
"H_per_IP": 0.98438,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.09375
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.724,
"predicted_H": 0.889,
"predicted_BB": 0.34,
"predicted_SO": 0.858,
"predicted_HR": 0.181,
"predicted_ERA": 8.6491,
"predicted_WHIP": 1.6316
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5065,
"form_weight": 0.4935,
"form_reliability": 0.6297,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.503,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6297,
"prior_weight": 0.3703
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.724,
"final": 0.3573,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.889,
"final": 0.4388,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.34,
"final": 0.1678,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.858,
"final": 0.9299,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.181,
"final": 0.0893,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 8.6491,
"final": 8.6491,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6316,
"final": 1.6316,
"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.150 | 0.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.002 | 1.000 | -0.002 | -1.000 |
| predicted_AB | 3.890 | 3.000 | 4.000 | Hitting_AB | 3.939 | 5.000 | -0.939 | -2.000 |
| predicted_AVG | 0.216 | 0.333 | 0.250 | Hitting_AVG | 0.220 | 0.400 | 0.113 | -0.067 |
| predicted_BB | 0.170 | 0.000 | 0.000 | Hitting_BB | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 1.000 | 1.000 | Hitting_H | 0.868 | 2.000 | 0.132 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_OBP | 0.249 | 0.500 | 0.250 | Hitting_OBP | 0.273 | 0.400 | 0.227 | 0.100 |
| predicted_R | 0.390 | 1.000 | 0.000 | Hitting_R | 0.424 | 1.000 | 0.576 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.471 | 0.000 | -0.471 | 0.000 |
| predicted_SLG | 0.375 | 0.333 | 0.250 | Hitting_SLG | 0.382 | 0.800 | -0.049 | -0.467 |
| predicted_SO | 0.880 | 0.000 | 1.000 | Hitting_SO | 0.863 | 3.000 | -0.863 | -3.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_R: 0.3900 -> 1.0000 (boost 0.6100, better) |
| Biggest Deboost | predicted_AB: 3.8900 -> 3.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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3750 -> 0.4096 (boost 0.0346, 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.2718 -> 0.2596 (deboost -0.0122, 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.8711 -> 1.0000 (boost 0.1289, better) | predicted_RBI: 0.4544 -> 0.0000 (deboost -0.4544, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.224 HR/AB=0.042 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.267) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4224 -> 0.0000 (deboost -0.4224, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2245 -> 0.2500 (boost 0.0255, better) | predicted_SLG: 0.4068 -> 0.2500 (deboost -0.1568, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4068 (boost 0.1568, better) | predicted_AVG: 0.2500 -> 0.2245 (deboost -0.0255, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "521692",
"player_name": "Salvador Perez",
"position": "1B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.01,
"predicted_AB": 3.89,
"predicted_AVG": 0.216,
"predicted_BB": 0.17,
"predicted_H": 0.84,
"predicted_HR": 0.15,
"predicted_OBP": 0.249,
"predicted_R": 0.39,
"predicted_RBI": 0.45,
"predicted_SLG": 0.375,
"predicted_SO": 0.88
},
"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.1504,
"predicted_3B": 0.0324,
"predicted_AB": 3.881,
"predicted_AVG": 0.2258,
"predicted_BB": 0.1859,
"predicted_H": 0.8762,
"predicted_HBP": 0.158,
"predicted_HR": 0.1659,
"predicted_OBP": 0.2718,
"predicted_R": 0.4275,
"predicted_RBI": 0.4599,
"predicted_SLG": 0.4096,
"predicted_SO": 0.8989
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.1504,
"delta": 0.0004,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0324,
"delta": 0.0224,
"percent_delta": 2.24,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.89,
"after": 3.881,
"delta": -0.009,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2258,
"delta": 0.0098,
"percent_delta": 0.0454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.17,
"after": 0.1859,
"delta": 0.0159,
"percent_delta": 0.0935,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8762,
"delta": 0.0362,
"percent_delta": 0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1659,
"delta": 0.0159,
"percent_delta": 0.106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.249,
"after": 0.2718,
"delta": 0.0228,
"percent_delta": 0.0916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 0.4275,
"delta": 0.0375,
"percent_delta": 0.0962,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4599,
"delta": 0.0099,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.4096,
"delta": 0.0346,
"percent_delta": 0.0923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.8989,
"delta": 0.0189,
"percent_delta": 0.0215,
"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.375,
"after": 0.4096,
"delta": 0.0346,
"percent_delta": 0.0923,
"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": 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.1504,
"predicted_3B": 0.0324,
"predicted_AB": 3.881,
"predicted_AVG": 0.2245,
"predicted_BB": 0.1844,
"predicted_H": 0.8711,
"predicted_HBP": 0.158,
"predicted_HR": 0.1642,
"predicted_OBP": 0.2596,
"predicted_R": 0.4224,
"predicted_RBI": 0.4544,
"predicted_SLG": 0.4068,
"predicted_SO": 0.9062
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1504,
"after": 0.1504,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0324,
"after": 0.0324,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.881,
"after": 3.881,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2258,
"after": 0.2245,
"delta": -0.0013,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1859,
"after": 0.1844,
"delta": -0.0015,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8762,
"after": 0.8711,
"delta": -0.0051,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.158,
"after": 0.158,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1659,
"after": 0.1642,
"delta": -0.0017,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2718,
"after": 0.2596,
"delta": -0.0122,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4275,
"after": 0.4224,
"delta": -0.0051,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4599,
"after": 0.4544,
"delta": -0.0055,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4096,
"after": 0.4068,
"delta": -0.0028,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8989,
"after": 0.9062,
"delta": 0.0073,
"percent_delta": 0.0081,
"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.2718,
"after": 0.2596,
"delta": -0.0122,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.89), rates preserved: AVG=0.224 HR/AB=0.042",
"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.1504,
"after": 0.0,
"delta": -0.1504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0324,
"after": 0.0,
"delta": -0.0324,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.881,
"after": 4.0,
"delta": 0.119,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1844,
"after": 0.0,
"delta": -0.1844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8711,
"after": 1.0,
"delta": 0.1289,
"percent_delta": 0.148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1642,
"after": 0.0,
"delta": -0.1642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4544,
"after": 0.0,
"delta": -0.4544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9062,
"after": 1.0,
"delta": 0.0938,
"percent_delta": 0.1035,
"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.8711,
"after": 1.0,
"delta": 0.1289,
"percent_delta": 0.148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4544,
"after": 0.0,
"delta": -0.4544,
"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=30.0, weight=0.200, BvP AVG=0.267)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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_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.8,
"bvp": 0.2
},
"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": 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.4224,
"after": 0.0,
"delta": -0.4224,
"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.4224,
"after": 0.0,
"delta": -0.4224,
"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": 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.2245,
"after": 0.25,
"delta": 0.0255,
"percent_delta": 0.1136,
"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.2596,
"after": 0.25,
"delta": -0.0096,
"percent_delta": -0.037,
"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.4068,
"after": 0.25,
"delta": -0.1568,
"percent_delta": -0.3854,
"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.2245,
"after": 0.25,
"delta": 0.0255,
"percent_delta": 0.1136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4068,
"after": 0.25,
"delta": -0.1568,
"percent_delta": -0.3854,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"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": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2245,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2596,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4068,
"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.25,
"after": 0.2245,
"delta": -0.0255,
"percent_delta": -0.1022,
"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.25,
"after": 0.2596,
"delta": 0.0096,
"percent_delta": 0.0385,
"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.25,
"after": 0.4068,
"delta": 0.1568,
"percent_delta": 0.6272,
"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.4068,
"delta": 0.1568,
"percent_delta": 0.6272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2245,
"delta": -0.0255,
"percent_delta": -0.1022,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.89,
"after": 3.0,
"delta": -0.89,
"percent_delta": -0.2288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2245,
"delta": 0.0085,
"percent_delta": 0.0394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.0,
"delta": 0.16,
"percent_delta": 0.1905,
"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.249,
"after": 0.2596,
"delta": 0.0106,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"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.375,
"after": 0.4068,
"delta": 0.0318,
"percent_delta": 0.0848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"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_R",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.89,
"after": 3.0,
"delta": -0.89,
"percent_delta": -0.2288,
"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.150 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.890 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.170 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.249 | - |
| predicted_R | 0.390 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.375 | - |
| predicted_SO | 0.880 | - |
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.150 | 0.000 |
| predicted_3B | 0.032 | 0.022 |
| predicted_AB | 3.881 | -0.009 |
| predicted_AVG | 0.226 | 0.010 |
| predicted_BB | 0.186 | 0.016 |
| predicted_H | 0.876 | 0.036 |
| predicted_HBP | 0.158 | - |
| predicted_HR | 0.166 | 0.016 |
| predicted_OBP | 0.272 | 0.023 |
| predicted_R | 0.427 | 0.037 |
| predicted_RBI | 0.460 | 0.010 |
| predicted_SLG | 0.410 | 0.035 |
| predicted_SO | 0.899 | 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.150 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.881 | 0.000 |
| predicted_AVG | 0.225 | -0.001 |
| predicted_BB | 0.184 | -0.002 |
| predicted_H | 0.871 | -0.005 |
| predicted_HBP | 0.158 | 0.000 |
| predicted_HR | 0.164 | -0.002 |
| predicted_OBP | 0.260 | -0.012 |
| predicted_R | 0.422 | -0.005 |
| predicted_RBI | 0.454 | -0.005 |
| predicted_SLG | 0.407 | -0.003 |
| predicted_SO | 0.906 | 0.007 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.224 HR/AB=0.042
| 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 | - |
Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.267)
| 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 |
| 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 | 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.150 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | 0.119 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 0.000 | -0.184 |
| predicted_H | 1.000 | 0.129 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.250 | -0.010 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 0.000 | -0.454 |
| predicted_SLG | 0.250 | -0.157 |
| predicted_SO | 1.000 | 0.094 |
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 | -1.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 | 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 | - | 20.000 | 6.000 | 1.000 | 1.000 | 1.000 | 2.000 | 3.000 | 1.000 | 5.000 | 0.3000 | 0.3636 | 0.6000 | 0.3000 | 0.0500 | 0.1000 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 1.000 | 3.000 | 6.000 | 6.000 | 3.000 | 10.000 | 0.2432 | 0.3488 | 0.5676 | 0.2432 | 0.0811 | 0.1622 | 0.0811 | 0.2703 |
| season | 0.60 | 100 | - | 389.000 | 84.000 | 15.000 | 1.000 | 15.000 | 45.000 | 39.000 | 17.000 | 88.000 | 0.2159 | 0.2654 | 0.3753 | 0.2159 | 0.0386 | 0.1157 | 0.0437 | 0.2262 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0620 |
| predicted_AB | 3.8690 |
| predicted_AVG | 0.2388 |
| predicted_BB | 0.2070 |
| predicted_H | 0.9240 |
| predicted_HBP | 0.1580 |
| predicted_HR | 0.1870 |
| predicted_OBP | 0.3020 |
| predicted_R | 0.4770 |
| predicted_RBI | 0.4730 |
| predicted_SLG | 0.4554 |
| predicted_SO | 0.9240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.1510 | 0.1504 | model_form_blend |
| predicted_3B | 0.0100 | 0.0620 | 0.0324 | model_form_blend |
| predicted_AB | 3.8900 | 3.8690 | 3.8810 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2388 | 0.2258 | model_form_blend |
| predicted_BB | 0.1700 | 0.2070 | 0.1859 | model_form_blend |
| predicted_H | 0.8400 | 0.9240 | 0.8762 | model_form_blend |
| predicted_HBP | - | 0.1580 | 0.1580 | form_only |
| predicted_HR | 0.1500 | 0.1870 | 0.1659 | model_form_blend |
| predicted_OBP | 0.2490 | 0.3020 | 0.2718 | model_form_blend |
| predicted_R | 0.3900 | 0.4770 | 0.4275 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4730 | 0.4599 | model_form_blend |
| predicted_SLG | 0.3750 | 0.4554 | 0.4096 | model_form_blend |
| predicted_SO | 0.8800 | 0.9240 | 0.8989 | 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 | 408 |
| Season rows before report date | 408 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.216 |
| 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 | 1 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 4 |
| 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 | 1B |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 521692 |
| playerID | 521692 |
| playerName | Salvador Perez |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 4.0 |
| sl_woba | 0.273 |
| sl_xwoba | 0.298 |
| sl_xba | 0.229 |
| sl_xslg | 0.409 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 10.1 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 25.7 |
| 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.221 | 0.000 | 0.000 | Hitting_2B | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.105 | 3.000 | 3.000 | Hitting_AB | 3.393 | 4.000 | -0.393 | -1.000 |
| predicted_AVG | 0.270 | 0.000 | 0.333 | Hitting_AVG | 0.284 | 0.250 | -0.284 | -0.250 |
| predicted_BB | 0.186 | 1.000 | 0.000 | Hitting_BB | 0.204 | 0.000 | 0.796 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.837 | 0.000 | 1.000 | Hitting_H | 0.964 | 1.000 | -0.964 | -1.000 |
| predicted_HR | 0.093 | 0.000 | 0.000 | Hitting_HR | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_OBP | 0.311 | 0.250 | 0.333 | Hitting_OBP | 0.321 | 0.250 | -0.071 | 0.000 |
| predicted_R | 0.419 | 0.000 | 0.000 | Hitting_R | 0.507 | 0.000 | -0.507 | 0.000 |
| predicted_RBI | 0.419 | 0.000 | 0.000 | Hitting_RBI | 0.482 | 0.000 | -0.482 | 0.000 |
| predicted_SLG | 0.431 | 0.000 | 0.333 | Hitting_SLG | 0.447 | 0.250 | -0.447 | -0.250 |
| predicted_SO | 0.581 | 1.000 | 1.000 | Hitting_SO | 0.614 | 0.000 | 0.386 | 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_BB: 0.1860 -> 1.0000 (boost 0.8140, better) |
| Biggest Deboost | predicted_H: 0.8370 -> 0.0000 (deboost -0.8370, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3110 -> 0.3027 (deboost -0.0083, 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 | 2 | 5 | 1 | 6 | predicted_SO: 0.6142 -> 1.0000 (boost 0.3858, worse) | predicted_RBI: 0.4223 -> 0.0000 (deboost -0.4223, worse) | AB rounded to 3 (raw=3.13), rates preserved: AVG=0.263 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3986 -> 0.0000 (deboost -0.3986, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2627 -> 0.3330 (boost 0.0703, better) | predicted_SLG: 0.4328 -> 0.3330 (deboost -0.0998, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4328 (boost 0.0998, better) | predicted_AVG: 0.3330 -> 0.2627 (deboost -0.0703, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686681",
"player_name": "Michael Massey",
"position": "DH",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.0,
"predicted_AB": 3.105,
"predicted_AVG": 0.27,
"predicted_BB": 0.186,
"predicted_H": 0.837,
"predicted_HR": 0.093,
"predicted_OBP": 0.311,
"predicted_R": 0.419,
"predicted_RBI": 0.419,
"predicted_SLG": 0.431,
"predicted_SO": 0.581
},
"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.2244,
"predicted_3B": 0.0004,
"predicted_AB": 3.132,
"predicted_AVG": 0.2646,
"predicted_BB": 0.1835,
"predicted_H": 0.8277,
"predicted_HBP": 0.003,
"predicted_HR": 0.1036,
"predicted_OBP": 0.3027,
"predicted_R": 0.4034,
"predicted_RBI": 0.4274,
"predicted_SLG": 0.4357,
"predicted_SO": 0.6093
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.2244,
"delta": 0.0034,
"percent_delta": 0.0154,
"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.105,
"after": 3.132,
"delta": 0.027,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2646,
"delta": -0.0054,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.1835,
"delta": -0.0025,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.837,
"after": 0.8277,
"delta": -0.0093,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.093,
"after": 0.1036,
"delta": 0.0106,
"percent_delta": 0.114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3027,
"delta": -0.0083,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.4034,
"delta": -0.0156,
"percent_delta": -0.0372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.419,
"after": 0.4274,
"delta": 0.0084,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4357,
"delta": 0.0047,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.581,
"after": 0.6093,
"delta": 0.0283,
"percent_delta": 0.0487,
"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.311,
"after": 0.3027,
"delta": -0.0083,
"percent_delta": -0.0267,
"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": 86
}
},
{
"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.2244,
"predicted_3B": 0.0004,
"predicted_AB": 3.132,
"predicted_AVG": 0.2627,
"predicted_BB": 0.182,
"predicted_H": 0.8229,
"predicted_HBP": 0.003,
"predicted_HR": 0.1025,
"predicted_OBP": 0.3032,
"predicted_R": 0.3986,
"predicted_RBI": 0.4223,
"predicted_SLG": 0.4328,
"predicted_SO": 0.6142
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2244,
"after": 0.2244,
"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.132,
"after": 3.132,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2646,
"after": 0.2627,
"delta": -0.0019,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1835,
"after": 0.182,
"delta": -0.0015,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8277,
"after": 0.8229,
"delta": -0.0048,
"percent_delta": -0.0058,
"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.1036,
"after": 0.1025,
"delta": -0.0011,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3027,
"after": 0.3032,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4034,
"after": 0.3986,
"delta": -0.0048,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4274,
"after": 0.4223,
"delta": -0.0051,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4357,
"after": 0.4328,
"delta": -0.0029,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6093,
"after": 0.6142,
"delta": 0.0049,
"percent_delta": 0.008,
"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.13), rates preserved: AVG=0.263 HR/AB=0.033",
"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.2244,
"after": 0.0,
"delta": -0.2244,
"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.132,
"after": 3.0,
"delta": -0.132,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8229,
"after": 1.0,
"delta": 0.1771,
"percent_delta": 0.2152,
"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.1025,
"after": 0.0,
"delta": -0.1025,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4223,
"after": 0.0,
"delta": -0.4223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6142,
"after": 1.0,
"delta": 0.3858,
"percent_delta": 0.6281,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6142,
"after": 1.0,
"delta": 0.3858,
"percent_delta": 0.6281,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4223,
"after": 0.0,
"delta": -0.4223,
"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=14.0, weight=0.127, BvP AVG=0.143)",
"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.8727,
"bvp": 0.1273
},
"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.3986,
"after": 0.0,
"delta": -0.3986,
"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.3986,
"after": 0.0,
"delta": -0.3986,
"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.2627,
"after": 0.333,
"delta": 0.0703,
"percent_delta": 0.2676,
"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.3032,
"after": 0.333,
"delta": 0.0298,
"percent_delta": 0.0983,
"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.4328,
"after": 0.333,
"delta": -0.0998,
"percent_delta": -0.2306,
"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.2627,
"after": 0.333,
"delta": 0.0703,
"percent_delta": 0.2676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4328,
"after": 0.333,
"delta": -0.0998,
"percent_delta": -0.2306,
"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": 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": 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": 3.0,
"predicted_AVG": 0.2627,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3032,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4328,
"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.2627,
"delta": -0.0703,
"percent_delta": -0.211,
"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.3032,
"delta": -0.0298,
"percent_delta": -0.0894,
"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.4328,
"delta": 0.0998,
"percent_delta": 0.2998,
"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.4328,
"delta": 0.0998,
"percent_delta": 0.2998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2627,
"delta": -0.0703,
"percent_delta": -0.211,
"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.221,
"after": 0.0,
"delta": -0.221,
"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.105,
"after": 3.0,
"delta": -0.105,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2627,
"delta": -0.0073,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.837,
"after": 0.0,
"delta": -0.837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3032,
"delta": -0.0078,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4328,
"delta": 0.0018,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.581,
"after": 1.0,
"delta": 0.419,
"percent_delta": 0.7212,
"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_BB",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.837,
"after": 0.0,
"delta": -0.837,
"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.221 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.105 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.186 | - |
| predicted_H | 0.837 | - |
| predicted_HR | 0.093 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.419 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.581 | - |
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.224 | 0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.132 | 0.027 |
| predicted_AVG | 0.265 | -0.005 |
| predicted_BB | 0.183 | -0.003 |
| predicted_H | 0.828 | -0.009 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.104 | 0.011 |
| predicted_OBP | 0.303 | -0.008 |
| predicted_R | 0.403 | -0.016 |
| predicted_RBI | 0.427 | 0.008 |
| predicted_SLG | 0.436 | 0.005 |
| predicted_SO | 0.609 | 0.028 |
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.224 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.132 | 0.000 |
| predicted_AVG | 0.263 | -0.002 |
| predicted_BB | 0.182 | -0.002 |
| predicted_H | 0.823 | -0.005 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.102 | -0.001 |
| predicted_OBP | 0.303 | 0.001 |
| predicted_R | 0.399 | -0.005 |
| predicted_RBI | 0.422 | -0.005 |
| predicted_SLG | 0.433 | -0.003 |
| predicted_SO | 0.614 | 0.005 |
AB rounded to 3 (raw=3.13), rates preserved: AVG=0.263 HR/AB=0.033
| 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=14.0, weight=0.127, BvP AVG=0.143)
| 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.224 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.132 |
| predicted_AVG | 0.333 | 0.070 |
| predicted_BB | 0.000 | -0.182 |
| predicted_H | 1.000 | 0.177 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.333 | 0.030 |
| predicted_R | 0.000 | -0.399 |
| predicted_RBI | 0.000 | -0.422 |
| predicted_SLG | 0.333 | -0.100 |
| predicted_SO | 1.000 | 0.386 |
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 | - | 15.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 3.000 | 0.2000 | 0.2353 | 0.4667 | 0.2000 | 0.0667 | 0.2000 | 0.0667 | 0.2000 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 3.000 | 0.000 | 1.000 | 3.000 | 4.000 | 1.000 | 8.000 | 0.2812 | 0.2941 | 0.4688 | 0.2812 | 0.0312 | 0.0938 | 0.0312 | 0.2500 |
| season | 0.60 | 86 | - | 267.000 | 72.000 | 19.000 | 0.000 | 8.000 | 36.000 | 36.000 | 16.000 | 50.000 | 0.2697 | 0.3066 | 0.4307 | 0.2697 | 0.0300 | 0.1348 | 0.0599 | 0.1873 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2290 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1690 |
| predicted_AVG | 0.2571 |
| predicted_BB | 0.1800 |
| predicted_H | 0.8150 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1180 |
| predicted_OBP | 0.2913 |
| predicted_R | 0.3820 |
| predicted_RBI | 0.4390 |
| predicted_SLG | 0.4421 |
| predicted_SO | 0.6480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.2290 | 0.2244 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1050 | 3.1690 | 3.1320 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2571 | 0.2646 | model_form_blend |
| predicted_BB | 0.1860 | 0.1800 | 0.1835 | model_form_blend |
| predicted_H | 0.8370 | 0.8150 | 0.8277 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0930 | 0.1180 | 0.1036 | model_form_blend |
| predicted_OBP | 0.3110 | 0.2913 | 0.3027 | model_form_blend |
| predicted_R | 0.4190 | 0.3820 | 0.4034 | model_form_blend |
| predicted_RBI | 0.4190 | 0.4390 | 0.4274 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4421 | 0.4357 | model_form_blend |
| predicted_SO | 0.5810 | 0.6480 | 0.6093 | 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 | 280 |
| Season rows before report date | 280 |
| Report year | 2026 |
| Profile rows used | 86 |
| 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.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 | 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 | 0 |
| 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 | 2B |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 686681 |
| playerID | 686681 |
| playerName | Michael Massey |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.32 |
| sl_xwoba | 0.298 |
| sl_xba | 0.238 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 41.1 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 20.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.246 | 1.000 | 0.000 | Hitting_2B | 0.252 | 1.000 | 0.748 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.101 | 4.000 | 3.000 | Hitting_AB | 3.359 | 3.000 | 0.641 | 1.000 |
| predicted_AVG | 0.257 | 0.500 | 0.333 | Hitting_AVG | 0.267 | 0.667 | 0.233 | -0.167 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.797 | 2.000 | 1.000 | Hitting_H | 0.897 | 2.000 | 1.103 | 0.000 |
| predicted_HR | 0.072 | 1.000 | 0.000 | Hitting_HR | 0.085 | 0.000 | 0.915 | 1.000 |
| predicted_OBP | 0.329 | 0.500 | 0.333 | Hitting_OBP | 0.350 | 0.500 | 0.150 | 0.000 |
| predicted_R | 0.435 | 1.000 | 0.000 | Hitting_R | 0.530 | 0.000 | 0.470 | 1.000 |
| predicted_RBI | 0.507 | 3.000 | 0.000 | Hitting_RBI | 0.581 | 1.000 | 2.419 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_SLG | 0.416 | 1.500 | 0.333 | Hitting_SLG | 0.431 | 1.000 | 1.069 | 0.500 |
| predicted_SO | 0.493 | 1.000 | 1.000 | Hitting_SO | 0.479 | 0.000 | 0.521 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 10 |
| Deboosted Metrics | 1 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.5070 -> 3.0000 (boost 2.4930, better) |
| Biggest Deboost | predicted_BB: 0.3330 -> 0.0000 (deboost -0.3330, 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 | 4 | 0 | 4 | 0 | predicted_H: 0.7970 -> 0.8572 (boost 0.0602, 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 | 2 | 5 | 1 | 6 | predicted_SO: 0.5430 -> 1.0000 (boost 0.4570, worse) | predicted_RBI: 0.5150 -> 0.0000 (deboost -0.5150, worse) | AB rounded to 3 (raw=3.14), rates preserved: AVG=0.271 HR/AB=0.027 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4203 -> 0.0000 (deboost -0.4203, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2714 -> 0.3330 (boost 0.0616, better) | predicted_SLG: 0.4407 -> 0.3330 (deboost -0.1077, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 6 | 0 | 6 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4407 (boost 0.1077, better) | predicted_AVG: 0.3330 -> 0.2714 (deboost -0.0616, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679845",
"player_name": "Nick Loftin",
"position": "2B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.246,
"predicted_3B": 0.014,
"predicted_AB": 3.101,
"predicted_AVG": 0.257,
"predicted_BB": 0.333,
"predicted_H": 0.797,
"predicted_HR": 0.072,
"predicted_OBP": 0.329,
"predicted_R": 0.435,
"predicted_RBI": 0.507,
"predicted_SLG": 0.416,
"predicted_SO": 0.493
},
"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.2519,
"predicted_3B": 0.0119,
"predicted_AB": 3.1403,
"predicted_AVG": 0.2727,
"predicted_BB": 0.3485,
"predicted_H": 0.8572,
"predicted_HBP": 0.035,
"predicted_HR": 0.0862,
"predicted_OBP": 0.3435,
"predicted_R": 0.4254,
"predicted_RBI": 0.5212,
"predicted_SLG": 0.4433,
"predicted_SO": 0.5386
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.246,
"after": 0.2519,
"delta": 0.0059,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.101,
"after": 3.1403,
"delta": 0.0393,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2727,
"delta": 0.0157,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3485,
"delta": 0.0155,
"percent_delta": 0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.797,
"after": 0.8572,
"delta": 0.0602,
"percent_delta": 0.0755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.072,
"after": 0.0862,
"delta": 0.0142,
"percent_delta": 0.1972,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3435,
"delta": 0.0145,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.4254,
"delta": -0.0096,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.507,
"after": 0.5212,
"delta": 0.0142,
"percent_delta": 0.028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4433,
"delta": 0.0273,
"percent_delta": 0.0656,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.493,
"after": 0.5386,
"delta": 0.0456,
"percent_delta": 0.0925,
"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_H",
"before": 0.797,
"after": 0.8572,
"delta": 0.0602,
"percent_delta": 0.0755,
"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.2519,
"predicted_3B": 0.0119,
"predicted_AB": 3.1403,
"predicted_AVG": 0.2714,
"predicted_BB": 0.3457,
"predicted_H": 0.8522,
"predicted_HBP": 0.035,
"predicted_HR": 0.0853,
"predicted_OBP": 0.3436,
"predicted_R": 0.4203,
"predicted_RBI": 0.515,
"predicted_SLG": 0.4407,
"predicted_SO": 0.543
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2519,
"after": 0.2519,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1403,
"after": 3.1403,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2727,
"after": 0.2714,
"delta": -0.0013,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3485,
"after": 0.3457,
"delta": -0.0028,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8572,
"after": 0.8522,
"delta": -0.005,
"percent_delta": -0.0058,
"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.0862,
"after": 0.0853,
"delta": -0.0009,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3435,
"after": 0.3436,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4254,
"after": 0.4203,
"delta": -0.0051,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5212,
"after": 0.515,
"delta": -0.0062,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4433,
"after": 0.4407,
"delta": -0.0026,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5386,
"after": 0.543,
"delta": 0.0044,
"percent_delta": 0.0082,
"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.14), rates preserved: AVG=0.271 HR/AB=0.027",
"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.2519,
"after": 0.0,
"delta": -0.2519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1403,
"after": 3.0,
"delta": -0.1403,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3457,
"after": 0.0,
"delta": -0.3457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8522,
"after": 1.0,
"delta": 0.1478,
"percent_delta": 0.1734,
"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.0853,
"after": 0.0,
"delta": -0.0853,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"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=9.0, weight=0.092, BvP AVG=0.333)",
"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.9077,
"bvp": 0.0923
},
"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.4203,
"after": 0.0,
"delta": -0.4203,
"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.4203,
"after": 0.0,
"delta": -0.4203,
"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.2714,
"after": 0.333,
"delta": 0.0616,
"percent_delta": 0.227,
"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.3436,
"after": 0.333,
"delta": -0.0106,
"percent_delta": -0.0308,
"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.4407,
"after": 0.333,
"delta": -0.1077,
"percent_delta": -0.2444,
"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.2714,
"after": 0.333,
"delta": 0.0616,
"percent_delta": 0.227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4407,
"after": 0.333,
"delta": -0.1077,
"percent_delta": -0.2444,
"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": 1.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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.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": 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": 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": 3.0,
"delta": 3.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": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2714,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3436,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4407,
"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.333,
"after": 0.2714,
"delta": -0.0616,
"percent_delta": -0.185,
"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": 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.3436,
"delta": 0.0106,
"percent_delta": 0.0319,
"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": 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.4407,
"delta": 0.1077,
"percent_delta": 0.3233,
"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.4407,
"delta": 0.1077,
"percent_delta": 0.3233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2714,
"delta": -0.0616,
"percent_delta": -0.185,
"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.246,
"after": 1.0,
"delta": 0.754,
"percent_delta": 3.065,
"direction": "boost",
"projection_effect": "better",
"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": 3.101,
"after": 4.0,
"delta": 0.899,
"percent_delta": 0.2899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2714,
"delta": 0.0144,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.797,
"after": 2.0,
"delta": 1.203,
"percent_delta": 1.5094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.072,
"after": 1.0,
"delta": 0.928,
"percent_delta": 12.8889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3436,
"delta": 0.0146,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 1.0,
"delta": 0.565,
"percent_delta": 1.2989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.507,
"after": 3.0,
"delta": 2.493,
"percent_delta": 4.9172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4407,
"delta": 0.0247,
"percent_delta": 0.0594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.493,
"after": 1.0,
"delta": 0.507,
"percent_delta": 1.0284,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 10,
"deboosted_metrics": 1,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.507,
"after": 3.0,
"delta": 2.493,
"percent_delta": 4.9172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"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.246 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.101 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.797 | - |
| predicted_HR | 0.072 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.435 | - |
| predicted_RBI | 0.507 | - |
| predicted_SLG | 0.416 | - |
| predicted_SO | 0.493 | - |
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.252 | 0.006 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.140 | 0.039 |
| predicted_AVG | 0.273 | 0.016 |
| predicted_BB | 0.348 | 0.015 |
| predicted_H | 0.857 | 0.060 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.086 | 0.014 |
| predicted_OBP | 0.344 | 0.015 |
| predicted_R | 0.425 | -0.010 |
| predicted_RBI | 0.521 | 0.014 |
| predicted_SLG | 0.443 | 0.027 |
| predicted_SO | 0.539 | 0.046 |
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.252 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.140 | 0.000 |
| predicted_AVG | 0.271 | -0.001 |
| predicted_BB | 0.346 | -0.003 |
| predicted_H | 0.852 | -0.005 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.085 | -0.001 |
| predicted_OBP | 0.344 | 0.000 |
| predicted_R | 0.420 | -0.005 |
| predicted_RBI | 0.515 | -0.006 |
| predicted_SLG | 0.441 | -0.003 |
| predicted_SO | 0.543 | 0.004 |
AB rounded to 3 (raw=3.14), rates preserved: AVG=0.271 HR/AB=0.027
| 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=9.0, weight=0.092, BvP AVG=0.333)
| 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.252 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 3.000 | -0.140 |
| predicted_AVG | 0.333 | 0.062 |
| predicted_BB | 0.000 | -0.346 |
| predicted_H | 1.000 | 0.148 |
| predicted_HR | 0.000 | -0.085 |
| predicted_OBP | 0.333 | -0.011 |
| predicted_R | 0.000 | -0.420 |
| predicted_RBI | 0.000 | -0.515 |
| predicted_SLG | 0.333 | -0.108 |
| predicted_SO | 1.000 | 0.457 |
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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.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 | 6.000 | 2.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 4.000 | 0.3750 | 0.4500 | 0.6875 | 0.3750 | 0.0625 | 0.1875 | 0.1875 | 0.2500 |
| last_10 | 0.20 | 10 | - | 31.000 | 11.000 | 2.000 | 0.000 | 1.000 | 6.000 | 3.000 | 3.000 | 6.000 | 0.3548 | 0.4000 | 0.5161 | 0.3548 | 0.0323 | 0.1935 | 0.0968 | 0.1935 |
| season | 0.60 | 69 | - | 214.000 | 55.000 | 17.000 | 1.000 | 5.000 | 35.000 | 30.000 | 23.000 | 34.000 | 0.2570 | 0.3347 | 0.4159 | 0.2570 | 0.0234 | 0.1636 | 0.1075 | 0.1589 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2600 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.1950 |
| predicted_AVG | 0.2945 |
| predicted_BB | 0.3700 |
| predicted_H | 0.9410 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.3637 |
| predicted_R | 0.4120 |
| predicted_RBI | 0.5410 |
| predicted_SLG | 0.4814 |
| predicted_SO | 0.6020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2460 | 0.2600 | 0.2519 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 3.1010 | 3.1950 | 3.1403 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2945 | 0.2727 | model_form_blend |
| predicted_BB | 0.3330 | 0.3700 | 0.3485 | model_form_blend |
| predicted_H | 0.7970 | 0.9410 | 0.8572 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.0720 | 0.1060 | 0.0862 | model_form_blend |
| predicted_OBP | 0.3290 | 0.3637 | 0.3435 | model_form_blend |
| predicted_R | 0.4350 | 0.4120 | 0.4254 | model_form_blend |
| predicted_RBI | 0.5070 | 0.5410 | 0.5212 | model_form_blend |
| predicted_SLG | 0.4160 | 0.4814 | 0.4433 | model_form_blend |
| predicted_SO | 0.4930 | 0.6020 | 0.5386 | 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 | 234 |
| Season rows before report date | 234 |
| 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 | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.257 |
| 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 | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| 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 | 3B |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 679845 |
| playerID | 679845 |
| playerName | Nick Loftin |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.329 |
| sl_xwoba | 0.312 |
| sl_xba | 0.244 |
| sl_xslg | 0.36 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 30.1 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 14.9 |
| sl_swing_percent | 41.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.172 | 0.000 | 0.000 | Hitting_2B | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 4.760 | 3.000 | 5.000 | Hitting_AB | 3.756 | 5.000 | -0.756 | -2.000 |
| predicted_AVG | 0.229 | 0.000 | 0.200 | Hitting_AVG | 0.253 | 0.400 | -0.253 | -0.400 |
| predicted_BB | 0.263 | 1.000 | 0.000 | Hitting_BB | 0.290 | 0.000 | 0.710 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.090 | 0.000 | 1.000 | Hitting_H | 0.951 | 2.000 | -0.951 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_OBP | 0.269 | 0.250 | 0.200 | Hitting_OBP | 0.315 | 0.400 | -0.065 | -0.150 |
| predicted_R | 0.465 | 1.000 | 0.000 | Hitting_R | 0.547 | 0.000 | 0.453 | 1.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.436 | 1.000 | -0.436 | -1.000 |
| predicted_SLG | 0.356 | 0.000 | 0.200 | Hitting_SLG | 0.463 | 0.400 | -0.463 | -0.400 |
| predicted_SO | 1.101 | 0.000 | 1.000 | Hitting_SO | 1.160 | 1.000 | -1.160 | -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_BB: 0.2630 -> 1.0000 (boost 0.7370, better) |
| Biggest Deboost | predicted_AB: 4.7600 -> 3.0000 (deboost -1.7600, 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 | 1 | 5 | - | predicted_AB: 4.7600 -> 4.2323 (deboost -0.5277, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3565 -> 0.3659 (boost 0.0094, better) | - | 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: 4.2323 -> 5.0000 (boost 0.7677, better) | predicted_RBI: 0.4263 -> 0.0000 (deboost -0.4263, worse) | AB rounded to 5 (raw=4.76), rates preserved: AVG=0.196 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4019 -> 0.0000 (deboost -0.4019, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3659 -> 0.2000 (deboost -0.1659, 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_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.3659 (boost 0.1659, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.02,
"predicted_AB": 4.76,
"predicted_AVG": 0.229,
"predicted_BB": 0.263,
"predicted_H": 1.09,
"predicted_HR": 0.16,
"predicted_OBP": 0.269,
"predicted_R": 0.465,
"predicted_RBI": 0.5,
"predicted_SLG": 0.356,
"predicted_SO": 1.101
},
"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.1604,
"predicted_3B": 0.0166,
"predicted_AB": 4.2323,
"predicted_AVG": 0.2207,
"predicted_BB": 0.2694,
"predicted_H": 0.94,
"predicted_HBP": 0.025,
"predicted_HR": 0.1416,
"predicted_OBP": 0.2702,
"predicted_R": 0.4067,
"predicted_RBI": 0.4314,
"predicted_SLG": 0.3565,
"predicted_SO": 1.0371
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1604,
"delta": -0.0116,
"percent_delta": -0.0674,
"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": 4.76,
"after": 4.2323,
"delta": -0.5277,
"percent_delta": -0.1109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2207,
"delta": -0.0083,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.2694,
"delta": 0.0064,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 0.94,
"delta": -0.15,
"percent_delta": -0.1376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1416,
"delta": -0.0184,
"percent_delta": -0.115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2702,
"delta": 0.0012,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.4067,
"delta": -0.0583,
"percent_delta": -0.1254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4314,
"delta": -0.0686,
"percent_delta": -0.1372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3565,
"delta": 0.0005,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.101,
"after": 1.0371,
"delta": -0.0639,
"percent_delta": -0.058,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.76,
"after": 4.2323,
"delta": -0.5277,
"percent_delta": -0.1109,
"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": 99
}
},
{
"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.1604,
"predicted_3B": 0.0166,
"predicted_AB": 4.2323,
"predicted_AVG": 0.2208,
"predicted_BB": 0.2672,
"predicted_H": 0.9345,
"predicted_HBP": 0.025,
"predicted_HR": 0.1401,
"predicted_OBP": 0.2671,
"predicted_R": 0.4019,
"predicted_RBI": 0.4263,
"predicted_SLG": 0.3659,
"predicted_SO": 1.0455
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1604,
"after": 0.1604,
"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": 4.2323,
"after": 4.2323,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.2208,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2694,
"after": 0.2672,
"delta": -0.0022,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9345,
"delta": -0.0055,
"percent_delta": -0.0059,
"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.1416,
"after": 0.1401,
"delta": -0.0015,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2702,
"after": 0.2671,
"delta": -0.0031,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4067,
"after": 0.4019,
"delta": -0.0048,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4314,
"after": 0.4263,
"delta": -0.0051,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3565,
"after": 0.3659,
"delta": 0.0094,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0371,
"after": 1.0455,
"delta": 0.0084,
"percent_delta": 0.0081,
"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_SLG",
"before": 0.3565,
"after": 0.3659,
"delta": 0.0094,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.76), rates preserved: AVG=0.196 HR/AB=0.029",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1604,
"after": 0.0,
"delta": -0.1604,
"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": 4.2323,
"after": 5.0,
"delta": 0.7677,
"percent_delta": 0.1814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2672,
"after": 0.0,
"delta": -0.2672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9345,
"after": 1.0,
"delta": 0.0655,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"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.1401,
"after": 0.0,
"delta": -0.1401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4263,
"after": 0.0,
"delta": -0.4263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0455,
"after": 1.0,
"delta": -0.0455,
"percent_delta": -0.0435,
"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": 4.2323,
"after": 5.0,
"delta": 0.7677,
"percent_delta": 0.1814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4263,
"after": 0.0,
"delta": -0.4263,
"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": 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": 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.4019,
"after": 0.0,
"delta": -0.4019,
"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.4019,
"after": 0.0,
"delta": -0.4019,
"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": 0.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.2208,
"after": 0.2,
"delta": -0.0208,
"percent_delta": -0.0942,
"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.2671,
"after": 0.2,
"delta": -0.0671,
"percent_delta": -0.2512,
"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.3659,
"after": 0.2,
"delta": -0.1659,
"percent_delta": -0.4534,
"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.3659,
"after": 0.2,
"delta": -0.1659,
"percent_delta": -0.4534,
"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": 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": 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": 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": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"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.2208,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2671,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3659,
"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.2,
"after": 0.2208,
"delta": 0.0208,
"percent_delta": 0.1041,
"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.2671,
"delta": 0.0671,
"percent_delta": 0.3354,
"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.3659,
"delta": 0.1659,
"percent_delta": 0.8294,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3659,
"delta": 0.1659,
"percent_delta": 0.8294,
"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.172,
"after": 0.0,
"delta": -0.172,
"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": 4.76,
"after": 3.0,
"delta": -1.76,
"percent_delta": -0.3697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2208,
"delta": -0.0082,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 1.0,
"delta": 0.737,
"percent_delta": 2.8023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 0.0,
"delta": -1.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2671,
"delta": -0.0019,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 1.0,
"delta": 0.535,
"percent_delta": 1.1505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3659,
"delta": 0.0099,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.101,
"after": 0.0,
"delta": -1.101,
"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_BB",
"before": 0.263,
"after": 1.0,
"delta": 0.737,
"percent_delta": 2.8023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.76,
"after": 3.0,
"delta": -1.76,
"percent_delta": -0.3697,
"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.172 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.760 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.263 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.269 | - |
| predicted_R | 0.465 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.356 | - |
| predicted_SO | 1.101 | - |
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.160 | -0.012 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 4.232 | -0.528 |
| predicted_AVG | 0.221 | -0.008 |
| predicted_BB | 0.269 | 0.006 |
| predicted_H | 0.940 | -0.150 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.142 | -0.018 |
| predicted_OBP | 0.270 | 0.001 |
| predicted_R | 0.407 | -0.058 |
| predicted_RBI | 0.431 | -0.069 |
| predicted_SLG | 0.356 | 0.001 |
| predicted_SO | 1.037 | -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.160 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 4.232 | 0.000 |
| predicted_AVG | 0.221 | 0.000 |
| predicted_BB | 0.267 | -0.002 |
| predicted_H | 0.934 | -0.005 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.140 | -0.002 |
| predicted_OBP | 0.267 | -0.003 |
| predicted_R | 0.402 | -0.005 |
| predicted_RBI | 0.426 | -0.005 |
| predicted_SLG | 0.366 | 0.009 |
| predicted_SO | 1.046 | 0.008 |
AB rounded to 5 (raw=4.76), rates preserved: AVG=0.196 HR/AB=0.029
| 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 | 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 | 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 | 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.160 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 5.000 | 0.768 |
| predicted_AVG | 0.200 | -0.021 |
| predicted_BB | 0.000 | -0.267 |
| predicted_H | 1.000 | 0.066 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.200 | -0.067 |
| predicted_R | 0.000 | -0.402 |
| predicted_RBI | 0.000 | -0.426 |
| predicted_SLG | 0.200 | -0.166 |
| predicted_SO | 1.000 | -0.046 |
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 | 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 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 4.000 | 0.1176 | 0.2105 | 0.1176 | 0.1177 | 0.0000 | 0.0588 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 2.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 7.000 | 0.1714 | 0.2162 | 0.3143 | 0.1714 | 0.0286 | 0.0857 | 0.0571 | 0.2000 |
| season | 0.60 | 99 | - | 351.000 | 87.000 | 17.000 | 2.000 | 16.000 | 38.000 | 46.000 | 26.000 | 109.000 | 0.2479 | 0.3063 | 0.4444 | 0.2479 | 0.0456 | 0.1083 | 0.0741 | 0.3105 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1450 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.5290 |
| predicted_AVG | 0.2096 |
| predicted_BB | 0.2780 |
| predicted_H | 0.7400 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.2718 |
| predicted_R | 0.3290 |
| predicted_RBI | 0.3400 |
| predicted_SLG | 0.3571 |
| predicted_SO | 0.9520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1450 | 0.1604 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0166 | model_form_blend |
| predicted_AB | 4.7600 | 3.5290 | 4.2323 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2096 | 0.2207 | model_form_blend |
| predicted_BB | 0.2630 | 0.2780 | 0.2694 | model_form_blend |
| predicted_H | 1.0900 | 0.7400 | 0.9400 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1600 | 0.1170 | 0.1416 | model_form_blend |
| predicted_OBP | 0.2690 | 0.2718 | 0.2702 | model_form_blend |
| predicted_R | 0.4650 | 0.3290 | 0.4067 | model_form_blend |
| predicted_RBI | 0.5000 | 0.3400 | 0.4314 | model_form_blend |
| predicted_SLG | 0.3560 | 0.3571 | 0.3565 | model_form_blend |
| predicted_SO | 1.1010 | 0.9520 | 1.0371 | 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 | 369 |
| Season rows before report date | 369 |
| Report year | 2026 |
| Profile rows used | 99 |
| 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 | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.248 |
| 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.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| 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 | RF |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 695506 |
| playerID | 695506 |
| playerName | Jac Caglianone |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.329 |
| sl_xwoba | 0.35 |
| sl_xba | 0.265 |
| sl_xslg | 0.486 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 14.9 |
| sl_hard_hit_percent | 55.4 |
| sl_exit_velocity_avg | 93.0 |
| sl_launch_angle_avg | 7.9 |
| sl_whiff_percent | 30.3 |
| sl_swing_percent | 52.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.189 | 0.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.189 | 4.000 | 3.000 | Hitting_AB | 3.295 | 3.000 | 0.705 | 1.000 |
| predicted_AVG | 0.175 | 0.000 | 0.333 | Hitting_AVG | 0.246 | 0.000 | -0.246 | 0.000 |
| predicted_BB | 0.442 | 0.000 | 0.000 | Hitting_BB | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_H | 0.540 | 0.000 | 1.000 | Hitting_H | 0.812 | 0.000 | -0.812 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_OBP | 0.292 | 0.000 | 0.333 | Hitting_OBP | 0.356 | 0.250 | -0.356 | -0.250 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.457 | 0.000 | -0.457 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.410 | 0.000 | -0.410 | 0.000 |
| predicted_SLG | 0.310 | 0.000 | 0.333 | Hitting_SLG | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_SO | 0.863 | 1.000 | 1.000 | Hitting_SO | 0.905 | 0.000 | 0.095 | 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_AB: 3.1890 -> 4.0000 (boost 0.8110, better) |
| Biggest Deboost | predicted_H: 0.5400 -> 0.0000 (deboost -0.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 | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.5400 -> 0.6075 (boost 0.0675, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2984 -> 0.2822 (deboost -0.0162, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.6040 -> 1.0000 (boost 0.3960, better) | predicted_BB: 0.4274 -> 0.0000 (deboost -0.4274, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.187 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3759 -> 0.0000 (deboost -0.3759, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1872 -> 0.3330 (boost 0.1458, 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.1872 (deboost -0.1458, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.011,
"predicted_AB": 3.189,
"predicted_AVG": 0.175,
"predicted_BB": 0.442,
"predicted_H": 0.54,
"predicted_HR": 0.06,
"predicted_OBP": 0.292,
"predicted_R": 0.4,
"predicted_RBI": 0.28,
"predicted_SLG": 0.31,
"predicted_SO": 0.863
},
"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.0093,
"predicted_AB": 3.227,
"predicted_AVG": 0.1911,
"predicted_BB": 0.4309,
"predicted_H": 0.6075,
"predicted_HBP": 0.038,
"predicted_HR": 0.0617,
"predicted_OBP": 0.2984,
"predicted_R": 0.3804,
"predicted_RBI": 0.2937,
"predicted_SLG": 0.3205,
"predicted_SO": 0.869
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.1907,
"delta": 0.0017,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.189,
"after": 3.227,
"delta": 0.038,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.175,
"after": 0.1911,
"delta": 0.0161,
"percent_delta": 0.092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.442,
"after": 0.4309,
"delta": -0.0111,
"percent_delta": -0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.6075,
"delta": 0.0675,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0617,
"delta": 0.0017,
"percent_delta": 0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2984,
"delta": 0.0064,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.3804,
"delta": -0.0196,
"percent_delta": -0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2937,
"delta": 0.0137,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.31,
"after": 0.3205,
"delta": 0.0105,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 0.869,
"delta": 0.006,
"percent_delta": 0.007,
"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_H",
"before": 0.54,
"after": 0.6075,
"delta": 0.0675,
"percent_delta": 0.125,
"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": 95
}
},
{
"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.0093,
"predicted_AB": 3.227,
"predicted_AVG": 0.1872,
"predicted_BB": 0.4274,
"predicted_H": 0.604,
"predicted_HBP": 0.038,
"predicted_HR": 0.0611,
"predicted_OBP": 0.2822,
"predicted_R": 0.3759,
"predicted_RBI": 0.2902,
"predicted_SLG": 0.3088,
"predicted_SO": 0.876
},
"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.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.227,
"after": 3.227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1911,
"after": 0.1872,
"delta": -0.0039,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4309,
"after": 0.4274,
"delta": -0.0035,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6075,
"after": 0.604,
"delta": -0.0035,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0617,
"after": 0.0611,
"delta": -0.0006,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2984,
"after": 0.2822,
"delta": -0.0162,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3804,
"after": 0.3759,
"delta": -0.0045,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2937,
"after": 0.2902,
"delta": -0.0035,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3205,
"after": 0.3088,
"delta": -0.0117,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.869,
"after": 0.876,
"delta": 0.007,
"percent_delta": 0.0081,
"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.2984,
"after": 0.2822,
"delta": -0.0162,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.23), rates preserved: AVG=0.187 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.1907,
"after": 0.0,
"delta": -0.1907,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.227,
"after": 3.0,
"delta": -0.227,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4274,
"after": 0.0,
"delta": -0.4274,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0611,
"after": 0.0,
"delta": -0.0611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2902,
"after": 0.0,
"delta": -0.2902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.876,
"after": 1.0,
"delta": 0.124,
"percent_delta": 0.1416,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4274,
"after": 0.0,
"delta": -0.4274,
"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.3759,
"after": 0.0,
"delta": -0.3759,
"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.3759,
"after": 0.0,
"delta": -0.3759,
"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.1872,
"after": 0.333,
"delta": 0.1458,
"percent_delta": 0.7788,
"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.2822,
"after": 0.333,
"delta": 0.0508,
"percent_delta": 0.18,
"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.3088,
"after": 0.333,
"delta": 0.0242,
"percent_delta": 0.0784,
"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.1872,
"after": 0.333,
"delta": 0.1458,
"percent_delta": 0.7788,
"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.1872,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2822,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3088,
"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.1872,
"delta": -0.1458,
"percent_delta": -0.4379,
"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.2822,
"delta": -0.0508,
"percent_delta": -0.1525,
"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.3088,
"delta": -0.0242,
"percent_delta": -0.0727,
"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.1872,
"delta": -0.1458,
"percent_delta": -0.4379,
"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.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.189,
"after": 4.0,
"delta": 0.811,
"percent_delta": 0.2543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.175,
"after": 0.1872,
"delta": 0.0122,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.442,
"after": 0.0,
"delta": -0.442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"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.292,
"after": 0.2822,
"delta": -0.0098,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.31,
"after": 0.3088,
"delta": -0.0012,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 1.0,
"delta": 0.137,
"percent_delta": 0.1587,
"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_AB",
"before": 3.189,
"after": 4.0,
"delta": 0.811,
"percent_delta": 0.2543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"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.189 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.189 | - |
| predicted_AVG | 0.175 | - |
| predicted_BB | 0.442 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.310 | - |
| predicted_SO | 0.863 | - |
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.002 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 3.227 | 0.038 |
| predicted_AVG | 0.191 | 0.016 |
| predicted_BB | 0.431 | -0.011 |
| predicted_H | 0.608 | 0.068 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.062 | 0.002 |
| predicted_OBP | 0.298 | 0.006 |
| predicted_R | 0.380 | -0.020 |
| predicted_RBI | 0.294 | 0.014 |
| predicted_SLG | 0.321 | 0.011 |
| predicted_SO | 0.869 | 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.009 | 0.000 |
| predicted_AB | 3.227 | 0.000 |
| predicted_AVG | 0.187 | -0.004 |
| predicted_BB | 0.427 | -0.004 |
| predicted_H | 0.604 | -0.004 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.061 | -0.001 |
| predicted_OBP | 0.282 | -0.016 |
| predicted_R | 0.376 | -0.005 |
| predicted_RBI | 0.290 | -0.004 |
| predicted_SLG | 0.309 | -0.012 |
| predicted_SO | 0.876 | 0.007 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.187 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.191 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 3.000 | -0.227 |
| predicted_AVG | 0.333 | 0.146 |
| predicted_BB | 0.000 | -0.427 |
| predicted_H | 1.000 | 0.396 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.333 | 0.051 |
| predicted_R | 0.000 | -0.376 |
| predicted_RBI | 0.000 | -0.290 |
| predicted_SLG | 0.333 | 0.024 |
| predicted_SO | 1.000 | 0.124 |
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 | - | 17.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.1176 | 0.2105 | 0.1765 | 0.1177 | 0.0000 | 0.0000 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 3.000 | 4.000 | 8.000 | 0.2188 | 0.3056 | 0.3750 | 0.2188 | 0.0312 | 0.1250 | 0.1250 | 0.2500 |
| season | 0.60 | 95 | - | 303.000 | 72.000 | 18.000 | 1.000 | 6.000 | 34.000 | 38.000 | 42.000 | 82.000 | 0.2376 | 0.3399 | 0.3630 | 0.2376 | 0.0198 | 0.1122 | 0.1386 | 0.2706 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1930 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.2780 |
| predicted_AVG | 0.2128 |
| predicted_BB | 0.4160 |
| predicted_H | 0.6980 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.3070 |
| predicted_R | 0.3540 |
| predicted_RBI | 0.3120 |
| predicted_SLG | 0.3345 |
| predicted_SO | 0.8770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1930 | 0.1907 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 3.1890 | 3.2780 | 3.2270 | model_form_blend |
| predicted_AVG | 0.1750 | 0.2128 | 0.1911 | model_form_blend |
| predicted_BB | 0.4420 | 0.4160 | 0.4309 | model_form_blend |
| predicted_H | 0.5400 | 0.6980 | 0.6075 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.0600 | 0.0640 | 0.0617 | model_form_blend |
| predicted_OBP | 0.2920 | 0.3070 | 0.2984 | model_form_blend |
| predicted_R | 0.4000 | 0.3540 | 0.3804 | model_form_blend |
| predicted_RBI | 0.2800 | 0.3120 | 0.2937 | model_form_blend |
| predicted_SLG | 0.3100 | 0.3345 | 0.3205 | model_form_blend |
| predicted_SO | 0.8630 | 0.8770 | 0.8690 | 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 | 346 |
| Season rows before report date | 346 |
| Report year | 2026 |
| Profile rows used | 95 |
| 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.238 |
| 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 | 0 |
| 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 | 20260729_KC@MIN |
| game_type | full |
| mlbID | 686555 |
| playerID | 686555 |
| playerName | Isaac Collins |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.318 |
| sl_xwoba | 0.304 |
| sl_xba | 0.231 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 40.4 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 22.3 |
| 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.143 | 0.000 | 0.000 | Hitting_2B | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.524 | 4.000 | 3.000 | Hitting_AB | 3.288 | 3.000 | 0.712 | 1.000 |
| predicted_AVG | 0.274 | 0.000 | 0.333 | Hitting_AVG | 0.240 | 0.333 | -0.240 | -0.333 |
| predicted_BB | 0.048 | 0.000 | 0.000 | Hitting_BB | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.640 | 0.000 | 1.000 | Hitting_H | 0.788 | 1.000 | -0.788 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_OBP | 0.292 | 0.000 | 0.333 | Hitting_OBP | 0.249 | 0.333 | -0.249 | -0.333 |
| predicted_R | 0.238 | 0.000 | 0.000 | Hitting_R | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_SLG | 0.363 | 0.000 | 0.333 | Hitting_SLG | 0.310 | 0.333 | -0.310 | -0.333 |
| predicted_SO | 0.429 | 0.000 | 1.000 | Hitting_SO | 0.462 | 0.000 | -0.462 | 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 | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.5240 -> 4.0000 (boost 1.4760, better) |
| Biggest Deboost | predicted_H: 0.6400 -> 0.0000 (deboost -0.6400, 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 | 4 | 0 | 4 | 0 | predicted_AB: 2.5240 -> 2.7064 (boost 0.1824, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3005 -> 0.2842 (deboost -0.0163, 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.4572 -> 1.0000 (boost 0.5428, worse) | predicted_RBI: 0.2801 -> 0.0000 (deboost -0.2801, worse) | AB rounded to 3 (raw=2.71), rates preserved: AVG=0.263 HR/AB=0.020 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2744 -> 0.0000 (deboost -0.2744, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2633 -> 0.3330 (boost 0.0697, better) | predicted_SLG: 0.3801 -> 0.3330 (deboost -0.0471, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 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 |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3801 (boost 0.0471, better) | predicted_AVG: 0.3330 -> 0.2633 (deboost -0.0697, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668942",
"player_name": "Josh Rojas",
"position": "3B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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": 2.524,
"predicted_AVG": 0.274,
"predicted_BB": 0.048,
"predicted_H": 0.64,
"predicted_HR": 0.05,
"predicted_OBP": 0.292,
"predicted_R": 0.238,
"predicted_RBI": 0.26,
"predicted_SLG": 0.363,
"predicted_SO": 0.429
},
"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.1537,
"predicted_3B": 0.0014,
"predicted_AB": 2.7064,
"predicted_AVG": 0.2769,
"predicted_BB": 0.0798,
"predicted_H": 0.7167,
"predicted_HBP": 0.009,
"predicted_HR": 0.0538,
"predicted_OBP": 0.3005,
"predicted_R": 0.2777,
"predicted_RBI": 0.2835,
"predicted_SLG": 0.3765,
"predicted_SO": 0.4535
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1537,
"delta": 0.0107,
"percent_delta": 0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.524,
"after": 2.7064,
"delta": 0.1824,
"percent_delta": 0.0723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2769,
"delta": 0.0029,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.048,
"after": 0.0798,
"delta": 0.0318,
"percent_delta": 0.6625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.7167,
"delta": 0.0767,
"percent_delta": 0.1198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0538,
"delta": 0.0038,
"percent_delta": 0.076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.3005,
"delta": 0.0085,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.238,
"after": 0.2777,
"delta": 0.0397,
"percent_delta": 0.1668,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2835,
"delta": 0.0235,
"percent_delta": 0.0904,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3765,
"delta": 0.0135,
"percent_delta": 0.0372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.4535,
"delta": 0.0245,
"percent_delta": 0.0571,
"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_AB",
"before": 2.524,
"after": 2.7064,
"delta": 0.1824,
"percent_delta": 0.0723,
"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": 21
}
},
{
"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.1537,
"predicted_3B": 0.0014,
"predicted_AB": 2.7064,
"predicted_AVG": 0.2633,
"predicted_BB": 0.0792,
"predicted_H": 0.7125,
"predicted_HBP": 0.009,
"predicted_HR": 0.0532,
"predicted_OBP": 0.2842,
"predicted_R": 0.2744,
"predicted_RBI": 0.2801,
"predicted_SLG": 0.3801,
"predicted_SO": 0.4572
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1537,
"after": 0.1537,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7064,
"after": 2.7064,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2769,
"after": 0.2633,
"delta": -0.0136,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0798,
"after": 0.0792,
"delta": -0.0006,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7167,
"after": 0.7125,
"delta": -0.0042,
"percent_delta": -0.0059,
"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.0538,
"after": 0.0532,
"delta": -0.0006,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3005,
"after": 0.2842,
"delta": -0.0163,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2777,
"after": 0.2744,
"delta": -0.0033,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2835,
"after": 0.2801,
"delta": -0.0034,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3765,
"after": 0.3801,
"delta": 0.0036,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4535,
"after": 0.4572,
"delta": 0.0037,
"percent_delta": 0.0082,
"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.3005,
"after": 0.2842,
"delta": -0.0163,
"percent_delta": -0.0542,
"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.263 HR/AB=0.020",
"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.1537,
"after": 0.0,
"delta": -0.1537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7064,
"after": 3.0,
"delta": 0.2936,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0792,
"after": 0.0,
"delta": -0.0792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7125,
"after": 1.0,
"delta": 0.2875,
"percent_delta": 0.4035,
"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.0532,
"after": 0.0,
"delta": -0.0532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2801,
"after": 0.0,
"delta": -0.2801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4572,
"after": 1.0,
"delta": 0.5428,
"percent_delta": 1.1872,
"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.4572,
"after": 1.0,
"delta": 0.5428,
"percent_delta": 1.1872,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2801,
"after": 0.0,
"delta": -0.2801,
"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.400)",
"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.2744,
"after": 0.0,
"delta": -0.2744,
"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.2744,
"after": 0.0,
"delta": -0.2744,
"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.2633,
"after": 0.333,
"delta": 0.0697,
"percent_delta": 0.2647,
"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.2842,
"after": 0.333,
"delta": 0.0488,
"percent_delta": 0.1717,
"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.3801,
"after": 0.333,
"delta": -0.0471,
"percent_delta": -0.1239,
"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.2633,
"after": 0.333,
"delta": 0.0697,
"percent_delta": 0.2647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3801,
"after": 0.333,
"delta": -0.0471,
"percent_delta": -0.1239,
"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": 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": 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_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": 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.2633,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2842,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3801,
"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.2633,
"delta": -0.0697,
"percent_delta": -0.2094,
"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.2842,
"delta": -0.0488,
"percent_delta": -0.1465,
"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.3801,
"delta": 0.0471,
"percent_delta": 0.1415,
"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.3801,
"delta": 0.0471,
"percent_delta": 0.1415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2633,
"delta": -0.0697,
"percent_delta": -0.2094,
"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": 2.524,
"after": 4.0,
"delta": 1.476,
"percent_delta": 0.5848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2633,
"delta": -0.0107,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.292,
"after": 0.2842,
"delta": -0.0078,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.238,
"after": 0.0,
"delta": -0.238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3801,
"delta": 0.0171,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.524,
"after": 4.0,
"delta": 1.476,
"percent_delta": 0.5848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"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 | 2.524 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.048 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.238 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.363 | - |
| predicted_SO | 0.429 | - |
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.154 | 0.011 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.706 | 0.182 |
| predicted_AVG | 0.277 | 0.003 |
| predicted_BB | 0.080 | 0.032 |
| predicted_H | 0.717 | 0.077 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.054 | 0.004 |
| predicted_OBP | 0.300 | 0.009 |
| predicted_R | 0.278 | 0.040 |
| predicted_RBI | 0.283 | 0.023 |
| predicted_SLG | 0.377 | 0.014 |
| predicted_SO | 0.454 | 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.154 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.706 | 0.000 |
| predicted_AVG | 0.263 | -0.014 |
| predicted_BB | 0.079 | -0.001 |
| predicted_H | 0.713 | -0.004 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.053 | -0.001 |
| predicted_OBP | 0.284 | -0.016 |
| predicted_R | 0.274 | -0.003 |
| predicted_RBI | 0.280 | -0.003 |
| predicted_SLG | 0.380 | 0.004 |
| predicted_SO | 0.457 | 0.004 |
AB rounded to 3 (raw=2.71), rates preserved: AVG=0.263 HR/AB=0.020
| 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.400)
| 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.154 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.294 |
| predicted_AVG | 0.333 | 0.070 |
| predicted_BB | 0.000 | -0.079 |
| predicted_H | 1.000 | 0.287 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.333 | 0.049 |
| predicted_R | 0.000 | -0.274 |
| predicted_RBI | 0.000 | -0.280 |
| predicted_SLG | 0.333 | -0.047 |
| predicted_SO | 1.000 | 0.543 |
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 | 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 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 0.3571 | 0.4000 | 0.4286 | 0.3571 | 0.0000 | 0.0714 | 0.0714 | 0.0000 |
| last_10 | 0.20 | 10 | - | 28.000 | 10.000 | 2.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.3571 | 0.3793 | 0.4286 | 0.3571 | 0.0000 | 0.0714 | 0.0357 | 0.1429 |
| season | 0.60 | 21 | - | 53.000 | 14.000 | 3.000 | 0.000 | 1.000 | 6.000 | 5.000 | 1.000 | 9.000 | 0.2642 | 0.2778 | 0.3774 | 0.2641 | 0.0189 | 0.1132 | 0.0189 | 0.1698 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1740 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.0520 |
| predicted_AVG | 0.2824 |
| predicted_BB | 0.1400 |
| predicted_H | 0.8620 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0610 |
| predicted_OBP | 0.3165 |
| predicted_R | 0.3530 |
| predicted_RBI | 0.3280 |
| predicted_SLG | 0.4020 |
| predicted_SO | 0.5000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1740 | 0.1537 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.5240 | 3.0520 | 2.7064 | model_form_blend |
| predicted_AVG | 0.2740 | 0.2824 | 0.2769 | model_form_blend |
| predicted_BB | 0.0480 | 0.1400 | 0.0798 | model_form_blend |
| predicted_H | 0.6400 | 0.8620 | 0.7167 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0500 | 0.0610 | 0.0538 | model_form_blend |
| predicted_OBP | 0.2920 | 0.3165 | 0.3005 | model_form_blend |
| predicted_R | 0.2380 | 0.3530 | 0.2777 | model_form_blend |
| predicted_RBI | 0.2600 | 0.3280 | 0.2835 | model_form_blend |
| predicted_SLG | 0.3630 | 0.4020 | 0.3765 | model_form_blend |
| predicted_SO | 0.4290 | 0.5000 | 0.4535 | 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 | 52 |
| Season rows before report date | 52 |
| Report year | 2026 |
| Profile rows used | 21 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.264 |
| 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 | 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 | DH |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 668942 |
| playerID | 668942 |
| playerName | Josh Rojas |
| pos | 3B |
| started | True |
| startingPosition | DH |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.293 |
| sl_xwoba | 0.24 |
| sl_xba | 0.208 |
| sl_xslg | 0.306 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 39.0 |
| sl_exit_velocity_avg | 84.7 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 53.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.180 | 0.000 | 0.000 | Hitting_2B | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.200 | 5.000 | 4.000 | Hitting_AB | 3.423 | 5.000 | 1.577 | 0.000 |
| predicted_AVG | 0.228 | 0.000 | 0.250 | Hitting_AVG | 0.245 | 0.200 | -0.245 | -0.200 |
| predicted_BB | 0.404 | 0.000 | 0.000 | Hitting_BB | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 0.840 | 1.000 | -0.840 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_OBP | 0.287 | 0.000 | 0.250 | Hitting_OBP | 0.338 | 0.200 | -0.338 | -0.200 |
| predicted_R | 0.326 | 0.000 | 0.000 | Hitting_R | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.524 | 0.000 | -0.524 | 0.000 |
| predicted_SLG | 0.360 | 0.000 | 0.250 | Hitting_SLG | 0.433 | 0.200 | -0.433 | -0.200 |
| predicted_SO | 0.865 | 1.000 | 1.000 | Hitting_SO | 0.896 | 1.000 | 0.104 | 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: 4.2000 -> 5.0000 (boost 0.8000, better) |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, 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 | 0 | 6 | predicted_SO: 0.8650 -> 0.9695 (boost 0.1045, worse) | predicted_AB: 4.2000 -> 3.9218 (deboost -0.2782, 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.8492 -> 1.0000 (boost 0.1508, better) | predicted_RBI: 0.3822 -> 0.0000 (deboost -0.3822, worse) | AB rounded to 4 (raw=4.20), rates preserved: AVG=0.202 HR/AB=0.030 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3268 -> 0.0000 (deboost -0.3268, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2165 -> 0.2500 (boost 0.0335, better) | predicted_SLG: 0.3542 -> 0.2500 (deboost -0.1042, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3542 (boost 0.1042, better) | predicted_AVG: 0.2500 -> 0.2165 (deboost -0.0335, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657041",
"player_name": "Lane Thomas",
"position": "CF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.0,
"predicted_AB": 4.2,
"predicted_AVG": 0.228,
"predicted_BB": 0.404,
"predicted_H": 0.96,
"predicted_HR": 0.13,
"predicted_OBP": 0.287,
"predicted_R": 0.326,
"predicted_RBI": 0.4,
"predicted_SLG": 0.36,
"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.1571,
"predicted_3B": 0.0004,
"predicted_AB": 3.9218,
"predicted_AVG": 0.2164,
"predicted_BB": 0.3815,
"predicted_H": 0.8542,
"predicted_HBP": 0.017,
"predicted_HR": 0.1287,
"predicted_OBP": 0.2814,
"predicted_R": 0.3307,
"predicted_RBI": 0.3868,
"predicted_SLG": 0.3535,
"predicted_SO": 0.9695
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.1571,
"delta": -0.0229,
"percent_delta": -0.1272,
"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.2,
"after": 3.9218,
"delta": -0.2782,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2164,
"delta": -0.0116,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.3815,
"delta": -0.0225,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.8542,
"delta": -0.1058,
"percent_delta": -0.1102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1287,
"delta": -0.0013,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2814,
"delta": -0.0056,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.3307,
"delta": 0.0047,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3868,
"delta": -0.0132,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3535,
"delta": -0.0065,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 0.9695,
"delta": 0.1045,
"percent_delta": 0.1208,
"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.865,
"after": 0.9695,
"delta": 0.1045,
"percent_delta": 0.1208,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2,
"after": 3.9218,
"delta": -0.2782,
"percent_delta": -0.0662,
"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": 89
}
},
{
"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.1571,
"predicted_3B": 0.0004,
"predicted_AB": 3.9218,
"predicted_AVG": 0.2165,
"predicted_BB": 0.3784,
"predicted_H": 0.8492,
"predicted_HBP": 0.017,
"predicted_HR": 0.1273,
"predicted_OBP": 0.2855,
"predicted_R": 0.3268,
"predicted_RBI": 0.3822,
"predicted_SLG": 0.3542,
"predicted_SO": 0.9774
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1571,
"after": 0.1571,
"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.9218,
"after": 3.9218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2164,
"after": 0.2165,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3815,
"after": 0.3784,
"delta": -0.0031,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8542,
"after": 0.8492,
"delta": -0.005,
"percent_delta": -0.0059,
"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.1287,
"after": 0.1273,
"delta": -0.0014,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2814,
"after": 0.2855,
"delta": 0.0041,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3307,
"after": 0.3268,
"delta": -0.0039,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3868,
"after": 0.3822,
"delta": -0.0046,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3535,
"after": 0.3542,
"delta": 0.0007,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9695,
"after": 0.9774,
"delta": 0.0079,
"percent_delta": 0.0081,
"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=4.20), rates preserved: AVG=0.202 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.1571,
"after": 0.0,
"delta": -0.1571,
"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.9218,
"after": 4.0,
"delta": 0.0782,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3784,
"after": 0.0,
"delta": -0.3784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8492,
"after": 1.0,
"delta": 0.1508,
"percent_delta": 0.1776,
"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.1273,
"after": 0.0,
"delta": -0.1273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3822,
"after": 0.0,
"delta": -0.3822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9774,
"after": 1.0,
"delta": 0.0226,
"percent_delta": 0.0231,
"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.8492,
"after": 1.0,
"delta": 0.1508,
"percent_delta": 0.1776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3822,
"after": 0.0,
"delta": -0.3822,
"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.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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_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.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": 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.3268,
"after": 0.0,
"delta": -0.3268,
"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.3268,
"after": 0.0,
"delta": -0.3268,
"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": 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.2165,
"after": 0.25,
"delta": 0.0335,
"percent_delta": 0.1547,
"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.2855,
"after": 0.25,
"delta": -0.0355,
"percent_delta": -0.1243,
"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.3542,
"after": 0.25,
"delta": -0.1042,
"percent_delta": -0.2942,
"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.2165,
"after": 0.25,
"delta": 0.0335,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3542,
"after": 0.25,
"delta": -0.1042,
"percent_delta": -0.2942,
"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": 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": 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": 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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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": 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.2165,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2855,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3542,
"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.25,
"after": 0.2165,
"delta": -0.0335,
"percent_delta": -0.1338,
"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.2855,
"delta": 0.0355,
"percent_delta": 0.1419,
"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.3542,
"delta": 0.1042,
"percent_delta": 0.4169,
"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.3542,
"delta": 0.1042,
"percent_delta": 0.4169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2165,
"delta": -0.0335,
"percent_delta": -0.1338,
"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.18,
"after": 0.0,
"delta": -0.18,
"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.2,
"after": 5.0,
"delta": 0.8,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2165,
"delta": -0.0115,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.0,
"delta": -0.404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.287,
"after": 0.2855,
"delta": -0.0015,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3542,
"delta": -0.0058,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"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": 4.2,
"after": 5.0,
"delta": 0.8,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"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.180 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.404 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.326 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.360 | - |
| 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.157 | -0.023 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.922 | -0.278 |
| predicted_AVG | 0.216 | -0.012 |
| predicted_BB | 0.382 | -0.023 |
| predicted_H | 0.854 | -0.106 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.129 | -0.001 |
| predicted_OBP | 0.281 | -0.006 |
| predicted_R | 0.331 | 0.005 |
| predicted_RBI | 0.387 | -0.013 |
| predicted_SLG | 0.353 | -0.007 |
| predicted_SO | 0.970 | 0.105 |
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.157 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.922 | 0.000 |
| predicted_AVG | 0.216 | 0.000 |
| predicted_BB | 0.378 | -0.003 |
| predicted_H | 0.849 | -0.005 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.127 | -0.001 |
| predicted_OBP | 0.285 | 0.004 |
| predicted_R | 0.327 | -0.004 |
| predicted_RBI | 0.382 | -0.005 |
| predicted_SLG | 0.354 | 0.001 |
| predicted_SO | 0.977 | 0.008 |
AB rounded to 4 (raw=4.20), rates preserved: AVG=0.202 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 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
| 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 |
| 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 | 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.157 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.078 |
| predicted_AVG | 0.250 | 0.034 |
| predicted_BB | 0.000 | -0.378 |
| predicted_H | 1.000 | 0.151 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.250 | -0.035 |
| predicted_R | 0.000 | -0.327 |
| predicted_RBI | 0.000 | -0.382 |
| predicted_SLG | 0.250 | -0.104 |
| predicted_SO | 1.000 | 0.023 |
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 | 0.000 | -1.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 | 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 | - | 21.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.1429 | 0.1818 | 0.2857 | 0.1429 | 0.0476 | 0.0476 | 0.0476 | 0.3810 |
| last_10 | 0.20 | 10 | - | 40.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 16.000 | 0.1500 | 0.2093 | 0.2250 | 0.1500 | 0.0250 | 0.0750 | 0.0750 | 0.4000 |
| season | 0.60 | 89 | - | 279.000 | 64.000 | 16.000 | 0.000 | 10.000 | 36.000 | 29.000 | 36.000 | 77.000 | 0.2294 | 0.3208 | 0.3943 | 0.2294 | 0.0358 | 0.1290 | 0.1290 | 0.2760 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5450 |
| predicted_AVG | 0.2007 |
| predicted_BB | 0.3510 |
| predicted_H | 0.7110 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1270 |
| predicted_OBP | 0.2737 |
| predicted_R | 0.3370 |
| predicted_RBI | 0.3690 |
| predicted_SLG | 0.3448 |
| predicted_SO | 1.1110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.1260 | 0.1571 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2000 | 3.5450 | 3.9218 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2007 | 0.2164 | model_form_blend |
| predicted_BB | 0.4040 | 0.3510 | 0.3815 | model_form_blend |
| predicted_H | 0.9600 | 0.7110 | 0.8542 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1300 | 0.1270 | 0.1287 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2737 | 0.2814 | model_form_blend |
| predicted_R | 0.3260 | 0.3370 | 0.3307 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3690 | 0.3868 | model_form_blend |
| predicted_SLG | 0.3600 | 0.3448 | 0.3535 | model_form_blend |
| predicted_SO | 0.8650 | 1.1110 | 0.9695 | 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 | 307 |
| Season rows before report date | 307 |
| Report year | 2026 |
| Profile rows used | 89 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| 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.2 |
| 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 | 20260729_KC@MIN |
| game_type | full |
| mlbID | 657041 |
| playerID | 657041 |
| playerName | Lane Thomas |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.321 |
| sl_xwoba | 0.317 |
| sl_xba | 0.242 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 42.5 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 41.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.242 | 0.000 | 0.000 | Hitting_2B | 0.275 | 1.000 | -0.275 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 5.000 | 4.000 | 5.000 | Hitting_AB | 3.782 | 5.000 | 0.218 | -1.000 |
| predicted_AVG | 0.193 | 0.750 | 0.200 | Hitting_AVG | 0.251 | 0.200 | 0.499 | 0.550 |
| predicted_BB | 0.364 | 1.000 | 0.000 | Hitting_BB | 0.421 | 0.000 | 0.579 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 3.000 | 1.000 | Hitting_H | 0.948 | 1.000 | 2.052 | 2.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.153 | 0.000 | 0.847 | 1.000 |
| predicted_OBP | 0.261 | 0.800 | 0.200 | Hitting_OBP | 0.324 | 0.200 | 0.476 | 0.600 |
| predicted_R | 0.455 | 1.000 | 0.000 | Hitting_R | 0.501 | 1.000 | 0.499 | 0.000 |
| predicted_RBI | 0.700 | 1.000 | 1.000 | Hitting_RBI | 0.626 | 1.000 | 0.374 | 0.000 |
| predicted_SLG | 0.379 | 1.500 | 0.200 | Hitting_SLG | 0.445 | 0.400 | 1.055 | 1.100 |
| predicted_SO | 1.182 | 1.000 | 1.000 | Hitting_SO | 1.174 | 3.000 | -0.174 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.9600 -> 3.0000 (boost 2.0400, better) |
| Biggest Deboost | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, 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 | 2 | 4 | 1 | 5 | predicted_SO: 1.1820 -> 1.2868 (boost 0.1048, worse) | predicted_AB: 5.0000 -> 4.4151 (deboost -0.5849, 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.3731 -> 0.3368 (deboost -0.0363, 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.4151 -> 5.0000 (boost 0.5849, better) | predicted_BB: 0.3402 -> 0.0000 (deboost -0.3402, worse) | AB rounded to 5 (raw=5.00), rates preserved: AVG=0.174 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4114 -> 0.0000 (deboost -0.4114, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3368 -> 0.2000 (deboost -0.1368, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.3368 (boost 0.1368, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695600",
"player_name": "Carter Jensen",
"position": "C",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.242,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.193,
"predicted_BB": 0.364,
"predicted_H": 0.96,
"predicted_HR": 0.14,
"predicted_OBP": 0.261,
"predicted_R": 0.455,
"predicted_RBI": 0.7,
"predicted_SLG": 0.379,
"predicted_SO": 1.182
},
"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.2416,
"predicted_3B": 0.0004,
"predicted_AB": 4.4151,
"predicted_AVG": 0.2004,
"predicted_BB": 0.343,
"predicted_H": 0.8763,
"predicted_HBP": 0.008,
"predicted_HR": 0.1258,
"predicted_OBP": 0.2657,
"predicted_R": 0.4164,
"predicted_RBI": 0.5755,
"predicted_SLG": 0.3731,
"predicted_SO": 1.2868
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.2416,
"delta": -0.0004,
"percent_delta": -0.0017,
"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": 5.0,
"after": 4.4151,
"delta": -0.5849,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.193,
"after": 0.2004,
"delta": 0.0074,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.343,
"delta": -0.021,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.8763,
"delta": -0.0837,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1258,
"delta": -0.0142,
"percent_delta": -0.1014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2657,
"delta": 0.0047,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.4164,
"delta": -0.0386,
"percent_delta": -0.0848,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.5755,
"delta": -0.1245,
"percent_delta": -0.1779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3731,
"delta": -0.0059,
"percent_delta": -0.0156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.182,
"after": 1.2868,
"delta": 0.1048,
"percent_delta": 0.0887,
"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": 1.182,
"after": 1.2868,
"delta": 0.1048,
"percent_delta": 0.0887,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.4151,
"delta": -0.5849,
"percent_delta": -0.117,
"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": 99
}
},
{
"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.2416,
"predicted_3B": 0.0004,
"predicted_AB": 4.4151,
"predicted_AVG": 0.1973,
"predicted_BB": 0.3402,
"predicted_H": 0.8712,
"predicted_HBP": 0.008,
"predicted_HR": 0.1245,
"predicted_OBP": 0.2548,
"predicted_R": 0.4114,
"predicted_RBI": 0.5687,
"predicted_SLG": 0.3368,
"predicted_SO": 1.2972
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2416,
"after": 0.2416,
"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.4151,
"after": 4.4151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2004,
"after": 0.1973,
"delta": -0.0031,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.3402,
"delta": -0.0028,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8763,
"after": 0.8712,
"delta": -0.0051,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1258,
"after": 0.1245,
"delta": -0.0013,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2657,
"after": 0.2548,
"delta": -0.0109,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4164,
"after": 0.4114,
"delta": -0.005,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5755,
"after": 0.5687,
"delta": -0.0068,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3731,
"after": 0.3368,
"delta": -0.0363,
"percent_delta": -0.0973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2868,
"after": 1.2972,
"delta": 0.0104,
"percent_delta": 0.0081,
"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.3731,
"after": 0.3368,
"delta": -0.0363,
"percent_delta": -0.0973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.00), rates preserved: AVG=0.174 HR/AB=0.025",
"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.2416,
"after": 0.0,
"delta": -0.2416,
"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.4151,
"after": 5.0,
"delta": 0.5849,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3402,
"after": 0.0,
"delta": -0.3402,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8712,
"after": 1.0,
"delta": 0.1288,
"percent_delta": 0.1478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1245,
"after": 0.0,
"delta": -0.1245,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5687,
"after": 1.0,
"delta": 0.4313,
"percent_delta": 0.7584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2972,
"after": 1.0,
"delta": -0.2972,
"percent_delta": -0.2291,
"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.4151,
"after": 5.0,
"delta": 0.5849,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3402,
"after": 0.0,
"delta": -0.3402,
"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.4114,
"after": 0.0,
"delta": -0.4114,
"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.4114,
"after": 0.0,
"delta": -0.4114,
"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.1973,
"after": 0.2,
"delta": 0.0027,
"percent_delta": 0.0137,
"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_OBP",
"before": 0.2548,
"after": 0.2,
"delta": -0.0548,
"percent_delta": -0.2151,
"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.3368,
"after": 0.2,
"delta": -0.1368,
"percent_delta": -0.4062,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3368,
"after": 0.2,
"delta": -0.1368,
"percent_delta": -0.4062,
"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": 3.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": 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": 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": 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": 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": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1973,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2548,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3368,
"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.1973,
"delta": -0.0027,
"percent_delta": -0.0134,
"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_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": 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.2,
"after": 0.2548,
"delta": 0.0548,
"percent_delta": 0.2738,
"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.3368,
"delta": 0.1368,
"percent_delta": 0.6841,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3368,
"delta": 0.1368,
"percent_delta": 0.6841,
"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.242,
"after": 0.0,
"delta": -0.242,
"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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.193,
"after": 0.1973,
"delta": 0.0043,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 1.0,
"delta": 0.636,
"percent_delta": 1.7473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 3.0,
"delta": 2.04,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2548,
"delta": -0.0062,
"percent_delta": -0.0238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 1.0,
"delta": 0.545,
"percent_delta": 1.1978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 1.0,
"delta": 0.3,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3368,
"delta": -0.0422,
"percent_delta": -0.1113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.182,
"after": 1.0,
"delta": -0.182,
"percent_delta": -0.154,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.96,
"after": 3.0,
"delta": 2.04,
"percent_delta": 2.125,
"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
},
"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.242 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 5.000 | - |
| predicted_AVG | 0.193 | - |
| predicted_BB | 0.364 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.700 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 1.182 | - |
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.242 | -0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.415 | -0.585 |
| predicted_AVG | 0.200 | 0.007 |
| predicted_BB | 0.343 | -0.021 |
| predicted_H | 0.876 | -0.084 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.126 | -0.014 |
| predicted_OBP | 0.266 | 0.005 |
| predicted_R | 0.416 | -0.039 |
| predicted_RBI | 0.576 | -0.124 |
| predicted_SLG | 0.373 | -0.006 |
| predicted_SO | 1.287 | 0.105 |
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.242 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.415 | 0.000 |
| predicted_AVG | 0.197 | -0.003 |
| predicted_BB | 0.340 | -0.003 |
| predicted_H | 0.871 | -0.005 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.124 | -0.001 |
| predicted_OBP | 0.255 | -0.011 |
| predicted_R | 0.411 | -0.005 |
| predicted_RBI | 0.569 | -0.007 |
| predicted_SLG | 0.337 | -0.036 |
| predicted_SO | 1.297 | 0.010 |
AB rounded to 5 (raw=5.00), rates preserved: AVG=0.174 HR/AB=0.025
| 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.242 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.585 |
| predicted_AVG | 0.200 | 0.003 |
| predicted_BB | 0.000 | -0.340 |
| predicted_H | 1.000 | 0.129 |
| predicted_HR | 0.000 | -0.124 |
| predicted_OBP | 0.200 | -0.055 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 1.000 | 0.431 |
| predicted_SLG | 0.200 | -0.137 |
| predicted_SO | 1.000 | -0.297 |
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 | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.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 | - | 18.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 11.000 | 0.1667 | 0.2105 | 0.2222 | 0.1667 | 0.0000 | 0.0556 | 0.0556 | 0.6111 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 3.000 | 0.000 | 1.000 | 2.000 | 2.000 | 3.000 | 16.000 | 0.1579 | 0.2195 | 0.3158 | 0.1579 | 0.0263 | 0.0526 | 0.0790 | 0.4210 |
| season | 0.60 | 99 | - | 354.000 | 84.000 | 24.000 | 0.000 | 14.000 | 53.000 | 45.000 | 36.000 | 117.000 | 0.2373 | 0.3056 | 0.4237 | 0.2373 | 0.0396 | 0.1497 | 0.1017 | 0.3305 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2410 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6380 |
| predicted_AVG | 0.2102 |
| predicted_BB | 0.3150 |
| predicted_H | 0.7650 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1070 |
| predicted_OBP | 0.2719 |
| predicted_R | 0.3650 |
| predicted_RBI | 0.4100 |
| predicted_SLG | 0.3652 |
| predicted_SO | 1.4260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2420 | 0.2410 | 0.2416 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 5.0000 | 3.6380 | 4.4151 | model_form_blend |
| predicted_AVG | 0.1930 | 0.2102 | 0.2004 | model_form_blend |
| predicted_BB | 0.3640 | 0.3150 | 0.3430 | model_form_blend |
| predicted_H | 0.9600 | 0.7650 | 0.8763 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1400 | 0.1070 | 0.1258 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2719 | 0.2657 | model_form_blend |
| predicted_R | 0.4550 | 0.3650 | 0.4164 | model_form_blend |
| predicted_RBI | 0.7000 | 0.4100 | 0.5755 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3652 | 0.3731 | model_form_blend |
| predicted_SO | 1.1820 | 1.4260 | 1.2868 | 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 | 385 |
| Season rows before report date | 385 |
| Report year | 2026 |
| Profile rows used | 99 |
| 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 | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| 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 | 3 |
| Hitting_TB | 2 |
| 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 | C |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 695600 |
| playerID | 695600 |
| playerName | Carter Jensen |
| pos | C |
| started | True |
| startingPosition | C |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.3 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.316 |
| sl_xwoba | 0.284 |
| sl_xba | 0.207 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 43.3 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 20.6 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 45.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.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 | 3.250 | 3.000 | 3.000 | Hitting_AB | 3.100 | 0.000 | -0.100 | 3.000 |
| predicted_AVG | 0.216 | 0.000 | 0.333 | Hitting_AVG | 0.097 | - | -0.097 | - |
| predicted_BB | 0.000 | 1.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.350 | 0.000 | 1.000 | Hitting_H | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.216 | 0.250 | 0.333 | Hitting_OBP | 0.097 | - | 0.153 | - |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.200 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.302 | 0.000 | 0.333 | Hitting_SLG | 0.097 | - | -0.097 | - |
| predicted_SO | 0.500 | 0.000 | 1.000 | Hitting_SO | 0.500 | 0.000 | -0.500 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 0.5000 -> 0.0000 (deboost -0.5000, 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 | 5 | 0 | 4 | 1 | predicted_AB: 3.2500 -> 3.3449 (boost 0.0949, 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.3037 -> 0.1939 (deboost -0.1098, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.5628 -> 1.0000 (boost 0.4372, worse) | predicted_H: 0.4370 -> 0.0000 (deboost -0.4370, worse) | AB rounded to 3 (raw=3.34), rates preserved: AVG=0.131 HR/AB=0.018 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.0816 -> 0.0000 (deboost -0.0816, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1306 -> 0.3330 (boost 0.2024, 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.1306 (deboost -0.2024, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "623205",
"player_name": "Andrew Velazquez",
"position": "SS",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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": 3.25,
"predicted_AVG": 0.216,
"predicted_BB": 0.0,
"predicted_H": 0.35,
"predicted_HR": 0.05,
"predicted_OBP": 0.216,
"predicted_R": 0.0,
"predicted_RBI": 0.2,
"predicted_SLG": 0.302,
"predicted_SO": 0.5
},
"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.0298,
"predicted_3B": 0.0025,
"predicted_AB": 3.3449,
"predicted_AVG": 0.2112,
"predicted_BB": 0.0433,
"predicted_H": 0.4395,
"predicted_HBP": 0.022,
"predicted_HR": 0.0596,
"predicted_OBP": 0.221,
"predicted_R": 0.0826,
"predicted_RBI": 0.2302,
"predicted_SLG": 0.3037,
"predicted_SO": 0.5583
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0298,
"delta": 0.0298,
"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": 3.25,
"after": 3.3449,
"delta": 0.0949,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2112,
"delta": -0.0048,
"percent_delta": -0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0433,
"delta": 0.0433,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.4395,
"delta": 0.0895,
"percent_delta": 0.2557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0596,
"delta": 0.0096,
"percent_delta": 0.192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.216,
"after": 0.221,
"delta": 0.005,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0826,
"delta": 0.0826,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.2302,
"delta": 0.0302,
"percent_delta": 0.151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.3037,
"delta": 0.0017,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5583,
"delta": 0.0583,
"percent_delta": 0.1166,
"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": 3.25,
"after": 3.3449,
"delta": 0.0949,
"percent_delta": 0.0292,
"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": 4,
"last_10": 4,
"season": 4
}
},
{
"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.0298,
"predicted_3B": 0.0025,
"predicted_AB": 3.3449,
"predicted_AVG": 0.1306,
"predicted_BB": 0.0429,
"predicted_H": 0.437,
"predicted_HBP": 0.022,
"predicted_HR": 0.059,
"predicted_OBP": 0.1417,
"predicted_R": 0.0816,
"predicted_RBI": 0.2275,
"predicted_SLG": 0.1939,
"predicted_SO": 0.5628
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0298,
"after": 0.0298,
"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": 3.3449,
"after": 3.3449,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2112,
"after": 0.1306,
"delta": -0.0806,
"percent_delta": -0.3816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0433,
"after": 0.0429,
"delta": -0.0004,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4395,
"after": 0.437,
"delta": -0.0025,
"percent_delta": -0.0057,
"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.0596,
"after": 0.059,
"delta": -0.0006,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.221,
"after": 0.1417,
"delta": -0.0793,
"percent_delta": -0.3588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0826,
"after": 0.0816,
"delta": -0.001,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2302,
"after": 0.2275,
"delta": -0.0027,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3037,
"after": 0.1939,
"delta": -0.1098,
"percent_delta": -0.3615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5583,
"after": 0.5628,
"delta": 0.0045,
"percent_delta": 0.0081,
"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.3037,
"after": 0.1939,
"delta": -0.1098,
"percent_delta": -0.3615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.34), rates preserved: AVG=0.131 HR/AB=0.018",
"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.0298,
"after": 0.0,
"delta": -0.0298,
"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": 3.3449,
"after": 3.0,
"delta": -0.3449,
"percent_delta": -0.1031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0429,
"after": 0.0,
"delta": -0.0429,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.437,
"after": 0.0,
"delta": -0.437,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2275,
"after": 0.0,
"delta": -0.2275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5628,
"after": 1.0,
"delta": 0.4372,
"percent_delta": 0.7768,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5628,
"after": 1.0,
"delta": 0.4372,
"percent_delta": 0.7768,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.437,
"after": 0.0,
"delta": -0.437,
"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.0816,
"after": 0.0,
"delta": -0.0816,
"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.0816,
"after": 0.0,
"delta": -0.0816,
"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.1306,
"after": 0.333,
"delta": 0.2024,
"percent_delta": 1.5498,
"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.1417,
"after": 0.333,
"delta": 0.1913,
"percent_delta": 1.35,
"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.1939,
"after": 0.333,
"delta": 0.1391,
"percent_delta": 0.7174,
"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.1306,
"after": 0.333,
"delta": 0.2024,
"percent_delta": 1.5498,
"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.1306,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1417,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1939,
"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": 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.1306,
"delta": -0.2024,
"percent_delta": -0.6077,
"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.1417,
"delta": -0.1913,
"percent_delta": -0.5746,
"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.1939,
"delta": -0.1391,
"percent_delta": -0.4176,
"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.1306,
"delta": -0.2024,
"percent_delta": -0.6077,
"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": 3.25,
"after": 3.0,
"delta": -0.25,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.1306,
"delta": -0.0854,
"percent_delta": -0.3954,
"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_H",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.216,
"after": 0.1417,
"delta": -0.0743,
"percent_delta": -0.344,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.1939,
"delta": -0.1081,
"percent_delta": -0.3579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"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_SO",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.250 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.350 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.216 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.302 | - |
| predicted_SO | 0.500 | - |
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.030 | 0.030 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 3.345 | 0.095 |
| predicted_AVG | 0.211 | -0.005 |
| predicted_BB | 0.043 | 0.043 |
| predicted_H | 0.440 | 0.090 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.060 | 0.010 |
| predicted_OBP | 0.221 | 0.005 |
| predicted_R | 0.083 | 0.083 |
| predicted_RBI | 0.230 | 0.030 |
| predicted_SLG | 0.304 | 0.002 |
| predicted_SO | 0.558 | 0.058 |
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.030 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 3.345 | 0.000 |
| predicted_AVG | 0.131 | -0.081 |
| predicted_BB | 0.043 | -0.000 |
| predicted_H | 0.437 | -0.003 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.142 | -0.079 |
| predicted_R | 0.082 | -0.001 |
| predicted_RBI | 0.228 | -0.003 |
| predicted_SLG | 0.194 | -0.110 |
| predicted_SO | 0.563 | 0.004 |
AB rounded to 3 (raw=3.34), rates preserved: AVG=0.131 HR/AB=0.018
| 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.030 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 3.000 | -0.345 |
| predicted_AVG | 0.333 | 0.202 |
| predicted_BB | 0.000 | -0.043 |
| predicted_H | 1.000 | 0.563 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.333 | 0.191 |
| predicted_R | 0.000 | -0.082 |
| predicted_RBI | 0.000 | -0.228 |
| predicted_SLG | 0.333 | 0.139 |
| predicted_SO | 1.000 | 0.437 |
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 | 4 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.0769 | 0.0769 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.0000 | 0.1538 |
| last_10 | 0.20 | 4 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.0769 | 0.0769 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.0000 | 0.1538 |
| season | 0.60 | 4 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.0769 | 0.0769 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.0000 | 0.1538 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.6360 |
| predicted_AVG | 0.1964 |
| predicted_BB | 0.1760 |
| predicted_H | 0.7140 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0890 |
| predicted_OBP | 0.2364 |
| predicted_R | 0.3360 |
| predicted_RBI | 0.3230 |
| predicted_SLG | 0.3088 |
| predicted_SO | 0.7370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1210 | 0.0298 | model_form_blend |
| predicted_3B | 0.0000 | 0.0100 | 0.0025 | model_form_blend |
| predicted_AB | 3.2500 | 3.6360 | 3.3449 | model_form_blend |
| predicted_AVG | 0.2160 | 0.1964 | 0.2112 | model_form_blend |
| predicted_BB | 0.0000 | 0.1760 | 0.0433 | model_form_blend |
| predicted_H | 0.3500 | 0.7140 | 0.4395 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0500 | 0.0890 | 0.0596 | model_form_blend |
| predicted_OBP | 0.2160 | 0.2364 | 0.2210 | model_form_blend |
| predicted_R | 0.0000 | 0.3360 | 0.0826 | model_form_blend |
| predicted_RBI | 0.2000 | 0.3230 | 0.2302 | model_form_blend |
| predicted_SLG | 0.3020 | 0.3088 | 0.3037 | model_form_blend |
| predicted_SO | 0.5000 | 0.7370 | 0.5583 | 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 | 10 |
| Season rows before report date | 10 |
| Report year | 2026 |
| Profile rows used | 4 |
| 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.077 |
| 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 | 2 |
| 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 | 20260728_KC@MIN |
| game_type | short |
| mlbID | 623205 |
| playerID | 623205 |
| playerName | Andrew Velazquez |
| pos | SS |
| started | False |
| startingPosition | SS |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-28 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.068 |
| sl_xwoba | 0.161 |
| sl_xba | 0.17 |
| sl_xslg | 0.196 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 27.3 |
| sl_exit_velocity_avg | 84.9 |
| sl_launch_angle_avg | 22.9 |
| sl_whiff_percent | 13.0 |
| sl_swing_percent | 65.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 | 1.850 | 3.000 | 1.150 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.950 | 0.000 | 0.050 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.750 | 2.000 | -0.750 | 3.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.290 | 7.000 | -0.290 | -2.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.000 | 8.000 | -1.000 | -4.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.0000 (deboost -0.3333, 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 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.0000 (deboost -0.3333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 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": "702070",
"player_name": "Noah Cameron",
"position": "Starter",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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": 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": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 3.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": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"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 | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 4.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | -0.333 |
| predicted_SO | 4.000 | 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 | 27.200 | 19.000 | 31.000 | 15.000 | 25.000 | 6.000 | 6.1807 | 1.6627 | 0.6867 | 1.1205 | 0.5422 | 0.9036 | 0.2169 |
| last_10 | 0.35 | 10 | 55.000 | 32.000 | 58.000 | 20.000 | 52.000 | 9.000 | 5.2364 | 1.4182 | 0.5818 | 1.0546 | 0.3636 | 0.9455 | 0.1636 |
| season | 0.20 | 20 | 107.200 | 59.000 | 115.000 | 37.000 | 100.000 | 14.000 | 4.9319 | 1.4118 | 0.5480 | 1.0681 | 0.3437 | 0.9288 | 0.1300 |
| Metric | Value |
|---|---|
| predicted_BB | 2.3080 |
| predicted_ER | 3.2670 |
| predicted_ERA | 5.3913 |
| predicted_H | 5.8070 |
| predicted_HR | 0.9540 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.0740 |
| predicted_WHIP | 1.4880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.3080 | 2.6087 | model_form_blend |
| predicted_ER | 3.0000 | 3.2670 | 3.1510 | model_form_blend |
| predicted_ERA | - | 5.3913 | 5.3913 | form_only |
| predicted_H | 5.0000 | 5.8070 | 5.4564 | model_form_blend |
| predicted_HR | 0.0000 | 0.9540 | 0.5395 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 5.0740 | 4.6073 | model_form_blend |
| predicted_WHIP | - | 1.4880 | 1.4880 | 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.0 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 4 |
| HR | 0 |
| BF | 24 |
| Pitches | 97 |
| 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 | 24 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.93 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 6 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 97 |
| Pitching_R | 0 |
| Pitching_SO | 8 |
| Pitching_Strikes | 58 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260724_KC@DET |
| game_type | full |
| mlbID | 702070 |
| playerID | 702070 |
| playerName | Noah Cameron |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-24 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.333 |
| sl_xwoba | 0.34 |
| sl_sweet_spot_percent | 41.3 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 39.8 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 78.762571104 |
| sl_avg_hyper_speed | 94.488177239 |
| 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.267 | 0.000 | -0.267 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.222 | 0.000 | 1.778 | 2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.667 | 1.000 | 0.333 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.891 | 1.000 | 0.109 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.756 | 0.000 | 0.244 | 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": "663738",
"player_name": "Daniel Lynch IV",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 1.0,
"predicted_HR": 1.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": 2.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.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": 2.0,
"after": 2.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.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": 2.0,
"after": 2.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.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 | 2.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.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 | 0.000 | 4.000 | 0.000 | 1.000 | 0.000 | 0.0000 | 0.8571 | 0.0000 | 0.8571 | 0.0000 | 0.2143 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 0.000 | 6.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.6364 | 0.0000 | 0.5454 | 0.0909 | 0.3636 | 0.0000 |
| season | 0.20 | 45 | 45.000 | 10.000 | 30.000 | 12.000 | 34.000 | 2.000 | 2.0000 | 0.9333 | 0.2222 | 0.6667 | 0.2667 | 0.7556 | 0.0444 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1820 |
| predicted_ER | 0.2100 |
| predicted_ERA | 1.8874 |
| predicted_H | 0.8050 |
| predicted_HR | 0.0600 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.5840 |
| predicted_WHIP | 0.9873 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1820 | 0.0908 | model_form_blend |
| predicted_ER | 2.0000 | 0.2100 | 1.1072 | model_form_blend |
| predicted_ERA | - | 1.8874 | 1.8874 | form_only |
| predicted_H | 1.0000 | 0.8050 | 0.9027 | model_form_blend |
| predicted_HR | 1.0000 | 0.0600 | 0.5312 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5840 | 0.7925 | model_form_blend |
| predicted_WHIP | - | 0.9873 | 0.9873 | 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 | 45 |
| Season rows before report date | 45 |
| Report year | 2026 |
| Profile rows used | 45 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| 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 | 2.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 663738 |
| playerID | 663738 |
| playerName | Daniel Lynch IV |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.242 |
| sl_xwoba | 0.289 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 36.2 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 76.385058413 |
| sl_avg_hyper_speed | 93.86772016 |
| 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 | 0.459 | 0.000 | 0.541 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.514 | 0.000 | -0.514 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.865 | 0.000 | 0.135 | 1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.941 | 1.000 | 0.259 | 0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.243 | 0.000 | -0.243 | 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.2000 (boost 0.2000, 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.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "674444",
"player_name": "Steven Cruz",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 1.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": 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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.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 | 2.000 | 5.000 | 1.000 | 5.000 | 1.000 | 3.6000 | 1.2000 | 0.4000 | 1.0000 | 0.2000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 6.000 | 1.000 | 7.000 | 1.000 | 1.8621 | 0.7241 | 0.2069 | 0.6207 | 0.1035 | 0.7241 | 0.1035 |
| season | 0.20 | 37 | 39.000 | 19.000 | 32.000 | 17.000 | 46.000 | 10.000 | 4.3846 | 1.2564 | 0.4872 | 0.8205 | 0.4359 | 1.1795 | 0.2564 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2690 |
| predicted_ER | 0.4110 |
| predicted_ERA | 3.6991 |
| predicted_H | 0.8880 |
| predicted_HR | 0.1670 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9470 |
| predicted_WHIP | 1.1572 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2690 | 0.6458 | model_form_blend |
| predicted_ER | 0.0000 | 0.4110 | 0.1992 | model_form_blend |
| predicted_ERA | - | 3.6991 | 3.6991 | form_only |
| predicted_H | 1.0000 | 0.8880 | 0.9457 | model_form_blend |
| predicted_HR | 0.0000 | 0.1670 | 0.0809 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9470 | 0.9743 | model_form_blend |
| predicted_WHIP | - | 1.1572 | 1.1572 | 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.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 7 |
| Pitches | 26 |
| 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 | 4.38 |
| 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 | 6 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 674444 |
| playerID | 674444 |
| playerName | Steven Cruz |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-29 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.335 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 34.4 |
| sl_whiff_percent | 31.7 |
| sl_swing_percent | 52.4 |
| sl_avg_best_speed | 78.629973617 |
| sl_avg_hyper_speed | 93.961105054 |
| 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.571 | 1.000 | -0.571 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.714 | 2.000 | -0.714 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 2.000 | -1.000 | -2.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.921 | 0.200 | -0.821 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.048 | 1.000 | -0.048 | 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": "656638",
"player_name": "Alex Lange",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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.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": 0.1,
"after": 0.1,
"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": 0.1,
"after": 0.1,
"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 | 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 | 4.200 | 5.000 | 6.000 | 2.000 | 7.000 | 2.000 | 9.6429 | 1.7143 | 1.0714 | 1.2857 | 0.4286 | 1.5000 | 0.4286 |
| last_10 | 0.35 | 10 | 8.200 | 15.000 | 13.000 | 5.000 | 9.000 | 2.000 | 15.5769 | 2.0769 | 1.7308 | 1.5000 | 0.5769 | 1.0385 | 0.2308 |
| season | 0.20 | 42 | 42.200 | 30.000 | 42.000 | 24.000 | 44.000 | 4.000 | 6.3281 | 1.5469 | 0.7031 | 0.9844 | 0.5625 | 1.0312 | 0.0938 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3400 |
| predicted_ER | 0.7240 |
| predicted_ERA | 8.6491 |
| predicted_H | 0.8890 |
| predicted_HR | 0.1810 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8580 |
| predicted_WHIP | 1.6316 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3400 | 0.1678 | model_form_blend |
| predicted_ER | 0.0000 | 0.7240 | 0.3573 | model_form_blend |
| predicted_ERA | - | 8.6491 | 8.6491 | form_only |
| predicted_H | 0.0000 | 0.8890 | 0.4388 | model_form_blend |
| predicted_HR | 0.0000 | 0.1810 | 0.0893 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8580 | 0.9299 | model_form_blend |
| predicted_WHIP | - | 1.6316 | 1.6316 | 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 | 42 |
| Season rows before report date | 42 |
| 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 | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 1 |
| Pitches | 18 |
| 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 | 6.33 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 21 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260728_KC@MIN |
| game_type | full |
| mlbID | 656638 |
| playerID | 656638 |
| playerName | Alex Lange |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-28 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.348 |
| sl_xwoba | 0.344 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 41.7 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 46.1 |
| sl_avg_best_speed | 79.708545667 |
| sl_avg_hyper_speed | 94.743609076 |
| Field | Value |
|---|---|
| Pitcher | Bailey Ober |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2094 |
| ESPN Rank | 144 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 83.8358 |
| Avg Spin | 2154.9320 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 3 |
| Pre SO | 1 |
| Season ERA | 4.5556 |
| Season WHIP | 1.2469 |
| Role Avg IP | 5.4000 |
| Recent Avg IP | 4.8000 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"opponent": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"edges": {
"quality_edge": 0.14,
"offense_edge": 0.0558,
"opponent_offense_edge": -0.0981,
"defense_strength": -0.0829,
"opponent_defense_weakness": 0.0987,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9856,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641927",
"profile": {
"available": true,
"pitcher_id": "641927",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 320.0,
"k_percent": 17.5,
"bb_percent": 6.4,
"woba": 0.322,
"xwoba": 0.323,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 32.7,
"avg_best_speed": 76.8388,
"avg_hyper_speed": 93.5215,
"whiff_percent": 19.7,
"swing_percent": 48.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.1029,
"command_and_miss": -0.4868,
"regression_edge": -0.0286,
"xwoba_edge": -0.3143,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.7714,
"whiff_edge": -0.8571,
"bb_edge": 0.625,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641927",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 83.83575008702702,
"release_spin_rate": 2154.931996415359,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 83.83575008702702,
"release_spin_rate": 2154.931996415359,
"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": 83.8358,
"release_spin_rate": 2154.932,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2094,
"sample_weight": 1.0,
"run_prevention_factor": 1.0178,
"strikeout_factor": 0.938,
"walk_factor": 0.95,
"homer_factor": 1.0177,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641927",
"espn_id": 3107919,
"player_name": "Bailey Ober",
"team": "MIN",
"role": "pitcher",
"espn_rank": 144,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 144,
"gp_value": 15.0,
"gp_rank": 386,
"gs_value": 15.0,
"gs_rank": 103,
"qs_value": 4.0,
"qs_rank": 98,
"era_value": 4.5555,
"era_rank": null,
"w_value": 7.0,
"w_rank": 44,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 81.0,
"ip_rank": 116,
"h_value": 79.0,
"h_rank": 103,
"er_value": 41.0,
"er_rank": 92,
"hr_value": 13.0,
"hr_rank": 60,
"bb_value": 22.0,
"bb_rank": 174,
"k_value": 60.0,
"k_rank": 150,
"k_per_9_value": 6.6666665,
"k_per_9_rank": 34,
"whip_value": 1.2469,
"whip_rank": null,
"war_value": 0.98,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0178,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0178,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.95,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0177,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.938,
"adjusted": 4
}
}
}
}{
"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.0,
"ER": 29,
"H": 56,
"BB": 13,
"SO": 36,
"HR": 11,
"ERA": 4.745454545454545,
"WHIP": 1.2545454545454546,
"K9": 5.890909090909091,
"HR9": 1.8,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-22T00:00:00"
}{
"available": true,
"pitcher_id": "641927",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 83.83575008702702,
"release_spin_rate": 2154.931996415359,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 83.83575008702702,
"release_spin_rate": 2154.931996415359,
"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": 83.8358,
"release_spin_rate": 2154.932,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "641927",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 18.0,
"R": 19.0,
"H": 35.0,
"BB": 5.0,
"SO": 20.0,
"HR": 6.0,
"BF": 110.0,
"Pitches": 430.0
},
"per_game": {
"IP": 4.2,
"ER": 3.6,
"R": 3.8,
"H": 7.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.2,
"BF": 22.0,
"Pitches": 86.0
},
"rates": {
"ERA": 6.75,
"WHIP": 1.6667,
"ER_per_IP": 0.75,
"H_per_IP": 1.45833,
"BB_per_IP": 0.20833,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.0,
"ER": 29.0,
"R": 30.0,
"H": 56.0,
"BB": 13.0,
"SO": 36.0,
"HR": 11.0,
"BF": 231.0,
"Pitches": 849.0
},
"per_game": {
"IP": 5.1,
"ER": 2.9,
"R": 3.0,
"H": 5.6,
"BB": 1.3,
"SO": 3.6,
"HR": 1.1,
"BF": 23.1,
"Pitches": 84.9
},
"rates": {
"ERA": 4.7455,
"WHIP": 1.2545,
"ER_per_IP": 0.52727,
"H_per_IP": 1.01818,
"BB_per_IP": 0.23636,
"SO_per_IP": 0.65455,
"HR_per_IP": 0.2
}
},
"season": {
"games": 15,
"totals": {
"IP": 81.0,
"ER": 41.0,
"R": 43.0,
"H": 79.0,
"BB": 22.0,
"SO": 60.0,
"HR": 13.0,
"BF": 342.0,
"Pitches": 1283.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7333,
"R": 2.8667,
"H": 5.2667,
"BB": 1.4667,
"SO": 4.0,
"HR": 0.8667,
"BF": 22.8,
"Pitches": 85.5333
},
"rates": {
"ERA": 4.5556,
"WHIP": 1.2469,
"ER_per_IP": 0.50617,
"H_per_IP": 0.97531,
"BB_per_IP": 0.2716,
"SO_per_IP": 0.74074,
"HR_per_IP": 0.16049
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.985,
"predicted_H": 5.778,
"predicted_BB": 1.317,
"predicted_SO": 4.04,
"predicted_HR": 0.999,
"predicted_ERA": 5.3458,
"predicted_WHIP": 1.4119
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.985,
"final": 2.0806,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.778,
"final": 4.5123,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.317,
"final": 2.0838,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 4.04,
"final": 2.6549,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.999,
"final": 0.9995,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3458,
"final": 5.3458,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4119,
"final": 1.4119,
"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 | Andrew Morris |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5409 |
| ESPN Rank | 157 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1812 |
| Avg Velo | 93.1075 |
| Avg Spin | 2065.5858 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.2400 |
| Season WHIP | 1.2600 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"opponent": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"edges": {
"quality_edge": 0.14,
"offense_edge": 0.0558,
"opponent_offense_edge": -0.0981,
"defense_strength": -0.0829,
"opponent_defense_weakness": 0.0987,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9856,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "702193",
"profile": {
"available": true,
"pitcher_id": "702193",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 202.0,
"k_percent": 24.1,
"bb_percent": 7.5,
"woba": 0.284,
"xwoba": 0.264,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 32.9,
"avg_best_speed": 74.2438,
"avg_hyper_speed": 93.0179,
"whiff_percent": 22.7,
"swing_percent": 47.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.0523,
"command_and_miss": 0.0325,
"regression_edge": 0.5714,
"xwoba_edge": 1.3714,
"barrel_edge": 0.9556,
"hard_hit_edge": 0.7429,
"whiff_edge": -0.4286,
"bb_edge": 0.35,
"pitch_design_score": 0.1812
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "702193",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 24,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 93.10754041476437,
"release_spin_rate": 2065.585846273218,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 93.10754041476437,
"release_spin_rate": 2065.585846273218,
"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.1075,
"release_spin_rate": 2065.5858,
"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.1812,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.294,
"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.5409,
"sample_weight": 0.808,
"run_prevention_factor": 0.954,
"strikeout_factor": 0.9942,
"walk_factor": 0.9774,
"homer_factor": 0.881,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702193",
"espn_id": 5007765,
"player_name": "Andrew Morris",
"team": "MIN",
"role": "pitcher",
"espn_rank": 157,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 157,
"gp_value": 39.0,
"gp_rank": 99,
"gs_value": 2.0,
"gs_rank": 244,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.24,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 3.0,
"sv_rank": 53,
"hld_value": 15.0,
"hld_rank": 19,
"ip_value": 50.0,
"ip_rank": 197,
"h_value": 47.0,
"h_rank": 186,
"er_value": 18.0,
"er_rank": 268,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 16.0,
"bb_rank": 272,
"k_value": 51.0,
"k_rank": 193,
"k_per_9_value": 9.18,
"k_per_9_rank": 26,
"whip_value": 1.26,
"whip_rank": null,
"war_value": 0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9628,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9628,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9817,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9038,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9953,
"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": 1,
"H": 6,
"BB": 3,
"SO": 11,
"HR": 1,
"ERA": 0.75,
"WHIP": 0.75,
"K9": 8.25,
"HR9": 0.75,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "702193",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 24,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 93.10754041476437,
"release_spin_rate": 2065.585846273218,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 93.10754041476437,
"release_spin_rate": 2065.585846273218,
"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.1075,
"release_spin_rate": 2065.5858,
"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.1812,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.294,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.964,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6659,
"prior_weight": 0.3341
},
"role": "pitcher",
"player_id": "702193",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 3.0,
"SO": 5.0,
"HR": 1.0,
"BF": 26.0,
"Pitches": 121.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.6,
"SO": 1.0,
"HR": 0.2,
"BF": 5.2,
"Pitches": 24.2
},
"rates": {
"ERA": 1.5,
"WHIP": 1.1667,
"ER_per_IP": 0.16667,
"H_per_IP": 0.66667,
"BB_per_IP": 0.5,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 11.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 198.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.3,
"SO": 1.1,
"HR": 0.1,
"BF": 4.6,
"Pitches": 19.8
},
"rates": {
"ERA": 0.75,
"WHIP": 0.75,
"ER_per_IP": 0.08333,
"H_per_IP": 0.5,
"BB_per_IP": 0.25,
"SO_per_IP": 0.91667,
"HR_per_IP": 0.08333
}
},
"season": {
"games": 39,
"totals": {
"IP": 50.0,
"ER": 18.0,
"R": 21.0,
"H": 47.0,
"BB": 16.0,
"SO": 51.0,
"HR": 3.0,
"BF": 212.0,
"Pitches": 876.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4615,
"R": 0.5385,
"H": 1.2051,
"BB": 0.4103,
"SO": 1.3077,
"HR": 0.0769,
"BF": 5.4359,
"Pitches": 22.4615
},
"rates": {
"ERA": 3.24,
"WHIP": 1.26,
"ER_per_IP": 0.36,
"H_per_IP": 0.94,
"BB_per_IP": 0.32,
"SO_per_IP": 1.02,
"HR_per_IP": 0.06
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.382,
"predicted_H": 1.024,
"predicted_BB": 0.493,
"predicted_SO": 1.226,
"predicted_HR": 0.171,
"predicted_ERA": 2.5775,
"predicted_WHIP": 1.1372
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4912,
"form_weight": 0.5088,
"form_reliability": 0.6659,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.964,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6659,
"prior_weight": 0.3341
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.382,
"final": 0.1944,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.024,
"final": 0.5211,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.493,
"final": 0.2509,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.226,
"final": 1.115,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.171,
"final": 0.087,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5775,
"final": 2.5775,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1372,
"final": 1.1372,
"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 | Tommy Nance |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0188 |
| ESPN Rank | 212 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0451 |
| Avg Velo | 89.0678 |
| Avg Spin | 2611.3989 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 3 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 3.6610 |
| Season WHIP | 1.3220 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"opponent": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"edges": {
"quality_edge": 0.14,
"offense_edge": 0.0558,
"opponent_offense_edge": -0.0981,
"defense_strength": -0.0829,
"opponent_defense_weakness": 0.0987,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9856,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "667297",
"profile": {
"available": true,
"pitcher_id": "667297",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 158.0,
"k_percent": 23.8,
"bb_percent": 10.1,
"woba": 0.296,
"xwoba": 0.318,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 33.3,
"avg_best_speed": 76.1925,
"avg_hyper_speed": 93.3512,
"whiff_percent": 25.1,
"swing_percent": 48.5
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.1704,
"command_and_miss": 0.0032,
"regression_edge": -0.6286,
"xwoba_edge": -0.1714,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.6857,
"whiff_edge": -0.0857,
"bb_edge": -0.3,
"pitch_design_score": -0.0451
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "667297",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 25,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 25,
"pitch_usage": 0.0,
"release_speed": 89.06779376378967,
"release_spin_rate": 2611.3989319805637,
"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": 25,
"pitch_usage": 0.0,
"release_speed": 89.06779376378967,
"release_spin_rate": 2611.3989319805637,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.0678,
"release_spin_rate": 2611.3989,
"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.0451,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3219,
"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.0188,
"sample_weight": 0.632,
"run_prevention_factor": 0.9984,
"strikeout_factor": 1.0031,
"walk_factor": 1.0152,
"homer_factor": 0.9769,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "667297",
"espn_id": 36385,
"player_name": "Tommy Nance",
"team": "MIN",
"role": "pitcher",
"espn_rank": 212,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 212,
"gp_value": 38.0,
"gp_rank": 109,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.661,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 4.0,
"hld_rank": 162,
"ip_value": 39.1,
"ip_rank": 294,
"h_value": 35.0,
"h_rank": 278,
"er_value": 16.0,
"er_rank": 308,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 17.0,
"bb_rank": 254,
"k_value": 40.0,
"k_rank": 277,
"k_per_9_value": 9.152542,
"k_per_9_rank": 25,
"whip_value": 1.322,
"whip_rank": null,
"war_value": 0.58,
"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.0096,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.002,
"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": 11.0,
"ER": 4,
"H": 12,
"BB": 6,
"SO": 11,
"HR": 2,
"ERA": 3.2727272727272734,
"WHIP": 1.6363636363636367,
"K9": 9.000000000000002,
"HR9": 1.6363636363636367,
"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-07-26T00:00:00"
}{
"available": true,
"pitcher_id": "667297",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 25,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 25,
"pitch_usage": 0.0,
"release_speed": 89.06779376378967,
"release_spin_rate": 2611.3989319805637,
"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": 25,
"pitch_usage": 0.0,
"release_speed": 89.06779376378967,
"release_spin_rate": 2611.3989319805637,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.0678,
"release_spin_rate": 2611.3989,
"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.0451,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3219,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.839,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6105,
"prior_weight": 0.3895
},
"role": "pitcher",
"player_id": "667297",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 4.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.8,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.4
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.5,
"ER_per_IP": 0.1875,
"H_per_IP": 0.75,
"BB_per_IP": 0.75,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 4.0,
"R": 5.0,
"H": 12.0,
"BB": 6.0,
"SO": 11.0,
"HR": 2.0,
"BF": 51.0,
"Pitches": 203.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 1.2,
"BB": 0.6,
"SO": 1.1,
"HR": 0.2,
"BF": 5.1,
"Pitches": 20.3
},
"rates": {
"ERA": 3.2727,
"WHIP": 1.6364,
"ER_per_IP": 0.36364,
"H_per_IP": 1.09091,
"BB_per_IP": 0.54545,
"SO_per_IP": 1.0,
"HR_per_IP": 0.18182
}
},
"season": {
"games": 38,
"totals": {
"IP": 39.1,
"ER": 16.0,
"R": 17.0,
"H": 35.0,
"BB": 17.0,
"SO": 40.0,
"HR": 5.0,
"BF": 168.0,
"Pitches": 625.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4211,
"R": 0.4474,
"H": 0.9211,
"BB": 0.4474,
"SO": 1.0526,
"HR": 0.1316,
"BF": 4.4211,
"Pitches": 16.4474
},
"rates": {
"ERA": 3.661,
"WHIP": 1.322,
"ER_per_IP": 0.40678,
"H_per_IP": 0.88983,
"BB_per_IP": 0.4322,
"SO_per_IP": 1.01695,
"HR_per_IP": 0.12712
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.376,
"predicted_H": 0.928,
"predicted_BB": 0.514,
"predicted_SO": 0.917,
"predicted_HR": 0.113,
"predicted_ERA": 3.3839,
"predicted_WHIP": 1.442
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5146,
"form_weight": 0.4854,
"form_reliability": 0.6105,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.839,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6105,
"prior_weight": 0.3895
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.376,
"final": 1.7262,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.928,
"final": 1.4796,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.514,
"final": 0.7641,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.917,
"final": 0.4451,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.113,
"final": 0.5694,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3839,
"final": 3.3839,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.442,
"final": 1.442,
"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 | Yoendrys Gómez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3527 |
| ESPN Rank | 137 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0967 |
| Avg Velo | 91.5990 |
| Avg Spin | 2517.7023 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 3.3986 |
| Season WHIP | 1.2587 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"opponent": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"edges": {
"quality_edge": 0.14,
"offense_edge": 0.0558,
"opponent_offense_edge": -0.0981,
"defense_strength": -0.0829,
"opponent_defense_weakness": 0.0987,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9856,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "672782",
"profile": {
"available": true,
"pitcher_id": "672782",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 191.0,
"k_percent": 21.0,
"bb_percent": 11.2,
"woba": 0.293,
"xwoba": 0.343,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 45.0,
"avg_best_speed": 77.2371,
"avg_hyper_speed": 94.1609,
"whiff_percent": 24.8,
"swing_percent": 47.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.4685,
"command_and_miss": -0.2468,
"regression_edge": -1.4286,
"xwoba_edge": -0.8857,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.9857,
"whiff_edge": -0.1286,
"bb_edge": -0.575,
"pitch_design_score": 0.0967
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "672782",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 91.59896432807379,
"release_spin_rate": 2517.702298461281,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 91.59896432807379,
"release_spin_rate": 2517.702298461281,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.599,
"release_spin_rate": 2517.7023,
"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.0967,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6906,
"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.3527,
"sample_weight": 0.764,
"run_prevention_factor": 1.03,
"strikeout_factor": 0.9902,
"walk_factor": 1.0351,
"homer_factor": 1.0844,
"woba_minus_xwoba": -0.05,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "672782",
"espn_id": 42898,
"player_name": "Yoendrys Gomez",
"team": "MIN",
"role": "pitcher",
"espn_rank": 137,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 137,
"gp_value": 43.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.3986,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 13.0,
"sv_rank": 18,
"hld_value": 6.0,
"hld_rank": 109,
"ip_value": 47.2,
"ip_rank": 209,
"h_value": 37.0,
"h_rank": 263,
"er_value": 18.0,
"er_rank": 268,
"hr_value": 6.0,
"hr_rank": 208,
"bb_value": 23.0,
"bb_rank": 165,
"k_value": 43.0,
"k_rank": 252,
"k_per_9_value": 8.118881,
"k_per_9_rank": 32,
"whip_value": 1.2587,
"whip_rank": null,
"war_value": 1.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0229,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0229,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0268,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0645,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9925,
"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": 3,
"H": 7,
"BB": 5,
"SO": 8,
"HR": 1,
"ERA": 3.1153846153846154,
"WHIP": 1.3846153846153848,
"K9": 8.307692307692308,
"HR9": 1.0384615384615385,
"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-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "672782",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 91.59896432807379,
"release_spin_rate": 2517.702298461281,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 91.59896432807379,
"release_spin_rate": 2517.702298461281,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.599,
"release_spin_rate": 2517.7023,
"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.0967,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6906,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.499,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6552,
"prior_weight": 0.3448
},
"role": "pitcher",
"player_id": "672782",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 4.0,
"SO": 6.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.8,
"SO": 1.2,
"HR": 0.0,
"BF": 4.4,
"Pitches": 16.8
},
"rates": {
"ERA": 1.8,
"WHIP": 1.4,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.8,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 5.0,
"SO": 8.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.5,
"SO": 0.8,
"HR": 0.1,
"BF": 3.8,
"Pitches": 14.5
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.3846,
"ER_per_IP": 0.34615,
"H_per_IP": 0.80769,
"BB_per_IP": 0.57692,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 43,
"totals": {
"IP": 47.2,
"ER": 18.0,
"R": 20.0,
"H": 37.0,
"BB": 23.0,
"SO": 43.0,
"HR": 6.0,
"BF": 205.0,
"Pitches": 779.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4186,
"R": 0.4651,
"H": 0.8605,
"BB": 0.5349,
"SO": 1.0,
"HR": 0.1395,
"BF": 4.7674,
"Pitches": 18.1163
},
"rates": {
"ERA": 3.3986,
"WHIP": 1.2587,
"ER_per_IP": 0.37762,
"H_per_IP": 0.77622,
"BB_per_IP": 0.48252,
"SO_per_IP": 0.9021,
"HR_per_IP": 0.12587
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.362,
"predicted_H": 0.8,
"predicted_BB": 0.554,
"predicted_SO": 1.014,
"predicted_HR": 0.095,
"predicted_ERA": 3.2609,
"predicted_WHIP": 1.3545
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4957,
"form_weight": 0.5043,
"form_reliability": 0.6552,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.499,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6552,
"prior_weight": 0.3448
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.362,
"final": 0.1826,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.8,
"final": 0.4035,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.554,
"final": 0.2794,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.014,
"final": 1.9984,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.095,
"final": 0.0479,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2609,
"final": 3.2609,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3545,
"final": 1.3545,
"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 | Travis Adams |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0218 |
| ESPN Rank | 469 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0008 |
| Avg Velo | 89.8583 |
| Avg Spin | 2296.7858 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.2887 |
| Season WHIP | 1.3918 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 550.0,
"runs_allowed": 568.0,
"run_differential": -18.0,
"run_differential_per_game": -0.1565,
"avg_runs_scored": 4.7826,
"avg_runs_allowed": 4.9391,
"offense_index": 1.0558,
"defense_index": 0.9171,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.1,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.0227
},
"opponent": {
"team": "KC",
"games": 117,
"wins": 47,
"losses": 70,
"win_pct": 0.4017,
"runs_scored": 478.0,
"runs_allowed": 588.0,
"run_differential": -110.0,
"run_differential_per_game": -0.9402,
"avg_runs_scored": 4.0855,
"avg_runs_allowed": 5.0256,
"offense_index": 0.9019,
"defense_index": 0.9013,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1627
},
"edges": {
"quality_edge": 0.14,
"offense_edge": 0.0558,
"opponent_offense_edge": -0.0981,
"defense_strength": -0.0829,
"opponent_defense_weakness": 0.0987,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9856,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "701519",
"profile": {
"available": true,
"pitcher_id": "701519",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 127.0,
"k_percent": 26.4,
"bb_percent": 10.7,
"woba": 0.327,
"xwoba": 0.319,
"sweet_spot_percent": 42.0,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 30.7,
"avg_best_speed": 76.5504,
"avg_hyper_speed": 93.6697,
"whiff_percent": 28.0,
"swing_percent": 47.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.0967,
"command_and_miss": 0.2854,
"regression_edge": 0.2286,
"xwoba_edge": -0.2,
"barrel_edge": 0.0667,
"hard_hit_edge": 1.0571,
"whiff_edge": 0.3286,
"bb_edge": -0.45,
"pitch_design_score": -0.0008
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "701519",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 28,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 28,
"pitch_usage": 0.0,
"release_speed": 89.85829180541407,
"release_spin_rate": 2296.785845897826,
"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": 28,
"pitch_usage": 0.0,
"release_speed": 89.85829180541407,
"release_spin_rate": 2296.785845897826,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.8583,
"release_spin_rate": 2296.7858,
"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.0008,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0057,
"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.0218,
"sample_weight": 0.508,
"run_prevention_factor": 0.9982,
"strikeout_factor": 1.0184,
"walk_factor": 1.0183,
"homer_factor": 0.9789,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701519",
"espn_id": 4424951,
"player_name": "Travis Adams",
"team": "MIN",
"role": "pitcher",
"espn_rank": 469,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 469,
"gp_value": 23.0,
"gp_rank": 219,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 5.2886,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 1.0,
"hld_rank": 231,
"ip_value": 32.1,
"ip_rank": 354,
"h_value": 30.0,
"h_rank": 328,
"er_value": 19.0,
"er_rank": 248,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 15.0,
"bb_rank": 288,
"k_value": 37.0,
"k_rank": 298,
"k_per_9_value": 10.298969,
"k_per_9_rank": 22,
"whip_value": 1.3917,
"whip_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9991,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0093,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9893,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0093,
"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": 14.1,
"ER": 4,
"H": 9,
"BB": 7,
"SO": 13,
"HR": 1,
"ERA": 2.511627906976744,
"WHIP": 1.1162790697674418,
"K9": 8.162790697674419,
"HR9": 0.627906976744186,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "701519",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 28,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 28,
"pitch_usage": 0.0,
"release_speed": 89.85829180541407,
"release_spin_rate": 2296.785845897826,
"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": 28,
"pitch_usage": 0.0,
"release_speed": 89.85829180541407,
"release_spin_rate": 2296.785845897826,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.8583,
"release_spin_rate": 2296.7858,
"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.0008,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0057,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.444,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5631,
"prior_weight": 0.4369
},
"role": "pitcher",
"player_id": "701519",
"report_date": "20260730_K",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 112.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 5.8,
"Pitches": 22.4
},
"rates": {
"ERA": 2.3478,
"WHIP": 0.913,
"ER_per_IP": 0.26087,
"H_per_IP": 0.65217,
"BB_per_IP": 0.26087,
"SO_per_IP": 0.65217,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.1,
"ER": 4.0,
"R": 4.0,
"H": 9.0,
"BB": 7.0,
"SO": 13.0,
"HR": 1.0,
"BF": 57.0,
"Pitches": 228.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 0.9,
"BB": 0.7,
"SO": 1.3,
"HR": 0.1,
"BF": 5.7,
"Pitches": 22.8
},
"rates": {
"ERA": 2.5116,
"WHIP": 1.1163,
"ER_per_IP": 0.27907,
"H_per_IP": 0.62791,
"BB_per_IP": 0.48837,
"SO_per_IP": 0.90698,
"HR_per_IP": 0.06977
}
},
"season": {
"games": 23,
"totals": {
"IP": 32.1,
"ER": 19.0,
"R": 19.0,
"H": 30.0,
"BB": 15.0,
"SO": 37.0,
"HR": 5.0,
"BF": 140.0,
"Pitches": 552.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8261,
"R": 0.8261,
"H": 1.3043,
"BB": 0.6522,
"SO": 1.6087,
"HR": 0.2174,
"BF": 6.087,
"Pitches": 24.0
},
"rates": {
"ERA": 5.2887,
"WHIP": 1.3918,
"ER_per_IP": 0.58763,
"H_per_IP": 0.92784,
"BB_per_IP": 0.46392,
"SO_per_IP": 1.14433,
"HR_per_IP": 0.15464
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.46,
"predicted_H": 0.924,
"predicted_BB": 0.417,
"predicted_SO": 1.005,
"predicted_HR": 0.11,
"predicted_ERA": 3.6754,
"predicted_WHIP": 1.1901
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5346,
"form_weight": 0.4654,
"form_reliability": 0.5631,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.444,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5631,
"prior_weight": 0.4369
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.46,
"final": 0.2141,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.924,
"final": 0.9646,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.417,
"final": 0.1941,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.005,
"final": 0.4677,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.11,
"final": 0.0512,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6754,
"final": 3.6754,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1901,
"final": 1.1901,
"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.173 | 0.000 | 0.000 | Hitting_2B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.074 | 2.000 | 3.000 | Hitting_AB | 3.242 | 1.000 | -1.242 | 1.000 |
| predicted_AVG | 0.245 | 0.000 | 0.333 | Hitting_AVG | 0.251 | 1.000 | -0.251 | -1.000 |
| predicted_BB | 0.432 | 1.000 | 0.000 | Hitting_BB | 0.490 | 0.000 | 0.510 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_H | 0.753 | 0.000 | 1.000 | Hitting_H | 0.815 | 1.000 | -0.815 | -1.000 |
| predicted_HR | 0.025 | 0.000 | 0.000 | Hitting_HR | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_OBP | 0.338 | 0.500 | 0.333 | Hitting_OBP | 0.358 | 1.000 | 0.142 | -0.500 |
| predicted_R | 0.420 | 0.000 | 0.000 | Hitting_R | 0.474 | 0.000 | -0.474 | 0.000 |
| predicted_RBI | 0.259 | 0.000 | 0.000 | Hitting_RBI | 0.301 | 0.000 | -0.301 | 0.000 |
| predicted_SLG | 0.325 | 0.000 | 0.333 | Hitting_SLG | 0.338 | 1.000 | -0.338 | -1.000 |
| predicted_SO | 0.679 | 0.000 | 1.000 | Hitting_SO | 0.685 | 0.000 | -0.685 | 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_BB: 0.4320 -> 1.0000 (boost 0.5680, better) |
| Biggest Deboost | predicted_AB: 3.0740 -> 2.0000 (deboost -1.0740, 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_SLG: 0.3250 -> 0.3389 (boost 0.0139, better) | predicted_AB: 3.0740 -> 2.9612 (deboost -0.1128, 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 | 1 | 0 | 1 | 0 | predicted_OBP: 0.3452 -> 0.3515 (boost 0.0063, better) | - | 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.6751 -> 1.0000 (boost 0.3249, worse) | predicted_BB: 0.4607 -> 0.0000 (deboost -0.4607, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.241 HR/AB=0.008 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4370 -> 0.0000 (deboost -0.4370, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2506 -> 0.3330 (boost 0.0824, better) | predicted_OBP: 0.3515 -> 0.3330 (deboost -0.0185, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 2 | 3 | 3 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3330 -> 0.3515 (boost 0.0185, better) | predicted_AVG: 0.3330 -> 0.2506 (deboost -0.0824, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668885",
"player_name": "Austin Martin",
"position": "LF",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.173,
"predicted_3B": 0.0,
"predicted_AB": 3.074,
"predicted_AVG": 0.245,
"predicted_BB": 0.432,
"predicted_H": 0.753,
"predicted_HR": 0.025,
"predicted_OBP": 0.338,
"predicted_R": 0.42,
"predicted_RBI": 0.259,
"predicted_SLG": 0.325,
"predicted_SO": 0.679
},
"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.2009,
"predicted_3B": 0.0004,
"predicted_AB": 2.9612,
"predicted_AVG": 0.2467,
"predicted_BB": 0.4578,
"predicted_H": 0.7302,
"predicted_HBP": 0.027,
"predicted_HR": 0.0233,
"predicted_OBP": 0.3452,
"predicted_R": 0.4255,
"predicted_RBI": 0.248,
"predicted_SLG": 0.3389,
"predicted_SO": 0.6794
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.2009,
"delta": 0.0279,
"percent_delta": 0.1613,
"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.074,
"after": 2.9612,
"delta": -0.1128,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2467,
"delta": 0.0017,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.432,
"after": 0.4578,
"delta": 0.0258,
"percent_delta": 0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.753,
"after": 0.7302,
"delta": -0.0228,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.025,
"after": 0.0233,
"delta": -0.0017,
"percent_delta": -0.068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3452,
"delta": 0.0072,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.42,
"after": 0.4255,
"delta": 0.0055,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.259,
"after": 0.248,
"delta": -0.011,
"percent_delta": -0.0425,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3389,
"delta": 0.0139,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.679,
"after": 0.6794,
"delta": 0.0004,
"percent_delta": 0.0006,
"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.325,
"after": 0.3389,
"delta": 0.0139,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.074,
"after": 2.9612,
"delta": -0.1128,
"percent_delta": -0.0367,
"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": 81
}
},
{
"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.2009,
"predicted_3B": 0.0004,
"predicted_AB": 2.9612,
"predicted_AVG": 0.2506,
"predicted_BB": 0.4607,
"predicted_H": 0.742,
"predicted_HBP": 0.027,
"predicted_HR": 0.0238,
"predicted_OBP": 0.3515,
"predicted_R": 0.437,
"predicted_RBI": 0.2547,
"predicted_SLG": 0.3428,
"predicted_SO": 0.6751
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2009,
"after": 0.2009,
"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.9612,
"after": 2.9612,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2467,
"after": 0.2506,
"delta": 0.0039,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4578,
"after": 0.4607,
"delta": 0.0029,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7302,
"after": 0.742,
"delta": 0.0118,
"percent_delta": 0.0162,
"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.0233,
"after": 0.0238,
"delta": 0.0005,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3452,
"after": 0.3515,
"delta": 0.0063,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4255,
"after": 0.437,
"delta": 0.0115,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.248,
"after": 0.2547,
"delta": 0.0067,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3389,
"after": 0.3428,
"delta": 0.0039,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6794,
"after": 0.6751,
"delta": -0.0043,
"percent_delta": -0.0063,
"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_OBP",
"before": 0.3452,
"after": 0.3515,
"delta": 0.0063,
"percent_delta": 0.0183,
"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.07), rates preserved: AVG=0.241 HR/AB=0.008",
"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.2009,
"after": 0.0,
"delta": -0.2009,
"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.9612,
"after": 3.0,
"delta": 0.0388,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4607,
"after": 0.0,
"delta": -0.4607,
"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.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0238,
"after": 0.0,
"delta": -0.0238,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2547,
"after": 0.0,
"delta": -0.2547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6751,
"after": 1.0,
"delta": 0.3249,
"percent_delta": 0.4813,
"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.6751,
"after": 1.0,
"delta": 0.3249,
"percent_delta": 0.4813,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4607,
"after": 0.0,
"delta": -0.4607,
"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=8.0, weight=0.084, BvP AVG=0.375)",
"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.9158,
"bvp": 0.0842
},
"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.437,
"after": 0.0,
"delta": -0.437,
"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.437,
"after": 0.0,
"delta": -0.437,
"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.2506,
"after": 0.333,
"delta": 0.0824,
"percent_delta": 0.3288,
"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.3515,
"after": 0.333,
"delta": -0.0185,
"percent_delta": -0.0526,
"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.3428,
"after": 0.333,
"delta": -0.0098,
"percent_delta": -0.0286,
"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.2506,
"after": 0.333,
"delta": 0.0824,
"percent_delta": 0.3288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3515,
"after": 0.333,
"delta": -0.0185,
"percent_delta": -0.0526,
"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": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.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": 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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 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": 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_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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 2.0,
"predicted_AVG": 0.2506,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3515,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3428,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2506,
"delta": -0.0824,
"percent_delta": -0.2476,
"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": 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.3515,
"delta": 0.0185,
"percent_delta": 0.0554,
"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.333,
"after": 0.3428,
"delta": 0.0098,
"percent_delta": 0.0295,
"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_OBP",
"before": 0.333,
"after": 0.3515,
"delta": 0.0185,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2506,
"delta": -0.0824,
"percent_delta": -0.2476,
"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.173,
"after": 0.0,
"delta": -0.173,
"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.074,
"after": 2.0,
"delta": -1.074,
"percent_delta": -0.3494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2506,
"delta": 0.0056,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.432,
"after": 1.0,
"delta": 0.568,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.753,
"after": 0.0,
"delta": -0.753,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3515,
"delta": 0.0135,
"percent_delta": 0.0399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.259,
"after": 0.0,
"delta": -0.259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3428,
"delta": 0.0178,
"percent_delta": 0.0548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.679,
"after": 0.0,
"delta": -0.679,
"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_BB",
"before": 0.432,
"after": 1.0,
"delta": 0.568,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.074,
"after": 2.0,
"delta": -1.074,
"percent_delta": -0.3494,
"direction": "deboost",
"projection_effect": "worse",
"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.173 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.074 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.432 | - |
| predicted_H | 0.753 | - |
| predicted_HR | 0.025 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.420 | - |
| predicted_RBI | 0.259 | - |
| predicted_SLG | 0.325 | - |
| predicted_SO | 0.679 | - |
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.201 | 0.028 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.961 | -0.113 |
| predicted_AVG | 0.247 | 0.002 |
| predicted_BB | 0.458 | 0.026 |
| predicted_H | 0.730 | -0.023 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.023 | -0.002 |
| predicted_OBP | 0.345 | 0.007 |
| predicted_R | 0.425 | 0.006 |
| predicted_RBI | 0.248 | -0.011 |
| predicted_SLG | 0.339 | 0.014 |
| predicted_SO | 0.679 | 0.000 |
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.201 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.961 | 0.000 |
| predicted_AVG | 0.251 | 0.004 |
| predicted_BB | 0.461 | 0.003 |
| predicted_H | 0.742 | 0.012 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.024 | 0.001 |
| predicted_OBP | 0.351 | 0.006 |
| predicted_R | 0.437 | 0.012 |
| predicted_RBI | 0.255 | 0.007 |
| predicted_SLG | 0.343 | 0.004 |
| predicted_SO | 0.675 | -0.004 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.241 HR/AB=0.008
| 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=8.0, weight=0.084, BvP AVG=0.375)
| 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.201 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.039 |
| predicted_AVG | 0.333 | 0.082 |
| predicted_BB | 0.000 | -0.461 |
| predicted_H | 1.000 | 0.258 |
| predicted_HR | 0.000 | -0.024 |
| predicted_OBP | 0.333 | -0.018 |
| predicted_R | 0.000 | -0.437 |
| predicted_RBI | 0.000 | -0.255 |
| predicted_SLG | 0.333 | -0.010 |
| predicted_SO | 1.000 | 0.325 |
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 | 2.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.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 | 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 | - | 11.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 0.2727 | 0.4000 | 0.4545 | 0.2727 | 0.0000 | 0.0909 | 0.2727 | 0.2727 |
| last_10 | 0.20 | 10 | - | 21.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 6.000 | 0.2381 | 0.3704 | 0.3333 | 0.2381 | 0.0000 | 0.0476 | 0.2381 | 0.2857 |
| season | 0.60 | 81 | - | 249.000 | 61.000 | 14.000 | 0.000 | 2.000 | 21.000 | 34.000 | 35.000 | 55.000 | 0.2450 | 0.3436 | 0.3253 | 0.2450 | 0.0080 | 0.0843 | 0.1406 | 0.2209 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2390 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8070 |
| predicted_AVG | 0.2491 |
| predicted_BB | 0.4930 |
| predicted_H | 0.6990 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.0210 |
| predicted_OBP | 0.3551 |
| predicted_R | 0.4330 |
| predicted_RBI | 0.2330 |
| predicted_SLG | 0.3580 |
| predicted_SO | 0.6800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.2390 | 0.2009 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0740 | 2.8070 | 2.9612 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2491 | 0.2467 | model_form_blend |
| predicted_BB | 0.4320 | 0.4930 | 0.4578 | model_form_blend |
| predicted_H | 0.7530 | 0.6990 | 0.7302 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.0250 | 0.0210 | 0.0233 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3551 | 0.3452 | model_form_blend |
| predicted_R | 0.4200 | 0.4330 | 0.4255 | model_form_blend |
| predicted_RBI | 0.2590 | 0.2330 | 0.2480 | model_form_blend |
| predicted_SLG | 0.3250 | 0.3580 | 0.3389 | model_form_blend |
| predicted_SO | 0.6790 | 0.6800 | 0.6794 | 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 | 302 |
| Season rows before report date | 302 |
| Report year | 2026 |
| Profile rows used | 81 |
| 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.245 |
| 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-LF |
| gameID | 20260729_KC@MIN |
| game_type | ph |
| mlbID | 668885 |
| note | Singled for Larnach in the 8th. |
| playerID | 668885 |
| playerName | Austin Martin |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.313 |
| sl_xwoba | 0.311 |
| sl_xba | 0.239 |
| sl_xslg | 0.319 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 2.0 |
| sl_hard_hit_percent | 28.6 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 39.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.176 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_AB | 3.581 | 4.000 | 4.000 | Hitting_AB | 3.662 | 4.000 | 0.338 | 0.000 |
| predicted_AVG | 0.215 | 0.250 | 0.250 | Hitting_AVG | 0.215 | 0.250 | 0.035 | 0.000 |
| predicted_BB | 0.419 | 0.000 | 0.000 | Hitting_BB | 0.422 | 0.000 | -0.422 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.770 | 1.000 | 1.000 | Hitting_H | 0.787 | 1.000 | 0.213 | 0.000 |
| predicted_HR | 0.135 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.297 | 0.250 | 0.250 | Hitting_OBP | 0.298 | 0.250 | -0.048 | 0.000 |
| predicted_R | 0.473 | 1.000 | 0.000 | Hitting_R | 0.488 | 0.000 | 0.512 | 1.000 |
| predicted_RBI | 0.446 | 0.000 | 1.000 | Hitting_RBI | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_SLG | 0.385 | 0.250 | 0.250 | Hitting_SLG | 0.383 | 0.250 | -0.133 | 0.000 |
| predicted_SO | 1.014 | 1.000 | 1.000 | Hitting_SO | 1.038 | 1.000 | -0.038 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_R: 0.4730 -> 1.0000 (boost 0.5270, better) |
| Biggest Deboost | predicted_RBI: 0.4460 -> 0.0000 (deboost -0.4460, 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 | 2 | 1 | 1 | 2 | 0 | predicted_OBP: 0.2970 -> 0.3067 (boost 0.0097, better) | predicted_SO: 1.0140 -> 0.9331 (deboost -0.0809, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3860 -> 0.3917 (boost 0.0057, better) | - | 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_BB: 0.4549 -> 1.0000 (boost 0.5451, better) | predicted_2B: 0.1802 -> 0.0000 (deboost -0.1802, worse) | AB rounded to 4 (raw=3.58), rates preserved: AVG=0.220 HR/AB=0.032 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4836 -> 0.0000 (deboost -0.4836, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2222 -> 0.2500 (boost 0.0278, better) | predicted_SLG: 0.3917 -> 0.2500 (deboost -0.1417, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3917 (boost 0.1417, better) | predicted_AVG: 0.2500 -> 0.2222 (deboost -0.0278, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668904",
"player_name": "Royce Lewis",
"position": "2B",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.014,
"predicted_AB": 3.581,
"predicted_AVG": 0.215,
"predicted_BB": 0.419,
"predicted_H": 0.77,
"predicted_HR": 0.135,
"predicted_OBP": 0.297,
"predicted_R": 0.473,
"predicted_RBI": 0.446,
"predicted_SLG": 0.385,
"predicted_SO": 1.014
},
"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.1802,
"predicted_3B": 0.0364,
"predicted_AB": 3.5387,
"predicted_AVG": 0.2188,
"predicted_BB": 0.452,
"predicted_H": 0.7738,
"predicted_HBP": 0.017,
"predicted_HR": 0.113,
"predicted_OBP": 0.3067,
"predicted_R": 0.4709,
"predicted_RBI": 0.457,
"predicted_SLG": 0.386,
"predicted_SO": 0.9331
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1802,
"delta": 0.0042,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0364,
"delta": 0.0224,
"percent_delta": 1.6,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.581,
"after": 3.5387,
"delta": -0.0423,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2188,
"delta": 0.0038,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.452,
"delta": 0.033,
"percent_delta": 0.0788,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7738,
"delta": 0.0038,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.135,
"after": 0.113,
"delta": -0.022,
"percent_delta": -0.163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3067,
"delta": 0.0097,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.473,
"after": 0.4709,
"delta": -0.0021,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.446,
"after": 0.457,
"delta": 0.011,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.386,
"delta": 0.001,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.014,
"after": 0.9331,
"delta": -0.0809,
"percent_delta": -0.0798,
"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_OBP",
"before": 0.297,
"after": 0.3067,
"delta": 0.0097,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.014,
"after": 0.9331,
"delta": -0.0809,
"percent_delta": -0.0798,
"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": 74
}
},
{
"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.1802,
"predicted_3B": 0.0364,
"predicted_AB": 3.5387,
"predicted_AVG": 0.2222,
"predicted_BB": 0.4549,
"predicted_H": 0.7863,
"predicted_HBP": 0.017,
"predicted_HR": 0.1157,
"predicted_OBP": 0.3108,
"predicted_R": 0.4836,
"predicted_RBI": 0.4693,
"predicted_SLG": 0.3917,
"predicted_SO": 0.9271
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1802,
"after": 0.1802,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0364,
"after": 0.0364,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5387,
"after": 3.5387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2188,
"after": 0.2222,
"delta": 0.0034,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 0.4549,
"delta": 0.0029,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7738,
"after": 0.7863,
"delta": 0.0125,
"percent_delta": 0.0162,
"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.113,
"after": 0.1157,
"delta": 0.0027,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3067,
"after": 0.3108,
"delta": 0.0041,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4709,
"after": 0.4836,
"delta": 0.0127,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.457,
"after": 0.4693,
"delta": 0.0123,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3917,
"delta": 0.0057,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9331,
"after": 0.9271,
"delta": -0.006,
"percent_delta": -0.0064,
"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_SLG",
"before": 0.386,
"after": 0.3917,
"delta": 0.0057,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.58), rates preserved: AVG=0.220 HR/AB=0.032",
"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.1802,
"after": 0.0,
"delta": -0.1802,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0364,
"after": 0.0,
"delta": -0.0364,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5387,
"after": 4.0,
"delta": 0.4613,
"percent_delta": 0.1304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4549,
"after": 1.0,
"delta": 0.5451,
"percent_delta": 1.1983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7863,
"after": 1.0,
"delta": 0.2137,
"percent_delta": 0.2718,
"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.1157,
"after": 0.0,
"delta": -0.1157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4693,
"after": 1.0,
"delta": 0.5307,
"percent_delta": 1.1308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9271,
"after": 1.0,
"delta": 0.0729,
"percent_delta": 0.0786,
"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_BB",
"before": 0.4549,
"after": 1.0,
"delta": 0.5451,
"percent_delta": 1.1983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1802,
"after": 0.0,
"delta": -0.1802,
"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.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"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": {
"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": 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.4836,
"after": 0.0,
"delta": -0.4836,
"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.4836,
"after": 0.0,
"delta": -0.4836,
"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": 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.2222,
"after": 0.25,
"delta": 0.0278,
"percent_delta": 0.1251,
"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.3108,
"after": 0.25,
"delta": -0.0608,
"percent_delta": -0.1956,
"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.3917,
"after": 0.25,
"delta": -0.1417,
"percent_delta": -0.3618,
"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.2222,
"after": 0.25,
"delta": 0.0278,
"percent_delta": 0.1251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3917,
"after": 0.25,
"delta": -0.1417,
"percent_delta": -0.3618,
"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": 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_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": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"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": {
"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": 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.2222,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3108,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3917,
"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.2222,
"delta": -0.0278,
"percent_delta": -0.1112,
"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.3108,
"delta": 0.0608,
"percent_delta": 0.2431,
"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.25,
"after": 0.3917,
"delta": 0.1417,
"percent_delta": 0.567,
"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.3917,
"delta": 0.1417,
"percent_delta": 0.567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2222,
"delta": -0.0278,
"percent_delta": -0.1112,
"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.176,
"after": 0.0,
"delta": -0.176,
"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": 3.581,
"after": 4.0,
"delta": 0.419,
"percent_delta": 0.117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2222,
"delta": 0.0072,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.0,
"delta": 0.23,
"percent_delta": 0.2987,
"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.297,
"after": 0.3108,
"delta": 0.0138,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.473,
"after": 1.0,
"delta": 0.527,
"percent_delta": 1.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3917,
"delta": 0.0067,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.014,
"after": 1.0,
"delta": -0.014,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.473,
"after": 1.0,
"delta": 0.527,
"percent_delta": 1.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"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.176 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.581 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.419 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.135 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.473 | - |
| predicted_RBI | 0.446 | - |
| predicted_SLG | 0.385 | - |
| predicted_SO | 1.014 | - |
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.180 | 0.004 |
| predicted_3B | 0.036 | 0.022 |
| predicted_AB | 3.539 | -0.042 |
| predicted_AVG | 0.219 | 0.004 |
| predicted_BB | 0.452 | 0.033 |
| predicted_H | 0.774 | 0.004 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.113 | -0.022 |
| predicted_OBP | 0.307 | 0.010 |
| predicted_R | 0.471 | -0.002 |
| predicted_RBI | 0.457 | 0.011 |
| predicted_SLG | 0.386 | 0.001 |
| predicted_SO | 0.933 | -0.081 |
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.180 | 0.000 |
| predicted_3B | 0.036 | 0.000 |
| predicted_AB | 3.539 | 0.000 |
| predicted_AVG | 0.222 | 0.003 |
| predicted_BB | 0.455 | 0.003 |
| predicted_H | 0.786 | 0.012 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.116 | 0.003 |
| predicted_OBP | 0.311 | 0.004 |
| predicted_R | 0.484 | 0.013 |
| predicted_RBI | 0.469 | 0.012 |
| predicted_SLG | 0.392 | 0.006 |
| predicted_SO | 0.927 | -0.006 |
AB rounded to 4 (raw=3.58), rates preserved: AVG=0.220 HR/AB=0.032
| 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 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
| 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 |
| 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 | 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.180 |
| predicted_3B | 0.000 | -0.036 |
| predicted_AB | 4.000 | 0.461 |
| predicted_AVG | 0.250 | 0.028 |
| predicted_BB | 0.000 | -0.455 |
| predicted_H | 1.000 | 0.214 |
| predicted_HR | 0.000 | -0.116 |
| predicted_OBP | 0.250 | -0.061 |
| predicted_R | 0.000 | -0.484 |
| predicted_RBI | 1.000 | 0.531 |
| predicted_SLG | 0.250 | -0.142 |
| predicted_SO | 1.000 | 0.073 |
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 | 1.000 | 1.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 | - | 16.000 | 4.000 | 1.000 | 1.000 | 0.000 | 3.000 | 2.000 | 3.000 | 3.000 | 0.2500 | 0.3684 | 0.4375 | 0.2500 | 0.0000 | 0.1875 | 0.1875 | 0.1875 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 2.000 | 1.000 | 0.000 | 4.000 | 5.000 | 7.000 | 5.000 | 0.2121 | 0.3415 | 0.3333 | 0.2121 | 0.0000 | 0.1212 | 0.2121 | 0.1515 |
| season | 0.60 | 74 | - | 265.000 | 57.000 | 13.000 | 1.000 | 10.000 | 33.000 | 35.000 | 31.000 | 75.000 | 0.2151 | 0.2990 | 0.3849 | 0.2151 | 0.0377 | 0.1245 | 0.1170 | 0.2830 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0670 |
| predicted_AB | 3.4810 |
| predicted_AVG | 0.2239 |
| predicted_BB | 0.4970 |
| predicted_H | 0.7790 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.3199 |
| predicted_R | 0.4680 |
| predicted_RBI | 0.4720 |
| predicted_SLG | 0.3873 |
| predicted_SO | 0.8230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1860 | 0.1802 | model_form_blend |
| predicted_3B | 0.0140 | 0.0670 | 0.0364 | model_form_blend |
| predicted_AB | 3.5810 | 3.4810 | 3.5387 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2239 | 0.2188 | model_form_blend |
| predicted_BB | 0.4190 | 0.4970 | 0.4520 | model_form_blend |
| predicted_H | 0.7700 | 0.7790 | 0.7738 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1350 | 0.0830 | 0.1130 | model_form_blend |
| predicted_OBP | 0.2970 | 0.3199 | 0.3067 | model_form_blend |
| predicted_R | 0.4730 | 0.4680 | 0.4709 | model_form_blend |
| predicted_RBI | 0.4460 | 0.4720 | 0.4570 | model_form_blend |
| predicted_SLG | 0.3850 | 0.3873 | 0.3860 | model_form_blend |
| predicted_SO | 1.0140 | 0.8230 | 0.9331 | 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 | 287 |
| Season rows before report date | 287 |
| Report year | 2026 |
| Profile rows used | 74 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.215 |
| 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 | 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 | 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 | 1B |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 668904 |
| playerID | 668904 |
| playerName | Royce Lewis |
| pos | 3B |
| started | True |
| startingPosition | 1B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.301 |
| sl_xwoba | 0.307 |
| sl_xba | 0.221 |
| sl_xslg | 0.389 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 41.6 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 20.9 |
| sl_whiff_percent | 34.1 |
| sl_swing_percent | 46.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.115 | 0.000 | 0.000 | Hitting_2B | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.256 | 3.000 | 3.000 | Hitting_AB | 3.447 | 4.000 | -0.447 | -1.000 |
| predicted_AVG | 0.236 | 0.667 | 0.333 | Hitting_AVG | 0.235 | 0.000 | 0.432 | 0.667 |
| predicted_BB | 0.321 | 1.000 | 0.000 | Hitting_BB | 0.373 | 0.000 | 0.627 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.769 | 2.000 | 1.000 | Hitting_H | 0.810 | 0.000 | 1.190 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.305 | 0.750 | 0.333 | Hitting_OBP | 0.322 | 0.000 | 0.428 | 0.750 |
| predicted_R | 0.308 | 1.000 | 0.000 | Hitting_R | 0.327 | 0.000 | 0.673 | 1.000 |
| predicted_RBI | 0.462 | 2.000 | 0.000 | Hitting_RBI | 0.518 | 0.000 | 1.482 | 2.000 |
| predicted_SLG | 0.354 | 0.667 | 0.333 | Hitting_SLG | 0.351 | 0.000 | 0.315 | 0.667 |
| predicted_SO | 0.731 | 0.000 | 1.000 | Hitting_SO | 0.768 | 1.000 | -0.768 | -1.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_RBI: 0.4620 -> 2.0000 (boost 1.5380, better) |
| Biggest Deboost | predicted_SO: 0.7310 -> 0.0000 (deboost -0.7310, 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: 3.2560 -> 3.3072 (boost 0.0512, better) | predicted_RBI: 0.4620 -> 0.4083 (deboost -0.0537, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3419 -> 0.3474 (boost 0.0055, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7490 -> 1.0000 (boost 0.2510, worse) | predicted_RBI: 0.4193 -> 0.0000 (deboost -0.4193, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.240 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3146 -> 0.0000 (deboost -0.3146, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2398 -> 0.3330 (boost 0.0932, better) | predicted_SLG: 0.3474 -> 0.3330 (deboost -0.0144, 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.3474 (boost 0.0144, better) | predicted_AVG: 0.3330 -> 0.2398 (deboost -0.0932, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605170",
"player_name": "Victor Caratini",
"position": "1B",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.115,
"predicted_3B": 0.0,
"predicted_AB": 3.256,
"predicted_AVG": 0.236,
"predicted_BB": 0.321,
"predicted_H": 0.769,
"predicted_HR": 0.09,
"predicted_OBP": 0.305,
"predicted_R": 0.308,
"predicted_RBI": 0.462,
"predicted_SLG": 0.354,
"predicted_SO": 0.731
},
"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.115,
"predicted_3B": 0.0004,
"predicted_AB": 3.3072,
"predicted_AVG": 0.2359,
"predicted_BB": 0.2783,
"predicted_H": 0.7804,
"predicted_HBP": 0.068,
"predicted_HR": 0.0782,
"predicted_OBP": 0.2984,
"predicted_R": 0.3063,
"predicted_RBI": 0.4083,
"predicted_SLG": 0.3419,
"predicted_SO": 0.7538
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.115,
"delta": 0.0,
"percent_delta": 0.0,
"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.256,
"after": 3.3072,
"delta": 0.0512,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2359,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.2783,
"delta": -0.0427,
"percent_delta": -0.133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.769,
"after": 0.7804,
"delta": 0.0114,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0782,
"delta": -0.0118,
"percent_delta": -0.1311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2984,
"delta": -0.0066,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.3063,
"delta": -0.0017,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.462,
"after": 0.4083,
"delta": -0.0537,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3419,
"delta": -0.0121,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.731,
"after": 0.7538,
"delta": 0.0228,
"percent_delta": 0.0312,
"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": 3.256,
"after": 3.3072,
"delta": 0.0512,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.462,
"after": 0.4083,
"delta": -0.0537,
"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": 78
}
},
{
"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.115,
"predicted_3B": 0.0004,
"predicted_AB": 3.3072,
"predicted_AVG": 0.2398,
"predicted_BB": 0.2801,
"predicted_H": 0.793,
"predicted_HBP": 0.068,
"predicted_HR": 0.08,
"predicted_OBP": 0.2991,
"predicted_R": 0.3146,
"predicted_RBI": 0.4193,
"predicted_SLG": 0.3474,
"predicted_SO": 0.749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.115,
"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.3072,
"after": 3.3072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2359,
"after": 0.2398,
"delta": 0.0039,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2783,
"after": 0.2801,
"delta": 0.0018,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7804,
"after": 0.793,
"delta": 0.0126,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.068,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0782,
"after": 0.08,
"delta": 0.0018,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2984,
"after": 0.2991,
"delta": 0.0007,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3063,
"after": 0.3146,
"delta": 0.0083,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4083,
"after": 0.4193,
"delta": 0.011,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3419,
"after": 0.3474,
"delta": 0.0055,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7538,
"after": 0.749,
"delta": -0.0048,
"percent_delta": -0.0064,
"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_SLG",
"before": 0.3419,
"after": 0.3474,
"delta": 0.0055,
"percent_delta": 0.0161,
"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.31), rates preserved: AVG=0.240 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.115,
"after": 0.0,
"delta": -0.115,
"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.3072,
"after": 3.0,
"delta": -0.3072,
"percent_delta": -0.0929,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2801,
"after": 0.0,
"delta": -0.2801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.793,
"after": 1.0,
"delta": 0.207,
"percent_delta": 0.261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4193,
"after": 0.0,
"delta": -0.4193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.749,
"after": 1.0,
"delta": 0.251,
"percent_delta": 0.3351,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.749,
"after": 1.0,
"delta": 0.251,
"percent_delta": 0.3351,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4193,
"after": 0.0,
"delta": -0.4193,
"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.3146,
"after": 0.0,
"delta": -0.3146,
"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.3146,
"after": 0.0,
"delta": -0.3146,
"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.2398,
"after": 0.333,
"delta": 0.0932,
"percent_delta": 0.3887,
"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.2991,
"after": 0.333,
"delta": 0.0339,
"percent_delta": 0.1133,
"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.3474,
"after": 0.333,
"delta": -0.0144,
"percent_delta": -0.0415,
"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.2398,
"after": 0.333,
"delta": 0.0932,
"percent_delta": 0.3887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3474,
"after": 0.333,
"delta": -0.0144,
"percent_delta": -0.0415,
"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": 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": 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": 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": 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": 3.0,
"predicted_AVG": 0.2398,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2991,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3474,
"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.2398,
"delta": -0.0932,
"percent_delta": -0.28,
"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.2991,
"delta": -0.0339,
"percent_delta": -0.1017,
"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.3474,
"delta": 0.0144,
"percent_delta": 0.0432,
"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.3474,
"delta": 0.0144,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2398,
"delta": -0.0932,
"percent_delta": -0.28,
"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.115,
"after": 0.0,
"delta": -0.115,
"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.256,
"after": 3.0,
"delta": -0.256,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2398,
"delta": 0.0038,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 1.0,
"delta": 0.679,
"percent_delta": 2.1153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.769,
"after": 2.0,
"delta": 1.231,
"percent_delta": 1.6008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2991,
"delta": -0.0059,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 1.0,
"delta": 0.692,
"percent_delta": 2.2468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.462,
"after": 2.0,
"delta": 1.538,
"percent_delta": 3.329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3474,
"delta": -0.0066,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.731,
"after": 0.0,
"delta": -0.731,
"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_RBI",
"before": 0.462,
"after": 2.0,
"delta": 1.538,
"percent_delta": 3.329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.731,
"after": 0.0,
"delta": -0.731,
"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.115 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.256 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.321 | - |
| predicted_H | 0.769 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.308 | - |
| predicted_RBI | 0.462 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 0.731 | - |
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.115 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.307 | 0.051 |
| predicted_AVG | 0.236 | -0.000 |
| predicted_BB | 0.278 | -0.043 |
| predicted_H | 0.780 | 0.011 |
| predicted_HBP | 0.068 | - |
| predicted_HR | 0.078 | -0.012 |
| predicted_OBP | 0.298 | -0.007 |
| predicted_R | 0.306 | -0.002 |
| predicted_RBI | 0.408 | -0.054 |
| predicted_SLG | 0.342 | -0.012 |
| predicted_SO | 0.754 | 0.023 |
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.115 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.307 | 0.000 |
| predicted_AVG | 0.240 | 0.004 |
| predicted_BB | 0.280 | 0.002 |
| predicted_H | 0.793 | 0.013 |
| predicted_HBP | 0.068 | 0.000 |
| predicted_HR | 0.080 | 0.002 |
| predicted_OBP | 0.299 | 0.001 |
| predicted_R | 0.315 | 0.008 |
| predicted_RBI | 0.419 | 0.011 |
| predicted_SLG | 0.347 | 0.006 |
| predicted_SO | 0.749 | -0.005 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.240 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.115 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.307 |
| predicted_AVG | 0.333 | 0.093 |
| predicted_BB | 0.000 | -0.280 |
| predicted_H | 1.000 | 0.207 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.333 | 0.034 |
| predicted_R | 0.000 | -0.315 |
| predicted_RBI | 0.000 | -0.419 |
| predicted_SLG | 0.333 | -0.014 |
| predicted_SO | 1.000 | 0.251 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.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 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 5.000 | 0.2353 | 0.2353 | 0.2353 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.2941 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 2.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 7.000 | 0.2286 | 0.2500 | 0.2857 | 0.2286 | 0.0000 | 0.0571 | 0.0286 | 0.2000 |
| season | 0.60 | 78 | - | 254.000 | 60.000 | 9.000 | 0.000 | 7.000 | 36.000 | 24.000 | 25.000 | 57.000 | 0.2362 | 0.3176 | 0.3543 | 0.2362 | 0.0276 | 0.1417 | 0.0984 | 0.2244 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3770 |
| predicted_AVG | 0.2358 |
| predicted_BB | 0.2200 |
| predicted_H | 0.7960 |
| predicted_HBP | 0.0680 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.2893 |
| predicted_R | 0.3040 |
| predicted_RBI | 0.3350 |
| predicted_SLG | 0.3253 |
| predicted_SO | 0.7850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.1150 | 0.1150 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2560 | 3.3770 | 3.3072 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2358 | 0.2359 | model_form_blend |
| predicted_BB | 0.3210 | 0.2200 | 0.2783 | model_form_blend |
| predicted_H | 0.7690 | 0.7960 | 0.7804 | model_form_blend |
| predicted_HBP | - | 0.0680 | 0.0680 | form_only |
| predicted_HR | 0.0900 | 0.0620 | 0.0782 | model_form_blend |
| predicted_OBP | 0.3050 | 0.2893 | 0.2984 | model_form_blend |
| predicted_R | 0.3080 | 0.3040 | 0.3063 | model_form_blend |
| predicted_RBI | 0.4620 | 0.3350 | 0.4083 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3253 | 0.3419 | model_form_blend |
| predicted_SO | 0.7310 | 0.7850 | 0.7538 | 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 | 284 |
| Season rows before report date | 284 |
| Report year | 2026 |
| Profile rows used | 78 |
| 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 | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| 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 | 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 | 20260729_KC@MIN |
| game_type | full |
| mlbID | 605170 |
| playerID | 605170 |
| playerName | Victor Caratini |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.304 |
| sl_xwoba | 0.328 |
| sl_xba | 0.246 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 39.6 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 41.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.140 | 0.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.370 | 4.000 | 3.000 | Hitting_AB | 3.505 | 3.000 | 0.495 | 1.000 |
| predicted_AVG | 0.258 | 0.000 | 0.333 | Hitting_AVG | 0.270 | 0.333 | -0.270 | -0.333 |
| predicted_BB | 0.400 | 0.000 | 0.000 | Hitting_BB | 0.437 | 0.000 | -0.437 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 0.870 | 0.000 | 1.000 | Hitting_H | 0.945 | 1.000 | -0.945 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_OBP | 0.337 | 0.000 | 0.333 | Hitting_OBP | 0.364 | 0.333 | -0.364 | -0.333 |
| predicted_R | 0.510 | 0.000 | 0.000 | Hitting_R | 0.594 | 0.000 | -0.594 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.338 | 0.000 | -0.338 | 0.000 |
| predicted_SLG | 0.341 | 0.000 | 0.333 | Hitting_SLG | 0.360 | 0.333 | -0.360 | -0.333 |
| predicted_SO | 0.600 | 2.000 | 1.000 | Hitting_SO | 0.599 | 0.000 | 1.401 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.6000 -> 2.0000 (boost 1.4000, worse) |
| Biggest Deboost | predicted_H: 0.8700 -> 0.0000 (deboost -0.8700, 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.3370 -> 0.3453 (boost 0.0083, better) | predicted_R: 0.5100 -> 0.4486 (deboost -0.0614, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3252 -> 0.3304 (boost 0.0052, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.5863 -> 1.0000 (boost 0.4137, worse) | predicted_BB: 0.4341 -> 0.0000 (deboost -0.4341, worse) | AB rounded to 3 (raw=3.37), rates preserved: AVG=0.254 HR/AB=0.011 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4607 -> 0.0000 (deboost -0.4607, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2573 -> 0.3330 (boost 0.0757, better) | predicted_OBP: 0.3429 -> 0.3330 (deboost -0.0099, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | 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 |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3330 -> 0.3429 (boost 0.0099, better) | predicted_AVG: 0.3330 -> 0.2573 (deboost -0.0757, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "CF",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.14,
"predicted_3B": 0.01,
"predicted_AB": 3.37,
"predicted_AVG": 0.258,
"predicted_BB": 0.4,
"predicted_H": 0.87,
"predicted_HR": 0.04,
"predicted_OBP": 0.337,
"predicted_R": 0.51,
"predicted_RBI": 0.3,
"predicted_SLG": 0.341,
"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.1172,
"predicted_3B": 0.0083,
"predicted_AB": 3.3322,
"predicted_AVG": 0.2531,
"predicted_BB": 0.4313,
"predicted_H": 0.8438,
"predicted_HBP": 0.142,
"predicted_HR": 0.0357,
"predicted_OBP": 0.3453,
"predicted_R": 0.4486,
"predicted_RBI": 0.3056,
"predicted_SLG": 0.3252,
"predicted_SO": 0.5901
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.1172,
"delta": -0.0228,
"percent_delta": -0.1629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0083,
"delta": -0.0017,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.37,
"after": 3.3322,
"delta": -0.0378,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2531,
"delta": -0.0049,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.4313,
"delta": 0.0313,
"percent_delta": 0.0782,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8438,
"delta": -0.0262,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0357,
"delta": -0.0043,
"percent_delta": -0.1075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3453,
"delta": 0.0083,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.51,
"after": 0.4486,
"delta": -0.0614,
"percent_delta": -0.1204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3056,
"delta": 0.0056,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3252,
"delta": -0.0158,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 0.5901,
"delta": -0.0099,
"percent_delta": -0.0165,
"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.337,
"after": 0.3453,
"delta": 0.0083,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.51,
"after": 0.4486,
"delta": -0.0614,
"percent_delta": -0.1204,
"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.1172,
"predicted_3B": 0.0083,
"predicted_AB": 3.3322,
"predicted_AVG": 0.2573,
"predicted_BB": 0.4341,
"predicted_H": 0.8574,
"predicted_HBP": 0.142,
"predicted_HR": 0.0365,
"predicted_OBP": 0.3429,
"predicted_R": 0.4607,
"predicted_RBI": 0.3139,
"predicted_SLG": 0.3304,
"predicted_SO": 0.5863
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1172,
"after": 0.1172,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3322,
"after": 3.3322,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2531,
"after": 0.2573,
"delta": 0.0042,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4313,
"after": 0.4341,
"delta": 0.0028,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8438,
"after": 0.8574,
"delta": 0.0136,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.142,
"after": 0.142,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0357,
"after": 0.0365,
"delta": 0.0008,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3453,
"after": 0.3429,
"delta": -0.0024,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4486,
"after": 0.4607,
"delta": 0.0121,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3056,
"after": 0.3139,
"delta": 0.0083,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3252,
"after": 0.3304,
"delta": 0.0052,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5901,
"after": 0.5863,
"delta": -0.0038,
"percent_delta": -0.0064,
"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_SLG",
"before": 0.3252,
"after": 0.3304,
"delta": 0.0052,
"percent_delta": 0.016,
"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.37), rates preserved: AVG=0.254 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.1172,
"after": 0.0,
"delta": -0.1172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0,
"delta": -0.0083,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3322,
"after": 3.0,
"delta": -0.3322,
"percent_delta": -0.0997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4341,
"after": 0.0,
"delta": -0.4341,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8574,
"after": 1.0,
"delta": 0.1426,
"percent_delta": 0.1663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.142,
"after": 0.0,
"delta": -0.142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0365,
"after": 0.0,
"delta": -0.0365,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3139,
"after": 0.0,
"delta": -0.3139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5863,
"after": 1.0,
"delta": 0.4137,
"percent_delta": 0.7056,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5863,
"after": 1.0,
"delta": 0.4137,
"percent_delta": 0.7056,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4341,
"after": 0.0,
"delta": -0.4341,
"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=7.0, weight=0.076, BvP AVG=0.143)",
"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.9243,
"bvp": 0.0757
},
"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.4607,
"after": 0.0,
"delta": -0.4607,
"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.4607,
"after": 0.0,
"delta": -0.4607,
"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.2573,
"after": 0.333,
"delta": 0.0757,
"percent_delta": 0.2942,
"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.3429,
"after": 0.333,
"delta": -0.0099,
"percent_delta": -0.0289,
"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.3304,
"after": 0.333,
"delta": 0.0026,
"percent_delta": 0.0079,
"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_AVG",
"before": 0.2573,
"after": 0.333,
"delta": 0.0757,
"percent_delta": 0.2942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3429,
"after": 0.333,
"delta": -0.0099,
"percent_delta": -0.0289,
"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": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"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": 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.2573,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3429,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3304,
"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.2573,
"delta": -0.0757,
"percent_delta": -0.2273,
"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.3429,
"delta": 0.0099,
"percent_delta": 0.0297,
"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.333,
"after": 0.3304,
"delta": -0.0026,
"percent_delta": -0.0079,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3429,
"delta": 0.0099,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2573,
"delta": -0.0757,
"percent_delta": -0.2273,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.37,
"after": 4.0,
"delta": 0.63,
"percent_delta": 0.1869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2573,
"delta": -0.0007,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.87,
"after": 0.0,
"delta": -0.87,
"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.337,
"after": 0.3429,
"delta": 0.0059,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"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.341,
"after": 0.3304,
"delta": -0.0106,
"percent_delta": -0.0311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 2.0,
"delta": 1.4,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6,
"after": 2.0,
"delta": 1.4,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"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.140 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.370 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.510 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.341 | - |
| 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.117 | -0.023 |
| predicted_3B | 0.008 | -0.002 |
| predicted_AB | 3.332 | -0.038 |
| predicted_AVG | 0.253 | -0.005 |
| predicted_BB | 0.431 | 0.031 |
| predicted_H | 0.844 | -0.026 |
| predicted_HBP | 0.142 | - |
| predicted_HR | 0.036 | -0.004 |
| predicted_OBP | 0.345 | 0.008 |
| predicted_R | 0.449 | -0.061 |
| predicted_RBI | 0.306 | 0.006 |
| predicted_SLG | 0.325 | -0.016 |
| predicted_SO | 0.590 | -0.010 |
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.117 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.332 | 0.000 |
| predicted_AVG | 0.257 | 0.004 |
| predicted_BB | 0.434 | 0.003 |
| predicted_H | 0.857 | 0.014 |
| predicted_HBP | 0.142 | 0.000 |
| predicted_HR | 0.036 | 0.001 |
| predicted_OBP | 0.343 | -0.002 |
| predicted_R | 0.461 | 0.012 |
| predicted_RBI | 0.314 | 0.008 |
| predicted_SLG | 0.330 | 0.005 |
| predicted_SO | 0.586 | -0.004 |
AB rounded to 3 (raw=3.37), rates preserved: AVG=0.254 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 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
| 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.117 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 3.000 | -0.332 |
| predicted_AVG | 0.333 | 0.076 |
| predicted_BB | 0.000 | -0.434 |
| predicted_H | 1.000 | 0.143 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.333 | -0.010 |
| predicted_R | 0.000 | -0.461 |
| predicted_RBI | 0.000 | -0.314 |
| predicted_SLG | 0.333 | 0.003 |
| predicted_SO | 1.000 | 0.414 |
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 | 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 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 2.000 | 0.2000 | 0.3500 | 0.2000 | 0.2000 | 0.0000 | 0.1333 | 0.2000 | 0.1333 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 6.000 | 6.000 | 0.2581 | 0.4000 | 0.2581 | 0.2581 | 0.0000 | 0.0645 | 0.1935 | 0.1935 |
| season | 0.60 | 100 | - | 337.000 | 87.000 | 14.000 | 1.000 | 4.000 | 30.000 | 51.000 | 40.000 | 60.000 | 0.2582 | 0.3503 | 0.3412 | 0.2582 | 0.0119 | 0.0890 | 0.1187 | 0.1780 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0870 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.2820 |
| predicted_AVG | 0.2467 |
| predicted_BB | 0.4730 |
| predicted_H | 0.8090 |
| predicted_HBP | 0.1420 |
| predicted_HR | 0.0300 |
| predicted_OBP | 0.3563 |
| predicted_R | 0.3670 |
| predicted_RBI | 0.3130 |
| predicted_SLG | 0.3043 |
| predicted_SO | 0.5770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.0870 | 0.1172 | model_form_blend |
| predicted_3B | 0.0100 | 0.0060 | 0.0083 | model_form_blend |
| predicted_AB | 3.3700 | 3.2820 | 3.3322 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2467 | 0.2531 | model_form_blend |
| predicted_BB | 0.4000 | 0.4730 | 0.4313 | model_form_blend |
| predicted_H | 0.8700 | 0.8090 | 0.8438 | model_form_blend |
| predicted_HBP | - | 0.1420 | 0.1420 | form_only |
| predicted_HR | 0.0400 | 0.0300 | 0.0357 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3563 | 0.3453 | model_form_blend |
| predicted_R | 0.5100 | 0.3670 | 0.4486 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3130 | 0.3056 | model_form_blend |
| predicted_SLG | 0.3410 | 0.3043 | 0.3252 | model_form_blend |
| predicted_SO | 0.6000 | 0.5770 | 0.5901 | 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 | 382 |
| Season rows before report date | 382 |
| 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 | 2 |
| 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.333 |
| 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 | CF |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 807712 |
| playerID | 807712 |
| playerName | Luke Keaschall |
| pos | 2B |
| started | True |
| startingPosition | CF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-29 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.314 |
| sl_xwoba | 0.301 |
| sl_xba | 0.232 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 28.6 |
| sl_exit_velocity_avg | 84.7 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 17.0 |
| sl_swing_percent | 41.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.200 | 0.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.840 | 4.000 | 4.000 | Hitting_AB | 3.569 | 3.000 | 0.431 | 1.000 |
| predicted_AVG | 0.275 | 0.500 | 0.250 | Hitting_AVG | 0.294 | 0.333 | 0.206 | 0.167 |
| predicted_BB | 0.556 | 0.000 | 0.000 | Hitting_BB | 0.608 | 1.000 | -0.608 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.050 | 2.000 | 1.000 | Hitting_H | 1.050 | 1.000 | 0.950 | 1.000 |
| predicted_HR | 0.230 | 1.000 | 0.000 | Hitting_HR | 0.215 | 0.000 | 0.785 | 1.000 |
| predicted_OBP | 0.377 | 0.500 | 0.250 | Hitting_OBP | 0.397 | 0.500 | 0.103 | 0.000 |
| predicted_R | 0.644 | 1.000 | 1.000 | Hitting_R | 0.713 | 0.000 | 0.287 | 1.000 |
| predicted_RBI | 0.710 | 3.000 | 1.000 | Hitting_RBI | 0.807 | 0.000 | 2.193 | 3.000 |
| predicted_SLG | 0.468 | 1.250 | 0.250 | Hitting_SLG | 0.554 | 0.333 | 0.696 | 0.917 |
| predicted_SO | 0.689 | 0.000 | 1.000 | Hitting_SO | 0.713 | 0.000 | -0.713 | 0.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_RBI: 0.7100 -> 3.0000 (boost 2.2900, better) |
| Biggest Deboost | predicted_SO: 0.6890 -> 0.0000 (deboost -0.6890, 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_SLG: 0.4680 -> 0.4809 (boost 0.0129, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4809 -> 0.5183 (boost 0.0374, better) | - | 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_BB: 0.5105 -> 1.0000 (boost 0.4895, better) | predicted_HR: 0.2195 -> 0.0000 (deboost -0.2195, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.283 HR/AB=0.057 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6142 -> 1.0000 (boost 0.3858, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5183 -> 0.2500 (deboost -0.2683, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_RBI: 1.0000 -> 3.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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5183 (boost 0.2683, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680777",
"player_name": "Ryan Jeffers",
"position": "C",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.022,
"predicted_AB": 3.84,
"predicted_AVG": 0.275,
"predicted_BB": 0.556,
"predicted_H": 1.05,
"predicted_HR": 0.23,
"predicted_OBP": 0.377,
"predicted_R": 0.644,
"predicted_RBI": 0.71,
"predicted_SLG": 0.468,
"predicted_SO": 0.689
},
"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.1865,
"predicted_3B": 0.0187,
"predicted_AB": 3.8003,
"predicted_AVG": 0.2826,
"predicted_BB": 0.5073,
"predicted_H": 1.0701,
"predicted_HBP": 0.017,
"predicted_HR": 0.2144,
"predicted_OBP": 0.3734,
"predicted_R": 0.5981,
"predicted_RBI": 0.7325,
"predicted_SLG": 0.4809,
"predicted_SO": 0.7263
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1865,
"delta": -0.0135,
"percent_delta": -0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0187,
"delta": -0.0033,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.8003,
"delta": -0.0397,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2826,
"delta": 0.0076,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.5073,
"delta": -0.0487,
"percent_delta": -0.0876,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0701,
"delta": 0.0201,
"percent_delta": 0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2144,
"delta": -0.0156,
"percent_delta": -0.0678,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.377,
"after": 0.3734,
"delta": -0.0036,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.644,
"after": 0.5981,
"delta": -0.0459,
"percent_delta": -0.0713,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.7325,
"delta": 0.0225,
"percent_delta": 0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.4809,
"delta": 0.0129,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.689,
"after": 0.7263,
"delta": 0.0373,
"percent_delta": 0.0541,
"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_SLG",
"before": 0.468,
"after": 0.4809,
"delta": 0.0129,
"percent_delta": 0.0276,
"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": 45
}
},
{
"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.1865,
"predicted_3B": 0.0187,
"predicted_AB": 3.8003,
"predicted_AVG": 0.2861,
"predicted_BB": 0.5105,
"predicted_H": 1.0873,
"predicted_HBP": 0.017,
"predicted_HR": 0.2195,
"predicted_OBP": 0.3707,
"predicted_R": 0.6142,
"predicted_RBI": 0.7523,
"predicted_SLG": 0.5183,
"predicted_SO": 0.7217
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1865,
"after": 0.1865,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0187,
"after": 0.0187,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8003,
"after": 3.8003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2826,
"after": 0.2861,
"delta": 0.0035,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5073,
"after": 0.5105,
"delta": 0.0032,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0701,
"after": 1.0873,
"delta": 0.0172,
"percent_delta": 0.0161,
"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.2144,
"after": 0.2195,
"delta": 0.0051,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3734,
"after": 0.3707,
"delta": -0.0027,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5981,
"after": 0.6142,
"delta": 0.0161,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7325,
"after": 0.7523,
"delta": 0.0198,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4809,
"after": 0.5183,
"delta": 0.0374,
"percent_delta": 0.0778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7263,
"after": 0.7217,
"delta": -0.0046,
"percent_delta": -0.0063,
"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_SLG",
"before": 0.4809,
"after": 0.5183,
"delta": 0.0374,
"percent_delta": 0.0778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.283 HR/AB=0.057",
"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.1865,
"after": 0.0,
"delta": -0.1865,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0187,
"after": 0.0,
"delta": -0.0187,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8003,
"after": 4.0,
"delta": 0.1997,
"percent_delta": 0.0525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5105,
"after": 1.0,
"delta": 0.4895,
"percent_delta": 0.9589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0873,
"after": 1.0,
"delta": -0.0873,
"percent_delta": -0.0803,
"direction": "deboost",
"projection_effect": "worse",
"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.2195,
"after": 0.0,
"delta": -0.2195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7523,
"after": 1.0,
"delta": 0.2477,
"percent_delta": 0.3293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7217,
"after": 1.0,
"delta": 0.2783,
"percent_delta": 0.3856,
"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_BB",
"before": 0.5105,
"after": 1.0,
"delta": 0.4895,
"percent_delta": 0.9589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2195,
"after": 0.0,
"delta": -0.2195,
"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=8.0, weight=0.084, BvP AVG=0.500)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"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": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 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.6142,
"after": 1.0,
"delta": 0.3858,
"percent_delta": 0.6281,
"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.6142,
"after": 1.0,
"delta": 0.3858,
"percent_delta": 0.6281,
"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": 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.2861,
"after": 0.25,
"delta": -0.0361,
"percent_delta": -0.1262,
"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.3707,
"after": 0.25,
"delta": -0.1207,
"percent_delta": -0.3256,
"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.5183,
"after": 0.25,
"delta": -0.2683,
"percent_delta": -0.5177,
"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.5183,
"after": 0.25,
"delta": -0.2683,
"percent_delta": -0.5177,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.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": 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": 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": 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": 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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"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_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": 4.0,
"predicted_AVG": 0.2861,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3707,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5183,
"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.2861,
"delta": 0.0361,
"percent_delta": 0.1445,
"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": 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": 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.3707,
"delta": 0.1207,
"percent_delta": 0.4827,
"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": 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.25,
"after": 0.5183,
"delta": 0.2683,
"percent_delta": 1.0731,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5183,
"delta": 0.2683,
"percent_delta": 1.0731,
"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.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2861,
"delta": 0.0111,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.0,
"delta": 0.95,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.377,
"after": 0.3707,
"delta": -0.0063,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"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.71,
"after": 3.0,
"delta": 2.29,
"percent_delta": 3.2254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.5183,
"delta": 0.0503,
"percent_delta": 0.1075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.689,
"after": 0.0,
"delta": -0.689,
"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_RBI",
"before": 0.71,
"after": 3.0,
"delta": 2.29,
"percent_delta": 3.2254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.689,
"after": 0.0,
"delta": -0.689,
"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.200 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.556 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.377 | - |
| predicted_R | 0.644 | - |
| predicted_RBI | 0.710 | - |
| predicted_SLG | 0.468 | - |
| predicted_SO | 0.689 | - |
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.186 | -0.014 |
| predicted_3B | 0.019 | -0.003 |
| predicted_AB | 3.800 | -0.040 |
| predicted_AVG | 0.283 | 0.008 |
| predicted_BB | 0.507 | -0.049 |
| predicted_H | 1.070 | 0.020 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.214 | -0.016 |
| predicted_OBP | 0.373 | -0.004 |
| predicted_R | 0.598 | -0.046 |
| predicted_RBI | 0.733 | 0.023 |
| predicted_SLG | 0.481 | 0.013 |
| predicted_SO | 0.726 | 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.186 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.800 | 0.000 |
| predicted_AVG | 0.286 | 0.004 |
| predicted_BB | 0.510 | 0.003 |
| predicted_H | 1.087 | 0.017 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.220 | 0.005 |
| predicted_OBP | 0.371 | -0.003 |
| predicted_R | 0.614 | 0.016 |
| predicted_RBI | 0.752 | 0.020 |
| predicted_SLG | 0.518 | 0.037 |
| predicted_SO | 0.722 | -0.005 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.283 HR/AB=0.057
| 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500)
| 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 |
| 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 | 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.186 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.200 |
| predicted_AVG | 0.250 | -0.036 |
| predicted_BB | 0.000 | -0.510 |
| predicted_H | 1.000 | -0.087 |
| predicted_HR | 0.000 | -0.220 |
| predicted_OBP | 0.250 | -0.121 |
| predicted_R | 1.000 | 0.386 |
| predicted_RBI | 1.000 | 0.248 |
| predicted_SLG | 0.250 | -0.268 |
| predicted_SO | 1.000 | 0.278 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.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 | - | 21.000 | 7.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 5.000 | 0.3333 | 0.3636 | 0.4762 | 0.3333 | 0.0476 | 0.1905 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 0.000 | 2.000 | 9.000 | 3.000 | 4.000 | 8.000 | 0.2895 | 0.3571 | 0.5000 | 0.2895 | 0.0526 | 0.2368 | 0.1053 | 0.2105 |
| season | 0.60 | 45 | - | 160.000 | 47.000 | 9.000 | 1.000 | 9.000 | 35.000 | 29.000 | 25.000 | 31.000 | 0.2938 | 0.3904 | 0.5312 | 0.2938 | 0.0563 | 0.2188 | 0.1562 | 0.1938 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1670 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7430 |
| predicted_AVG | 0.2936 |
| predicted_BB | 0.4370 |
| predicted_H | 1.0990 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1920 |
| predicted_OBP | 0.3683 |
| predicted_R | 0.5320 |
| predicted_RBI | 0.7650 |
| predicted_SLG | 0.4995 |
| predicted_SO | 0.7800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1670 | 0.1865 | model_form_blend |
| predicted_3B | 0.0220 | 0.0140 | 0.0187 | model_form_blend |
| predicted_AB | 3.8400 | 3.7430 | 3.8003 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2936 | 0.2826 | model_form_blend |
| predicted_BB | 0.5560 | 0.4370 | 0.5073 | model_form_blend |
| predicted_H | 1.0500 | 1.0990 | 1.0701 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.2300 | 0.1920 | 0.2144 | model_form_blend |
| predicted_OBP | 0.3770 | 0.3683 | 0.3734 | model_form_blend |
| predicted_R | 0.6440 | 0.5320 | 0.5981 | model_form_blend |
| predicted_RBI | 0.7100 | 0.7650 | 0.7325 | model_form_blend |
| predicted_SLG | 0.4680 | 0.4995 | 0.4809 | model_form_blend |
| predicted_SO | 0.6890 | 0.7800 | 0.7263 | 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 | 181 |
| Season rows before report date | 181 |
| Report year | 2026 |
| Profile rows used | 45 |
| 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 | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.294 |
| 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 | 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 | 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 | C |
| gameID | 20260728_KC@MIN |
| game_type | full |
| mlbID | 680777 |
| playerID | 680777 |
| playerName | Ryan Jeffers |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-28 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.399 |
| sl_xwoba | 0.377 |
| sl_xba | 0.264 |
| sl_xslg | 0.48 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 41.2 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 38.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.158 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 4.120 | 4.000 | 4.000 | Hitting_AB | 3.885 | 4.000 | 0.115 | 0.000 |
| predicted_AVG | 0.205 | 0.250 | 0.250 | Hitting_AVG | 0.252 | 0.000 | -0.002 | 0.250 |
| predicted_BB | 0.287 | 0.000 | 0.000 | Hitting_BB | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.850 | 1.000 | 1.000 | Hitting_H | 0.978 | 0.000 | 0.022 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.261 | 0.250 | 0.250 | Hitting_OBP | 0.309 | 0.000 | -0.059 | 0.250 |
| predicted_R | 0.485 | 1.000 | 1.000 | Hitting_R | 0.522 | 0.000 | 0.478 | 1.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.581 | 0.000 | -0.581 | 0.000 |
| predicted_SLG | 0.365 | 0.250 | 0.250 | Hitting_SLG | 0.433 | 0.000 | -0.183 | 0.250 |
| predicted_SO | 0.673 | 0.000 | 1.000 | Hitting_SO | 0.689 | 1.000 | -0.689 | -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_R: 0.4850 -> 1.0000 (boost 0.5150, better) |
| Biggest Deboost | predicted_SO: 0.6730 -> 0.0000 (deboost -0.6730, 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 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2610 -> 0.2664 (boost 0.0054, better) | predicted_AB: 4.1200 -> 3.9586 (deboost -0.1614, 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.3638 -> 0.3540 (deboost -0.0098, 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.6601 -> 1.0000 (boost 0.3399, worse) | predicted_RBI: 0.4440 -> 0.0000 (deboost -0.4440, worse) | AB rounded to 4 (raw=4.12), rates preserved: AVG=0.204 HR/AB=0.027 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5109 -> 1.0000 (boost 0.4891, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2128 -> 0.2500 (boost 0.0372, better) | predicted_SLG: 0.3540 -> 0.2500 (deboost -0.1040, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | 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.2500 -> 0.3540 (boost 0.1040, better) | predicted_AVG: 0.2500 -> 0.2128 (deboost -0.0372, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686797",
"player_name": "Brooks Lee",
"position": "3B",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.158,
"predicted_3B": 0.03,
"predicted_AB": 4.12,
"predicted_AVG": 0.205,
"predicted_BB": 0.287,
"predicted_H": 0.85,
"predicted_HR": 0.11,
"predicted_OBP": 0.261,
"predicted_R": 0.485,
"predicted_RBI": 0.44,
"predicted_SLG": 0.365,
"predicted_SO": 0.673
},
"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.158,
"predicted_3B": 0.0322,
"predicted_AB": 3.9586,
"predicted_AVG": 0.2088,
"predicted_BB": 0.29,
"predicted_H": 0.8289,
"predicted_HBP": 0.013,
"predicted_HR": 0.1096,
"predicted_OBP": 0.2664,
"predicted_R": 0.4975,
"predicted_RBI": 0.4323,
"predicted_SLG": 0.3638,
"predicted_SO": 0.6644
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.158,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0322,
"delta": 0.0022,
"percent_delta": 0.0733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 3.9586,
"delta": -0.1614,
"percent_delta": -0.0392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2088,
"delta": 0.0038,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.29,
"delta": 0.003,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8289,
"delta": -0.0211,
"percent_delta": -0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1096,
"delta": -0.0004,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2664,
"delta": 0.0054,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 0.4975,
"delta": 0.0125,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4323,
"delta": -0.0077,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3638,
"delta": -0.0012,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 0.6644,
"delta": -0.0086,
"percent_delta": -0.0128,
"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_OBP",
"before": 0.261,
"after": 0.2664,
"delta": 0.0054,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 3.9586,
"delta": -0.1614,
"percent_delta": -0.0392,
"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.158,
"predicted_3B": 0.0322,
"predicted_AB": 3.9586,
"predicted_AVG": 0.2128,
"predicted_BB": 0.2919,
"predicted_H": 0.8422,
"predicted_HBP": 0.013,
"predicted_HR": 0.1122,
"predicted_OBP": 0.2668,
"predicted_R": 0.5109,
"predicted_RBI": 0.444,
"predicted_SLG": 0.354,
"predicted_SO": 0.6601
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.158,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0322,
"after": 0.0322,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9586,
"after": 3.9586,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2088,
"after": 0.2128,
"delta": 0.004,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.2919,
"delta": 0.0019,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8289,
"after": 0.8422,
"delta": 0.0133,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1096,
"after": 0.1122,
"delta": 0.0026,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2664,
"after": 0.2668,
"delta": 0.0004,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4975,
"after": 0.5109,
"delta": 0.0134,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4323,
"after": 0.444,
"delta": 0.0117,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3638,
"after": 0.354,
"delta": -0.0098,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6644,
"after": 0.6601,
"delta": -0.0043,
"percent_delta": -0.0065,
"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.3638,
"after": 0.354,
"delta": -0.0098,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.12), rates preserved: AVG=0.204 HR/AB=0.027",
"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.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0322,
"after": 0.0,
"delta": -0.0322,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9586,
"after": 4.0,
"delta": 0.0414,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2919,
"after": 0.0,
"delta": -0.2919,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8422,
"after": 1.0,
"delta": 0.1578,
"percent_delta": 0.1874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1122,
"after": 0.0,
"delta": -0.1122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6601,
"after": 1.0,
"delta": 0.3399,
"percent_delta": 0.5149,
"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.6601,
"after": 1.0,
"delta": 0.3399,
"percent_delta": 0.5149,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"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=11.0, weight=0.107, BvP AVG=0.182)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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_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.8927,
"bvp": 0.1073
},
"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": 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.5109,
"after": 1.0,
"delta": 0.4891,
"percent_delta": 0.9573,
"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.5109,
"after": 1.0,
"delta": 0.4891,
"percent_delta": 0.9573,
"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": 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.2128,
"after": 0.25,
"delta": 0.0372,
"percent_delta": 0.1748,
"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.2668,
"after": 0.25,
"delta": -0.0168,
"percent_delta": -0.063,
"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.354,
"after": 0.25,
"delta": -0.104,
"percent_delta": -0.2938,
"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.2128,
"after": 0.25,
"delta": 0.0372,
"percent_delta": 0.1748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.25,
"delta": -0.104,
"percent_delta": -0.2938,
"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": 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": 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": 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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"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": "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": 4.0,
"predicted_AVG": 0.2128,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2668,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.354,
"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.25,
"after": 0.2128,
"delta": -0.0372,
"percent_delta": -0.1489,
"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.2668,
"delta": 0.0168,
"percent_delta": 0.0673,
"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.25,
"after": 0.354,
"delta": 0.104,
"percent_delta": 0.4159,
"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.354,
"delta": 0.104,
"percent_delta": 0.4159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2128,
"delta": -0.0372,
"percent_delta": -0.1489,
"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.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0,
"delta": -0.12,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2128,
"delta": 0.0078,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2668,
"delta": 0.0058,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 1.0,
"delta": 0.515,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.354,
"delta": -0.011,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 0.0,
"delta": -0.673,
"percent_delta": -1.0,
"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_R",
"before": 0.485,
"after": 1.0,
"delta": 0.515,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.673,
"after": 0.0,
"delta": -0.673,
"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.158 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 4.120 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.287 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.485 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.365 | - |
| predicted_SO | 0.673 | - |
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.158 | 0.000 |
| predicted_3B | 0.032 | 0.002 |
| predicted_AB | 3.959 | -0.161 |
| predicted_AVG | 0.209 | 0.004 |
| predicted_BB | 0.290 | 0.003 |
| predicted_H | 0.829 | -0.021 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.110 | -0.000 |
| predicted_OBP | 0.266 | 0.005 |
| predicted_R | 0.497 | 0.013 |
| predicted_RBI | 0.432 | -0.008 |
| predicted_SLG | 0.364 | -0.001 |
| predicted_SO | 0.664 | -0.009 |
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.158 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.959 | 0.000 |
| predicted_AVG | 0.213 | 0.004 |
| predicted_BB | 0.292 | 0.002 |
| predicted_H | 0.842 | 0.013 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.112 | 0.003 |
| predicted_OBP | 0.267 | 0.000 |
| predicted_R | 0.511 | 0.013 |
| predicted_RBI | 0.444 | 0.012 |
| predicted_SLG | 0.354 | -0.010 |
| predicted_SO | 0.660 | -0.004 |
AB rounded to 4 (raw=4.12), rates preserved: AVG=0.204 HR/AB=0.027
| 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 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
| 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 |
| 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 | 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.158 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | 0.041 |
| predicted_AVG | 0.250 | 0.037 |
| predicted_BB | 0.000 | -0.292 |
| predicted_H | 1.000 | 0.158 |
| predicted_HR | 0.000 | -0.112 |
| predicted_OBP | 0.250 | -0.017 |
| predicted_R | 1.000 | 0.489 |
| predicted_RBI | 0.000 | -0.444 |
| predicted_SLG | 0.250 | -0.104 |
| predicted_SO | 1.000 | 0.340 |
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 | 1.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 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 0.1176 | 0.2105 | 0.1765 | 0.1177 | 0.0000 | 0.0000 | 0.1177 | 0.1177 |
| last_10 | 0.20 | 10 | - | 39.000 | 8.000 | 1.000 | 1.000 | 1.000 | 5.000 | 5.000 | 2.000 | 8.000 | 0.2051 | 0.2439 | 0.3590 | 0.2051 | 0.0256 | 0.1282 | 0.0513 | 0.2051 |
| season | 0.60 | 101 | - | 384.000 | 94.000 | 16.000 | 3.000 | 15.000 | 55.000 | 49.000 | 29.000 | 68.000 | 0.2448 | 0.3005 | 0.4193 | 0.2448 | 0.0391 | 0.1432 | 0.0755 | 0.1771 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1580 |
| predicted_3B | 0.0350 |
| predicted_AB | 3.7450 |
| predicted_AVG | 0.2139 |
| predicted_BB | 0.2940 |
| predicted_H | 0.8010 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1090 |
| predicted_OBP | 0.2735 |
| predicted_R | 0.5140 |
| predicted_RBI | 0.4220 |
| predicted_SLG | 0.3621 |
| predicted_SO | 0.6530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1580 | 0.1580 | 0.1580 | model_form_blend |
| predicted_3B | 0.0300 | 0.0350 | 0.0322 | model_form_blend |
| predicted_AB | 4.1200 | 3.7450 | 3.9586 | model_form_blend |
| predicted_AVG | 0.2050 | 0.2139 | 0.2088 | model_form_blend |
| predicted_BB | 0.2870 | 0.2940 | 0.2900 | model_form_blend |
| predicted_H | 0.8500 | 0.8010 | 0.8289 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1100 | 0.1090 | 0.1096 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2735 | 0.2664 | model_form_blend |
| predicted_R | 0.4850 | 0.5140 | 0.4975 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4220 | 0.4323 | model_form_blend |
| predicted_SLG | 0.3650 | 0.3621 | 0.3638 | model_form_blend |
| predicted_SO | 0.6730 | 0.6530 | 0.6644 | 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 | 408 |
| Season rows before report date | 408 |
| 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.245 |
| 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 | 3B |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 686797 |
| playerID | 686797 |
| playerName | Brooks Lee |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-29 |
| sl_k_percent | 16.2 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.318 |
| sl_xwoba | 0.274 |
| sl_xba | 0.226 |
| sl_xslg | 0.329 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 31.4 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 52.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.136 | 0.000 | 0.000 | Hitting_2B | 0.112 | 1.000 | -0.112 | -1.000 |
| predicted_3B | 0.051 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 2.831 | 3.000 | 3.000 | Hitting_AB | 3.129 | 3.000 | -0.129 | 0.000 |
| predicted_AVG | 0.291 | 0.333 | 0.333 | Hitting_AVG | 0.242 | 0.333 | 0.091 | 0.000 |
| predicted_BB | 0.186 | 1.000 | 0.000 | Hitting_BB | 0.235 | 0.000 | 0.765 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_H | 0.770 | 1.000 | 1.000 | Hitting_H | 0.759 | 1.000 | 0.241 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.300 | 0.500 | 0.333 | Hitting_OBP | 0.297 | 0.333 | 0.203 | 0.167 |
| predicted_R | 0.373 | 1.000 | 0.000 | Hitting_R | 0.435 | 0.000 | 0.565 | 1.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.476 | 0.000 | -0.476 | 0.000 |
| predicted_SLG | 0.485 | 0.333 | 0.333 | Hitting_SLG | 0.397 | 0.667 | -0.063 | -0.333 |
| predicted_SO | 0.627 | 0.000 | 1.000 | Hitting_SO | 0.759 | 0.000 | -0.759 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 6 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1860 -> 1.0000 (boost 0.8140, better) |
| Biggest Deboost | predicted_SO: 0.6270 -> 0.0000 (deboost -0.6270, 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 | 2 | 2 | predicted_AB: 2.8310 -> 2.9607 (boost 0.1297, better) | predicted_AVG: 0.2910 -> 0.2778 (deboost -0.0132, 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 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2962 -> 0.3095 (boost 0.0133, better) | predicted_SLG: 0.4758 -> 0.4437 (deboost -0.0321, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6275 -> 1.0000 (boost 0.3725, worse) | predicted_RBI: 0.3707 -> 0.0000 (deboost -0.3707, worse) | AB rounded to 3 (raw=2.96), rates preserved: AVG=0.270 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4015 -> 0.0000 (deboost -0.4015, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2704 -> 0.3330 (boost 0.0626, better) | predicted_SLG: 0.4437 -> 0.3330 (deboost -0.1107, worse) | 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_BB: 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4437 (boost 0.1107, better) | predicted_AVG: 0.3330 -> 0.2704 (deboost -0.0626, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668952",
"player_name": "Ryan Kreidler",
"position": "SS",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.051,
"predicted_AB": 2.831,
"predicted_AVG": 0.291,
"predicted_BB": 0.186,
"predicted_H": 0.77,
"predicted_HR": 0.06,
"predicted_OBP": 0.3,
"predicted_R": 0.373,
"predicted_RBI": 0.37,
"predicted_SLG": 0.485,
"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.1992,
"predicted_3B": 0.0624,
"predicted_AB": 2.9607,
"predicted_AVG": 0.2778,
"predicted_BB": 0.1664,
"predicted_H": 0.7879,
"predicted_HBP": 0.004,
"predicted_HR": 0.0616,
"predicted_OBP": 0.2962,
"predicted_R": 0.3909,
"predicted_RBI": 0.361,
"predicted_SLG": 0.4758,
"predicted_SO": 0.6315
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1992,
"delta": 0.0632,
"percent_delta": 0.4647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0624,
"delta": 0.0114,
"percent_delta": 0.2235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.831,
"after": 2.9607,
"delta": 0.1297,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2778,
"delta": -0.0132,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.1664,
"delta": -0.0196,
"percent_delta": -0.1054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7879,
"delta": 0.0179,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0616,
"delta": 0.0016,
"percent_delta": 0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2962,
"delta": -0.0038,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 0.3909,
"delta": 0.0179,
"percent_delta": 0.048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.361,
"delta": -0.009,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.4758,
"delta": -0.0092,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 0.6315,
"delta": 0.0045,
"percent_delta": 0.0072,
"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_AB",
"before": 2.831,
"after": 2.9607,
"delta": 0.1297,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2778,
"delta": -0.0132,
"percent_delta": -0.0454,
"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": 59
}
},
{
"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.1992,
"predicted_3B": 0.0624,
"predicted_AB": 2.9607,
"predicted_AVG": 0.2704,
"predicted_BB": 0.1675,
"predicted_H": 0.8006,
"predicted_HBP": 0.004,
"predicted_HR": 0.0631,
"predicted_OBP": 0.3095,
"predicted_R": 0.4015,
"predicted_RBI": 0.3707,
"predicted_SLG": 0.4437,
"predicted_SO": 0.6275
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1992,
"after": 0.1992,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0624,
"after": 0.0624,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9607,
"after": 2.9607,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2778,
"after": 0.2704,
"delta": -0.0074,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1664,
"after": 0.1675,
"delta": 0.0011,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7879,
"after": 0.8006,
"delta": 0.0127,
"percent_delta": 0.0161,
"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.0616,
"after": 0.0631,
"delta": 0.0015,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2962,
"after": 0.3095,
"delta": 0.0133,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3909,
"after": 0.4015,
"delta": 0.0106,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.361,
"after": 0.3707,
"delta": 0.0097,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4758,
"after": 0.4437,
"delta": -0.0321,
"percent_delta": -0.0675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6315,
"after": 0.6275,
"delta": -0.004,
"percent_delta": -0.0063,
"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.2962,
"after": 0.3095,
"delta": 0.0133,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4758,
"after": 0.4437,
"delta": -0.0321,
"percent_delta": -0.0675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.96), rates preserved: AVG=0.270 HR/AB=0.021",
"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.1992,
"after": 0.0,
"delta": -0.1992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0624,
"after": 0.0,
"delta": -0.0624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.9607,
"after": 3.0,
"delta": 0.0393,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1675,
"after": 0.0,
"delta": -0.1675,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8006,
"after": 1.0,
"delta": 0.1994,
"percent_delta": 0.2491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.0631,
"after": 0.0,
"delta": -0.0631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3707,
"after": 0.0,
"delta": -0.3707,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6275,
"after": 1.0,
"delta": 0.3725,
"percent_delta": 0.5936,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6275,
"after": 1.0,
"delta": 0.3725,
"percent_delta": 0.5936,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3707,
"after": 0.0,
"delta": -0.3707,
"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.4015,
"after": 0.0,
"delta": -0.4015,
"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.4015,
"after": 0.0,
"delta": -0.4015,
"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.2704,
"after": 0.333,
"delta": 0.0626,
"percent_delta": 0.2315,
"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.3095,
"after": 0.333,
"delta": 0.0235,
"percent_delta": 0.0759,
"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.4437,
"after": 0.333,
"delta": -0.1107,
"percent_delta": -0.2495,
"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.2704,
"after": 0.333,
"delta": 0.0626,
"percent_delta": 0.2315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4437,
"after": 0.333,
"delta": -0.1107,
"percent_delta": -0.2495,
"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": 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": 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": 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_BB",
"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": 3.0,
"predicted_AVG": 0.2704,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3095,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4437,
"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": 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.2704,
"delta": -0.0626,
"percent_delta": -0.188,
"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": 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.3095,
"delta": -0.0235,
"percent_delta": -0.0707,
"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.4437,
"delta": 0.1107,
"percent_delta": 0.3325,
"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.4437,
"delta": 0.1107,
"percent_delta": 0.3325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2704,
"delta": -0.0626,
"percent_delta": -0.188,
"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.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.831,
"after": 3.0,
"delta": 0.169,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2704,
"delta": -0.0206,
"percent_delta": -0.0708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.0,
"delta": 0.23,
"percent_delta": 0.2987,
"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.3,
"after": 0.3095,
"delta": 0.0095,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 1.0,
"delta": 0.627,
"percent_delta": 1.681,
"direction": "boost",
"projection_effect": "better",
"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.485,
"after": 0.4437,
"delta": -0.0413,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 6,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"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.136 | - |
| predicted_3B | 0.051 | - |
| predicted_AB | 2.831 | - |
| predicted_AVG | 0.291 | - |
| predicted_BB | 0.186 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.373 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.485 | - |
| 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.199 | 0.063 |
| predicted_3B | 0.062 | 0.011 |
| predicted_AB | 2.961 | 0.130 |
| predicted_AVG | 0.278 | -0.013 |
| predicted_BB | 0.166 | -0.020 |
| predicted_H | 0.788 | 0.018 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.062 | 0.002 |
| predicted_OBP | 0.296 | -0.004 |
| predicted_R | 0.391 | 0.018 |
| predicted_RBI | 0.361 | -0.009 |
| predicted_SLG | 0.476 | -0.009 |
| predicted_SO | 0.631 | 0.004 |
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.199 | 0.000 |
| predicted_3B | 0.062 | 0.000 |
| predicted_AB | 2.961 | 0.000 |
| predicted_AVG | 0.270 | -0.007 |
| predicted_BB | 0.168 | 0.001 |
| predicted_H | 0.801 | 0.013 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.063 | 0.002 |
| predicted_OBP | 0.309 | 0.013 |
| predicted_R | 0.402 | 0.011 |
| predicted_RBI | 0.371 | 0.010 |
| predicted_SLG | 0.444 | -0.032 |
| predicted_SO | 0.627 | -0.004 |
AB rounded to 3 (raw=2.96), rates preserved: AVG=0.270 HR/AB=0.021
| 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.199 |
| predicted_3B | 0.000 | -0.062 |
| predicted_AB | 3.000 | 0.039 |
| predicted_AVG | 0.333 | 0.063 |
| predicted_BB | 0.000 | -0.168 |
| predicted_H | 1.000 | 0.199 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.333 | 0.024 |
| predicted_R | 0.000 | -0.402 |
| predicted_RBI | 0.000 | -0.371 |
| predicted_SLG | 0.333 | -0.111 |
| predicted_SO | 1.000 | 0.373 |
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 | 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 | - | 17.000 | 6.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 0.000 | 2.000 | 0.3529 | 0.3529 | 0.7059 | 0.3529 | 0.0000 | 0.0588 | 0.0000 | 0.1177 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 0.000 | 7.000 | 0.2121 | 0.2121 | 0.3939 | 0.2121 | 0.0000 | 0.0303 | 0.0000 | 0.2121 |
| season | 0.60 | 59 | - | 167.000 | 41.000 | 8.000 | 3.000 | 5.000 | 25.000 | 22.000 | 11.000 | 37.000 | 0.2455 | 0.2921 | 0.4192 | 0.2455 | 0.0299 | 0.1497 | 0.0659 | 0.2216 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2910 |
| predicted_3B | 0.0790 |
| predicted_AB | 3.1490 |
| predicted_AVG | 0.2586 |
| predicted_BB | 0.1380 |
| predicted_H | 0.8140 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.2907 |
| predicted_R | 0.4170 |
| predicted_RBI | 0.3480 |
| predicted_SLG | 0.4625 |
| predicted_SO | 0.6380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.2910 | 0.1992 | model_form_blend |
| predicted_3B | 0.0510 | 0.0790 | 0.0624 | model_form_blend |
| predicted_AB | 2.8310 | 3.1490 | 2.9607 | model_form_blend |
| predicted_AVG | 0.2910 | 0.2586 | 0.2778 | model_form_blend |
| predicted_BB | 0.1860 | 0.1380 | 0.1664 | model_form_blend |
| predicted_H | 0.7700 | 0.8140 | 0.7879 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0600 | 0.0640 | 0.0616 | model_form_blend |
| predicted_OBP | 0.3000 | 0.2907 | 0.2962 | model_form_blend |
| predicted_R | 0.3730 | 0.4170 | 0.3909 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3480 | 0.3610 | model_form_blend |
| predicted_SLG | 0.4850 | 0.4625 | 0.4758 | model_form_blend |
| predicted_SO | 0.6270 | 0.6380 | 0.6315 | 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 | 170 |
| Season rows before report date | 170 |
| Report year | 2026 |
| Profile rows used | 59 |
| 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 | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.246 |
| 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 | 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 | 0 |
| 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 | SS |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 668952 |
| playerID | 668952 |
| playerName | Ryan Kreidler |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.311 |
| sl_xwoba | 0.298 |
| sl_xba | 0.231 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 52.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.219 | 0.000 | 0.000 | Hitting_2B | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 4.410 | 3.000 | 4.000 | Hitting_AB | 3.873 | 3.000 | -0.873 | 0.000 |
| predicted_AVG | 0.239 | 0.000 | 0.250 | Hitting_AVG | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_BB | 0.305 | 1.000 | 0.000 | Hitting_BB | 0.316 | 1.000 | 0.684 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 0.000 | 1.000 | Hitting_H | 0.971 | 0.000 | -0.971 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_OBP | 0.309 | 0.250 | 0.250 | Hitting_OBP | 0.309 | 0.250 | -0.059 | 0.000 |
| predicted_R | 0.486 | 0.000 | 0.000 | Hitting_R | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_RBI | 0.590 | 0.000 | 0.000 | Hitting_RBI | 0.662 | 0.000 | -0.662 | 0.000 |
| predicted_SLG | 0.380 | 0.000 | 0.250 | Hitting_SLG | 0.427 | 0.000 | -0.427 | 0.000 |
| predicted_SO | 0.895 | 2.000 | 1.000 | Hitting_SO | 0.949 | 0.000 | 1.051 | 2.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.8950 -> 2.0000 (boost 1.1050, worse) |
| Biggest Deboost | predicted_AB: 4.4100 -> 3.0000 (deboost -1.4100, 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 | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.8950 -> 0.9514 (boost 0.0564, worse) | predicted_AB: 4.4100 -> 4.0991 (deboost -0.3109, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3572 -> 0.3795 (boost 0.0223, better) | predicted_OBP: 0.3001 -> 0.2920 (deboost -0.0081, 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.9453 -> 1.0000 (boost 0.0547, worse) | predicted_RBI: 0.5493 -> 0.0000 (deboost -0.5493, worse) | AB rounded to 4 (raw=4.41), rates preserved: AVG=0.217 HR/AB=0.029 |
| 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.4606 -> 0.0000 (deboost -0.4606, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2336 -> 0.2500 (boost 0.0164, better) | predicted_SLG: 0.3795 -> 0.2500 (deboost -0.1295, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3795 (boost 0.1295, better) | predicted_AVG: 0.2500 -> 0.2336 (deboost -0.0164, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605137",
"player_name": "Josh Bell",
"position": "DH",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.219,
"predicted_3B": 0.01,
"predicted_AB": 4.41,
"predicted_AVG": 0.239,
"predicted_BB": 0.305,
"predicted_H": 1.06,
"predicted_HR": 0.16,
"predicted_OBP": 0.309,
"predicted_R": 0.486,
"predicted_RBI": 0.59,
"predicted_SLG": 0.38,
"predicted_SO": 0.895
},
"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.1983,
"predicted_3B": 0.0083,
"predicted_AB": 4.0991,
"predicted_AVG": 0.2279,
"predicted_BB": 0.3356,
"predicted_H": 0.9425,
"predicted_HBP": 0.013,
"predicted_HR": 0.1247,
"predicted_OBP": 0.3001,
"predicted_R": 0.4485,
"predicted_RBI": 0.5349,
"predicted_SLG": 0.3572,
"predicted_SO": 0.9514
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 0.1983,
"delta": -0.0207,
"percent_delta": -0.0945,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0083,
"delta": -0.0017,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.41,
"after": 4.0991,
"delta": -0.3109,
"percent_delta": -0.0705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2279,
"delta": -0.0111,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.305,
"after": 0.3356,
"delta": 0.0306,
"percent_delta": 0.1003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.9425,
"delta": -0.1175,
"percent_delta": -0.1108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1247,
"delta": -0.0353,
"percent_delta": -0.2206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3001,
"delta": -0.0089,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 0.4485,
"delta": -0.0375,
"percent_delta": -0.0772,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.5349,
"delta": -0.0551,
"percent_delta": -0.0934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3572,
"delta": -0.0228,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 0.9514,
"delta": 0.0564,
"percent_delta": 0.063,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.895,
"after": 0.9514,
"delta": 0.0564,
"percent_delta": 0.063,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.41,
"after": 4.0991,
"delta": -0.3109,
"percent_delta": -0.0705,
"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": 105
}
},
{
"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.1983,
"predicted_3B": 0.0083,
"predicted_AB": 4.0991,
"predicted_AVG": 0.2336,
"predicted_BB": 0.3377,
"predicted_H": 0.9577,
"predicted_HBP": 0.013,
"predicted_HR": 0.1276,
"predicted_OBP": 0.292,
"predicted_R": 0.4606,
"predicted_RBI": 0.5493,
"predicted_SLG": 0.3795,
"predicted_SO": 0.9453
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1983,
"after": 0.1983,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0991,
"after": 4.0991,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2279,
"after": 0.2336,
"delta": 0.0057,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3356,
"after": 0.3377,
"delta": 0.0021,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9425,
"after": 0.9577,
"delta": 0.0152,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1247,
"after": 0.1276,
"delta": 0.0029,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3001,
"after": 0.292,
"delta": -0.0081,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4485,
"after": 0.4606,
"delta": 0.0121,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5349,
"after": 0.5493,
"delta": 0.0144,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3572,
"after": 0.3795,
"delta": 0.0223,
"percent_delta": 0.0624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9514,
"after": 0.9453,
"delta": -0.0061,
"percent_delta": -0.0064,
"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.3572,
"after": 0.3795,
"delta": 0.0223,
"percent_delta": 0.0624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3001,
"after": 0.292,
"delta": -0.0081,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.41), rates preserved: AVG=0.217 HR/AB=0.029",
"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.1983,
"after": 0.0,
"delta": -0.1983,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0,
"delta": -0.0083,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0991,
"after": 4.0,
"delta": -0.0991,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3377,
"after": 0.0,
"delta": -0.3377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9577,
"after": 1.0,
"delta": 0.0423,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1276,
"after": 0.0,
"delta": -0.1276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5493,
"after": 0.0,
"delta": -0.5493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9453,
"after": 1.0,
"delta": 0.0547,
"percent_delta": 0.0579,
"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.9453,
"after": 1.0,
"delta": 0.0547,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5493,
"after": 0.0,
"delta": -0.5493,
"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": 4.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": 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_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": 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.4606,
"after": 0.0,
"delta": -0.4606,
"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.4606,
"after": 0.0,
"delta": -0.4606,
"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": 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.2336,
"after": 0.25,
"delta": 0.0164,
"percent_delta": 0.0702,
"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.292,
"after": 0.25,
"delta": -0.042,
"percent_delta": -0.1438,
"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.3795,
"after": 0.25,
"delta": -0.1295,
"percent_delta": -0.3412,
"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.2336,
"after": 0.25,
"delta": 0.0164,
"percent_delta": 0.0702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3795,
"after": 0.25,
"delta": -0.1295,
"percent_delta": -0.3412,
"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": 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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2336,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3795,
"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": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2336,
"delta": -0.0164,
"percent_delta": -0.0655,
"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.25,
"after": 0.292,
"delta": 0.042,
"percent_delta": 0.1679,
"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.3795,
"delta": 0.1295,
"percent_delta": 0.5179,
"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.3795,
"delta": 0.1295,
"percent_delta": 0.5179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2336,
"delta": -0.0164,
"percent_delta": -0.0655,
"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.219,
"after": 0.0,
"delta": -0.219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.41,
"after": 3.0,
"delta": -1.41,
"percent_delta": -0.3197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2336,
"delta": -0.0054,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.305,
"after": 1.0,
"delta": 0.695,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.292,
"delta": -0.017,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 0.0,
"delta": -0.486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3795,
"delta": -0.0005,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 2.0,
"delta": 1.105,
"percent_delta": 1.2346,
"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.895,
"after": 2.0,
"delta": 1.105,
"percent_delta": 1.2346,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.41,
"after": 3.0,
"delta": -1.41,
"percent_delta": -0.3197,
"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.219 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.410 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.305 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.486 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.380 | - |
| predicted_SO | 0.895 | - |
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.198 | -0.021 |
| predicted_3B | 0.008 | -0.002 |
| predicted_AB | 4.099 | -0.311 |
| predicted_AVG | 0.228 | -0.011 |
| predicted_BB | 0.336 | 0.031 |
| predicted_H | 0.943 | -0.118 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.125 | -0.035 |
| predicted_OBP | 0.300 | -0.009 |
| predicted_R | 0.449 | -0.037 |
| predicted_RBI | 0.535 | -0.055 |
| predicted_SLG | 0.357 | -0.023 |
| predicted_SO | 0.951 | 0.056 |
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.198 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 4.099 | 0.000 |
| predicted_AVG | 0.234 | 0.006 |
| predicted_BB | 0.338 | 0.002 |
| predicted_H | 0.958 | 0.015 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.128 | 0.003 |
| predicted_OBP | 0.292 | -0.008 |
| predicted_R | 0.461 | 0.012 |
| predicted_RBI | 0.549 | 0.014 |
| predicted_SLG | 0.380 | 0.022 |
| predicted_SO | 0.945 | -0.006 |
AB rounded to 4 (raw=4.41), rates preserved: AVG=0.217 HR/AB=0.029
| 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 | - |
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 | 4.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 | 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.198 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | -0.099 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 0.000 | -0.338 |
| predicted_H | 1.000 | 0.042 |
| predicted_HR | 0.000 | -0.128 |
| predicted_OBP | 0.250 | -0.042 |
| predicted_R | 0.000 | -0.461 |
| predicted_RBI | 0.000 | -0.549 |
| predicted_SLG | 0.250 | -0.130 |
| predicted_SO | 1.000 | 0.055 |
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 | -1.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 | 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 | - | 18.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 7.000 | 0.1111 | 0.2381 | 0.1111 | 0.1111 | 0.0000 | 0.0556 | 0.1667 | 0.3889 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 11.000 | 0.2105 | 0.2857 | 0.2632 | 0.2105 | 0.0000 | 0.0790 | 0.1053 | 0.2895 |
| season | 0.60 | 105 | - | 385.000 | 94.000 | 23.000 | 1.000 | 13.000 | 63.000 | 51.000 | 32.000 | 94.000 | 0.2442 | 0.3040 | 0.4104 | 0.2442 | 0.0338 | 0.1636 | 0.0831 | 0.2442 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1710 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.6880 |
| predicted_AVG | 0.2133 |
| predicted_BB | 0.3760 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0780 |
| predicted_OBP | 0.2884 |
| predicted_R | 0.3990 |
| predicted_RBI | 0.4620 |
| predicted_SLG | 0.3270 |
| predicted_SO | 1.0260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2190 | 0.1710 | 0.1983 | model_form_blend |
| predicted_3B | 0.0100 | 0.0060 | 0.0083 | model_form_blend |
| predicted_AB | 4.4100 | 3.6880 | 4.0991 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2133 | 0.2279 | model_form_blend |
| predicted_BB | 0.3050 | 0.3760 | 0.3356 | model_form_blend |
| predicted_H | 1.0600 | 0.7870 | 0.9425 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1600 | 0.0780 | 0.1247 | model_form_blend |
| predicted_OBP | 0.3090 | 0.2884 | 0.3001 | model_form_blend |
| predicted_R | 0.4860 | 0.3990 | 0.4485 | model_form_blend |
| predicted_RBI | 0.5900 | 0.4620 | 0.5349 | model_form_blend |
| predicted_SLG | 0.3800 | 0.3270 | 0.3572 | model_form_blend |
| predicted_SO | 0.8950 | 1.0260 | 0.9514 | 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 | 408 |
| Season rows before report date | 408 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| 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 | 0 |
| 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 | DH |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 605137 |
| playerID | 605137 |
| playerName | Josh Bell |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.314 |
| sl_xwoba | 0.319 |
| sl_xba | 0.245 |
| sl_xslg | 0.431 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 43.1 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 51.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.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 | 2.838 | 3.000 | 1.162 | 1.000 |
| predicted_AVG | 0.217 | 0.000 | 0.333 | Hitting_AVG | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_BB | 0.270 | 0.000 | 0.000 | Hitting_BB | 0.405 | 0.000 | -0.405 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.490 | 0.000 | 1.000 | Hitting_H | 0.622 | 0.000 | -0.622 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.252 | 0.000 | 0.333 | Hitting_OBP | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_R | 0.203 | 0.000 | 0.000 | Hitting_R | 0.378 | 0.000 | -0.378 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.595 | 0.000 | -0.595 | 0.000 |
| predicted_SLG | 0.252 | 0.000 | 0.333 | Hitting_SLG | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_SO | 0.473 | 2.000 | 1.000 | Hitting_SO | 0.432 | 1.000 | 1.568 | 1.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_SO: 0.4730 -> 2.0000 (boost 1.5270, worse) |
| Biggest Deboost | predicted_H: 0.4900 -> 0.0000 (deboost -0.4900, 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 | 4 | 0 | 3 | 1 | predicted_AB: 2.5000 -> 2.6631 (boost 0.1631, 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 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2564 -> 0.2746 (boost 0.0182, better) | predicted_AVG: 0.2145 -> 0.2041 (deboost -0.0104, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 3 | 2 | 2 | 3 | predicted_SO: 0.5199 -> 1.0000 (boost 0.4801, worse) | predicted_RBI: 0.4117 -> 0.0000 (deboost -0.4117, worse) | AB rounded to 3 (raw=2.66), rates preserved: AVG=0.204 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2398 -> 0.0000 (deboost -0.2398, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2041 -> 0.3330 (boost 0.1289, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | 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.2041 (deboost -0.1289, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702176",
"player_name": "Alan Roden",
"position": "RF",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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.217,
"predicted_BB": 0.27,
"predicted_H": 0.49,
"predicted_HR": 0.05,
"predicted_OBP": 0.252,
"predicted_R": 0.203,
"predicted_RBI": 0.35,
"predicted_SLG": 0.252,
"predicted_SO": 0.473
},
"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.0194,
"predicted_3B": 0.0016,
"predicted_AB": 2.6631,
"predicted_AVG": 0.2145,
"predicted_BB": 0.2572,
"predicted_H": 0.535,
"predicted_HBP": 0.011,
"predicted_HR": 0.048,
"predicted_OBP": 0.2564,
"predicted_R": 0.2335,
"predicted_RBI": 0.4009,
"predicted_SLG": 0.26,
"predicted_SO": 0.5232
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0194,
"delta": 0.0194,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0016,
"delta": 0.0016,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6631,
"delta": 0.1631,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2145,
"delta": -0.0025,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.2572,
"delta": -0.0128,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.49,
"after": 0.535,
"delta": 0.045,
"percent_delta": 0.0918,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.048,
"delta": -0.002,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.252,
"after": 0.2564,
"delta": 0.0044,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.203,
"after": 0.2335,
"delta": 0.0305,
"percent_delta": 0.1502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.4009,
"delta": 0.0509,
"percent_delta": 0.1454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.252,
"after": 0.26,
"delta": 0.008,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.473,
"after": 0.5232,
"delta": 0.0502,
"percent_delta": 0.1061,
"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": 2.5,
"after": 2.6631,
"delta": 0.1631,
"percent_delta": 0.0652,
"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": 15
}
},
{
"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.0194,
"predicted_3B": 0.0016,
"predicted_AB": 2.6631,
"predicted_AVG": 0.2041,
"predicted_BB": 0.2588,
"predicted_H": 0.5436,
"predicted_HBP": 0.011,
"predicted_HR": 0.0491,
"predicted_OBP": 0.2746,
"predicted_R": 0.2398,
"predicted_RBI": 0.4117,
"predicted_SLG": 0.268,
"predicted_SO": 0.5199
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0194,
"after": 0.0194,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6631,
"after": 2.6631,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2145,
"after": 0.2041,
"delta": -0.0104,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2572,
"after": 0.2588,
"delta": 0.0016,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.535,
"after": 0.5436,
"delta": 0.0086,
"percent_delta": 0.0161,
"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.048,
"after": 0.0491,
"delta": 0.0011,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2564,
"after": 0.2746,
"delta": 0.0182,
"percent_delta": 0.071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2335,
"after": 0.2398,
"delta": 0.0063,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4009,
"after": 0.4117,
"delta": 0.0108,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.26,
"after": 0.268,
"delta": 0.008,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5232,
"after": 0.5199,
"delta": -0.0033,
"percent_delta": -0.0063,
"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.2564,
"after": 0.2746,
"delta": 0.0182,
"percent_delta": 0.071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2145,
"after": 0.2041,
"delta": -0.0104,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.204 HR/AB=0.018",
"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.0194,
"after": 0.0,
"delta": -0.0194,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0,
"delta": -0.0016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6631,
"after": 3.0,
"delta": 0.3369,
"percent_delta": 0.1265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2588,
"after": 0.0,
"delta": -0.2588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5436,
"after": 1.0,
"delta": 0.4564,
"percent_delta": 0.8396,
"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.0491,
"after": 0.0,
"delta": -0.0491,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4117,
"after": 0.0,
"delta": -0.4117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5199,
"after": 1.0,
"delta": 0.4801,
"percent_delta": 0.9234,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5199,
"after": 1.0,
"delta": 0.4801,
"percent_delta": 0.9234,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4117,
"after": 0.0,
"delta": -0.4117,
"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.2398,
"after": 0.0,
"delta": -0.2398,
"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.2398,
"after": 0.0,
"delta": -0.2398,
"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.2041,
"after": 0.333,
"delta": 0.1289,
"percent_delta": 0.6316,
"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.2746,
"after": 0.333,
"delta": 0.0584,
"percent_delta": 0.2127,
"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.268,
"after": 0.333,
"delta": 0.065,
"percent_delta": 0.2425,
"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.2041,
"after": 0.333,
"delta": 0.1289,
"percent_delta": 0.6316,
"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": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"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.2041,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2746,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.268,
"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.2041,
"delta": -0.1289,
"percent_delta": -0.387,
"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.2746,
"delta": -0.0584,
"percent_delta": -0.1753,
"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.268,
"delta": -0.065,
"percent_delta": -0.1953,
"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.333,
"after": 0.2041,
"delta": -0.1289,
"percent_delta": -0.387,
"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.217,
"after": 0.2041,
"delta": -0.0129,
"percent_delta": -0.0594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.252,
"after": 0.2746,
"delta": 0.0226,
"percent_delta": 0.0897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.203,
"after": 0.0,
"delta": -0.203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.252,
"after": 0.268,
"delta": 0.016,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.473,
"after": 2.0,
"delta": 1.527,
"percent_delta": 3.2283,
"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_SO",
"before": 0.473,
"after": 2.0,
"delta": 1.527,
"percent_delta": 3.2283,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.270 | - |
| predicted_H | 0.490 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.252 | - |
| predicted_R | 0.203 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.252 | - |
| predicted_SO | 0.473 | - |
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.019 | 0.019 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.663 | 0.163 |
| predicted_AVG | 0.214 | -0.003 |
| predicted_BB | 0.257 | -0.013 |
| predicted_H | 0.535 | 0.045 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.048 | -0.002 |
| predicted_OBP | 0.256 | 0.004 |
| predicted_R | 0.234 | 0.030 |
| predicted_RBI | 0.401 | 0.051 |
| predicted_SLG | 0.260 | 0.008 |
| predicted_SO | 0.523 | 0.050 |
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.019 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.663 | 0.000 |
| predicted_AVG | 0.204 | -0.010 |
| predicted_BB | 0.259 | 0.002 |
| predicted_H | 0.544 | 0.009 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.049 | 0.001 |
| predicted_OBP | 0.275 | 0.018 |
| predicted_R | 0.240 | 0.006 |
| predicted_RBI | 0.412 | 0.011 |
| predicted_SLG | 0.268 | 0.008 |
| predicted_SO | 0.520 | -0.003 |
AB rounded to 3 (raw=2.66), rates preserved: AVG=0.204 HR/AB=0.018
| 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.019 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.337 |
| predicted_AVG | 0.333 | 0.129 |
| predicted_BB | 0.000 | -0.259 |
| predicted_H | 1.000 | 0.456 |
| predicted_HR | 0.000 | -0.049 |
| predicted_OBP | 0.333 | 0.058 |
| predicted_R | 0.000 | -0.240 |
| predicted_RBI | 0.000 | -0.412 |
| predicted_SLG | 0.333 | 0.065 |
| predicted_SO | 1.000 | 0.480 |
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 | 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 | - | 12.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 3.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.2500 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 23.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 2.000 | 4.000 | 0.1739 | 0.2308 | 0.1739 | 0.1739 | 0.0000 | 0.1739 | 0.0870 | 0.1739 |
| season | 0.60 | 15 | - | 37.000 | 7.000 | 0.000 | 0.000 | 0.000 | 7.000 | 3.000 | 4.000 | 7.000 | 0.1892 | 0.2619 | 0.1892 | 0.1892 | 0.0000 | 0.1892 | 0.1081 | 0.1892 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0590 |
| predicted_3B | 0.0050 |
| predicted_AB | 2.9970 |
| predicted_AVG | 0.2094 |
| predicted_BB | 0.2310 |
| predicted_H | 0.6270 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0440 |
| predicted_OBP | 0.2653 |
| predicted_R | 0.2960 |
| predicted_RBI | 0.5050 |
| predicted_SLG | 0.2765 |
| predicted_SO | 0.6260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0590 | 0.0194 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0016 | model_form_blend |
| predicted_AB | 2.5000 | 2.9970 | 2.6631 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2094 | 0.2145 | model_form_blend |
| predicted_BB | 0.2700 | 0.2310 | 0.2572 | model_form_blend |
| predicted_H | 0.4900 | 0.6270 | 0.5350 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0500 | 0.0440 | 0.0480 | model_form_blend |
| predicted_OBP | 0.2520 | 0.2653 | 0.2564 | model_form_blend |
| predicted_R | 0.2030 | 0.2960 | 0.2335 | model_form_blend |
| predicted_RBI | 0.3500 | 0.5050 | 0.4009 | model_form_blend |
| predicted_SLG | 0.2520 | 0.2765 | 0.2600 | model_form_blend |
| predicted_SO | 0.4730 | 0.6260 | 0.5232 | 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 | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 15 |
| 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.189 |
| 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 | RF |
| gameID | 20260729_KC@MIN |
| game_type | full |
| mlbID | 702176 |
| playerID | 702176 |
| playerName | Alan Roden |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-29 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.231 |
| sl_xwoba | 0.321 |
| sl_xba | 0.258 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 48.3 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 19.4 |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.467 | 1.000 | 1.533 | 2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.733 | 4.000 | -1.733 | -3.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 5.267 | 8.000 | -2.267 | -5.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.307 | 4.000 | -0.307 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 4.000 | 2.000 | -3.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": "641927",
"player_name": "Bailey Ober",
"position": "Starter",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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 | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.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 | 24.000 | 18.000 | 35.000 | 5.000 | 20.000 | 6.000 | 6.7500 | 1.6667 | 0.7500 | 1.4583 | 0.2083 | 0.8333 | 0.2500 |
| last_10 | 0.35 | 10 | 55.000 | 29.000 | 56.000 | 13.000 | 36.000 | 11.000 | 4.7455 | 1.2545 | 0.5273 | 1.0182 | 0.2364 | 0.6545 | 0.2000 |
| season | 0.20 | 15 | 81.000 | 41.000 | 79.000 | 22.000 | 60.000 | 13.000 | 4.5556 | 1.2469 | 0.5062 | 0.9753 | 0.2716 | 0.7407 | 0.1605 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3170 |
| predicted_ER | 2.9850 |
| predicted_ERA | 5.3458 |
| predicted_H | 5.7780 |
| predicted_HR | 0.9990 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.0400 |
| predicted_WHIP | 1.4119 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.3170 | 2.0838 | model_form_blend |
| predicted_ER | 1.0000 | 2.9850 | 2.0806 | model_form_blend |
| predicted_ERA | - | 5.3458 | 5.3458 | form_only |
| predicted_H | 3.0000 | 5.7780 | 4.5123 | model_form_blend |
| predicted_HR | 1.0000 | 0.9990 | 0.9995 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 1.0000 | 4.0400 | 2.6549 | model_form_blend |
| predicted_WHIP | - | 1.4119 | 1.4119 | 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 | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 15 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 1 |
| HR | 1 |
| BF | 22 |
| Pitches | 85 |
| 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 | 21 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.56 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 3 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 89 |
| Pitching_R | 4 |
| Pitching_SO | 2 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260722_MIN@CLE |
| game_type | full |
| mlbID | 641927 |
| playerID | 641927 |
| playerName | Bailey Ober |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-22 |
| game_pk | 824408.0 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.322 |
| sl_xwoba | 0.323 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 32.7 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 48.2 |
| sv_pitch_count | 89.0 |
| sv_outs_recorded_est | 12.0 |
| sv_release_speed | 81.72134831460674 |
| sv_release_spin_rate | 2092.4157303370785 |
| sv_effective_speed | 82.8752808988764 |
| sv_launch_speed | 80.90344827586206 |
| sv_launch_angle | 17.586206896551722 |
| sv_woba_value | 8.25 |
| sv_woba_denom | 21.0 |
| sv_delta_run_exp | 1.4070000000000005 |
| sv_delta_home_win_exp | 0.178 |
| sl_avg_best_speed | 76.83883375 |
| sl_avg_hyper_speed | 93.521549412 |
| 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.410 | 1.000 | -0.410 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.205 | 0.000 | -1.205 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.121 | 1.000 | -0.021 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.308 | 2.000 | -0.308 | -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": "702193",
"player_name": "Andrew Morris",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"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": 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": 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": 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 | 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 | 6.000 | 1.000 | 4.000 | 3.000 | 5.000 | 1.000 | 1.5000 | 1.1667 | 0.1667 | 0.6667 | 0.5000 | 0.8333 | 0.1667 |
| last_10 | 0.35 | 10 | 12.000 | 1.000 | 6.000 | 3.000 | 11.000 | 1.000 | 0.7500 | 0.7500 | 0.0833 | 0.5000 | 0.2500 | 0.9167 | 0.0833 |
| season | 0.20 | 39 | 50.000 | 18.000 | 47.000 | 16.000 | 51.000 | 3.000 | 3.2400 | 1.2600 | 0.3600 | 0.9400 | 0.3200 | 1.0200 | 0.0600 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4930 |
| predicted_ER | 0.3820 |
| predicted_ERA | 2.5775 |
| predicted_H | 1.0240 |
| predicted_HR | 0.1710 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.2260 |
| predicted_WHIP | 1.1372 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4930 | 0.2509 | model_form_blend |
| predicted_ER | 0.0000 | 0.3820 | 0.1944 | model_form_blend |
| predicted_ERA | - | 2.5775 | 2.5775 | form_only |
| predicted_H | 0.0000 | 1.0240 | 0.5211 | model_form_blend |
| predicted_HR | 0.0000 | 0.1710 | 0.0870 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2260 | 1.1150 | model_form_blend |
| predicted_WHIP | - | 1.1372 | 1.1372 | 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 | 39 |
| Season rows before report date | 39 |
| Report year | 2026 |
| Profile rows used | 39 |
| 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 | 1 |
| 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 | 0 |
| Pitching_ERA | 3.24 |
| 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 | 26 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260725_OAK@MIN |
| game_type | full |
| mlbID | 702193 |
| playerID | 702193 |
| playerName | Andrew Morris |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-25 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.284 |
| sl_xwoba | 0.264 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 32.9 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 74.24376338 |
| sl_avg_hyper_speed | 93.017902553 |
| 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 | 0.667 | 1.000 | 0.333 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.333 | 0.000 | 2.667 | 3.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.000 | 0.000 | 1.000 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.017 | 1.000 | -0.017 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 0.000 | -1.000 | 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": "667297",
"player_name": "Tommy Nance",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 1.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": 1.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 3.0,
"predicted_SO": 0.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": 2.0,
"after": 2.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.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": 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": 2.0,
"after": 2.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.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 | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.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 | 5.100 | 1.000 | 4.000 | 4.000 | 4.000 | 0.000 | 1.6875 | 1.5000 | 0.1875 | 0.7500 | 0.7500 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 4.000 | 12.000 | 6.000 | 11.000 | 2.000 | 3.2727 | 1.6364 | 0.3636 | 1.0909 | 0.5454 | 1.0000 | 0.1818 |
| season | 0.20 | 38 | 39.100 | 16.000 | 35.000 | 17.000 | 40.000 | 5.000 | 3.6610 | 1.3220 | 0.4068 | 0.8898 | 0.4322 | 1.0170 | 0.1271 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5140 |
| predicted_ER | 0.3760 |
| predicted_ERA | 3.3839 |
| predicted_H | 0.9280 |
| predicted_HR | 0.1130 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9170 |
| predicted_WHIP | 1.4420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5140 | 0.7641 | model_form_blend |
| predicted_ER | 3.0000 | 0.3760 | 1.7262 | model_form_blend |
| predicted_ERA | - | 3.3839 | 3.3839 | form_only |
| predicted_H | 2.0000 | 0.9280 | 1.4796 | model_form_blend |
| predicted_HR | 1.0000 | 0.1130 | 0.5694 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9170 | 0.4451 | model_form_blend |
| predicted_WHIP | - | 1.4420 | 1.4420 | 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 | 38 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 0 |
| HR | 1 |
| BF | 6 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.66 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 3 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260726_OAK@MIN |
| game_type | full |
| mlbID | 667297 |
| playerID | 667297 |
| playerName | Tommy Nance |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-26 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.296 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 48.5 |
| sl_avg_best_speed | 76.192503455 |
| sl_avg_hyper_speed | 93.351245413 |
| 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.382 | 0.000 | -0.382 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.529 | 0.000 | -0.529 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.782 | 1.000 | 0.218 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 0.882 | 1.000 | 2.118 | 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": "672782",
"player_name": "Yoendrys Gómez",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"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 | 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 | 5.000 | 1.000 | 3.000 | 4.000 | 6.000 | 0.000 | 1.8000 | 1.4000 | 0.2000 | 0.6000 | 0.8000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 7.000 | 5.000 | 8.000 | 1.000 | 3.1154 | 1.3846 | 0.3462 | 0.8077 | 0.5769 | 0.9231 | 0.1154 |
| season | 0.20 | 43 | 47.200 | 18.000 | 37.000 | 23.000 | 43.000 | 6.000 | 3.3986 | 1.2587 | 0.3776 | 0.7762 | 0.4825 | 0.9021 | 0.1259 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5540 |
| predicted_ER | 0.3620 |
| predicted_ERA | 3.2609 |
| predicted_H | 0.8000 |
| predicted_HR | 0.0950 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0140 |
| predicted_WHIP | 1.3545 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5540 | 0.2794 | model_form_blend |
| predicted_ER | 0.0000 | 0.3620 | 0.1826 | model_form_blend |
| predicted_ERA | - | 3.2609 | 3.2609 | form_only |
| predicted_H | 0.0000 | 0.8000 | 0.4035 | model_form_blend |
| predicted_HR | 0.0000 | 0.0950 | 0.0479 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 1.0140 | 1.9984 | model_form_blend |
| predicted_WHIP | - | 1.3545 | 1.3545 | 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 | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 43 |
| 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 | 3 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| 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 | 3.40 |
| 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 | 8 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260725_OAK@MIN |
| game_type | full |
| mlbID | 672782 |
| playerID | 672782 |
| playerName | Yoendrys Gómez |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-25 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.293 |
| sl_xwoba | 0.343 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 45.0 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 47.6 |
| sl_avg_best_speed | 77.237093731 |
| sl_avg_hyper_speed | 94.160852836 |
| 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.652 | 1.000 | -0.652 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.826 | 0.000 | -0.826 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.304 | 0.000 | -0.304 | 1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.304 | 0.200 | -1.104 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.609 | 1.000 | -1.609 | -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.6667 -> 0.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: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "701519",
"player_name": "Travis Adams",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"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": 0.2,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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": 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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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 | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| 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 | 7.200 | 2.000 | 5.000 | 2.000 | 5.000 | 0.000 | 2.3478 | 0.9130 | 0.2609 | 0.6522 | 0.2609 | 0.6522 | 0.0000 |
| last_10 | 0.35 | 10 | 14.100 | 4.000 | 9.000 | 7.000 | 13.000 | 1.000 | 2.5116 | 1.1163 | 0.2791 | 0.6279 | 0.4884 | 0.9070 | 0.0698 |
| season | 0.20 | 23 | 32.100 | 19.000 | 30.000 | 15.000 | 37.000 | 5.000 | 5.2887 | 1.3918 | 0.5876 | 0.9278 | 0.4639 | 1.1443 | 0.1546 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4170 |
| predicted_ER | 0.4600 |
| predicted_ERA | 3.6754 |
| predicted_H | 0.9240 |
| predicted_HR | 0.1100 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0050 |
| predicted_WHIP | 1.1901 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4170 | 0.1941 | model_form_blend |
| predicted_ER | 0.0000 | 0.4600 | 0.2141 | model_form_blend |
| predicted_ERA | - | 3.6754 | 3.6754 | form_only |
| predicted_H | 1.0000 | 0.9240 | 0.9646 | model_form_blend |
| predicted_HR | 0.0000 | 0.1100 | 0.0512 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0050 | 0.4677 | model_form_blend |
| predicted_WHIP | - | 1.1901 | 1.1901 | 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 | 0.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 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 | 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 | 5.29 |
| 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 | 0.2 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260728_KC@MIN |
| game_type | full |
| mlbID | 701519 |
| playerID | 701519 |
| playerName | Travis Adams |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-07-28 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.327 |
| sl_xwoba | 0.319 |
| sl_sweet_spot_percent | 42.0 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 30.7 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 47.8 |
| sl_avg_best_speed | 76.550409286 |
| sl_avg_hyper_speed | 93.66972494 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIA 2 - 3 NYM | NYM | 0.526 | scoring_simulation.final_score | True |
| Simulation draw | MIA 3 - 4 NYM | NYM | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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 | 6.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5263 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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.182 | 4.964 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 2 | 3 | 0.5263 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 2 | 3 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 2 | 3 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5879677315411356,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.16154826456546928,
"confidence": 0.78942412,
"factors": {
"environmental": 0.9496199999999999,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.37884824
},
"prediction": "low_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 6.7,
"low_score_model_expected_total_runs": 6.7,
"final_simulation_total_runs": 7,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 86,
"near_bucket_sample_size": 86,
"medium_bucket_sample_size": 307,
"wide_bucket_sample_size": 319,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5116,
"bayesian_hit_rate": 0.5096,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8269,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5856,
"calibrated_pick_probability": 0.536,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "NYM",
"games": 109,
"wins": 46,
"losses": 63,
"win_pct": 0.42201834862385323,
"runs_scored": 449,
"runs_allowed": 500,
"run_differential": -51,
"run_differential_per_game": -0.46788990825688076,
"available": true
},
"away": {
"team": "MIA",
"games": 109,
"wins": 55,
"losses": 54,
"win_pct": 0.5045871559633027,
"runs_scored": 481,
"runs_allowed": 475,
"run_differential": 6,
"run_differential_per_game": 0.05504587155963303,
"available": true
},
"run_differential_edge_per_game": -0.5229,
"win_pct_edge": -0.0826,
"quality_edge": -0.6468,
"margin_adjustment": -0.2717,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.858,
"home_runs": 3.475,
"home_win_probability": 0.6375
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "NYM",
"opponent_team": "MIA",
"h2h_net_margin": 16,
"recent_h2h": [
{
"date": "2026-05-31",
"predicted_team_runs": 10,
"opponent_runs": 1,
"margin_for_predicted_team": 9,
"winner": "NYM"
},
{
"date": "2026-05-30",
"predicted_team_runs": 6,
"opponent_runs": 1,
"margin_for_predicted_team": 5,
"winner": "NYM"
},
{
"date": "2026-05-29",
"predicted_team_runs": 9,
"opponent_runs": 7,
"margin_for_predicted_team": 2,
"winner": "NYM"
}
],
"prediction_memory": {
"available": false,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": []
},
"guardrail_predicted_team": "NYM",
"guardrail_opponent_team": "MIA",
"output_pre_simulation_winner": "NYM",
"output_opponent_team": "MIA",
"final_score_winner": "NYM",
"pre_simulation_winner": "NYM",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 NYM",
"winner": "NYM"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "MIA 3 - 4 NYM",
"winner": "NYM"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.6468,
"winner": "NYM",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "NYM",
"games": 109,
"wins": 46,
"losses": 63,
"win_pct": 0.42201834862385323,
"runs_scored": 449,
"runs_allowed": 500,
"run_differential": -51,
"run_differential_per_game": -0.46788990825688076,
"available": true
},
"away": {
"team": "MIA",
"games": 109,
"wins": 55,
"losses": 54,
"win_pct": 0.5045871559633027,
"runs_scored": 481,
"runs_allowed": 475,
"run_differential": 6,
"run_differential_per_game": 0.05504587155963303,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.0071,
"final_margin": 1.0071,
"margin_cap": 1.5,
"season_quality_edge": 0.6468,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.536009,
"final_confidence": 0.536009,
"confidence_cap": 0.66,
"score_gap": 1.0071,
"calibration_sample_size": 86,
"calibration_empirical_hit_rate": 0.5116,
"calibration_bayesian_hit_rate": 0.5096,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6468,
"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": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 NYM",
"winner": "NYM"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "MIA 3 - 4 NYM",
"winner": "NYM"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.6468,
"winner": "NYM",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 4,
"confidence": 0.526345577720139,
"home_win_probability": 0.526345577720139,
"away_win_probability": 0.473654422279861,
"predicted_score_text": "MIA 3 - 4 NYM",
"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": "MIA",
"original_runs": 2,
"run_delta": -0.1579,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.1169699456194523,
"contact": 0.24018237546323393,
"power": 0.15588151815639226,
"discipline": 0.15852999432723217,
"xwoba": 0.3232121212121212,
"recent_xwoba": 0.3232121212121212,
"barrel": 7.751515151515153,
"ab_hard_contact": 0.1389521524496396,
"ab_bat_speed": 70.08316988094975,
"ab_strikeout_rate": 0.19487693207969423,
"available_players": 9,
"top_players": [
{
"player_id": "681715",
"player_name": "Heriberto Hernández",
"position": "LF",
"weight": 4.0,
"quality": 0.8191495538026421,
"contact": 0.730330759084467,
"power": 1.3412385223166152,
"discipline": -0.4056450216450218,
"xwoba": 0.352,
"recent_xwoba": 0.352,
"barrel": 13.0,
"ab_hard_contact": 1.0472466368084954,
"ab_bat_speed": 73.28982142857143,
"ab_strikeout_rate": 0.2335714285714286,
"available": 1.0
},
{
"player_id": "665052",
"player_name": "Griffin Conine",
"position": "RF",
"weight": 3.0,
"quality": 0.47416703481510647,
"contact": 1.0311943139063957,
"power": 1.472065602652452,
"discipline": -0.44166743060860686,
"xwoba": 0.375,
"recent_xwoba": 0.375,
"barrel": 14.9,
"ab_hard_contact": 0.965883481620471,
"ab_bat_speed": 72.46161192810457,
"ab_strikeout_rate": 0.30245098039215684,
"available": 1.0
},
{
"player_id": "691594",
"player_name": "Javier Sanoja",
"position": "3B",
"weight": 3.0,
"quality": -0.5434319249999107,
"contact": -0.3492364636347574,
"power": -1.0226608712855745,
"discipline": 0.5282206013164917,
"xwoba": 0.27,
"recent_xwoba": 0.27,
"barrel": 1.6,
"ab_hard_contact": -0.860455520949585,
"ab_bat_speed": 67.33288807349423,
"ab_strikeout_rate": 0.08242009132420092,
"available": 1.0
},
{
"player_id": "805300",
"player_name": "Jakob Marsee",
"position": "CF",
"weight": 3.0,
"quality": -0.46003154195862367,
"contact": -0.5037596564075029,
"power": -0.8976023591295385,
"discipline": 0.7470294997099121,
"xwoba": 0.299,
"recent_xwoba": 0.299,
"barrel": 3.5,
"ab_hard_contact": -0.5669043254479083,
"ab_bat_speed": 67.28474747474748,
"ab_strikeout_rate": 0.22989690721649486,
"available": 1.0
},
{
"player_id": "669065",
"player_name": "Kyle Stowers",
"position": "1B",
"weight": 4.0,
"quality": 0.3631529332876605,
"contact": 0.24036754898504287,
"power": 0.9042416779920652,
"discipline": -0.6759380619380618,
"xwoba": 0.324,
"recent_xwoba": 0.324,
"barrel": 12.0,
"ab_hard_contact": 0.37092879793655437,
"ab_bat_speed": 73.30253378103377,
"ab_strikeout_rate": 0.3224358974358974,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "690997",
"player_name": "Nolan McLean",
"quality": 0.39459370151178086,
"contact": 0.5643415898971192,
"command": 0.23532372134038826,
"movement": 0.4242857905528723,
"xwoba": 0.291,
"whiff": 25.8,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "NYM",
"original_runs": 3,
"run_delta": -0.0888,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.19020339601534794,
"contact": 0.13865424790655947,
"power": 0.11618734815518406,
"discipline": 0.041152273770599594,
"xwoba": 0.31794285714285714,
"recent_xwoba": 0.31794285714285714,
"barrel": 7.502857142857142,
"ab_hard_contact": 0.1591428814710312,
"ab_bat_speed": 70.13755886650627,
"ab_strikeout_rate": 0.2208169902986644,
"available_players": 9,
"top_players": [
{
"player_id": "596019",
"player_name": "Francisco Lindor",
"position": "SS",
"weight": 4.0,
"quality": 0.7455079161717642,
"contact": 0.9239207760912695,
"power": 0.8732055077793183,
"discipline": 0.40137085137085127,
"xwoba": 0.352,
"recent_xwoba": 0.352,
"barrel": 9.6,
"ab_hard_contact": 0.9124911079673304,
"ab_bat_speed": 71.9332385361552,
"ab_strikeout_rate": 0.16555555555555557,
"available": 1.0
},
{
"player_id": "682626",
"player_name": "Francisco Alvarez",
"position": "C",
"weight": 3.0,
"quality": 0.5317832544740133,
"contact": 0.3188022705967646,
"power": 1.1395837296623734,
"discipline": -0.2881193806193806,
"xwoba": 0.343,
"recent_xwoba": 0.343,
"barrel": 16.0,
"ab_hard_contact": 0.07586506943795773,
"ab_bat_speed": 72.77570726495726,
"ab_strikeout_rate": 0.27397435897435896,
"available": 1.0
},
{
"player_id": "593871",
"player_name": "Jorge Polanco",
"position": "DH",
"weight": 4.0,
"quality": -0.4175132009930495,
"contact": -1.3680056146013715,
"power": -1.2439081183229739,
"discipline": -0.1377878787878788,
"xwoba": 0.23499999999999996,
"recent_xwoba": 0.235,
"barrel": 2.8,
"ab_hard_contact": 0.05174239544528379,
"ab_bat_speed": 68.10679797979797,
"ab_strikeout_rate": 0.225,
"available": 1.0
},
{
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"weight": 4.0,
"quality": 0.3802038368197365,
"contact": 0.5401137061425889,
"power": 0.28850641821917894,
"discipline": -0.024549365838839612,
"xwoba": 0.338,
"recent_xwoba": 0.338,
"barrel": 7.6,
"ab_hard_contact": 0.508033126288349,
"ab_bat_speed": 69.21374239766082,
"ab_strikeout_rate": 0.23269005847953214,
"available": 1.0
},
{
"player_id": "676724",
"player_name": "Jared Young",
"position": "1B",
"weight": 3.0,
"quality": 0.20838017129751285,
"contact": 0.2900462541132479,
"power": 0.45161356372923156,
"discipline": -0.16219630369630386,
"xwoba": 0.326,
"recent_xwoba": 0.326,
"barrel": 10.2,
"ab_hard_contact": -0.05306205874869457,
"ab_bat_speed": 71.434375,
"ab_strikeout_rate": 0.21955128205128205,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "691587",
"player_name": "Eury Pérez",
"quality": 0.18272315305322334,
"contact": 0.14195372653624594,
"command": 0.18046657848324538,
"movement": 0.7630762404317235,
"xwoba": 0.309,
"whiff": 27.8,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 2,
"home_runs": 3,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 2,
"home_runs": 3,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": -0.6468,
"recent_form_edge_home_minus_away": 0.686,
"pitcher_matchup_edge_home_minus_away": 0.0259,
"composite_home_edge": 0.0527,
"existing_home_win_probability": 0.536,
"refreshed_home_win_probability": 0.5263,
"winner_support_before_review": 0.0527
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 3,
"predicted_score_text": "MIA 2 - 3 NYM",
"confidence": 0.526345577720139,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 NYM",
"winner": "NYM"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "MIA 3 - 4 NYM",
"winner": "NYM"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.6468,
"winner": "NYM",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "NYM",
"display_confidence": 0.5263,
"internal_signal_score": 0.5144,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5263,
"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": "neutral_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": -0.6468,
"winner_recent_form_edge": 0.616,
"winner_pitcher_matchup_edge": 0.0259,
"winner_simulation_draw_rate": 0.375,
"blowout_draw_rate_margin_4_plus": 0.25,
"high_total_draw_rate_11_plus": 0.125,
"low_total_draw_rate_6_or_less": 0.25,
"total_runs_spread": {
"min": 4,
"median": 7,
"max": 11,
"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 MIA | True | 1.0149 | 1.0149 | 1 | 9 | 0 |
| Home NYM | True | 1.0299 | 1.0299 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Kyle Stowers | 246 | 1.0439 | 0.5850 | neutral | 0.3240 | 0.2290 | 0.4270 | 12 | 54.50 | 91.80 | 17.20 | 36 | 32.30 | 9.10 | -0.2286 |
| DH | Liam Hicks | 58 | 0.9776 | -0.2986 | negative_batter_regression | 0.3110 | 0.2510 | 0.3520 | 3.90 | 30.40 | 85.20 | 14 | 10.80 | 9.80 | 9.30 | -1.0857 |
| RF | Griffin Conine | 163 | 1.0520 | 0.6938 | neutral | 0.3750 | 0.2750 | 0.5060 | 14.90 | 55.40 | 90.60 | 4.90 | 36.30 | 29.40 | 10.30 | -0.2286 |
| 3B | Javier Sanoja | 186 | 0.9466 | -0.7123 | negative_batter_regression | 0.2700 | 0.2510 | 0.3170 | 1.60 | 31.10 | 86.80 | 12 | 12.10 | 8.20 | 5.30 | -0.9143 |
| LF | Heriberto Hernández | 138 | 1.0853 | 1.1380 | neutral | 0.3520 | 0.2540 | 0.4970 | 13 | 51.40 | 92.20 | 13.40 | 33.60 | 26.50 | 8.70 | 0.4000 |
| C | Joe Mack | 164 | 1.0219 | 0.2916 | neutral | 0.3170 | 0.2390 | 0.4370 | 10.10 | 40.60 | 89.10 | 11.40 | 24.90 | 25.40 | 6.30 | 0.0571 |
| CF | Jakob Marsee | 525 | 0.9748 | -0.3365 | neutral | 0.2990 | 0.2170 | 0.3080 | 3.50 | 33.20 | 86.80 | 18.20 | 18.70 | 22.10 | 12.90 | 0.4000 |
| SS | Otto Lopez | 2 | 1.0293 | 0.3901 | negative_batter_regression | 0.3310 | 0.2860 | 0.4340 | 6.70 | 41.80 | 89.20 | 7.60 | 20.30 | 13.80 | 5.10 | -1.0286 |
| 2B | Xavier Edwards | 42 | 1.0026 | 0.0345 | neutral | 0.3200 | 0.2640 | 0.3730 | 4.10 | 28.90 | 87.10 | 10.60 | 16.40 | 13.60 | 11.90 | -0.6000 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Carson Benge | 99 | 1.0534 | 0.7116 | neutral | 0.3380 | 0.2780 | 0.4300 | 7.60 | 40.20 | 89.10 | 10.60 | 21.80 | 22.10 | 7.60 | 0.6286 |
| SS | Francisco Lindor | 179 | 1.0703 | 0.9371 | neutral | 0.3520 | 0.2620 | 0.4630 | 9.60 | 49.40 | 91.60 | 15.50 | 24.20 | 17.10 | 10.10 | 0.7429 |
| LF | A.J. Ewing | 47 | 1.0178 | 0.2369 | neutral | 0.3190 | 0.2540 | 0.3950 | 6.40 | 41.90 | 89.20 | 11.50 | 25.30 | 26.60 | 9.60 | -0.4286 |
| 3B | Bo Bichette | 364 | 1.0421 | 0.5609 | neutral | 0.3250 | 0.2810 | 0.4140 | 6.40 | 41.70 | 89.40 | 7.50 | 19 | 18.10 | 6.30 | 0.7429 |
| CF | Luis Robert Jr. | 346 | 1.0035 | 0.0462 | neutral | 0.3170 | 0.2300 | 0.3780 | 3.80 | 41.30 | 88.90 | 13.50 | 26.20 | 21.30 | 13.10 | 0.5143 |
| DH | Jorge Polanco | 611 | 0.9661 | -0.4520 | positive_batter_regression | 0.2350 | 0.1950 | 0.2700 | 2.80 | 29.20 | 85.30 | 13.40 | 23 | 21.80 | 6.90 | 1.0571 |
| 1B | Jared Young | 187 | 1.0259 | 0.3457 | neutral | 0.3260 | 0.2430 | 0.4100 | 10.20 | 46.10 | 89.80 | 10.10 | 25.80 | 20.20 | 7.10 | -0.0857 |
| 2B | Marcus Semien | 586 | 1.0252 | 0.3360 | positive_batter_regression | 0.3130 | 0.2500 | 0.4120 | 7.80 | 36.20 | 86.60 | 18.60 | 23.60 | 21.80 | 7.20 | 1.0286 |
| C | Francisco Alvarez | 223 | 1.0647 | 0.8631 | neutral | 0.3430 | 0.2460 | 0.4670 | 16 | 44.40 | 90.30 | 10.90 | 32.50 | 26.20 | 9.60 | -0.0571 |
{
"home": {
"applied": true,
"offense_factor": 1.0299,
"raw_average_factor": 1.0299,
"team_espn_average_rank": 293.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "701807",
"player_name": "Carson Benge",
"offense_factor": 1.0534,
"quality_score": 0.7116,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701807",
"espn_id": 4925604,
"player_name": "Carson Benge",
"team": "NYM",
"role": "batter",
"espn_rank": 99,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 99,
"gp_value": 104.0,
"gp_rank": 50,
"ab_value": 390.0,
"ab_rank": 52,
"r_value": 54.0,
"r_rank": 59,
"h_value": 102.0,
"h_rank": 45,
"avg_value": 0.2615384,
"avg_rank": 63.0,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 41.0,
"rbi_rank": 123,
"tb_value": 153.0,
"tb_rank": 625,
"bb_value": 32.0,
"bb_rank": 122,
"so_value": 95.0,
"so_rank": 61,
"sb_value": 16.0,
"sb_rank": 26,
"obp_value": 0.3247663,
"obp_rank": "86",
"slg_value": 0.3923076,
"slg_rank": "116",
"ops_value": 0.7170739,
"ops_rank": 30.0,
"war_value": 1.72,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 401.0,
"k_percent": 22.1,
"bb_percent": 7.6,
"woba": 0.316,
"xwoba": 0.338,
"xba": 0.278,
"xslg": 0.43,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 40.2,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 10.6,
"whiff_percent": 21.8,
"swing_percent": 44.7
},
"components": {
"expected_quality": 0.7251,
"regression_edge": 0.6286,
"xwoba_edge": 1.0143,
"xba_edge": 1.1286,
"xslg_edge": 0.8357,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.3,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.75,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "596019",
"player_name": "Francisco Lindor",
"offense_factor": 1.0703,
"quality_score": 0.9371,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "596019",
"espn_id": 32129,
"player_name": "Francisco Lindor",
"team": "NYM",
"role": "batter",
"espn_rank": 179,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 179,
"gp_value": 52.0,
"gp_rank": 329,
"ab_value": 199.0,
"ab_rank": 256,
"r_value": 26.0,
"r_rank": 238,
"h_value": 45.0,
"h_rank": 258,
"avg_value": 0.2261306,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 339,
"3b_value": 4.0,
"3b_rank": 12,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 23.0,
"rbi_rank": 253,
"tb_value": 82.0,
"tb_rank": 1131,
"bb_value": 24.0,
"bb_rank": 181,
"so_value": 38.0,
"so_rank": 295,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3155555,
"obp_rank": "-",
"slg_value": 0.4120603,
"slg_rank": "-",
"ops_value": 0.7276158,
"ops_rank": null,
"war_value": 0.97,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 17.1,
"bb_percent": 10.1,
"woba": 0.326,
"xwoba": 0.352,
"xba": 0.262,
"xslg": 0.463,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 49.4,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 15.5,
"whiff_percent": 24.2,
"swing_percent": 45.9
},
"components": {
"expected_quality": 1.096,
"regression_edge": 0.7429,
"xwoba_edge": 1.4143,
"xba_edge": 0.6714,
"xslg_edge": 1.3071,
"barrel_edge": 0.6222,
"hard_hit_edge": 1.6143,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "805999",
"player_name": "A.J. Ewing",
"offense_factor": 1.0178,
"quality_score": 0.2369,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805999",
"espn_id": 5208019,
"player_name": "A.J. Ewing",
"team": "NYM",
"role": "batter",
"espn_rank": 47,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 47,
"gp_value": 68.0,
"gp_rank": 252,
"ab_value": 242.0,
"ab_rank": 205,
"r_value": 32.0,
"r_rank": 196,
"h_value": 66.0,
"h_rank": 172,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 172,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 27.0,
"rbi_rank": 223,
"tb_value": 101.0,
"tb_rank": 1147,
"bb_value": 27.0,
"bb_rank": 156,
"so_value": 72.0,
"so_rank": 140,
"sb_value": 14.0,
"sb_rank": 38,
"obp_value": 0.3443223,
"obp_rank": "-",
"slg_value": 0.4173553,
"slg_rank": "-",
"ops_value": 0.7616776,
"ops_rank": null,
"war_value": 2.67,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 244.0,
"k_percent": 26.6,
"bb_percent": 9.6,
"woba": 0.334,
"xwoba": 0.319,
"xba": 0.254,
"xslg": 0.395,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 41.9,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 11.5,
"whiff_percent": 25.3,
"swing_percent": 45.2
},
"components": {
"expected_quality": 0.3452,
"regression_edge": -0.4286,
"xwoba_edge": 0.4714,
"xba_edge": 0.4429,
"xslg_edge": 0.3357,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "666182",
"player_name": "Bo Bichette",
"offense_factor": 1.0421,
"quality_score": 0.5609,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666182",
"espn_id": 38904,
"player_name": "Bo Bichette",
"team": "NYM",
"role": "batter",
"espn_rank": 364,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 364,
"gp_value": 108.0,
"gp_rank": 7,
"ab_value": 429.0,
"ab_rank": 3,
"r_value": 52.0,
"r_rank": 71,
"h_value": 110.0,
"h_rank": 21,
"avg_value": 0.2564102,
"avg_rank": 73.0,
"2b_value": 15.0,
"2b_rank": 120,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 53.0,
"rbi_rank": 56,
"tb_value": 157.0,
"tb_rank": 755,
"bb_value": 29.0,
"bb_rank": 139,
"so_value": 85.0,
"so_rank": 82,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3019271,
"obp_rank": "130",
"slg_value": 0.3659673,
"slg_rank": "133",
"ops_value": 0.6678944,
"ops_rank": 3.0,
"war_value": 0.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 432.0,
"k_percent": 18.1,
"bb_percent": 6.3,
"woba": 0.299,
"xwoba": 0.325,
"xba": 0.281,
"xslg": 0.414,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 7.5,
"whiff_percent": 19.0,
"swing_percent": 52.9
},
"components": {
"expected_quality": 0.5312,
"regression_edge": 0.7429,
"xwoba_edge": 0.6429,
"xba_edge": 1.2143,
"xslg_edge": 0.6071,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.5143,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "673357",
"player_name": "Luis Robert Jr.",
"offense_factor": 1.0035,
"quality_score": 0.0462,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673357",
"espn_id": 39631,
"player_name": "Luis Robert Jr.",
"team": "NYM",
"role": "batter",
"espn_rank": 346,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 346,
"gp_value": 32.0,
"gp_rank": 414,
"ab_value": 110.0,
"ab_rank": 376,
"r_value": 14.0,
"r_rank": 358,
"h_value": 22.0,
"h_rank": 387,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 408,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 10.0,
"rbi_rank": 390,
"tb_value": 37.0,
"tb_rank": 2130,
"bb_value": 16.0,
"bb_rank": 259,
"so_value": 28.0,
"so_rank": 371,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3015873,
"obp_rank": "-",
"slg_value": 0.3363636,
"slg_rank": "-",
"ops_value": 0.6379509,
"ops_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 108.0,
"k_percent": 21.3,
"bb_percent": 13.1,
"woba": 0.299,
"xwoba": 0.317,
"xba": 0.23,
"xslg": 0.378,
"sweet_spot_percent": 21.3,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 41.3,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 13.5,
"whiff_percent": 26.2,
"swing_percent": 48.1
},
"components": {
"expected_quality": 0.0257,
"regression_edge": 0.5143,
"xwoba_edge": 0.4143,
"xba_edge": -0.2429,
"xslg_edge": 0.0929,
"barrel_edge": -0.6667,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -2.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "593871",
"player_name": "Jorge Polanco",
"offense_factor": 0.9661,
"quality_score": -0.452,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "593871",
"espn_id": 32525,
"player_name": "Jorge Polanco",
"team": "NYM",
"role": "batter",
"espn_rank": 611,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 611,
"gp_value": 26.0,
"gp_rank": 442,
"ab_value": 97.0,
"ab_rank": 395,
"r_value": 5.0,
"r_rank": 465,
"h_value": 14.0,
"h_rank": 434,
"avg_value": 0.1443298,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 371,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 4.0,
"rbi_rank": 476,
"tb_value": 21.0,
"tb_rank": 2551,
"bb_value": 7.0,
"bb_rank": 395,
"so_value": 25.0,
"so_rank": 390,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.201923,
"obp_rank": "-",
"slg_value": 0.2164948,
"slg_rank": "-",
"ops_value": 0.4184178,
"ops_rank": null,
"war_value": -1.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 91.0,
"k_percent": 21.8,
"bb_percent": 6.9,
"woba": 0.198,
"xwoba": 0.235,
"xba": 0.195,
"xslg": 0.27,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 29.2,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 13.4,
"whiff_percent": 23.0,
"swing_percent": 45.2
},
"components": {
"expected_quality": -1.3401,
"regression_edge": 1.0571,
"xwoba_edge": -1.9286,
"xba_edge": -1.2429,
"xslg_edge": -1.45,
"barrel_edge": -0.8889,
"hard_hit_edge": -1.2714,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "676724",
"player_name": "Jared Young",
"offense_factor": 1.0259,
"quality_score": 0.3457,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676724",
"espn_id": 41575,
"player_name": "Jared Young",
"team": "NYM",
"role": "batter",
"espn_rank": 187,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 187,
"gp_value": 61.0,
"gp_rank": 286,
"ab_value": 166.0,
"ab_rank": 290,
"r_value": 20.0,
"r_rank": 299,
"h_value": 42.0,
"h_rank": 267,
"avg_value": 0.253012,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 19.0,
"rbi_rank": 294,
"tb_value": 71.0,
"tb_rank": 1616,
"bb_value": 14.0,
"bb_rank": 290,
"so_value": 37.0,
"so_rank": 308,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3315508,
"obp_rank": "-",
"slg_value": 0.4277108,
"slg_rank": "-",
"ops_value": 0.7592616,
"ops_rank": null,
"war_value": 0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 171.0,
"k_percent": 20.2,
"bb_percent": 7.1,
"woba": 0.329,
"xwoba": 0.326,
"xba": 0.243,
"xslg": 0.41,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 10.1,
"whiff_percent": 25.8,
"swing_percent": 46.7
},
"components": {
"expected_quality": 0.5311,
"regression_edge": -0.0857,
"xwoba_edge": 0.6714,
"xba_edge": 0.1286,
"xslg_edge": 0.55,
"barrel_edge": 0.7556,
"hard_hit_edge": 1.1429,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "543760",
"player_name": "Marcus Semien",
"offense_factor": 1.0252,
"quality_score": 0.336,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "543760",
"espn_id": 32146,
"player_name": "Marcus Semien",
"team": "NYM",
"role": "batter",
"espn_rank": 586,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 586,
"gp_value": 90.0,
"gp_rank": 152,
"ab_value": 323.0,
"ab_rank": 126,
"r_value": 35.0,
"r_rank": 175,
"h_value": 68.0,
"h_rank": 164,
"avg_value": 0.2105263,
"avg_rank": 150.0,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 12.0,
"hr_rank": 105,
"rbi_value": 35.0,
"rbi_rank": 167,
"tb_value": 114.0,
"tb_rank": 951,
"bb_value": 25.0,
"bb_rank": 173,
"so_value": 80.0,
"so_rank": 102,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.2670454,
"obp_rank": "155",
"slg_value": 0.3529411,
"slg_rank": "138",
"ops_value": 0.6199865,
"ops_rank": 293.0,
"war_value": -0.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 326.0,
"k_percent": 21.8,
"bb_percent": 7.2,
"woba": 0.277,
"xwoba": 0.313,
"xba": 0.25,
"xslg": 0.412,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 18.6,
"whiff_percent": 23.6,
"swing_percent": 50.7
},
"components": {
"expected_quality": 0.2232,
"regression_edge": 1.0286,
"xwoba_edge": 0.3,
"xba_edge": 0.3286,
"xslg_edge": 0.5786,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.2714,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "682626",
"player_name": "Francisco Alvarez",
"offense_factor": 1.0647,
"quality_score": 0.8631,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682626",
"espn_id": 41253,
"player_name": "Francisco Alvarez",
"team": "NYM",
"role": "batter",
"espn_rank": 223,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 223,
"gp_value": 73.0,
"gp_rank": 226,
"ab_value": 236.0,
"ab_rank": 214,
"r_value": 24.0,
"r_rank": 251,
"h_value": 61.0,
"h_rank": 194,
"avg_value": 0.2584745,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 12.0,
"hr_rank": 105,
"rbi_value": 27.0,
"rbi_rank": 223,
"tb_value": 105.0,
"tb_rank": 1267,
"bb_value": 25.0,
"bb_rank": 173,
"so_value": 71.0,
"so_rank": 142,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.335849,
"obp_rank": "-",
"slg_value": 0.4449152,
"slg_rank": "-",
"ops_value": 0.7807642,
"ops_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 248.0,
"k_percent": 26.2,
"bb_percent": 9.6,
"woba": 0.345,
"xwoba": 0.343,
"xba": 0.246,
"xslg": 0.467,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 16.0,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 10.9,
"whiff_percent": 32.5,
"swing_percent": 46.6
},
"components": {
"expected_quality": 1.0129,
"regression_edge": -0.0571,
"xwoba_edge": 1.1571,
"xba_edge": 0.2143,
"xslg_edge": 1.3643,
"barrel_edge": 2.0444,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0149,
"raw_average_factor": 1.0149,
"team_espn_average_rank": 169.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "669065",
"player_name": "Kyle Stowers",
"offense_factor": 1.0439,
"quality_score": 0.585,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669065",
"espn_id": 42796,
"player_name": "Kyle Stowers",
"team": "MIA",
"role": "batter",
"espn_rank": 246,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 246,
"gp_value": 84.0,
"gp_rank": 174,
"ab_value": 314.0,
"ab_rank": 128,
"r_value": 39.0,
"r_rank": 148,
"h_value": 73.0,
"h_rank": 139,
"avg_value": 0.232484,
"avg_rank": 127.0,
"2b_value": 19.0,
"2b_rank": 61,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 14.0,
"hr_rank": 81,
"rbi_value": 46.0,
"rbi_rank": 95,
"tb_value": 140.0,
"tb_rank": 481,
"bb_value": 33.0,
"bb_rank": 116,
"so_value": 116.0,
"so_rank": 20,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3174157,
"obp_rank": "105",
"slg_value": 0.4458598,
"slg_rank": "60",
"ops_value": 0.7632755,
"ops_rank": 165.0,
"war_value": 0.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 328.0,
"k_percent": 32.3,
"bb_percent": 9.1,
"woba": 0.332,
"xwoba": 0.324,
"xba": 0.229,
"xslg": 0.427,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 54.5,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 17.2,
"whiff_percent": 36.0,
"swing_percent": 52.4
},
"components": {
"expected_quality": 0.7175,
"regression_edge": -0.2286,
"xwoba_edge": 0.6143,
"xba_edge": -0.2714,
"xslg_edge": 0.7929,
"barrel_edge": 1.1556,
"hard_hit_edge": 2.3429,
"exit_velocity_edge": 1.24,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "689414",
"player_name": "Liam Hicks",
"offense_factor": 0.9776,
"quality_score": -0.2986,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "689414",
"espn_id": 4725251,
"player_name": "Liam Hicks",
"team": "MIA",
"role": "batter",
"espn_rank": 58,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 58,
"gp_value": 97.0,
"gp_rank": 118,
"ab_value": 340.0,
"ab_rank": 110,
"r_value": 54.0,
"r_rank": 59,
"h_value": 95.0,
"h_rank": 78,
"avg_value": 0.2794117,
"avg_rank": 34.0,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 14.0,
"hr_rank": 81,
"rbi_value": 60.0,
"rbi_rank": 37,
"tb_value": 148.0,
"tb_rank": 768,
"bb_value": 37.0,
"bb_rank": 85,
"so_value": 38.0,
"so_rank": 295,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3580562,
"obp_rank": "35",
"slg_value": 0.4352941,
"slg_rank": "69",
"ops_value": 0.7933503,
"ops_rank": 104.0,
"war_value": 2.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 361.0,
"k_percent": 9.8,
"bb_percent": 9.3,
"woba": 0.349,
"xwoba": 0.311,
"xba": 0.251,
"xslg": 0.352,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 30.4,
"exit_velocity_avg": 85.2,
"launch_angle_avg": 14.0,
"whiff_percent": 10.8,
"swing_percent": 41.4
},
"components": {
"expected_quality": -0.1705,
"regression_edge": -1.0857,
"xwoba_edge": 0.2429,
"xba_edge": 0.3571,
"xslg_edge": -0.2786,
"barrel_edge": -0.6444,
"hard_hit_edge": -1.1,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": -1.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "665052",
"player_name": "Griffin Conine",
"offense_factor": 1.052,
"quality_score": 0.6938,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665052",
"espn_id": 41295,
"player_name": "Griffin Conine",
"team": "MIA",
"role": "batter",
"espn_rank": 163,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 163,
"gp_value": 42.0,
"gp_rank": 368,
"ab_value": 112.0,
"ab_rank": 370,
"r_value": 19.0,
"r_rank": 309,
"h_value": 31.0,
"h_rank": 333,
"avg_value": 0.2767857,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 339,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 20.0,
"rbi_rank": 281,
"tb_value": 63.0,
"tb_rank": 1620,
"bb_value": 13.0,
"bb_rank": 306,
"so_value": 37.0,
"so_rank": 308,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3622047,
"obp_rank": "-",
"slg_value": 0.5625,
"slg_rank": "-",
"ops_value": 0.9247047,
"ops_rank": null,
"war_value": 1.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 29.4,
"bb_percent": 10.3,
"woba": 0.383,
"xwoba": 0.375,
"xba": 0.275,
"xslg": 0.506,
"sweet_spot_percent": 40.5,
"barrel_batted_rate": 14.9,
"hard_hit_percent": 55.4,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 4.9,
"whiff_percent": 36.3,
"swing_percent": 51.2
},
"components": {
"expected_quality": 1.6655,
"regression_edge": -0.2286,
"xwoba_edge": 2.0714,
"xba_edge": 1.0429,
"xslg_edge": 1.9214,
"barrel_edge": 1.8,
"hard_hit_edge": 2.4714,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 1.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691594",
"player_name": "Javier Sanoja",
"offense_factor": 0.9466,
"quality_score": -0.7123,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691594",
"espn_id": 5073992,
"player_name": "Javier Sanoja",
"team": "MIA",
"role": "batter",
"espn_rank": 186,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 186,
"gp_value": 91.0,
"gp_rank": 151,
"ab_value": 268.0,
"ab_rank": 177,
"r_value": 26.0,
"r_rank": 238,
"h_value": 71.0,
"h_rank": 152,
"avg_value": 0.2649253,
"avg_rank": null,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 35.0,
"rbi_rank": 167,
"tb_value": 105.0,
"tb_rank": 1238,
"bb_value": 16.0,
"bb_rank": 259,
"so_value": 23.0,
"so_rank": 406,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3052631,
"obp_rank": "-",
"slg_value": 0.391791,
"slg_rank": "-",
"ops_value": 0.6970541,
"ops_rank": null,
"war_value": 0.92,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 258.0,
"k_percent": 8.2,
"bb_percent": 5.3,
"woba": 0.302,
"xwoba": 0.27,
"xba": 0.251,
"xslg": 0.317,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 31.1,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 12.0,
"whiff_percent": 12.1,
"swing_percent": 51.7
},
"components": {
"expected_quality": -0.6795,
"regression_edge": -0.9143,
"xwoba_edge": -0.9286,
"xba_edge": 0.3571,
"xslg_edge": -0.7786,
"barrel_edge": -1.1556,
"hard_hit_edge": -1.0,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": -0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "681715",
"player_name": "Heriberto Hernández",
"offense_factor": 1.0853,
"quality_score": 1.138,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681715",
"espn_id": 42455,
"player_name": "Heriberto Hernandez",
"team": "MIA",
"role": "batter",
"espn_rank": 138,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 138,
"gp_value": 79.0,
"gp_rank": 195,
"ab_value": 253.0,
"ab_rank": 192,
"r_value": 29.0,
"r_rank": 211,
"h_value": 61.0,
"h_rank": 194,
"avg_value": 0.2411067,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 172,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 16.0,
"hr_rank": 56,
"rbi_value": 43.0,
"rbi_rank": 117,
"tb_value": 123.0,
"tb_rank": 746,
"bb_value": 24.0,
"bb_rank": 181,
"so_value": 73.0,
"so_rank": 136,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.3082437,
"obp_rank": "-",
"slg_value": 0.486166,
"slg_rank": "-",
"ops_value": 0.7944097,
"ops_rank": null,
"war_value": 1.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 246.0,
"k_percent": 26.5,
"bb_percent": 8.7,
"woba": 0.338,
"xwoba": 0.352,
"xba": 0.254,
"xslg": 0.497,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 51.4,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 13.4,
"whiff_percent": 33.6,
"swing_percent": 46.1
},
"components": {
"expected_quality": 1.2581,
"regression_edge": 0.4,
"xwoba_edge": 1.4143,
"xba_edge": 0.4429,
"xslg_edge": 1.7929,
"barrel_edge": 1.3778,
"hard_hit_edge": 1.9,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "691788",
"player_name": "Joe Mack",
"offense_factor": 1.0219,
"quality_score": 0.2916,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691788",
"espn_id": 4872695,
"player_name": "Joe Mack",
"team": "MIA",
"role": "batter",
"espn_rank": 164,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 164,
"gp_value": 64.0,
"gp_rank": 275,
"ab_value": 186.0,
"ab_rank": 267,
"r_value": 27.0,
"r_rank": 230,
"h_value": 44.0,
"h_rank": 263,
"avg_value": 0.2365591,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 30.0,
"rbi_rank": 201,
"tb_value": 80.0,
"tb_rank": 1469,
"bb_value": 13.0,
"bb_rank": 306,
"so_value": 52.0,
"so_rank": 229,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.2935323,
"obp_rank": "-",
"slg_value": 0.4301075,
"slg_rank": "-",
"ops_value": 0.7236398,
"ops_rank": null,
"war_value": 1.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 25.4,
"bb_percent": 6.3,
"woba": 0.315,
"xwoba": 0.317,
"xba": 0.239,
"xslg": 0.437,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 10.1,
"hard_hit_percent": 40.6,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 11.4,
"whiff_percent": 24.9,
"swing_percent": 46.8
},
"components": {
"expected_quality": 0.3896,
"regression_edge": 0.0571,
"xwoba_edge": 0.4143,
"xba_edge": 0.0143,
"xslg_edge": 0.9357,
"barrel_edge": 0.7333,
"hard_hit_edge": 0.3571,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -0.8333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "805300",
"player_name": "Jakob Marsee",
"offense_factor": 0.9748,
"quality_score": -0.3365,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805300",
"espn_id": 4866735,
"player_name": "Jakob Marsee",
"team": "MIA",
"role": "batter",
"espn_rank": 525,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 525,
"gp_value": 104.0,
"gp_rank": 50,
"ab_value": 351.0,
"ab_rank": 99,
"r_value": 51.0,
"r_rank": 78,
"h_value": 69.0,
"h_rank": 161,
"avg_value": 0.1965811,
"avg_rank": 157.0,
"2b_value": 12.0,
"2b_rank": 172,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 5.0,
"hr_rank": 249,
"rbi_value": 26.0,
"rbi_rank": 230,
"tb_value": 102.0,
"tb_rank": 1118,
"bb_value": 55.0,
"bb_rank": 21,
"so_value": 93.0,
"so_rank": 67,
"sb_value": 19.0,
"sb_rank": 17,
"obp_value": 0.3197115,
"obp_rank": "97",
"slg_value": 0.2905982,
"slg_rank": "157",
"ops_value": 0.6103097,
"ops_rank": 60.0,
"war_value": -0.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 397.0,
"k_percent": 22.1,
"bb_percent": 12.9,
"woba": 0.285,
"xwoba": 0.299,
"xba": 0.217,
"xslg": 0.308,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 33.2,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 18.2,
"whiff_percent": 18.7,
"swing_percent": 40.4
},
"components": {
"expected_quality": -0.4564,
"regression_edge": 0.4,
"xwoba_edge": -0.1,
"xba_edge": -0.6143,
"xslg_edge": -0.9071,
"barrel_edge": -0.7333,
"hard_hit_edge": -0.7,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": -1.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "672640",
"player_name": "Otto Lopez",
"offense_factor": 1.0293,
"quality_score": 0.3901,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "672640",
"espn_id": 41917,
"player_name": "Otto Lopez",
"team": "MIA",
"role": "batter",
"espn_rank": 2,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 2,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 420.0,
"ab_rank": 8,
"r_value": 65.0,
"r_rank": 20,
"h_value": 138.0,
"h_rank": 1,
"avg_value": 0.3285714,
"avg_rank": 2.0,
"2b_value": 27.0,
"2b_rank": 1,
"3b_value": 7.0,
"3b_rank": 2,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 50.0,
"rbi_rank": 68,
"tb_value": 206.0,
"tb_rank": 454,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 62.0,
"so_rank": 180,
"sb_value": 22.0,
"sb_rank": 10,
"obp_value": 0.3626373,
"obp_rank": "29",
"slg_value": 0.4904761,
"slg_rank": "27",
"ops_value": 0.8531134,
"ops_rank": 2.0,
"war_value": 5.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 422.0,
"k_percent": 13.8,
"bb_percent": 5.1,
"woba": 0.367,
"xwoba": 0.331,
"xba": 0.286,
"xslg": 0.434,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 41.8,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 7.6,
"whiff_percent": 20.3,
"swing_percent": 46.6
},
"components": {
"expected_quality": 0.6211,
"regression_edge": -1.0286,
"xwoba_edge": 0.8143,
"xba_edge": 1.3571,
"xslg_edge": 0.8929,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.5286,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "669364",
"player_name": "Xavier Edwards",
"offense_factor": 1.0026,
"quality_score": 0.0345,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669364",
"espn_id": 41326,
"player_name": "Xavier Edwards",
"team": "MIA",
"role": "batter",
"espn_rank": 42,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 42,
"gp_value": 109.0,
"gp_rank": 1,
"ab_value": 398.0,
"ab_rank": 35,
"r_value": 51.0,
"r_rank": 78,
"h_value": 116.0,
"h_rank": 10,
"avg_value": 0.2914572,
"avg_rank": 15.0,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 6.0,
"3b_rank": 5,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 39.0,
"rbi_rank": 135,
"tb_value": 160.0,
"tb_rank": 818,
"bb_value": 55.0,
"bb_rank": 21,
"so_value": 62.0,
"so_rank": 180,
"sb_value": 18.0,
"sb_rank": 20,
"obp_value": 0.3733624,
"obp_rank": "17",
"slg_value": 0.40201,
"slg_rank": "103",
"ops_value": 0.7753724,
"ops_rank": 86.0,
"war_value": 2.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 425.0,
"k_percent": 13.6,
"bb_percent": 11.9,
"woba": 0.341,
"xwoba": 0.32,
"xba": 0.264,
"xslg": 0.373,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 28.9,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 10.6,
"whiff_percent": 16.4,
"swing_percent": 43.1
},
"components": {
"expected_quality": 0.1378,
"regression_edge": -0.6,
"xwoba_edge": 0.5,
"xba_edge": 0.7286,
"xslg_edge": 0.0214,
"barrel_edge": -0.6,
"hard_hit_edge": -1.3143,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": 0.75,
"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 MIA | True | 74 | 0.0848 | 1 | 0.9928 | 1.0363 | 1.0120 | 1.0696 | neutral | 0.3090 | 0.2980 | 26.60 | 9.50 | 27.80 | 10.90 | 38.90 | |
| Home NYM | True | 66 | 0.3434 | 1 | 0.9708 | 1.0363 | 0.9960 | 0.9601 | neutral | 0.2910 | 0.2840 | 28.60 | 8.70 | 25.80 | 6.80 | 35.20 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIA | True | None | 87 | 92.67 | 2504 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1568 | |
| Home NYM | True | None | 96 | 91.07 | 2485 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0668 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9708 |
| home_runs_vs_away_pitcher | 0.9928 |
| home_pitcher_quality_edge | 0.2586 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "690997",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 465.0,
"k_percent": 28.6,
"bb_percent": 8.7,
"woba": 0.284,
"xwoba": 0.291,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 35.2,
"avg_best_speed": 76.2424,
"avg_hyper_speed": 93.6402,
"whiff_percent": 25.8,
"swing_percent": 43.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.446,
"command_and_miss": 0.4168,
"regression_edge": -0.2,
"xwoba_edge": 0.6,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.4143,
"whiff_edge": 0.0143,
"bb_edge": 0.05,
"pitch_design_score": 0.0668
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "690997",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 91.06532948388984,
"release_spin_rate": 2485.2846251873543,
"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": 96,
"pitch_usage": 0.0,
"release_speed": 91.06532948388984,
"release_spin_rate": 2485.2846251873543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.0653,
"release_spin_rate": 2485.2846,
"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.0668,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4772,
"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.3434,
"sample_weight": 1.0,
"run_prevention_factor": 0.9708,
"strikeout_factor": 1.0363,
"walk_factor": 0.996,
"homer_factor": 0.9601,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690997",
"espn_id": 4433874,
"player_name": "Nolan McLean",
"team": "NYM",
"role": "pitcher",
"espn_rank": 66,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 66,
"gp_value": 21.0,
"gp_rank": 261,
"gs_value": 21.0,
"gs_rank": 22,
"qs_value": 12.0,
"qs_rank": 12,
"era_value": 3.3184,
"era_rank": 19.0,
"w_value": 7.0,
"w_rank": 44,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 119.1,
"ip_rank": 28,
"h_value": 90.0,
"h_rank": 81,
"er_value": 44.0,
"er_rank": 81,
"hr_value": 11.0,
"hr_rank": 98,
"bb_value": 43.0,
"bb_rank": 20,
"k_value": 142.0,
"k_rank": 10,
"k_per_9_value": 10.709497,
"k_per_9_rank": 9,
"whip_value": 1.1145,
"whip_rank": 20.0,
"war_value": 1.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "691587",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 371.0,
"k_percent": 26.6,
"bb_percent": 9.5,
"woba": 0.298,
"xwoba": 0.309,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 38.9,
"avg_best_speed": 76.126,
"avg_hyper_speed": 94.2262,
"whiff_percent": 27.8,
"swing_percent": 51.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.0236,
"command_and_miss": 0.3482,
"regression_edge": -0.3143,
"xwoba_edge": 0.0857,
"barrel_edge": -0.8444,
"hard_hit_edge": -0.1143,
"whiff_edge": 0.3,
"bb_edge": -0.15,
"pitch_design_score": 0.1568
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "691587",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 92.67261760612429,
"release_spin_rate": 2504.3482979675864,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 92.67261760612429,
"release_spin_rate": 2504.3482979675864,
"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.6726,
"release_spin_rate": 2504.3483,
"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.1568,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1201,
"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.0848,
"sample_weight": 1.0,
"run_prevention_factor": 0.9928,
"strikeout_factor": 1.0363,
"walk_factor": 1.012,
"homer_factor": 1.0696,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691587",
"espn_id": 4917854,
"player_name": "Eury Perez",
"team": "MIA",
"role": "pitcher",
"espn_rank": 74,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 74,
"gp_value": 18.0,
"gp_rank": 347,
"gs_value": 18.0,
"gs_rank": 76,
"qs_value": 8.0,
"qs_rank": 50,
"era_value": 3.5574,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 8.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 98.2,
"ip_rank": 81,
"h_value": 72.0,
"h_rank": 121,
"er_value": 39.0,
"er_rank": 104,
"hr_value": 13.0,
"hr_rank": 60,
"bb_value": 38.0,
"bb_rank": 42,
"k_value": 106.0,
"k_rank": 42,
"k_per_9_value": 9.668919,
"k_per_9_rank": 14,
"whip_value": 1.1148,
"whip_rank": null,
"war_value": 1.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9708,
"home_runs_vs_away_pitcher": 0.9928,
"home_pitcher_quality_edge": 0.2586
},
"score_before": {
"away_runs": 2.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 1.9416,
"home_runs": 3.9712,
"home_win_probability": 0.6772
},
"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 MIA | 3-7 | 0.300 | 3.50 | 5 | -15 | 3W | average | average |
| Home NYM | 5-5 | 0.500 | 4.60 | 3 | 16 | 1L | average | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIA | 55-54 | 0.505 | 6 | 0.055 | True |
| Home NYM | 46-63 | 0.422 | -51 | -0.468 | True |
| Signal | - | - | -0.523 | -0.647 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-05-31 | MIA @ NYM | 1 - 10 | NYM | 9 | blowout |
| 2026-05-30 | MIA @ NYM | 1 - 6 | NYM | 5 | blowout |
| 2026-05-29 | MIA @ NYM | 7 - 9 | NYM | 2 | close |
| 2026-05-24 | NYM @ MIA | 0 - 4 | MIA | 4 | blowout |
| 2026-05-23 | NYM @ MIA | 1 - 4 | MIA | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIA | - | - | 2 | - | - | - | - |
| Game target NYM | - | - | 3 | - | - | - | - |
| Player finalized MIA | 33 | 9 | 2 | 0 | 4 | 2 | 7 |
| Player finalized NYM | 35 | 9 | 1 | 0 | 2 | 0 | 9 |
| Player model fractional MIA | 32.05 | 7.55 | 4.07 | 1.18 | 4.17 | 3.07 | 6.90 |
| Player model fractional NYM | 33.42 | 7.50 | 3.64 | 1.19 | 3.66 | 3.13 | 8.23 |
| Simulation box MIA | 32 | 5 | 3 | 1 | 3 | 3 | 11 |
| Simulation box NYM | 34 | 8 | 4 | 0 | 4 | 3 | 8 |
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 MIA | Starter | Eury Pérez | 6 | 1 | 8 | 4 | 1 | 2.84 | 1.02 | True |
| Away MIA | Middle Reliever | Cade Gibson | 1 | 3 | 0 | 4 | 2 | 5.90 | 1.54 | True |
| Away MIA | Middle Reliever | Michael Petersen | 1 | 0 | 0 | 0 | 0 | 3.04 | 1.22 | True |
| Away MIA | Middle Reliever | Pete Fairbanks | 0 | 0 | 0 | 0 | 0 | 5.67 | 1.33 | True |
| Home NYM | Starter | Nolan McLean | 6 | 3 | 8 | 4 | 3 | 2.46 | 1.16 | True |
| Home NYM | Middle Reliever | Brooks Raley | 1 | 0 | 2 | 0 | 0 | 2.83 | 1.04 | True |
| Home NYM | Middle Reliever | Devin Williams | 1 | 0 | 1 | 1 | 0 | 3.59 | 1.47 | True |
| Home NYM | Middle Reliever | Luke Weaver | 1 | 0 | 0 | 0 | 0 | 2.63 | 0.98 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | MIA | batter | C | Joe Mack | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 2.7800 | boost | better |
| away | MIA | batter | RF | Griffin Conine | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.0750 | boost | worse |
| away | MIA | pitcher | Starter | Eury Pérez | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 2.0000 | boost | better |
| away | MIA | pitcher | Middle Reliever | Pete Fairbanks | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -2.0000 | deboost | worse |
| home | NYM | batter | LF | A.J. Ewing | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.9250 | boost | worse |
| home | NYM | batter | 1B | Jared Young | worse | 11 | 6 | 5 | 5 | 6 | predicted_2B | 1.8570 | boost | better |
| home | NYM | batter | DH | Jorge Polanco | worse | 8 | 3 | 5 | 3 | 5 | predicted_2B | 1.8460 | boost | better |
| home | NYM | batter | 3B | Bo Bichette | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -1.7900 | deboost | worse |
| away | MIA | batter | 2B | Xavier Edwards | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.6900 | deboost | worse |
| away | MIA | batter | 1B | Kyle Stowers | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.6190 | boost | worse |
| away | MIA | batter | CF | Jakob Marsee | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 1.3900 | boost | better |
| home | NYM | batter | CF | Luis Robert Jr. | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.2300 | deboost | worse |
| away | MIA | batter | SS | Otto Lopez | worse | 12 | 3 | 9 | 2 | 10 | predicted_AB | -1.1800 | deboost | worse |
| home | NYM | batter | SS | Francisco Lindor | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -1.0000 | deboost | worse |
| home | NYM | batter | C | Francisco Alvarez | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -1.0000 | deboost | better |
| home | NYM | batter | RF | Carson Benge | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.9900 | deboost | worse |
| away | MIA | batter | DH | Liam Hicks | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.9790 | deboost | worse |
| away | MIA | batter | 3B | Javier Sanoja | worse | 10 | 2 | 8 | 1 | 9 | predicted_BB | 0.8370 | boost | better |
| away | MIA | batter | LF | Heriberto Hernández | worse | 9 | 4 | 5 | 3 | 6 | predicted_RBI | -0.7100 | deboost | worse |
| home | NYM | batter | 2B | Marcus Semien | worse | 11 | 6 | 5 | 5 | 6 | predicted_R | 0.6020 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Eury Pérez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0848 |
| ESPN Rank | 74 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1568 |
| Avg Velo | 92.6726 |
| Avg Spin | 2504.3483 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 1 |
| Pre H | 4 |
| Pre BB | 1 |
| Pre SO | 8 |
| Season ERA | 3.5574 |
| Season WHIP | 1.1149 |
| Role Avg IP | 5.4810 |
| Recent Avg IP | 6.2670 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 114,
"wins": 58,
"losses": 56,
"win_pct": 0.5088,
"runs_scored": 499.0,
"runs_allowed": 491.0,
"run_differential": 8.0,
"run_differential_per_game": 0.0702,
"avg_runs_scored": 4.3772,
"avg_runs_allowed": 4.307,
"offense_index": 0.9678,
"defense_index": 1.0501,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.0,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.054
},
"opponent": {
"team": "NYM",
"games": 118,
"wins": 47,
"losses": 71,
"win_pct": 0.3983,
"runs_scored": 467.0,
"runs_allowed": 520.0,
"run_differential": -53.0,
"run_differential_per_game": -0.4492,
"avg_runs_scored": 3.9576,
"avg_runs_allowed": 4.4068,
"offense_index": 0.875,
"defense_index": 1.0263,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 2.9,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1761
},
"edges": {
"quality_edge": 0.1221,
"offense_edge": -0.0322,
"opponent_offense_edge": -0.125,
"defense_strength": 0.0501,
"opponent_defense_weakness": -0.0263,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0114,
"run_prevention": 0.9689,
"strikeout": 1.0137
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "691587",
"profile": {
"available": true,
"pitcher_id": "691587",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 371.0,
"k_percent": 26.6,
"bb_percent": 9.5,
"woba": 0.298,
"xwoba": 0.309,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 38.9,
"avg_best_speed": 76.126,
"avg_hyper_speed": 94.2262,
"whiff_percent": 27.8,
"swing_percent": 51.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.0236,
"command_and_miss": 0.3482,
"regression_edge": -0.3143,
"xwoba_edge": 0.0857,
"barrel_edge": -0.8444,
"hard_hit_edge": -0.1143,
"whiff_edge": 0.3,
"bb_edge": -0.15,
"pitch_design_score": 0.1568
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "691587",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 92.67261760612429,
"release_spin_rate": 2504.3482979675864,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 92.67261760612429,
"release_spin_rate": 2504.3482979675864,
"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.6726,
"release_spin_rate": 2504.3483,
"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.1568,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1201,
"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.0848,
"sample_weight": 1.0,
"run_prevention_factor": 0.9928,
"strikeout_factor": 1.0363,
"walk_factor": 1.012,
"homer_factor": 1.0696,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691587",
"espn_id": 4917854,
"player_name": "Eury Perez",
"team": "MIA",
"role": "pitcher",
"espn_rank": 74,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 74,
"gp_value": 18.0,
"gp_rank": 347,
"gs_value": 18.0,
"gs_rank": 76,
"qs_value": 8.0,
"qs_rank": 50,
"era_value": 3.5574,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 8.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 98.2,
"ip_rank": 81,
"h_value": 72.0,
"h_rank": 121,
"er_value": 39.0,
"er_rank": 104,
"hr_value": 13.0,
"hr_rank": 60,
"bb_value": 38.0,
"bb_rank": 42,
"k_value": 106.0,
"k_rank": 42,
"k_per_9_value": 9.668919,
"k_per_9_rank": 14,
"whip_value": 1.1148,
"whip_rank": null,
"war_value": 1.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9928,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9928,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.012,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0696,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0363,
"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": 57.1,
"ER": 16,
"H": 34,
"BB": 17,
"SO": 61,
"HR": 6,
"ERA": 2.511627906976744,
"WHIP": 0.8895348837209303,
"K9": 9.575581395348838,
"HR9": 0.9418604651162792,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "691587",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 92.67261760612429,
"release_spin_rate": 2504.3482979675864,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 92.67261760612429,
"release_spin_rate": 2504.3482979675864,
"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.6726,
"release_spin_rate": 2504.3483,
"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.1568,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1201,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"role": "pitcher",
"player_id": "691587",
"report_date": "20260730_M",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 31.1,
"ER": 6.0,
"R": 6.0,
"H": 18.0,
"BB": 10.0,
"SO": 33.0,
"HR": 1.0,
"BF": 119.0,
"Pitches": 474.0
},
"per_game": {
"IP": 6.1,
"ER": 1.2,
"R": 1.2,
"H": 3.6,
"BB": 2.0,
"SO": 6.6,
"HR": 0.2,
"BF": 23.8,
"Pitches": 94.8
},
"rates": {
"ERA": 1.7234,
"WHIP": 0.8936,
"ER_per_IP": 0.19149,
"H_per_IP": 0.57447,
"BB_per_IP": 0.31915,
"SO_per_IP": 1.05319,
"HR_per_IP": 0.03191
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 57.1,
"ER": 16.0,
"R": 16.0,
"H": 34.0,
"BB": 17.0,
"SO": 61.0,
"HR": 6.0,
"BF": 217.0,
"Pitches": 890.0
},
"per_game": {
"IP": 5.2,
"ER": 1.6,
"R": 1.6,
"H": 3.4,
"BB": 1.7,
"SO": 6.1,
"HR": 0.6,
"BF": 21.7,
"Pitches": 89.0
},
"rates": {
"ERA": 2.5116,
"WHIP": 0.8895,
"ER_per_IP": 0.27907,
"H_per_IP": 0.59302,
"BB_per_IP": 0.29651,
"SO_per_IP": 1.06395,
"HR_per_IP": 0.10465
}
},
"season": {
"games": 18,
"totals": {
"IP": 98.2,
"ER": 39.0,
"R": 43.0,
"H": 72.0,
"BB": 38.0,
"SO": 106.0,
"HR": 13.0,
"BF": 399.0,
"Pitches": 1605.0
},
"per_game": {
"IP": 5.1,
"ER": 2.1667,
"R": 2.3889,
"H": 4.0,
"BB": 2.1111,
"SO": 5.8889,
"HR": 0.7222,
"BF": 22.1667,
"Pitches": 89.1667
},
"rates": {
"ERA": 3.5574,
"WHIP": 1.1149,
"ER_per_IP": 0.39527,
"H_per_IP": 0.72973,
"BB_per_IP": 0.38514,
"SO_per_IP": 1.07432,
"HR_per_IP": 0.13176
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.87,
"predicted_H": 4.093,
"predicted_BB": 1.962,
"predicted_SO": 6.152,
"predicted_HR": 0.554,
"predicted_ERA": 2.8419,
"predicted_WHIP": 1.0224
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4419,
"form_weight": 0.5581,
"form_reliability": 0.7826,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.87,
"final": 1.4856,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.093,
"final": 4.0519,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.962,
"final": 1.5369,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 6.152,
"final": 6.0848,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.554,
"final": 0.3092,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8419,
"final": 2.8419,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0224,
"final": 1.0224,
"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 | Cade Gibson |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0131 |
| ESPN Rank | 663 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2779 |
| Avg Velo | 84.9105 |
| Avg Spin | 2794.7878 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 2 |
| Pre SO | 0 |
| Season ERA | 5.7857 |
| Season WHIP | 1.4643 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 114,
"wins": 58,
"losses": 56,
"win_pct": 0.5088,
"runs_scored": 499.0,
"runs_allowed": 491.0,
"run_differential": 8.0,
"run_differential_per_game": 0.0702,
"avg_runs_scored": 4.3772,
"avg_runs_allowed": 4.307,
"offense_index": 0.9678,
"defense_index": 1.0501,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.0,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.054
},
"opponent": {
"team": "NYM",
"games": 118,
"wins": 47,
"losses": 71,
"win_pct": 0.3983,
"runs_scored": 467.0,
"runs_allowed": 520.0,
"run_differential": -53.0,
"run_differential_per_game": -0.4492,
"avg_runs_scored": 3.9576,
"avg_runs_allowed": 4.4068,
"offense_index": 0.875,
"defense_index": 1.0263,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 2.9,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1761
},
"edges": {
"quality_edge": 0.1221,
"offense_edge": -0.0322,
"opponent_offense_edge": -0.125,
"defense_strength": 0.0501,
"opponent_defense_weakness": -0.0263,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0114,
"run_prevention": 0.9689,
"strikeout": 1.0137
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "806188",
"profile": {
"available": true,
"pitcher_id": "806188",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 19.7,
"bb_percent": 10.2,
"woba": 0.325,
"xwoba": 0.303,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 35.7,
"avg_best_speed": 75.8039,
"avg_hyper_speed": 92.8424,
"whiff_percent": 20.3,
"swing_percent": 44.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2138,
"command_and_miss": -0.5054,
"regression_edge": 0.6286,
"xwoba_edge": 0.2571,
"barrel_edge": 1.0444,
"hard_hit_edge": 0.3429,
"whiff_edge": -0.7714,
"bb_edge": -0.325,
"pitch_design_score": -0.2779
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "806188",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 23,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 84.91048718952615,
"release_spin_rate": 2794.7877975514457,
"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": 23,
"pitch_usage": 0.0,
"release_speed": 84.91048718952615,
"release_spin_rate": 2794.7877975514457,
"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": 84.9105,
"release_spin_rate": 2794.7878,
"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.2779,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9848,
"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.0131,
"sample_weight": 0.452,
"run_prevention_factor": 0.9989,
"strikeout_factor": 0.9792,
"walk_factor": 1.0118,
"homer_factor": 0.9525,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "806188",
"espn_id": 5273591,
"player_name": "Cade Gibson",
"team": "MIA",
"role": "pitcher",
"espn_rank": 663,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 663,
"gp_value": 23.0,
"gp_rank": 219,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 5.7857,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 4.0,
"hld_rank": 162,
"ip_value": 28.0,
"ip_rank": 391,
"h_value": 28.0,
"h_rank": 349,
"er_value": 18.0,
"er_rank": 268,
"hr_value": 1.0,
"hr_rank": 536,
"bb_value": 13.0,
"bb_rank": 332,
"k_value": 25.0,
"k_rank": 392,
"k_per_9_value": 8.035714,
"k_per_9_rank": 27,
"whip_value": 1.4642,
"whip_rank": null,
"war_value": -0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9995,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0053,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9785,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9906,
"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": 11.2,
"ER": 7,
"H": 8,
"BB": 6,
"SO": 8,
"HR": 0,
"ERA": 5.4,
"WHIP": 1.2,
"K9": 6.171428571428572,
"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-07-27T00:00:00"
}{
"available": true,
"pitcher_id": "806188",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 23,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 84.91048718952615,
"release_spin_rate": 2794.7877975514457,
"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": 23,
"pitch_usage": 0.0,
"release_speed": 84.91048718952615,
"release_spin_rate": 2794.7877975514457,
"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": 84.9105,
"release_spin_rate": 2794.7878,
"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.2779,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9848,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.58,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5274,
"prior_weight": 0.4726
},
"role": "pitcher",
"player_id": "806188",
"report_date": "20260730_M",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 4.0,
"R": 4.0,
"H": 4.0,
"BB": 5.0,
"SO": 2.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 85.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 0.8,
"H": 0.8,
"BB": 1.0,
"SO": 0.4,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.25,
"ER_per_IP": 1.0,
"H_per_IP": 1.0,
"BB_per_IP": 1.25,
"SO_per_IP": 0.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 7.0,
"R": 8.0,
"H": 8.0,
"BB": 6.0,
"SO": 8.0,
"HR": 0.0,
"BF": 51.0,
"Pitches": 197.0
},
"per_game": {
"IP": 1.1,
"ER": 0.7,
"R": 0.8,
"H": 0.8,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 5.1,
"Pitches": 19.7
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2,
"ER_per_IP": 0.6,
"H_per_IP": 0.68571,
"BB_per_IP": 0.51429,
"SO_per_IP": 0.68571,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 28.0,
"ER": 18.0,
"R": 19.0,
"H": 28.0,
"BB": 13.0,
"SO": 25.0,
"HR": 1.0,
"BF": 127.0,
"Pitches": 516.0
},
"per_game": {
"IP": 1.1,
"ER": 0.7826,
"R": 0.8261,
"H": 1.2174,
"BB": 0.5652,
"SO": 1.087,
"HR": 0.0435,
"BF": 5.5217,
"Pitches": 22.4348
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.4643,
"ER_per_IP": 0.64286,
"H_per_IP": 1.0,
"BB_per_IP": 0.46429,
"SO_per_IP": 0.89286,
"HR_per_IP": 0.03571
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.667,
"predicted_H": 0.947,
"predicted_BB": 0.619,
"predicted_SO": 0.807,
"predicted_HR": 0.077,
"predicted_ERA": 5.8955,
"predicted_WHIP": 1.5395
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5497,
"form_weight": 0.4503,
"form_reliability": 0.5274,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.58,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5274,
"prior_weight": 0.4726
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.667,
"final": 1.9494,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 0.947,
"final": 2.6252,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.619,
"final": 1.3781,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.807,
"final": 0.3634,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.077,
"final": 0.0347,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.8955,
"final": 5.8955,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5395,
"final": 1.5395,
"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 | Michael Petersen |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1529 |
| ESPN Rank | 156 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2166 |
| Avg Velo | 93.7406 |
| Avg Spin | 2216.3002 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.8421 |
| Season WHIP | 1.0150 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 114,
"wins": 58,
"losses": 56,
"win_pct": 0.5088,
"runs_scored": 499.0,
"runs_allowed": 491.0,
"run_differential": 8.0,
"run_differential_per_game": 0.0702,
"avg_runs_scored": 4.3772,
"avg_runs_allowed": 4.307,
"offense_index": 0.9678,
"defense_index": 1.0501,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.0,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.054
},
"opponent": {
"team": "NYM",
"games": 118,
"wins": 47,
"losses": 71,
"win_pct": 0.3983,
"runs_scored": 467.0,
"runs_allowed": 520.0,
"run_differential": -53.0,
"run_differential_per_game": -0.4492,
"avg_runs_scored": 3.9576,
"avg_runs_allowed": 4.4068,
"offense_index": 0.875,
"defense_index": 1.0263,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 2.9,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1761
},
"edges": {
"quality_edge": 0.1221,
"offense_edge": -0.0322,
"opponent_offense_edge": -0.125,
"defense_strength": 0.0501,
"opponent_defense_weakness": -0.0263,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0114,
"run_prevention": 0.9689,
"strikeout": 1.0137
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656848",
"profile": {
"available": true,
"pitcher_id": "656848",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 170.0,
"k_percent": 29.0,
"bb_percent": 10.2,
"woba": 0.258,
"xwoba": 0.287,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 43.8,
"avg_best_speed": 81.8556,
"avg_hyper_speed": 94.7272,
"whiff_percent": 28.5,
"swing_percent": 49.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2853,
"command_and_miss": 0.5025,
"regression_edge": -0.8286,
"xwoba_edge": 0.7143,
"barrel_edge": -0.9556,
"hard_hit_edge": -0.8143,
"whiff_edge": 0.4,
"bb_edge": -0.325,
"pitch_design_score": 0.2166
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656848",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 93.740564256066,
"release_spin_rate": 2216.300226973942,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 93.740564256066,
"release_spin_rate": 2216.300226973942,
"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.7406,
"release_spin_rate": 2216.3002,
"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.2166,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5472,
"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.1529,
"sample_weight": 0.68,
"run_prevention_factor": 0.987,
"strikeout_factor": 1.0367,
"walk_factor": 1.0177,
"homer_factor": 1.0596,
"woba_minus_xwoba": -0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656848",
"espn_id": 41824,
"player_name": "Michael Petersen",
"team": "MIA",
"role": "pitcher",
"espn_rank": 156,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 156,
"gp_value": 43.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.8421,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 17.0,
"hld_rank": 10,
"ip_value": 44.1,
"ip_rank": 241,
"h_value": 27.0,
"h_rank": 361,
"er_value": 14.0,
"er_rank": 338,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 18.0,
"bb_rank": 235,
"k_value": 51.0,
"k_rank": 193,
"k_per_9_value": 10.353384,
"k_per_9_rank": 21,
"whip_value": 1.015,
"whip_rank": null,
"war_value": 0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9912,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9912,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0405,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.025,
"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.1,
"ER": 2,
"H": 4,
"BB": 5,
"SO": 8,
"HR": 2,
"ERA": 1.9285714285714284,
"WHIP": 0.9642857142857142,
"K9": 7.7142857142857135,
"HR9": 1.9285714285714284,
"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-07-26T00:00:00"
}{
"available": true,
"pitcher_id": "656848",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 93.740564256066,
"release_spin_rate": 2216.300226973942,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 93.740564256066,
"release_spin_rate": 2216.300226973942,
"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.7406,
"release_spin_rate": 2216.3002,
"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.2166,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5472,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.835,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6386,
"prior_weight": 0.3614
},
"role": "pitcher",
"player_id": "656848",
"report_date": "20260730_M",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 3.0,
"SO": 3.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.6,
"SO": 0.6,
"HR": 0.2,
"BF": 3.6,
"Pitches": 16.4
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3846,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.69231,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 5.0,
"SO": 8.0,
"HR": 2.0,
"BF": 35.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.5,
"SO": 0.8,
"HR": 0.2,
"BF": 3.5,
"Pitches": 15.4
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.9643,
"ER_per_IP": 0.21429,
"H_per_IP": 0.42857,
"BB_per_IP": 0.53571,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 43,
"totals": {
"IP": 44.1,
"ER": 14.0,
"R": 16.0,
"H": 27.0,
"BB": 18.0,
"SO": 51.0,
"HR": 4.0,
"BF": 176.0,
"Pitches": 728.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3256,
"R": 0.3721,
"H": 0.6279,
"BB": 0.4186,
"SO": 1.186,
"HR": 0.093,
"BF": 4.093,
"Pitches": 16.9302
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.015,
"ER_per_IP": 0.31579,
"H_per_IP": 0.60902,
"BB_per_IP": 0.40602,
"SO_per_IP": 1.15038,
"HR_per_IP": 0.09023
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.337,
"predicted_H": 0.725,
"predicted_BB": 0.499,
"predicted_SO": 0.884,
"predicted_HR": 0.181,
"predicted_ERA": 3.0369,
"predicted_WHIP": 1.2245
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5027,
"form_weight": 0.4973,
"form_reliability": 0.6386,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.835,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6386,
"prior_weight": 0.3614
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.337,
"final": 0.1676,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.725,
"final": 0.3605,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.499,
"final": 0.2482,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.884,
"final": 0.4396,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.181,
"final": 0.09,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0369,
"final": 3.0369,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2245,
"final": 1.2245,
"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 | Pete Fairbanks |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1198 |
| ESPN Rank | 770 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1297 |
| Avg Velo | 92.1891 |
| Avg Spin | 2442.9755 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 6.7500 |
| Season WHIP | 1.3800 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 114,
"wins": 58,
"losses": 56,
"win_pct": 0.5088,
"runs_scored": 499.0,
"runs_allowed": 491.0,
"run_differential": 8.0,
"run_differential_per_game": 0.0702,
"avg_runs_scored": 4.3772,
"avg_runs_allowed": 4.307,
"offense_index": 0.9678,
"defense_index": 1.0501,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.0,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.054
},
"opponent": {
"team": "NYM",
"games": 118,
"wins": 47,
"losses": 71,
"win_pct": 0.3983,
"runs_scored": 467.0,
"runs_allowed": 520.0,
"run_differential": -53.0,
"run_differential_per_game": -0.4492,
"avg_runs_scored": 3.9576,
"avg_runs_allowed": 4.4068,
"offense_index": 0.875,
"defense_index": 1.0263,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 2.9,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1761
},
"edges": {
"quality_edge": 0.1221,
"offense_edge": -0.0322,
"opponent_offense_edge": -0.125,
"defense_strength": 0.0501,
"opponent_defense_weakness": -0.0263,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0114,
"run_prevention": 0.9689,
"strikeout": 1.0137
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664126",
"profile": {
"available": true,
"pitcher_id": "664126",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 137.0,
"k_percent": 30.3,
"bb_percent": 9.7,
"woba": 0.36,
"xwoba": 0.332,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 42.9,
"avg_best_speed": 82.0084,
"avg_hyper_speed": 95.2386,
"whiff_percent": 29.5,
"swing_percent": 47.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.8587,
"command_and_miss": 0.6611,
"regression_edge": 0.8,
"xwoba_edge": -0.5714,
"barrel_edge": -1.3778,
"hard_hit_edge": -0.6857,
"whiff_edge": 0.5429,
"bb_edge": -0.2,
"pitch_design_score": 0.1297
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "664126",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.18905051243614,
"release_spin_rate": 2442.975455831453,
"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": 20,
"pitch_usage": 0.0,
"release_speed": 92.18905051243614,
"release_spin_rate": 2442.975455831453,
"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.1891,
"release_spin_rate": 2442.9755,
"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.1297,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9266,
"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.1198,
"sample_weight": 0.548,
"run_prevention_factor": 1.0102,
"strikeout_factor": 1.0368,
"walk_factor": 1.0088,
"homer_factor": 1.0848,
"woba_minus_xwoba": 0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664126",
"espn_id": 42180,
"player_name": "Pete Fairbanks",
"team": "MIA",
"role": "pitcher",
"espn_rank": 770,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 770,
"gp_value": 36.0,
"gp_rank": 124,
"gs_value": 1.0,
"gs_rank": 274,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 6.75,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 15.0,
"sv_rank": 15,
"hld_value": 2.0,
"hld_rank": 199,
"ip_value": 33.1,
"ip_rank": 343,
"h_value": 32.0,
"h_rank": 309,
"er_value": 25.0,
"er_rank": 184,
"hr_value": 8.0,
"hr_rank": 157,
"bb_value": 14.0,
"bb_rank": 308,
"k_value": 45.0,
"k_rank": 236,
"k_per_9_value": 12.150001,
"k_per_9_rank": 18,
"whip_value": 1.38,
"whip_rank": null,
"war_value": -1.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0056,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0056,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0048,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0465,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0202,
"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.1,
"ER": 7,
"H": 11,
"BB": 3,
"SO": 13,
"HR": 2,
"ERA": 6.750000000000001,
"WHIP": 1.5000000000000002,
"K9": 12.535714285714286,
"HR9": 1.9285714285714288,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "664126",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.18905051243614,
"release_spin_rate": 2442.975455831453,
"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": 20,
"pitch_usage": 0.0,
"release_speed": 92.18905051243614,
"release_spin_rate": 2442.975455831453,
"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.1891,
"release_spin_rate": 2442.9755,
"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.1297,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9266,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.643,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5706,
"prior_weight": 0.4294
},
"role": "pitcher",
"player_id": "664126",
"report_date": "20260730_M",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 3.6,
"Pitches": 14.8
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.1538,
"ER_per_IP": 0.69231,
"H_per_IP": 0.69231,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 8.0,
"H": 11.0,
"BB": 3.0,
"SO": 13.0,
"HR": 2.0,
"BF": 42.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.1,
"BB": 0.3,
"SO": 1.3,
"HR": 0.2,
"BF": 4.2,
"Pitches": 17.1
},
"rates": {
"ERA": 6.75,
"WHIP": 1.5,
"ER_per_IP": 0.75,
"H_per_IP": 1.17857,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.39286,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 36,
"totals": {
"IP": 33.1,
"ER": 25.0,
"R": 28.0,
"H": 32.0,
"BB": 14.0,
"SO": 45.0,
"HR": 8.0,
"BF": 148.0,
"Pitches": 615.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6944,
"R": 0.7778,
"H": 0.8889,
"BB": 0.3889,
"SO": 1.25,
"HR": 0.2222,
"BF": 4.1111,
"Pitches": 17.0833
},
"rates": {
"ERA": 6.75,
"WHIP": 1.38,
"ER_per_IP": 0.75,
"H_per_IP": 0.96,
"BB_per_IP": 0.42,
"SO_per_IP": 1.35,
"HR_per_IP": 0.24
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.45,
"predicted_H": 0.672,
"predicted_BB": 0.274,
"predicted_SO": 0.898,
"predicted_HR": 0.139,
"predicted_ERA": 5.674,
"predicted_WHIP": 1.3253
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5314,
"form_weight": 0.4686,
"form_reliability": 0.5706,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.643,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5706,
"prior_weight": 0.4294
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.45,
"final": 0.2109,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.672,
"final": 0.3149,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.274,
"final": 0.1284,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.898,
"final": 1.4836,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.139,
"final": 0.0651,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.674,
"final": 5.674,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3253,
"final": 1.3253,
"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.226 | 0.000 | 0.000 | Hitting_2B | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_AB | 4.010 | 4.000 | 4.000 | Hitting_AB | 3.864 | 3.000 | 0.136 | 1.000 |
| predicted_AVG | 0.216 | 0.000 | 0.250 | Hitting_AVG | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_BB | 0.393 | 0.000 | 0.000 | Hitting_BB | 0.404 | 1.000 | -0.404 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.870 | 0.000 | 1.000 | Hitting_H | 0.917 | 0.000 | -0.917 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_OBP | 0.327 | 0.000 | 0.250 | Hitting_OBP | 0.320 | 0.250 | -0.320 | -0.250 |
| predicted_R | 0.464 | 0.000 | 0.000 | Hitting_R | 0.496 | 1.000 | -0.496 | -1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.591 | 0.000 | -0.591 | 0.000 |
| predicted_SLG | 0.439 | 0.000 | 0.250 | Hitting_SLG | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_SO | 1.381 | 3.000 | 1.000 | Hitting_SO | 1.415 | 2.000 | 1.585 | 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_SO: 1.3810 -> 3.0000 (boost 1.6190, worse) |
| Biggest Deboost | predicted_H: 0.8700 -> 0.0000 (deboost -0.8700, 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 | 3 | 1 | predicted_SLG: 0.4390 -> 0.4681 (boost 0.0291, better) | predicted_AB: 4.0100 -> 3.8741 (deboost -0.1359, 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.3331 -> 0.3028 (deboost -0.0303, 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 | 4 | 4 | predicted_RBI: 0.5558 -> 1.0000 (boost 0.4442, better) | predicted_BB: 0.4158 -> 0.0000 (deboost -0.4158, worse) | AB rounded to 4 (raw=4.01), rates preserved: AVG=0.220 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4633 -> 0.0000 (deboost -0.4633, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2280 -> 0.2500 (boost 0.0220, better) | predicted_SLG: 0.4670 -> 0.2500 (deboost -0.2170, 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 -> 3.0000 (boost 2.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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4670 (boost 0.2170, better) | predicted_AVG: 0.2500 -> 0.2280 (deboost -0.0220, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669065",
"player_name": "Kyle Stowers",
"position": "1B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.226,
"predicted_3B": 0.036,
"predicted_AB": 4.01,
"predicted_AVG": 0.216,
"predicted_BB": 0.393,
"predicted_H": 0.87,
"predicted_HR": 0.2,
"predicted_OBP": 0.327,
"predicted_R": 0.464,
"predicted_RBI": 0.58,
"predicted_SLG": 0.439,
"predicted_SO": 1.381
},
"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.2452,
"predicted_3B": 0.0296,
"predicted_AB": 3.8741,
"predicted_AVG": 0.2288,
"predicted_BB": 0.4148,
"predicted_H": 0.8862,
"predicted_HBP": 0.106,
"predicted_HR": 0.2073,
"predicted_OBP": 0.3331,
"predicted_R": 0.4649,
"predicted_RBI": 0.5578,
"predicted_SLG": 0.4681,
"predicted_SO": 1.3584
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.2452,
"delta": 0.0192,
"percent_delta": 0.085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0296,
"delta": -0.0064,
"percent_delta": -0.1778,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 3.8741,
"delta": -0.1359,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2288,
"delta": 0.0128,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.4148,
"delta": 0.0218,
"percent_delta": 0.0555,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8862,
"delta": 0.0162,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2073,
"delta": 0.0073,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3331,
"delta": 0.0061,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.4649,
"delta": 0.0009,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5578,
"delta": -0.0222,
"percent_delta": -0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4681,
"delta": 0.0291,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.381,
"after": 1.3584,
"delta": -0.0226,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4681,
"delta": 0.0291,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 3.8741,
"delta": -0.1359,
"percent_delta": -0.0339,
"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.2452,
"predicted_3B": 0.0296,
"predicted_AB": 3.8741,
"predicted_AVG": 0.228,
"predicted_BB": 0.4158,
"predicted_H": 0.8832,
"predicted_HBP": 0.106,
"predicted_HR": 0.2072,
"predicted_OBP": 0.3028,
"predicted_R": 0.4633,
"predicted_RBI": 0.5558,
"predicted_SLG": 0.467,
"predicted_SO": 1.3551
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2452,
"after": 0.2452,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0296,
"after": 0.0296,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8741,
"after": 3.8741,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2288,
"after": 0.228,
"delta": -0.0008,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4148,
"after": 0.4158,
"delta": 0.001,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8862,
"after": 0.8832,
"delta": -0.003,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.106,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2073,
"after": 0.2072,
"delta": -0.0001,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3331,
"after": 0.3028,
"delta": -0.0303,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4649,
"after": 0.4633,
"delta": -0.0016,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5578,
"after": 0.5558,
"delta": -0.002,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4681,
"after": 0.467,
"delta": -0.0011,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.3584,
"after": 1.3551,
"delta": -0.0033,
"percent_delta": -0.0024,
"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.3331,
"after": 0.3028,
"delta": -0.0303,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.01), rates preserved: AVG=0.220 HR/AB=0.052",
"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.2452,
"after": 0.0,
"delta": -0.2452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0296,
"after": 0.0,
"delta": -0.0296,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8741,
"after": 4.0,
"delta": 0.1259,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4158,
"after": 0.0,
"delta": -0.4158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8832,
"after": 1.0,
"delta": 0.1168,
"percent_delta": 0.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2072,
"after": 0.0,
"delta": -0.2072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5558,
"after": 1.0,
"delta": 0.4442,
"percent_delta": 0.7992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3551,
"after": 1.0,
"delta": -0.3551,
"percent_delta": -0.262,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5558,
"after": 1.0,
"delta": 0.4442,
"percent_delta": 0.7992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4158,
"after": 0.0,
"delta": -0.4158,
"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.4633,
"after": 0.0,
"delta": -0.4633,
"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.4633,
"after": 0.0,
"delta": -0.4633,
"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.228,
"after": 0.25,
"delta": 0.022,
"percent_delta": 0.0965,
"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.3028,
"after": 0.25,
"delta": -0.0528,
"percent_delta": -0.1744,
"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.467,
"after": 0.25,
"delta": -0.217,
"percent_delta": -0.4647,
"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.228,
"after": 0.25,
"delta": 0.022,
"percent_delta": 0.0965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.25,
"delta": -0.217,
"percent_delta": -0.4647,
"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": 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_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": 3.0,
"delta": 2.0,
"percent_delta": 2.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": 3.0,
"delta": 2.0,
"percent_delta": 2.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.228,
"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.3028,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.467,
"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.25,
"after": 0.228,
"delta": -0.022,
"percent_delta": -0.0881,
"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.3028,
"delta": 0.0528,
"percent_delta": 0.2112,
"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.467,
"delta": 0.217,
"percent_delta": 0.868,
"direction": "boost",
"projection_effect": "better",
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.467,
"delta": 0.217,
"percent_delta": 0.868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.228,
"delta": -0.022,
"percent_delta": -0.0881,
"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.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 4.0,
"delta": -0.01,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.228,
"delta": 0.012,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3028,
"delta": -0.0242,
"percent_delta": -0.074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.0,
"delta": -0.464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.467,
"delta": 0.028,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.381,
"after": 3.0,
"delta": 1.619,
"percent_delta": 1.1723,
"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": 1.381,
"after": 3.0,
"delta": 1.619,
"percent_delta": 1.1723,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"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.226 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 4.010 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.393 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.464 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 1.381 | - |
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.245 | 0.019 |
| predicted_3B | 0.030 | -0.006 |
| predicted_AB | 3.874 | -0.136 |
| predicted_AVG | 0.229 | 0.013 |
| predicted_BB | 0.415 | 0.022 |
| predicted_H | 0.886 | 0.016 |
| predicted_HBP | 0.106 | - |
| predicted_HR | 0.207 | 0.007 |
| predicted_OBP | 0.333 | 0.006 |
| predicted_R | 0.465 | 0.001 |
| predicted_RBI | 0.558 | -0.022 |
| predicted_SLG | 0.468 | 0.029 |
| predicted_SO | 1.358 | -0.023 |
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.245 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 3.874 | 0.000 |
| predicted_AVG | 0.228 | -0.001 |
| predicted_BB | 0.416 | 0.001 |
| predicted_H | 0.883 | -0.003 |
| predicted_HBP | 0.106 | 0.000 |
| predicted_HR | 0.207 | -0.000 |
| predicted_OBP | 0.303 | -0.030 |
| predicted_R | 0.463 | -0.002 |
| predicted_RBI | 0.556 | -0.002 |
| predicted_SLG | 0.467 | -0.001 |
| predicted_SO | 1.355 | -0.003 |
AB rounded to 4 (raw=4.01), rates preserved: AVG=0.220 HR/AB=0.052
| 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.245 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 4.000 | 0.126 |
| predicted_AVG | 0.250 | 0.022 |
| predicted_BB | 0.000 | -0.416 |
| predicted_H | 1.000 | 0.117 |
| predicted_HR | 0.000 | -0.207 |
| predicted_OBP | 0.250 | -0.053 |
| predicted_R | 0.000 | -0.463 |
| predicted_RBI | 1.000 | 0.444 |
| predicted_SLG | 0.250 | -0.217 |
| predicted_SO | 1.000 | -0.355 |
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 | 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 | - | 17.000 | 5.000 | 2.000 | 0.000 | 2.000 | 3.000 | 3.000 | 3.000 | 6.000 | 0.2941 | 0.4286 | 0.7647 | 0.2941 | 0.1177 | 0.1765 | 0.1765 | 0.3529 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 3.000 | 0.000 | 2.000 | 4.000 | 3.000 | 5.000 | 15.000 | 0.2368 | 0.3409 | 0.4737 | 0.2368 | 0.0526 | 0.1053 | 0.1316 | 0.3947 |
| season | 0.60 | 84 | - | 314.000 | 73.000 | 19.000 | 3.000 | 14.000 | 46.000 | 39.000 | 33.000 | 116.000 | 0.2325 | 0.3174 | 0.4459 | 0.2325 | 0.0446 | 0.1465 | 0.1051 | 0.3694 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2710 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.6920 |
| predicted_AVG | 0.2459 |
| predicted_BB | 0.4440 |
| predicted_H | 0.9080 |
| predicted_HBP | 0.1060 |
| predicted_HR | 0.2170 |
| predicted_OBP | 0.3413 |
| predicted_R | 0.4660 |
| predicted_RBI | 0.5280 |
| predicted_SLG | 0.5070 |
| predicted_SO | 1.3280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2260 | 0.2710 | 0.2452 | model_form_blend |
| predicted_3B | 0.0360 | 0.0210 | 0.0296 | model_form_blend |
| predicted_AB | 4.0100 | 3.6920 | 3.8741 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2459 | 0.2288 | model_form_blend |
| predicted_BB | 0.3930 | 0.4440 | 0.4148 | model_form_blend |
| predicted_H | 0.8700 | 0.9080 | 0.8862 | model_form_blend |
| predicted_HBP | - | 0.1060 | 0.1060 | form_only |
| predicted_HR | 0.2000 | 0.2170 | 0.2073 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3413 | 0.3331 | model_form_blend |
| predicted_R | 0.4640 | 0.4660 | 0.4649 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5280 | 0.5578 | model_form_blend |
| predicted_SLG | 0.4390 | 0.5070 | 0.4681 | model_form_blend |
| predicted_SO | 1.3810 | 1.3280 | 1.3584 | 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 | 337 |
| Season rows before report date | 337 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | 20260729_PHI@MIA |
| game_type | full |
| mlbID | 669065 |
| playerID | 669065 |
| playerName | Kyle Stowers |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 32.3 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.332 |
| sl_xwoba | 0.324 |
| sl_xba | 0.229 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 54.5 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 36.0 |
| 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.093 | 0.000 | 0.000 | Hitting_2B | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 3.505 | 4.000 | 4.000 | Hitting_AB | 3.766 | 3.000 | 0.234 | 1.000 |
| predicted_AVG | 0.279 | 0.000 | 0.250 | Hitting_AVG | 0.296 | 0.000 | -0.296 | 0.000 |
| predicted_BB | 0.381 | 0.000 | 0.000 | Hitting_BB | 0.419 | 1.000 | -0.419 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.979 | 0.000 | 1.000 | Hitting_H | 1.113 | 0.000 | -1.113 | 0.000 |
| predicted_HR | 0.144 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.350 | 0.000 | 0.250 | Hitting_OBP | 0.372 | 0.250 | -0.372 | -0.250 |
| predicted_R | 0.557 | 0.000 | 0.000 | Hitting_R | 0.656 | 0.000 | -0.656 | 0.000 |
| predicted_RBI | 0.619 | 0.000 | 1.000 | Hitting_RBI | 0.737 | 0.000 | -0.737 | 0.000 |
| predicted_SLG | 0.435 | 0.000 | 0.250 | Hitting_SLG | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_SO | 0.392 | 1.000 | 0.000 | Hitting_SO | 0.414 | 0.000 | 0.586 | 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.3920 -> 1.0000 (boost 0.6080, worse) |
| Biggest Deboost | predicted_H: 0.9790 -> 0.0000 (deboost -0.9790, 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.6190 -> 0.5332 (deboost -0.0858, 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.3460 -> 0.3377 (deboost -0.0083, 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 | 4 | 4 | predicted_AB: 3.5295 -> 4.0000 (boost 0.4705, better) | predicted_SO: 0.4292 -> 0.0000 (deboost -0.4292, better) | AB rounded to 4 (raw=3.53), rates preserved: AVG=0.266 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4974 -> 0.0000 (deboost -0.4974, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4035 -> 0.2500 (deboost -0.1535, 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: 0.0000 -> 1.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.4035 (boost 0.1535, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "689414",
"player_name": "Liam Hicks",
"position": "DH",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.093,
"predicted_3B": 0.01,
"predicted_AB": 3.505,
"predicted_AVG": 0.279,
"predicted_BB": 0.381,
"predicted_H": 0.979,
"predicted_HR": 0.144,
"predicted_OBP": 0.35,
"predicted_R": 0.557,
"predicted_RBI": 0.619,
"predicted_SLG": 0.435,
"predicted_SO": 0.392
},
"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.081,
"predicted_3B": 0.0087,
"predicted_AB": 3.5295,
"predicted_AVG": 0.2669,
"predicted_BB": 0.381,
"predicted_H": 0.9421,
"predicted_HBP": 0.122,
"predicted_HR": 0.129,
"predicted_OBP": 0.346,
"predicted_R": 0.4991,
"predicted_RBI": 0.5332,
"predicted_SLG": 0.4048,
"predicted_SO": 0.4302
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.081,
"delta": -0.012,
"percent_delta": -0.129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.505,
"after": 3.5295,
"delta": 0.0245,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2669,
"delta": -0.0121,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.381,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.979,
"after": 0.9421,
"delta": -0.0369,
"percent_delta": -0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.144,
"after": 0.129,
"delta": -0.015,
"percent_delta": -0.1042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.346,
"delta": -0.004,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.557,
"after": 0.4991,
"delta": -0.0579,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.619,
"after": 0.5332,
"delta": -0.0858,
"percent_delta": -0.1386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4048,
"delta": -0.0302,
"percent_delta": -0.0694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.392,
"after": 0.4302,
"delta": 0.0382,
"percent_delta": 0.0974,
"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.619,
"after": 0.5332,
"delta": -0.0858,
"percent_delta": -0.1386,
"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": 97
}
},
{
"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.081,
"predicted_3B": 0.0087,
"predicted_AB": 3.5295,
"predicted_AVG": 0.266,
"predicted_BB": 0.3819,
"predicted_H": 0.9389,
"predicted_HBP": 0.122,
"predicted_HR": 0.1289,
"predicted_OBP": 0.3377,
"predicted_R": 0.4974,
"predicted_RBI": 0.5313,
"predicted_SLG": 0.4035,
"predicted_SO": 0.4292
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.081,
"after": 0.081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5295,
"after": 3.5295,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2669,
"after": 0.266,
"delta": -0.0009,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.3819,
"delta": 0.0009,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9421,
"after": 0.9389,
"delta": -0.0032,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.122,
"after": 0.122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.129,
"after": 0.1289,
"delta": -0.0001,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3377,
"delta": -0.0083,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4991,
"after": 0.4974,
"delta": -0.0017,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5332,
"after": 0.5313,
"delta": -0.0019,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4048,
"after": 0.4035,
"delta": -0.0013,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4302,
"after": 0.4292,
"delta": -0.001,
"percent_delta": -0.0023,
"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.346,
"after": 0.3377,
"delta": -0.0083,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.53), rates preserved: AVG=0.266 HR/AB=0.037",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5295,
"after": 4.0,
"delta": 0.4705,
"percent_delta": 0.1333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3819,
"after": 0.0,
"delta": -0.3819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9389,
"after": 1.0,
"delta": 0.0611,
"percent_delta": 0.0651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1289,
"after": 0.0,
"delta": -0.1289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5313,
"after": 1.0,
"delta": 0.4687,
"percent_delta": 0.8822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4292,
"after": 0.0,
"delta": -0.4292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5295,
"after": 4.0,
"delta": 0.4705,
"percent_delta": 0.1333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4292,
"after": 0.0,
"delta": -0.4292,
"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": 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": 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_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.4974,
"after": 0.0,
"delta": -0.4974,
"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": 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.4974,
"after": 0.0,
"delta": -0.4974,
"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": 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.266,
"after": 0.25,
"delta": -0.016,
"percent_delta": -0.0602,
"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.3377,
"after": 0.25,
"delta": -0.0877,
"percent_delta": -0.2597,
"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.4035,
"after": 0.25,
"delta": -0.1535,
"percent_delta": -0.3804,
"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_SLG",
"before": 0.4035,
"after": 0.25,
"delta": -0.1535,
"percent_delta": -0.3804,
"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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.266,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3377,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4035,
"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.266,
"delta": 0.016,
"percent_delta": 0.0641,
"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.3377,
"delta": 0.0877,
"percent_delta": 0.3507,
"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.4035,
"delta": 0.1535,
"percent_delta": 0.614,
"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.4035,
"delta": 0.1535,
"percent_delta": 0.614,
"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.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.505,
"after": 4.0,
"delta": 0.495,
"percent_delta": 0.1412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.266,
"delta": -0.013,
"percent_delta": -0.0466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.979,
"after": 0.0,
"delta": -0.979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3377,
"delta": -0.0123,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.557,
"after": 0.0,
"delta": -0.557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.619,
"after": 0.0,
"delta": -0.619,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4035,
"delta": -0.0315,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.392,
"after": 1.0,
"delta": 0.608,
"percent_delta": 1.551,
"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.392,
"after": 1.0,
"delta": 0.608,
"percent_delta": 1.551,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.979,
"after": 0.0,
"delta": -0.979,
"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.010 | - |
| predicted_AB | 3.505 | - |
| predicted_AVG | 0.279 | - |
| predicted_BB | 0.381 | - |
| predicted_H | 0.979 | - |
| predicted_HR | 0.144 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.557 | - |
| predicted_RBI | 0.619 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 0.392 | - |
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.081 | -0.012 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.530 | 0.025 |
| predicted_AVG | 0.267 | -0.012 |
| predicted_BB | 0.381 | 0.000 |
| predicted_H | 0.942 | -0.037 |
| predicted_HBP | 0.122 | - |
| predicted_HR | 0.129 | -0.015 |
| predicted_OBP | 0.346 | -0.004 |
| predicted_R | 0.499 | -0.058 |
| predicted_RBI | 0.533 | -0.086 |
| predicted_SLG | 0.405 | -0.030 |
| predicted_SO | 0.430 | 0.038 |
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.081 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.530 | 0.000 |
| predicted_AVG | 0.266 | -0.001 |
| predicted_BB | 0.382 | 0.001 |
| predicted_H | 0.939 | -0.003 |
| predicted_HBP | 0.122 | 0.000 |
| predicted_HR | 0.129 | -0.000 |
| predicted_OBP | 0.338 | -0.008 |
| predicted_R | 0.497 | -0.002 |
| predicted_RBI | 0.531 | -0.002 |
| predicted_SLG | 0.404 | -0.001 |
| predicted_SO | 0.429 | -0.001 |
AB rounded to 4 (raw=3.53), rates preserved: AVG=0.266 HR/AB=0.037
| 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 | 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 | 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 | 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.081 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.470 |
| predicted_AVG | 0.250 | -0.016 |
| predicted_BB | 0.000 | -0.382 |
| predicted_H | 1.000 | 0.061 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.250 | -0.088 |
| predicted_R | 0.000 | -0.497 |
| predicted_RBI | 1.000 | 0.469 |
| predicted_SLG | 0.250 | -0.154 |
| predicted_SO | 0.000 | -0.429 |
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 | 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 | - | 18.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.2222 | 0.3333 | 0.2222 | 0.2222 | 0.0000 | 0.0000 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 4.000 | 7.000 | 0.1944 | 0.3095 | 0.2778 | 0.1944 | 0.0278 | 0.0556 | 0.1111 | 0.1944 |
| season | 0.60 | 97 | - | 340.000 | 95.000 | 9.000 | 1.000 | 14.000 | 60.000 | 54.000 | 37.000 | 38.000 | 0.2794 | 0.3581 | 0.4353 | 0.2794 | 0.0412 | 0.1765 | 0.1088 | 0.1118 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0650 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.5620 |
| predicted_AVG | 0.2508 |
| predicted_BB | 0.3810 |
| predicted_H | 0.8930 |
| predicted_HBP | 0.1220 |
| predicted_HR | 0.1090 |
| predicted_OBP | 0.3407 |
| predicted_R | 0.4220 |
| predicted_RBI | 0.4190 |
| predicted_SLG | 0.3646 |
| predicted_SO | 0.4810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.0650 | 0.0810 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 3.5050 | 3.5620 | 3.5295 | model_form_blend |
| predicted_AVG | 0.2790 | 0.2508 | 0.2669 | model_form_blend |
| predicted_BB | 0.3810 | 0.3810 | 0.3810 | model_form_blend |
| predicted_H | 0.9790 | 0.8930 | 0.9421 | model_form_blend |
| predicted_HBP | - | 0.1220 | 0.1220 | form_only |
| predicted_HR | 0.1440 | 0.1090 | 0.1290 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3407 | 0.3460 | model_form_blend |
| predicted_R | 0.5570 | 0.4220 | 0.4991 | model_form_blend |
| predicted_RBI | 0.6190 | 0.4190 | 0.5332 | model_form_blend |
| predicted_SLG | 0.4350 | 0.3646 | 0.4048 | model_form_blend |
| predicted_SO | 0.3920 | 0.4810 | 0.4302 | 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 | 372 |
| Season rows before report date | 372 |
| Report year | 2026 |
| Profile rows used | 97 |
| 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.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 | 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 | 0 |
| 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 | 20260729_PHI@MIA |
| game_type | full |
| mlbID | 689414 |
| playerID | 689414 |
| playerName | Liam Hicks |
| pos | C |
| started | True |
| startingPosition | 1B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 9.8 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.349 |
| sl_xwoba | 0.311 |
| sl_xba | 0.251 |
| sl_xslg | 0.352 |
| sl_sweet_spot_percent | 26.5 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 30.4 |
| sl_exit_velocity_avg | 85.2 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 10.8 |
| sl_swing_percent | 41.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.125 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.800 | 4.000 | 3.000 | Hitting_AB | 3.145 | 1.000 | 0.855 | 3.000 |
| predicted_AVG | 0.299 | 0.000 | 0.333 | Hitting_AVG | 0.288 | 1.000 | -0.288 | -1.000 |
| predicted_BB | 0.325 | 0.000 | 0.000 | Hitting_BB | 0.402 | 0.000 | -0.402 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.340 | 0.000 | 1.000 | Hitting_H | 0.906 | 1.000 | -0.906 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.197 | 1.000 | -0.197 | -1.000 |
| predicted_OBP | 0.354 | 0.000 | 0.333 | Hitting_OBP | 0.375 | 1.000 | -0.375 | -1.000 |
| predicted_R | 0.450 | 0.000 | 0.000 | Hitting_R | 0.470 | 1.000 | -0.470 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.504 | 2.000 | -0.504 | -2.000 |
| predicted_SLG | 0.829 | 0.000 | 0.333 | Hitting_SLG | 0.527 | 4.000 | -0.527 | -4.000 |
| predicted_SO | 0.925 | 3.000 | 1.000 | Hitting_SO | 1.068 | 0.000 | 1.932 | 3.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.9250 -> 3.0000 (boost 2.0750, worse) |
| Biggest Deboost | predicted_R: 0.4500 -> 0.0000 (deboost -0.4500, 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 | 3 | 2 | 3 | 2 | predicted_H: 0.3400 -> 0.5310 (boost 0.1910, better) | predicted_SLG: 0.8290 -> 0.7268 (deboost -0.1022, 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.7268 -> 0.4500 (deboost -0.2768, 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.5292 -> 1.0000 (boost 0.4708, better) | predicted_RBI: 0.4276 -> 0.0000 (deboost -0.4276, worse) | AB rounded to 3 (raw=2.86), rates preserved: AVG=0.185 HR/AB=0.074 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4638 -> 0.0000 (deboost -0.4638, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1852 -> 0.3330 (boost 0.1478, better) | predicted_SLG: 0.4500 -> 0.3330 (deboost -0.1170, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_SO: 1.0000 -> 3.0000 (boost 2.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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4500 (boost 0.1170, better) | predicted_AVG: 0.3330 -> 0.1852 (deboost -0.1478, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665052",
"player_name": "Griffin Conine",
"position": "RF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 2.8,
"predicted_AVG": 0.299,
"predicted_BB": 0.325,
"predicted_H": 0.34,
"predicted_HR": 0.19,
"predicted_OBP": 0.354,
"predicted_R": 0.45,
"predicted_RBI": 0.35,
"predicted_SLG": 0.829,
"predicted_SO": 0.925
},
"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.1179,
"predicted_3B": 0.0008,
"predicted_AB": 2.8571,
"predicted_AVG": 0.2916,
"predicted_BB": 0.3282,
"predicted_H": 0.531,
"predicted_HBP": 0.018,
"predicted_HR": 0.2124,
"predicted_OBP": 0.355,
"predicted_R": 0.4654,
"predicted_RBI": 0.4291,
"predicted_SLG": 0.7268,
"predicted_SO": 0.9014
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1179,
"delta": -0.0071,
"percent_delta": -0.0568,
"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.8,
"after": 2.8571,
"delta": 0.0571,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.299,
"after": 0.2916,
"delta": -0.0074,
"percent_delta": -0.0247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 0.3282,
"delta": 0.0032,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 0.531,
"delta": 0.191,
"percent_delta": 0.5618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.2124,
"delta": 0.0224,
"percent_delta": 0.1179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.355,
"delta": 0.001,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.45,
"after": 0.4654,
"delta": 0.0154,
"percent_delta": 0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.4291,
"delta": 0.0791,
"percent_delta": 0.226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.829,
"after": 0.7268,
"delta": -0.1022,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.925,
"after": 0.9014,
"delta": -0.0236,
"percent_delta": -0.0255,
"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_H",
"before": 0.34,
"after": 0.531,
"delta": 0.191,
"percent_delta": 0.5618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.829,
"after": 0.7268,
"delta": -0.1022,
"percent_delta": -0.1233,
"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": 40
}
},
{
"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.1179,
"predicted_3B": 0.0008,
"predicted_AB": 2.8571,
"predicted_AVG": 0.1852,
"predicted_BB": 0.329,
"predicted_H": 0.5292,
"predicted_HBP": 0.018,
"predicted_HR": 0.2123,
"predicted_OBP": 0.2694,
"predicted_R": 0.4638,
"predicted_RBI": 0.4276,
"predicted_SLG": 0.45,
"predicted_SO": 0.8992
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1179,
"after": 0.1179,
"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.8571,
"after": 2.8571,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2916,
"after": 0.1852,
"delta": -0.1064,
"percent_delta": -0.3649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3282,
"after": 0.329,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.531,
"after": 0.5292,
"delta": -0.0018,
"percent_delta": -0.0034,
"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.2124,
"after": 0.2123,
"delta": -0.0001,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.2694,
"delta": -0.0856,
"percent_delta": -0.2411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4654,
"after": 0.4638,
"delta": -0.0016,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4291,
"after": 0.4276,
"delta": -0.0015,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.7268,
"after": 0.45,
"delta": -0.2768,
"percent_delta": -0.3808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9014,
"after": 0.8992,
"delta": -0.0022,
"percent_delta": -0.0024,
"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.7268,
"after": 0.45,
"delta": -0.2768,
"percent_delta": -0.3808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.86), rates preserved: AVG=0.185 HR/AB=0.074",
"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.1179,
"after": 0.0,
"delta": -0.1179,
"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.8571,
"after": 3.0,
"delta": 0.1429,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5292,
"after": 1.0,
"delta": 0.4708,
"percent_delta": 0.8896,
"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.2123,
"after": 0.0,
"delta": -0.2123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4276,
"after": 0.0,
"delta": -0.4276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8992,
"after": 1.0,
"delta": 0.1008,
"percent_delta": 0.1121,
"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.5292,
"after": 1.0,
"delta": 0.4708,
"percent_delta": 0.8896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4276,
"after": 0.0,
"delta": -0.4276,
"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.4638,
"after": 0.0,
"delta": -0.4638,
"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.4638,
"after": 0.0,
"delta": -0.4638,
"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.1852,
"after": 0.333,
"delta": 0.1478,
"percent_delta": 0.7981,
"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.2694,
"after": 0.333,
"delta": 0.0636,
"percent_delta": 0.2361,
"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.45,
"after": 0.333,
"delta": -0.117,
"percent_delta": -0.26,
"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.1852,
"after": 0.333,
"delta": 0.1478,
"percent_delta": 0.7981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.333,
"delta": -0.117,
"percent_delta": -0.26,
"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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"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": {
"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.1852,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2694,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.45,
"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.1852,
"delta": -0.1478,
"percent_delta": -0.4438,
"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.2694,
"delta": -0.0636,
"percent_delta": -0.1911,
"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.45,
"delta": 0.117,
"percent_delta": 0.3513,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.45,
"delta": 0.117,
"percent_delta": 0.3513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1852,
"delta": -0.1478,
"percent_delta": -0.4438,
"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.125,
"after": 0.0,
"delta": -0.125,
"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.8,
"after": 4.0,
"delta": 1.2,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.299,
"after": 0.1852,
"delta": -0.1138,
"percent_delta": -0.3806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 0.0,
"delta": -0.325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"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.354,
"after": 0.2694,
"delta": -0.0846,
"percent_delta": -0.239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.829,
"after": 0.45,
"delta": -0.379,
"percent_delta": -0.4572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.925,
"after": 3.0,
"delta": 2.075,
"percent_delta": 2.2432,
"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.925,
"after": 3.0,
"delta": 2.075,
"percent_delta": 2.2432,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"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.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.800 | - |
| predicted_AVG | 0.299 | - |
| predicted_BB | 0.325 | - |
| predicted_H | 0.340 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.450 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.829 | - |
| predicted_SO | 0.925 | - |
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.118 | -0.007 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.857 | 0.057 |
| predicted_AVG | 0.292 | -0.007 |
| predicted_BB | 0.328 | 0.003 |
| predicted_H | 0.531 | 0.191 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.212 | 0.022 |
| predicted_OBP | 0.355 | 0.001 |
| predicted_R | 0.465 | 0.015 |
| predicted_RBI | 0.429 | 0.079 |
| predicted_SLG | 0.727 | -0.102 |
| predicted_SO | 0.901 | -0.024 |
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.118 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.857 | 0.000 |
| predicted_AVG | 0.185 | -0.106 |
| predicted_BB | 0.329 | 0.001 |
| predicted_H | 0.529 | -0.002 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.212 | -0.000 |
| predicted_OBP | 0.269 | -0.086 |
| predicted_R | 0.464 | -0.002 |
| predicted_RBI | 0.428 | -0.002 |
| predicted_SLG | 0.450 | -0.277 |
| predicted_SO | 0.899 | -0.002 |
AB rounded to 3 (raw=2.86), rates preserved: AVG=0.185 HR/AB=0.074
| 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.118 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.143 |
| predicted_AVG | 0.333 | 0.148 |
| predicted_BB | 0.000 | -0.329 |
| predicted_H | 1.000 | 0.471 |
| predicted_HR | 0.000 | -0.212 |
| predicted_OBP | 0.333 | 0.064 |
| predicted_R | 0.000 | -0.464 |
| predicted_RBI | 0.000 | -0.428 |
| predicted_SLG | 0.333 | -0.117 |
| predicted_SO | 1.000 | 0.101 |
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 | 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 | - | 12.000 | 4.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 2.000 | 3.000 | 0.3333 | 0.4286 | 0.8333 | 0.3333 | 0.1667 | 0.3333 | 0.1667 | 0.2500 |
| last_10 | 0.20 | 10 | - | 29.000 | 8.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 3.000 | 9.000 | 0.2759 | 0.3438 | 0.5172 | 0.2759 | 0.0690 | 0.1379 | 0.1035 | 0.3103 |
| season | 0.60 | 40 | - | 112.000 | 31.000 | 5.000 | 0.000 | 9.000 | 20.000 | 18.000 | 13.000 | 37.000 | 0.2768 | 0.3571 | 0.5625 | 0.2768 | 0.0804 | 0.1786 | 0.1161 | 0.3304 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9450 |
| predicted_AVG | 0.2803 |
| predicted_BB | 0.3330 |
| predicted_H | 0.8250 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.2470 |
| predicted_OBP | 0.3566 |
| predicted_R | 0.4890 |
| predicted_RBI | 0.5510 |
| predicted_SLG | 0.5695 |
| predicted_SO | 0.8650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1070 | 0.1179 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8000 | 2.9450 | 2.8571 | model_form_blend |
| predicted_AVG | 0.2990 | 0.2803 | 0.2916 | model_form_blend |
| predicted_BB | 0.3250 | 0.3330 | 0.3282 | model_form_blend |
| predicted_H | 0.3400 | 0.8250 | 0.5310 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1900 | 0.2470 | 0.2124 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3566 | 0.3550 | model_form_blend |
| predicted_R | 0.4500 | 0.4890 | 0.4654 | model_form_blend |
| predicted_RBI | 0.3500 | 0.5510 | 0.4291 | model_form_blend |
| predicted_SLG | 0.8290 | 0.5695 | 0.7268 | model_form_blend |
| predicted_SO | 0.9250 | 0.8650 | 0.9014 | 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 | 117 |
| Season rows before report date | 117 |
| Report year | 2026 |
| Profile rows used | 40 |
| 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 | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.277 |
| 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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| 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 | PH |
| gameID | 20260729_PHI@MIA |
| game_type | ph |
| mlbID | 665052 |
| note | Homered for Navarreto in the 8th. |
| playerID | 665052 |
| playerName | Griffin Conine |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.383 |
| sl_xwoba | 0.375 |
| sl_xba | 0.275 |
| sl_xslg | 0.506 |
| sl_sweet_spot_percent | 40.5 |
| sl_barrel_batted_rate | 14.9 |
| sl_hard_hit_percent | 55.4 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 4.9 |
| sl_whiff_percent | 36.3 |
| sl_swing_percent | 51.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.263 | 0.000 | 0.000 | Hitting_2B | 0.301 | 1.000 | -0.301 | -1.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 3.350 | 3.000 | 3.000 | Hitting_AB | 3.530 | 3.000 | -0.530 | 0.000 |
| predicted_AVG | 0.256 | 0.000 | 0.333 | Hitting_AVG | 0.277 | 0.333 | -0.277 | -0.333 |
| predicted_BB | 0.163 | 1.000 | 0.000 | Hitting_BB | 0.161 | 1.000 | 0.839 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 1.000 | -0.036 | -1.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.978 | 1.000 | -0.978 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_OBP | 0.291 | 0.250 | 0.333 | Hitting_OBP | 0.308 | 0.500 | -0.058 | -0.250 |
| predicted_R | 0.325 | 0.000 | 0.000 | Hitting_R | 0.380 | 0.000 | -0.380 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.498 | 0.000 | -0.498 | 0.000 |
| predicted_SLG | 0.377 | 0.000 | 0.333 | Hitting_SLG | 0.420 | 0.667 | -0.420 | -0.667 |
| predicted_SO | 0.287 | 1.000 | 0.000 | Hitting_SO | 0.305 | 0.000 | 0.695 | 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_BB: 0.1630 -> 1.0000 (boost 0.8370, better) |
| Biggest Deboost | predicted_H: 0.7700 -> 0.0000 (deboost -0.7700, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3770 -> 0.3649 (deboost -0.0121, 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.2466 -> 0.2306 (deboost -0.0160, 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 | 2 | 4 | predicted_H: 0.7628 -> 1.0000 (boost 0.2372, better) | predicted_AB: 3.3074 -> 3.0000 (deboost -0.3074, worse) | AB rounded to 3 (raw=3.35), rates preserved: AVG=0.228 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3256 -> 0.0000 (deboost -0.3256, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2306 -> 0.3330 (boost 0.1024, better) | predicted_SLG: 0.3538 -> 0.3330 (deboost -0.0208, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3538 (boost 0.0208, better) | predicted_AVG: 0.3330 -> 0.2306 (deboost -0.1024, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691594",
"player_name": "Javier Sanoja",
"position": "3B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.263,
"predicted_3B": 0.025,
"predicted_AB": 3.35,
"predicted_AVG": 0.256,
"predicted_BB": 0.163,
"predicted_H": 0.77,
"predicted_HR": 0.04,
"predicted_OBP": 0.291,
"predicted_R": 0.325,
"predicted_RBI": 0.29,
"predicted_SLG": 0.377,
"predicted_SO": 0.287
},
"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.2579,
"predicted_3B": 0.0204,
"predicted_AB": 3.3074,
"predicted_AVG": 0.2466,
"predicted_BB": 0.1925,
"predicted_H": 0.7654,
"predicted_HBP": 0.003,
"predicted_HR": 0.0362,
"predicted_OBP": 0.2887,
"predicted_R": 0.3267,
"predicted_RBI": 0.2892,
"predicted_SLG": 0.3649,
"predicted_SO": 0.2857
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.263,
"after": 0.2579,
"delta": -0.0051,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0204,
"delta": -0.0046,
"percent_delta": -0.184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.35,
"after": 3.3074,
"delta": -0.0426,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2466,
"delta": -0.0094,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 0.1925,
"delta": 0.0295,
"percent_delta": 0.181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7654,
"delta": -0.0046,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0362,
"delta": -0.0038,
"percent_delta": -0.095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2887,
"delta": -0.0023,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.325,
"after": 0.3267,
"delta": 0.0017,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2892,
"delta": -0.0008,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3649,
"delta": -0.0121,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.287,
"after": 0.2857,
"delta": -0.0013,
"percent_delta": -0.0045,
"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.377,
"after": 0.3649,
"delta": -0.0121,
"percent_delta": -0.0321,
"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": 80
}
},
{
"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.2579,
"predicted_3B": 0.0204,
"predicted_AB": 3.3074,
"predicted_AVG": 0.2306,
"predicted_BB": 0.193,
"predicted_H": 0.7628,
"predicted_HBP": 0.003,
"predicted_HR": 0.0362,
"predicted_OBP": 0.273,
"predicted_R": 0.3256,
"predicted_RBI": 0.2882,
"predicted_SLG": 0.3538,
"predicted_SO": 0.285
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2579,
"after": 0.2579,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0204,
"after": 0.0204,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3074,
"after": 3.3074,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2466,
"after": 0.2306,
"delta": -0.016,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1925,
"after": 0.193,
"delta": 0.0005,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7654,
"after": 0.7628,
"delta": -0.0026,
"percent_delta": -0.0034,
"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.0362,
"after": 0.0362,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2887,
"after": 0.273,
"delta": -0.0157,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3267,
"after": 0.3256,
"delta": -0.0011,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2892,
"after": 0.2882,
"delta": -0.001,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3649,
"after": 0.3538,
"delta": -0.0111,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2857,
"after": 0.285,
"delta": -0.0007,
"percent_delta": -0.0025,
"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.2466,
"after": 0.2306,
"delta": -0.016,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.35), rates preserved: AVG=0.228 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2579,
"after": 0.0,
"delta": -0.2579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0204,
"after": 0.0,
"delta": -0.0204,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3074,
"after": 3.0,
"delta": -0.3074,
"percent_delta": -0.0929,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7628,
"after": 1.0,
"delta": 0.2372,
"percent_delta": 0.311,
"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.0362,
"after": 0.0,
"delta": -0.0362,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2882,
"after": 0.0,
"delta": -0.2882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.285,
"after": 0.0,
"delta": -0.285,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7628,
"after": 1.0,
"delta": 0.2372,
"percent_delta": 0.311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3074,
"after": 3.0,
"delta": -0.3074,
"percent_delta": -0.0929,
"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": 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.3256,
"after": 0.0,
"delta": -0.3256,
"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.3256,
"after": 0.0,
"delta": -0.3256,
"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.2306,
"after": 0.333,
"delta": 0.1024,
"percent_delta": 0.4441,
"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.273,
"after": 0.333,
"delta": 0.06,
"percent_delta": 0.2198,
"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.3538,
"after": 0.333,
"delta": -0.0208,
"percent_delta": -0.0588,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2306,
"after": 0.333,
"delta": 0.1024,
"percent_delta": 0.4441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3538,
"after": 0.333,
"delta": -0.0208,
"percent_delta": -0.0588,
"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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"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.2306,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.273,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3538,
"predicted_SO": 1.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": 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.2306,
"delta": -0.1024,
"percent_delta": -0.3074,
"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.273,
"delta": -0.06,
"percent_delta": -0.18,
"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.3538,
"delta": 0.0208,
"percent_delta": 0.0624,
"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.3538,
"delta": 0.0208,
"percent_delta": 0.0624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2306,
"delta": -0.1024,
"percent_delta": -0.3074,
"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.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 3.35,
"after": 3.0,
"delta": -0.35,
"percent_delta": -0.1045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2306,
"delta": -0.0254,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 1.0,
"delta": 0.837,
"percent_delta": 5.135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.291,
"after": 0.273,
"delta": -0.018,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.325,
"after": 0.0,
"delta": -0.325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3538,
"delta": -0.0232,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.287,
"after": 1.0,
"delta": 0.713,
"percent_delta": 2.4843,
"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_BB",
"before": 0.163,
"after": 1.0,
"delta": 0.837,
"percent_delta": 5.135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.263 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.350 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.163 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.325 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.377 | - |
| predicted_SO | 0.287 | - |
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.258 | -0.005 |
| predicted_3B | 0.020 | -0.005 |
| predicted_AB | 3.307 | -0.043 |
| predicted_AVG | 0.247 | -0.009 |
| predicted_BB | 0.193 | 0.029 |
| predicted_H | 0.765 | -0.005 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.036 | -0.004 |
| predicted_OBP | 0.289 | -0.002 |
| predicted_R | 0.327 | 0.002 |
| predicted_RBI | 0.289 | -0.001 |
| predicted_SLG | 0.365 | -0.012 |
| predicted_SO | 0.286 | -0.001 |
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.258 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.307 | 0.000 |
| predicted_AVG | 0.231 | -0.016 |
| predicted_BB | 0.193 | 0.001 |
| predicted_H | 0.763 | -0.003 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.036 | 0.000 |
| predicted_OBP | 0.273 | -0.016 |
| predicted_R | 0.326 | -0.001 |
| predicted_RBI | 0.288 | -0.001 |
| predicted_SLG | 0.354 | -0.011 |
| predicted_SO | 0.285 | -0.001 |
AB rounded to 3 (raw=3.35), rates preserved: AVG=0.228 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 | 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.258 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 3.000 | -0.307 |
| predicted_AVG | 0.333 | 0.102 |
| predicted_BB | 0.000 | -0.193 |
| predicted_H | 1.000 | 0.237 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.333 | 0.060 |
| predicted_R | 0.000 | -0.326 |
| predicted_RBI | 0.000 | -0.288 |
| predicted_SLG | 0.333 | -0.021 |
| predicted_SO | 0.000 | -0.285 |
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 | 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 | - | 13.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.1538 | 0.2667 | 0.2308 | 0.1538 | 0.0000 | 0.0000 | 0.1538 | 0.0769 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 0.2121 | 0.2571 | 0.3030 | 0.2121 | 0.0000 | 0.0303 | 0.0606 | 0.0303 |
| season | 0.60 | 80 | - | 268.000 | 71.000 | 21.000 | 2.000 | 3.000 | 35.000 | 26.000 | 13.000 | 23.000 | 0.2649 | 0.2979 | 0.3918 | 0.2649 | 0.0112 | 0.1306 | 0.0485 | 0.0858 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2510 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.2490 |
| predicted_AVG | 0.2337 |
| predicted_BB | 0.2330 |
| predicted_H | 0.7590 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.2856 |
| predicted_R | 0.3290 |
| predicted_RBI | 0.2880 |
| predicted_SLG | 0.3483 |
| predicted_SO | 0.2840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2630 | 0.2510 | 0.2579 | model_form_blend |
| predicted_3B | 0.0250 | 0.0140 | 0.0204 | model_form_blend |
| predicted_AB | 3.3500 | 3.2490 | 3.3074 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2337 | 0.2466 | model_form_blend |
| predicted_BB | 0.1630 | 0.2330 | 0.1925 | model_form_blend |
| predicted_H | 0.7700 | 0.7590 | 0.7654 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0400 | 0.0310 | 0.0362 | model_form_blend |
| predicted_OBP | 0.2910 | 0.2856 | 0.2887 | model_form_blend |
| predicted_R | 0.3250 | 0.3290 | 0.3267 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2880 | 0.2892 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3483 | 0.3649 | model_form_blend |
| predicted_SO | 0.2870 | 0.2840 | 0.2857 | 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 | 279 |
| Season rows before report date | 279 |
| Report year | 2026 |
| Profile rows used | 80 |
| 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.265 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| 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 | 2 |
| 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 | 3B |
| gameID | 20260729_PHI@MIA |
| game_type | full |
| mlbID | 691594 |
| playerID | 691594 |
| playerName | Javier Sanoja |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 8.2 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.302 |
| sl_xwoba | 0.27 |
| sl_xba | 0.251 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 31.1 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 12.1 |
| 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.156 | 0.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.840 | 4.000 | 4.000 | Hitting_AB | 3.521 | 4.000 | 0.479 | 0.000 |
| predicted_AVG | 0.232 | 0.250 | 0.250 | Hitting_AVG | 0.252 | 0.250 | -0.002 | 0.000 |
| predicted_BB | 0.273 | 0.000 | 0.000 | Hitting_BB | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 0.890 | 1.000 | 1.000 | Hitting_H | 0.887 | 1.000 | 0.113 | 0.000 |
| predicted_HR | 0.340 | 0.000 | 0.000 | Hitting_HR | 0.210 | 1.000 | -0.210 | -1.000 |
| predicted_OBP | 0.271 | 0.250 | 0.250 | Hitting_OBP | 0.323 | 0.250 | -0.073 | 0.000 |
| predicted_R | 0.377 | 0.000 | 0.000 | Hitting_R | 0.409 | 1.000 | -0.409 | -1.000 |
| predicted_RBI | 0.710 | 0.000 | 1.000 | Hitting_RBI | 0.560 | 2.000 | -0.560 | -2.000 |
| predicted_SLG | 0.514 | 0.250 | 0.250 | Hitting_SLG | 0.494 | 1.000 | -0.244 | -0.750 |
| predicted_SO | 0.948 | 1.000 | 1.000 | Hitting_SO | 1.004 | 0.000 | -0.004 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.8400 -> 4.0000 (boost 0.1600, better) |
| Biggest Deboost | predicted_RBI: 0.7100 -> 0.0000 (deboost -0.7100, 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.9480 -> 1.0361 (boost 0.0881, worse) | predicted_AB: 3.8400 -> 3.7667 (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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.5012 -> 0.5186 (boost 0.0174, better) | - | 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.6827 -> 1.0000 (boost 0.3173, better) | predicted_HR: 0.3011 -> 0.0000 (deboost -0.3011, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.227 HR/AB=0.078 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3988 -> 0.0000 (deboost -0.3988, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2311 -> 0.2500 (boost 0.0189, better) | predicted_SLG: 0.5186 -> 0.2500 (deboost -0.2686, 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_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.5186 (boost 0.2686, better) | predicted_AVG: 0.2500 -> 0.2311 (deboost -0.0189, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681715",
"player_name": "Heriberto Hernández",
"position": "LF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.013,
"predicted_AB": 3.84,
"predicted_AVG": 0.232,
"predicted_BB": 0.273,
"predicted_H": 0.89,
"predicted_HR": 0.34,
"predicted_OBP": 0.271,
"predicted_R": 0.377,
"predicted_RBI": 0.71,
"predicted_SLG": 0.514,
"predicted_SO": 0.948
},
"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.1568,
"predicted_3B": 0.0113,
"predicted_AB": 3.7667,
"predicted_AVG": 0.232,
"predicted_BB": 0.238,
"predicted_H": 0.8736,
"predicted_HBP": 0.011,
"predicted_HR": 0.3012,
"predicted_OBP": 0.2706,
"predicted_R": 0.4002,
"predicted_RBI": 0.6851,
"predicted_SLG": 0.5012,
"predicted_SO": 1.0361
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.1568,
"delta": 0.0008,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0113,
"delta": -0.0017,
"percent_delta": -0.1308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7667,
"delta": -0.0733,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.273,
"after": 0.238,
"delta": -0.035,
"percent_delta": -0.1282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8736,
"delta": -0.0164,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.34,
"after": 0.3012,
"delta": -0.0388,
"percent_delta": -0.1141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.2706,
"delta": -0.0004,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.4002,
"delta": 0.0232,
"percent_delta": 0.0615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.6851,
"delta": -0.0249,
"percent_delta": -0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.514,
"after": 0.5012,
"delta": -0.0128,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.948,
"after": 1.0361,
"delta": 0.0881,
"percent_delta": 0.0929,
"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.948,
"after": 1.0361,
"delta": 0.0881,
"percent_delta": 0.0929,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7667,
"delta": -0.0733,
"percent_delta": -0.0191,
"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": 77
}
},
{
"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.1568,
"predicted_3B": 0.0113,
"predicted_AB": 3.7667,
"predicted_AVG": 0.2311,
"predicted_BB": 0.2386,
"predicted_H": 0.8706,
"predicted_HBP": 0.011,
"predicted_HR": 0.3011,
"predicted_OBP": 0.2769,
"predicted_R": 0.3988,
"predicted_RBI": 0.6827,
"predicted_SLG": 0.5186,
"predicted_SO": 1.0336
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1568,
"after": 0.1568,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7667,
"after": 3.7667,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2311,
"delta": -0.0009,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.2386,
"delta": 0.0006,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8736,
"after": 0.8706,
"delta": -0.003,
"percent_delta": -0.0034,
"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.3012,
"after": 0.3011,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2706,
"after": 0.2769,
"delta": 0.0063,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4002,
"after": 0.3988,
"delta": -0.0014,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6851,
"after": 0.6827,
"delta": -0.0024,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5012,
"after": 0.5186,
"delta": 0.0174,
"percent_delta": 0.0347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0361,
"after": 1.0336,
"delta": -0.0025,
"percent_delta": -0.0024,
"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_SLG",
"before": 0.5012,
"after": 0.5186,
"delta": 0.0174,
"percent_delta": 0.0347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.227 HR/AB=0.078",
"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.1568,
"after": 0.0,
"delta": -0.1568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0,
"delta": -0.0113,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7667,
"after": 4.0,
"delta": 0.2333,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2386,
"after": 0.0,
"delta": -0.2386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8706,
"after": 1.0,
"delta": 0.1294,
"percent_delta": 0.1486,
"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.3011,
"after": 0.0,
"delta": -0.3011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6827,
"after": 1.0,
"delta": 0.3173,
"percent_delta": 0.4648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0336,
"after": 1.0,
"delta": -0.0336,
"percent_delta": -0.0325,
"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.6827,
"after": 1.0,
"delta": 0.3173,
"percent_delta": 0.4648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3011,
"after": 0.0,
"delta": -0.3011,
"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.3988,
"after": 0.0,
"delta": -0.3988,
"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.3988,
"after": 0.0,
"delta": -0.3988,
"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.2311,
"after": 0.25,
"delta": 0.0189,
"percent_delta": 0.0818,
"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.2769,
"after": 0.25,
"delta": -0.0269,
"percent_delta": -0.0971,
"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.5186,
"after": 0.25,
"delta": -0.2686,
"percent_delta": -0.5179,
"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.2311,
"after": 0.25,
"delta": 0.0189,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5186,
"after": 0.25,
"delta": -0.2686,
"percent_delta": -0.5179,
"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": 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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"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.2311,
"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.2769,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5186,
"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.2311,
"delta": -0.0189,
"percent_delta": -0.0754,
"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.2769,
"delta": 0.0269,
"percent_delta": 0.1077,
"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.5186,
"delta": 0.2686,
"percent_delta": 1.0742,
"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.5186,
"delta": 0.2686,
"percent_delta": 1.0742,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2311,
"delta": -0.0189,
"percent_delta": -0.0754,
"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.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2311,
"delta": -0.0009,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.273,
"after": 0.0,
"delta": -0.273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.2769,
"delta": 0.0059,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.514,
"after": 0.5186,
"delta": 0.0046,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.948,
"after": 1.0,
"delta": 0.052,
"percent_delta": 0.0549,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"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.156 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.273 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.340 | - |
| predicted_OBP | 0.271 | - |
| predicted_R | 0.377 | - |
| predicted_RBI | 0.710 | - |
| predicted_SLG | 0.514 | - |
| predicted_SO | 0.948 | - |
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.157 | 0.001 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.767 | -0.073 |
| predicted_AVG | 0.232 | 0.000 |
| predicted_BB | 0.238 | -0.035 |
| predicted_H | 0.874 | -0.016 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.301 | -0.039 |
| predicted_OBP | 0.271 | -0.000 |
| predicted_R | 0.400 | 0.023 |
| predicted_RBI | 0.685 | -0.025 |
| predicted_SLG | 0.501 | -0.013 |
| predicted_SO | 1.036 | 0.088 |
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.157 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.767 | 0.000 |
| predicted_AVG | 0.231 | -0.001 |
| predicted_BB | 0.239 | 0.001 |
| predicted_H | 0.871 | -0.003 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.301 | -0.000 |
| predicted_OBP | 0.277 | 0.006 |
| predicted_R | 0.399 | -0.001 |
| predicted_RBI | 0.683 | -0.002 |
| predicted_SLG | 0.519 | 0.017 |
| predicted_SO | 1.034 | -0.002 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.227 HR/AB=0.078
| 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.157 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.233 |
| predicted_AVG | 0.250 | 0.019 |
| predicted_BB | 0.000 | -0.239 |
| predicted_H | 1.000 | 0.129 |
| predicted_HR | 0.000 | -0.301 |
| predicted_OBP | 0.250 | -0.027 |
| predicted_R | 0.000 | -0.399 |
| predicted_RBI | 1.000 | 0.317 |
| predicted_SLG | 0.250 | -0.269 |
| predicted_SO | 1.000 | -0.034 |
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 | 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 | - | 21.000 | 3.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 0.000 | 8.000 | 0.1429 | 0.1429 | 0.4286 | 0.1429 | 0.0952 | 0.2381 | 0.0000 | 0.3810 |
| last_10 | 0.20 | 10 | - | 42.000 | 12.000 | 3.000 | 0.000 | 3.000 | 7.000 | 4.000 | 0.000 | 16.000 | 0.2857 | 0.2857 | 0.5714 | 0.2857 | 0.0714 | 0.1667 | 0.0000 | 0.3810 |
| season | 0.60 | 77 | - | 253.000 | 61.000 | 12.000 | 1.000 | 16.000 | 43.000 | 29.000 | 21.000 | 73.000 | 0.2411 | 0.3007 | 0.4862 | 0.2411 | 0.0632 | 0.1700 | 0.0830 | 0.2885 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1580 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.6660 |
| predicted_AVG | 0.2321 |
| predicted_BB | 0.1900 |
| predicted_H | 0.8510 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2480 |
| predicted_OBP | 0.2700 |
| predicted_R | 0.4320 |
| predicted_RBI | 0.6510 |
| predicted_SLG | 0.4836 |
| predicted_SO | 1.1570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.1580 | 0.1568 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0113 | model_form_blend |
| predicted_AB | 3.8400 | 3.6660 | 3.7667 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2321 | 0.2320 | model_form_blend |
| predicted_BB | 0.2730 | 0.1900 | 0.2380 | model_form_blend |
| predicted_H | 0.8900 | 0.8510 | 0.8736 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.3400 | 0.2480 | 0.3012 | model_form_blend |
| predicted_OBP | 0.2710 | 0.2700 | 0.2706 | model_form_blend |
| predicted_R | 0.3770 | 0.4320 | 0.4002 | model_form_blend |
| predicted_RBI | 0.7100 | 0.6510 | 0.6851 | model_form_blend |
| predicted_SLG | 0.5140 | 0.4836 | 0.5012 | model_form_blend |
| predicted_SO | 0.9480 | 1.1570 | 1.0361 | 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 | 257 |
| Season rows before report date | 257 |
| Report year | 2026 |
| Profile rows used | 77 |
| 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.241 |
| 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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| 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 | LF |
| gameID | 20260729_PHI@MIA |
| game_type | full |
| mlbID | 681715 |
| playerID | 681715 |
| playerName | Heriberto Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.338 |
| sl_xwoba | 0.352 |
| sl_xba | 0.254 |
| sl_xslg | 0.497 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 51.4 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 33.6 |
| sl_swing_percent | 46.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.098 | 0.000 | 0.000 | Hitting_2B | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.049 | 4.000 | 3.000 | Hitting_AB | 3.253 | 0.000 | 0.747 | 4.000 |
| predicted_AVG | 0.275 | 0.250 | 0.333 | Hitting_AVG | 0.245 | - | 0.005 | - |
| predicted_BB | 0.213 | 0.000 | 0.000 | Hitting_BB | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.310 | 1.000 | 1.000 | Hitting_H | 0.798 | 0.000 | 0.202 | 1.000 |
| predicted_HR | 0.080 | 1.000 | 0.000 | Hitting_HR | 0.172 | 0.000 | 0.828 | 1.000 |
| predicted_OBP | 0.275 | 0.250 | 0.333 | Hitting_OBP | 0.302 | - | -0.052 | - |
| predicted_R | 0.443 | 1.000 | 0.000 | Hitting_R | 0.510 | 0.000 | 0.490 | 1.000 |
| predicted_RBI | 0.220 | 3.000 | 0.000 | Hitting_RBI | 0.571 | 0.000 | 2.429 | 3.000 |
| predicted_SLG | 0.425 | 1.000 | 0.333 | Hitting_SLG | 0.433 | - | 0.567 | - |
| predicted_SO | 0.852 | 1.000 | 1.000 | Hitting_SO | 0.909 | 0.000 | 0.091 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.2200 -> 3.0000 (boost 2.7800, better) |
| Biggest Deboost | predicted_BB: 0.2130 -> 0.0000 (deboost -0.2130, 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 | 3 | 1 | predicted_H: 0.3100 -> 0.4814 (boost 0.1714, better) | predicted_AVG: 0.2750 -> 0.2542 (deboost -0.0208, 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.4255 -> 0.3028 (deboost -0.1227, 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 | 0 | 7 | predicted_SO: 0.8738 -> 1.0000 (boost 0.1262, worse) | predicted_H: 0.4798 -> 0.0000 (deboost -0.4798, worse) | AB rounded to 3 (raw=3.13), rates preserved: AVG=0.154 HR/AB=0.040 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4184 -> 0.0000 (deboost -0.4184, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1535 -> 0.3330 (boost 0.1795, better) | - | 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 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1535 (deboost -0.1795, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691788",
"player_name": "Joe Mack",
"position": "C",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.098,
"predicted_3B": 0.0,
"predicted_AB": 3.049,
"predicted_AVG": 0.275,
"predicted_BB": 0.213,
"predicted_H": 0.31,
"predicted_HR": 0.08,
"predicted_OBP": 0.275,
"predicted_R": 0.443,
"predicted_RBI": 0.22,
"predicted_SLG": 0.425,
"predicted_SO": 0.852
},
"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.0881,
"predicted_3B": 0.0008,
"predicted_AB": 3.1252,
"predicted_AVG": 0.2542,
"predicted_BB": 0.2068,
"predicted_H": 0.4814,
"predicted_HBP": 0.039,
"predicted_HR": 0.1257,
"predicted_OBP": 0.2761,
"predicted_R": 0.4199,
"predicted_RBI": 0.3415,
"predicted_SLG": 0.4255,
"predicted_SO": 0.8759
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.098,
"after": 0.0881,
"delta": -0.0099,
"percent_delta": -0.101,
"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.049,
"after": 3.1252,
"delta": 0.0762,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2542,
"delta": -0.0208,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.213,
"after": 0.2068,
"delta": -0.0062,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.4814,
"delta": 0.1714,
"percent_delta": 0.5529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1257,
"delta": 0.0457,
"percent_delta": 0.5713,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2761,
"delta": 0.0011,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 0.4199,
"delta": -0.0231,
"percent_delta": -0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.3415,
"delta": 0.1215,
"percent_delta": 0.5523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.4255,
"delta": 0.0005,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 0.8759,
"delta": 0.0239,
"percent_delta": 0.0281,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.31,
"after": 0.4814,
"delta": 0.1714,
"percent_delta": 0.5529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2542,
"delta": -0.0208,
"percent_delta": -0.0756,
"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.0881,
"predicted_3B": 0.0008,
"predicted_AB": 3.1252,
"predicted_AVG": 0.1535,
"predicted_BB": 0.2073,
"predicted_H": 0.4798,
"predicted_HBP": 0.039,
"predicted_HR": 0.1256,
"predicted_OBP": 0.2062,
"predicted_R": 0.4184,
"predicted_RBI": 0.3403,
"predicted_SLG": 0.3028,
"predicted_SO": 0.8738
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0881,
"after": 0.0881,
"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.1252,
"after": 3.1252,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2542,
"after": 0.1535,
"delta": -0.1007,
"percent_delta": -0.3961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2068,
"after": 0.2073,
"delta": 0.0005,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4814,
"after": 0.4798,
"delta": -0.0016,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1257,
"after": 0.1256,
"delta": -0.0001,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2761,
"after": 0.2062,
"delta": -0.0699,
"percent_delta": -0.2532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4199,
"after": 0.4184,
"delta": -0.0015,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3415,
"after": 0.3403,
"delta": -0.0012,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4255,
"after": 0.3028,
"delta": -0.1227,
"percent_delta": -0.2884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8759,
"after": 0.8738,
"delta": -0.0021,
"percent_delta": -0.0024,
"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.4255,
"after": 0.3028,
"delta": -0.1227,
"percent_delta": -0.2884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.13), rates preserved: AVG=0.154 HR/AB=0.040",
"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.0881,
"after": 0.0,
"delta": -0.0881,
"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.1252,
"after": 3.0,
"delta": -0.1252,
"percent_delta": -0.0401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2073,
"after": 0.0,
"delta": -0.2073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4798,
"after": 0.0,
"delta": -0.4798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1256,
"after": 0.0,
"delta": -0.1256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3403,
"after": 0.0,
"delta": -0.3403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8738,
"after": 1.0,
"delta": 0.1262,
"percent_delta": 0.1444,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8738,
"after": 1.0,
"delta": 0.1262,
"percent_delta": 0.1444,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4798,
"after": 0.0,
"delta": -0.4798,
"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.4184,
"after": 0.0,
"delta": -0.4184,
"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.4184,
"after": 0.0,
"delta": -0.4184,
"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.1535,
"after": 0.333,
"delta": 0.1795,
"percent_delta": 1.1694,
"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.2062,
"after": 0.333,
"delta": 0.1268,
"percent_delta": 0.6149,
"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.3028,
"after": 0.333,
"delta": 0.0302,
"percent_delta": 0.0997,
"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.1535,
"after": 0.333,
"delta": 0.1795,
"percent_delta": 1.1694,
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.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": 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": 3.0,
"delta": 3.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": 3.0,
"delta": 3.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.1535,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2062,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3028,
"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.1535,
"delta": -0.1795,
"percent_delta": -0.539,
"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.2062,
"delta": -0.1268,
"percent_delta": -0.3809,
"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.3028,
"delta": -0.0302,
"percent_delta": -0.0906,
"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.1535,
"delta": -0.1795,
"percent_delta": -0.539,
"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.098,
"after": 0.0,
"delta": -0.098,
"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.049,
"after": 4.0,
"delta": 0.951,
"percent_delta": 0.3119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.1535,
"delta": -0.1215,
"percent_delta": -0.4418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 1.0,
"delta": 0.92,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2062,
"delta": -0.0688,
"percent_delta": -0.2502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 1.0,
"delta": 0.557,
"percent_delta": 1.2573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 3.0,
"delta": 2.78,
"percent_delta": 12.6364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.3028,
"delta": -0.1222,
"percent_delta": -0.2875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 1.0,
"delta": 0.148,
"percent_delta": 0.1737,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.22,
"after": 3.0,
"delta": 2.78,
"percent_delta": 12.6364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"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.098 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.049 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.213 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.443 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.425 | - |
| predicted_SO | 0.852 | - |
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.088 | -0.010 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.125 | 0.076 |
| predicted_AVG | 0.254 | -0.021 |
| predicted_BB | 0.207 | -0.006 |
| predicted_H | 0.481 | 0.171 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.126 | 0.046 |
| predicted_OBP | 0.276 | 0.001 |
| predicted_R | 0.420 | -0.023 |
| predicted_RBI | 0.342 | 0.122 |
| predicted_SLG | 0.425 | 0.001 |
| predicted_SO | 0.876 | 0.024 |
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.088 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.125 | 0.000 |
| predicted_AVG | 0.153 | -0.101 |
| predicted_BB | 0.207 | 0.001 |
| predicted_H | 0.480 | -0.002 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.126 | -0.000 |
| predicted_OBP | 0.206 | -0.070 |
| predicted_R | 0.418 | -0.002 |
| predicted_RBI | 0.340 | -0.001 |
| predicted_SLG | 0.303 | -0.123 |
| predicted_SO | 0.874 | -0.002 |
AB rounded to 3 (raw=3.13), rates preserved: AVG=0.154 HR/AB=0.040
| 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.088 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.125 |
| predicted_AVG | 0.333 | 0.180 |
| predicted_BB | 0.000 | -0.207 |
| predicted_H | 1.000 | 0.520 |
| predicted_HR | 0.000 | -0.126 |
| predicted_OBP | 0.333 | 0.127 |
| predicted_R | 0.000 | -0.418 |
| predicted_RBI | 0.000 | -0.340 |
| predicted_SLG | 0.333 | 0.030 |
| 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 | 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 | 3.000 | 3.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 | 1.000 | 1.000 | 4.000 | 0.1765 | 0.2222 | 0.3529 | 0.1765 | 0.0588 | 0.1177 | 0.0588 | 0.2353 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 0.000 | 0.000 | 3.000 | 7.000 | 3.000 | 1.000 | 12.000 | 0.2188 | 0.2647 | 0.5000 | 0.2188 | 0.0938 | 0.2188 | 0.0312 | 0.3750 |
| season | 0.60 | 61 | - | 186.000 | 44.000 | 6.000 | 0.000 | 10.000 | 30.000 | 27.000 | 13.000 | 52.000 | 0.2366 | 0.2935 | 0.4301 | 0.2366 | 0.0538 | 0.1613 | 0.0699 | 0.2796 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0740 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2340 |
| predicted_AVG | 0.2246 |
| predicted_BB | 0.1980 |
| predicted_H | 0.7260 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1910 |
| predicted_OBP | 0.2776 |
| predicted_R | 0.3870 |
| predicted_RBI | 0.5150 |
| predicted_SLG | 0.4261 |
| predicted_SO | 0.9100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0980 | 0.0740 | 0.0881 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0490 | 3.2340 | 3.1252 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2246 | 0.2542 | model_form_blend |
| predicted_BB | 0.2130 | 0.1980 | 0.2068 | model_form_blend |
| predicted_H | 0.3100 | 0.7260 | 0.4814 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.0800 | 0.1910 | 0.1257 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2776 | 0.2761 | model_form_blend |
| predicted_R | 0.4430 | 0.3870 | 0.4199 | model_form_blend |
| predicted_RBI | 0.2200 | 0.5150 | 0.3415 | model_form_blend |
| predicted_SLG | 0.4250 | 0.4261 | 0.4255 | model_form_blend |
| predicted_SO | 0.8520 | 0.9100 | 0.8759 | 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 | 198 |
| Season rows before report date | 198 |
| 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 | 3 |
| 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 | 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 | 8 |
| Hitting_substitutionOrder | 2 |
| 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 | 20260729_PHI@MIA |
| game_type | short |
| mlbID | 691788 |
| playerID | 691788 |
| playerName | Joe Mack |
| pos | C |
| started | False |
| startingPosition | C |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.315 |
| sl_xwoba | 0.317 |
| sl_xba | 0.239 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 10.1 |
| sl_hard_hit_percent | 40.6 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 46.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.117 | 1.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | 0.882 | 1.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 3.408 | 3.000 | 3.000 | Hitting_AB | 3.616 | 2.000 | -0.616 | 1.000 |
| predicted_AVG | 0.232 | 0.667 | 0.333 | Hitting_AVG | 0.191 | 0.000 | 0.476 | 0.667 |
| predicted_BB | 0.534 | 0.000 | 1.000 | Hitting_BB | 0.558 | 1.000 | -0.558 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_H | 0.610 | 2.000 | 1.000 | Hitting_H | 0.691 | 0.000 | 1.309 | 2.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_OBP | 0.364 | 0.667 | 0.500 | Hitting_OBP | 0.314 | 0.333 | 0.353 | 0.333 |
| predicted_R | 0.495 | 1.000 | 1.000 | Hitting_R | 0.529 | 1.000 | 0.471 | 0.000 |
| predicted_RBI | 0.210 | 0.000 | 0.000 | Hitting_RBI | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_SLG | 0.320 | 1.000 | 0.333 | Hitting_SLG | 0.291 | 0.000 | 0.709 | 1.000 |
| predicted_SO | 0.903 | 0.000 | 1.000 | Hitting_SO | 0.957 | 1.000 | -0.957 | -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_H: 0.6100 -> 2.0000 (boost 1.3900, better) |
| Biggest Deboost | predicted_SO: 0.9030 -> 0.0000 (deboost -0.9030, 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 | 0 | 4 | 1 | 3 | - | predicted_AB: 3.4080 -> 3.2415 (deboost -0.1665, 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.3592 -> 0.3146 (deboost -0.0446, 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_BB: 0.5694 -> 1.0000 (boost 0.4306, better) | predicted_AB: 3.2415 -> 3.0000 (deboost -0.2415, worse) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.185 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5074 -> 1.0000 (boost 0.4926, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3146 -> 0.5000 (boost 0.1854, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 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 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.5000 -> 0.3146 (deboost -0.1854, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805300",
"player_name": "Jakob Marsee",
"position": "CF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.117,
"predicted_3B": 0.029,
"predicted_AB": 3.408,
"predicted_AVG": 0.232,
"predicted_BB": 0.534,
"predicted_H": 0.61,
"predicted_HR": 0.04,
"predicted_OBP": 0.364,
"predicted_R": 0.495,
"predicted_RBI": 0.21,
"predicted_SLG": 0.32,
"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.129,
"predicted_3B": 0.023,
"predicted_AB": 3.2415,
"predicted_AVG": 0.2262,
"predicted_BB": 0.568,
"predicted_H": 0.6315,
"predicted_HBP": 0.045,
"predicted_HR": 0.0361,
"predicted_OBP": 0.3592,
"predicted_R": 0.5092,
"predicted_RBI": 0.2182,
"predicted_SLG": 0.3148,
"predicted_SO": 0.8501
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 0.129,
"delta": 0.012,
"percent_delta": 0.1026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.023,
"delta": -0.006,
"percent_delta": -0.2069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.408,
"after": 3.2415,
"delta": -0.1665,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2262,
"delta": -0.0058,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.534,
"after": 0.568,
"delta": 0.034,
"percent_delta": 0.0637,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.6315,
"delta": 0.0215,
"percent_delta": 0.0352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0361,
"delta": -0.0039,
"percent_delta": -0.0975,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3592,
"delta": -0.0048,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.5092,
"delta": 0.0142,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.2182,
"delta": 0.0082,
"percent_delta": 0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3148,
"delta": -0.0052,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 0.8501,
"delta": -0.0529,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.408,
"after": 3.2415,
"delta": -0.1665,
"percent_delta": -0.0489,
"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.129,
"predicted_3B": 0.023,
"predicted_AB": 3.2415,
"predicted_AVG": 0.1942,
"predicted_BB": 0.5694,
"predicted_H": 0.6294,
"predicted_HBP": 0.045,
"predicted_HR": 0.0361,
"predicted_OBP": 0.3146,
"predicted_R": 0.5074,
"predicted_RBI": 0.2174,
"predicted_SLG": 0.2815,
"predicted_SO": 0.8481
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2415,
"after": 3.2415,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2262,
"after": 0.1942,
"delta": -0.032,
"percent_delta": -0.1415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.568,
"after": 0.5694,
"delta": 0.0014,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6315,
"after": 0.6294,
"delta": -0.0021,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0361,
"after": 0.0361,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3592,
"after": 0.3146,
"delta": -0.0446,
"percent_delta": -0.1242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5092,
"after": 0.5074,
"delta": -0.0018,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2182,
"after": 0.2174,
"delta": -0.0008,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3148,
"after": 0.2815,
"delta": -0.0333,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8501,
"after": 0.8481,
"delta": -0.002,
"percent_delta": -0.0024,
"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.3592,
"after": 0.3146,
"delta": -0.0446,
"percent_delta": -0.1242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.41), rates preserved: AVG=0.185 HR/AB=0.011",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2415,
"after": 3.0,
"delta": -0.2415,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5694,
"after": 1.0,
"delta": 0.4306,
"percent_delta": 0.7562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6294,
"after": 1.0,
"delta": 0.3706,
"percent_delta": 0.5888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0361,
"after": 0.0,
"delta": -0.0361,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2174,
"after": 0.0,
"delta": -0.2174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8481,
"after": 1.0,
"delta": 0.1519,
"percent_delta": 0.1791,
"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_BB",
"before": 0.5694,
"after": 1.0,
"delta": 0.4306,
"percent_delta": 0.7562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.2415,
"after": 3.0,
"delta": -0.2415,
"percent_delta": -0.0745,
"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": 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": 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.5074,
"after": 1.0,
"delta": 0.4926,
"percent_delta": 0.9708,
"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.5074,
"after": 1.0,
"delta": 0.4926,
"percent_delta": 0.9708,
"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": 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.1942,
"after": 0.333,
"delta": 0.1388,
"percent_delta": 0.7147,
"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.3146,
"after": 0.5,
"delta": 0.1854,
"percent_delta": 0.5893,
"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_SLG",
"before": 0.2815,
"after": 0.333,
"delta": 0.0515,
"percent_delta": 0.1829,
"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_OBP",
"before": 0.3146,
"after": 0.5,
"delta": 0.1854,
"percent_delta": 0.5893,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.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": 0.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": 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": 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": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"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": 3.0,
"predicted_AVG": 0.1942,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3146,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2815,
"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": 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.1942,
"delta": -0.1388,
"percent_delta": -0.417,
"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.5,
"after": 0.3146,
"delta": -0.1854,
"percent_delta": -0.3709,
"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.2815,
"delta": -0.0515,
"percent_delta": -0.1545,
"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_OBP",
"before": 0.5,
"after": 0.3146,
"delta": -0.1854,
"percent_delta": -0.3709,
"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.117,
"after": 1.0,
"delta": 0.883,
"percent_delta": 7.547,
"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.408,
"after": 3.0,
"delta": -0.408,
"percent_delta": -0.1197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.1942,
"delta": -0.0378,
"percent_delta": -0.1629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.534,
"after": 0.0,
"delta": -0.534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 2.0,
"delta": 1.39,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"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.364,
"after": 0.3146,
"delta": -0.0494,
"percent_delta": -0.1357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 1.0,
"delta": 0.505,
"percent_delta": 1.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.2815,
"delta": -0.0385,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 0.0,
"delta": -0.903,
"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_H",
"before": 0.61,
"after": 2.0,
"delta": 1.39,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.903,
"after": 0.0,
"delta": -0.903,
"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.117 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.408 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.534 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.364 | - |
| predicted_R | 0.495 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.320 | - |
| 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.129 | 0.012 |
| predicted_3B | 0.023 | -0.006 |
| predicted_AB | 3.241 | -0.167 |
| predicted_AVG | 0.226 | -0.006 |
| predicted_BB | 0.568 | 0.034 |
| predicted_H | 0.631 | 0.021 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.036 | -0.004 |
| predicted_OBP | 0.359 | -0.005 |
| predicted_R | 0.509 | 0.014 |
| predicted_RBI | 0.218 | 0.008 |
| predicted_SLG | 0.315 | -0.005 |
| predicted_SO | 0.850 | -0.053 |
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.129 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.241 | 0.000 |
| predicted_AVG | 0.194 | -0.032 |
| predicted_BB | 0.569 | 0.001 |
| predicted_H | 0.629 | -0.002 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.036 | 0.000 |
| predicted_OBP | 0.315 | -0.045 |
| predicted_R | 0.507 | -0.002 |
| predicted_RBI | 0.217 | -0.001 |
| predicted_SLG | 0.281 | -0.033 |
| predicted_SO | 0.848 | -0.002 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.185 HR/AB=0.011
| 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 | 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 | 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 | 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.129 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.241 |
| predicted_AVG | 0.333 | 0.139 |
| predicted_BB | 1.000 | 0.431 |
| predicted_H | 1.000 | 0.371 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.500 | 0.185 |
| predicted_R | 1.000 | 0.493 |
| predicted_RBI | 0.000 | -0.217 |
| predicted_SLG | 0.333 | 0.052 |
| predicted_SO | 1.000 | 0.152 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.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 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 0.3000 | 0.5000 | 0.4000 | 0.3000 | 0.0000 | 0.1000 | 0.4000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 26.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 8.000 | 0.1923 | 0.3226 | 0.2308 | 0.1923 | 0.0000 | 0.0385 | 0.1923 | 0.3077 |
| season | 0.60 | 103 | - | 351.000 | 69.000 | 12.000 | 3.000 | 5.000 | 26.000 | 51.000 | 55.000 | 93.000 | 0.1966 | 0.3197 | 0.2906 | 0.1966 | 0.0143 | 0.0741 | 0.1567 | 0.2650 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1450 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.0210 |
| predicted_AVG | 0.2186 |
| predicted_BB | 0.6130 |
| predicted_H | 0.6600 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.3529 |
| predicted_R | 0.5280 |
| predicted_RBI | 0.2290 |
| predicted_SLG | 0.3078 |
| predicted_SO | 0.7800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1170 | 0.1450 | 0.1290 | model_form_blend |
| predicted_3B | 0.0290 | 0.0150 | 0.0230 | model_form_blend |
| predicted_AB | 3.4080 | 3.0210 | 3.2415 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2186 | 0.2262 | model_form_blend |
| predicted_BB | 0.5340 | 0.6130 | 0.5680 | model_form_blend |
| predicted_H | 0.6100 | 0.6600 | 0.6315 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.0400 | 0.0310 | 0.0361 | model_form_blend |
| predicted_OBP | 0.3640 | 0.3529 | 0.3592 | model_form_blend |
| predicted_R | 0.4950 | 0.5280 | 0.5092 | model_form_blend |
| predicted_RBI | 0.2100 | 0.2290 | 0.2182 | model_form_blend |
| predicted_SLG | 0.3200 | 0.3078 | 0.3148 | model_form_blend |
| predicted_SO | 0.9030 | 0.7800 | 0.8501 | 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 | 414 |
| Season rows before report date | 414 |
| 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 | 3 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.197 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 1 |
| 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 | CF |
| gameID | 20260729_PHI@MIA |
| game_type | full |
| mlbID | 805300 |
| playerID | 805300 |
| playerName | Jakob Marsee |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.285 |
| sl_xwoba | 0.299 |
| sl_xba | 0.217 |
| sl_xslg | 0.308 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 33.2 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 18.7 |
| sl_swing_percent | 40.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.257 | 0.000 | 0.000 | Hitting_2B | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_3B | 0.067 | 0.000 | 0.000 | Hitting_3B | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_AB | 5.180 | 4.000 | 5.000 | Hitting_AB | 4.081 | 5.000 | -0.081 | -1.000 |
| predicted_AVG | 0.277 | 0.250 | 0.200 | Hitting_AVG | 0.337 | 0.400 | -0.087 | -0.150 |
| predicted_BB | 0.219 | 0.000 | 0.000 | Hitting_BB | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 1.440 | 1.000 | 1.000 | Hitting_H | 1.375 | 2.000 | -0.375 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_OBP | 0.339 | 0.250 | 0.200 | Hitting_OBP | 0.372 | 0.400 | -0.122 | -0.150 |
| predicted_R | 0.619 | 1.000 | 1.000 | Hitting_R | 0.678 | 1.000 | 0.322 | 0.000 |
| predicted_RBI | 0.790 | 0.000 | 1.000 | Hitting_RBI | 0.516 | 2.000 | -0.516 | -2.000 |
| predicted_SLG | 0.431 | 0.250 | 0.200 | Hitting_SLG | 0.513 | 0.400 | -0.263 | -0.150 |
| predicted_SO | 0.590 | 1.000 | 1.000 | Hitting_SO | 0.613 | 0.000 | 0.387 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.5900 -> 1.0000 (boost 0.4100, worse) |
| Biggest Deboost | predicted_AB: 5.1800 -> 4.0000 (deboost -1.1800, 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.2770 -> 0.2905 (boost 0.0135, better) | predicted_AB: 5.1800 -> 4.6652 (deboost -0.5148, 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.3399 -> 0.3211 (deboost -0.0188, 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.5653 -> 1.0000 (boost 0.4347, worse) | predicted_H: 1.3443 -> 1.0000 (deboost -0.3443, worse) | AB rounded to 5 (raw=5.18), rates preserved: AVG=0.260 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5944 -> 1.0000 (boost 0.4056, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | 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 |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | 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.4219 (boost 0.2219, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672640",
"player_name": "Otto Lopez",
"position": "SS",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.257,
"predicted_3B": 0.067,
"predicted_AB": 5.18,
"predicted_AVG": 0.277,
"predicted_BB": 0.219,
"predicted_H": 1.44,
"predicted_HR": 0.1,
"predicted_OBP": 0.339,
"predicted_R": 0.619,
"predicted_RBI": 0.79,
"predicted_SLG": 0.431,
"predicted_SO": 0.59
},
"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.2216,
"predicted_3B": 0.0791,
"predicted_AB": 4.6652,
"predicted_AVG": 0.2905,
"predicted_BB": 0.2255,
"predicted_H": 1.3489,
"predicted_HBP": 0.024,
"predicted_HR": 0.0814,
"predicted_OBP": 0.3399,
"predicted_R": 0.5965,
"predicted_RBI": 0.6829,
"predicted_SLG": 0.4358,
"predicted_SO": 0.5667
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.257,
"after": 0.2216,
"delta": -0.0354,
"percent_delta": -0.1377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.067,
"after": 0.0791,
"delta": 0.0121,
"percent_delta": 0.1806,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.18,
"after": 4.6652,
"delta": -0.5148,
"percent_delta": -0.0994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2905,
"delta": 0.0135,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.219,
"after": 0.2255,
"delta": 0.0065,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.44,
"after": 1.3489,
"delta": -0.0911,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0814,
"delta": -0.0186,
"percent_delta": -0.186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3399,
"delta": 0.0009,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 0.5965,
"delta": -0.0225,
"percent_delta": -0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.79,
"after": 0.6829,
"delta": -0.1071,
"percent_delta": -0.1356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4358,
"delta": 0.0048,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.59,
"after": 0.5667,
"delta": -0.0233,
"percent_delta": -0.0395,
"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.277,
"after": 0.2905,
"delta": 0.0135,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.18,
"after": 4.6652,
"delta": -0.5148,
"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": 105
}
},
{
"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.2216,
"predicted_3B": 0.0791,
"predicted_AB": 4.6652,
"predicted_AVG": 0.2882,
"predicted_BB": 0.226,
"predicted_H": 1.3443,
"predicted_HBP": 0.024,
"predicted_HR": 0.0814,
"predicted_OBP": 0.3211,
"predicted_R": 0.5944,
"predicted_RBI": 0.6805,
"predicted_SLG": 0.4219,
"predicted_SO": 0.5653
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2216,
"after": 0.2216,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0791,
"after": 0.0791,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6652,
"after": 4.6652,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2905,
"after": 0.2882,
"delta": -0.0023,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2255,
"after": 0.226,
"delta": 0.0005,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3489,
"after": 1.3443,
"delta": -0.0046,
"percent_delta": -0.0034,
"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.0814,
"after": 0.0814,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3399,
"after": 0.3211,
"delta": -0.0188,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5965,
"after": 0.5944,
"delta": -0.0021,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6829,
"after": 0.6805,
"delta": -0.0024,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4358,
"after": 0.4219,
"delta": -0.0139,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5667,
"after": 0.5653,
"delta": -0.0014,
"percent_delta": -0.0025,
"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.3399,
"after": 0.3211,
"delta": -0.0188,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.18), rates preserved: AVG=0.260 HR/AB=0.016",
"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.2216,
"after": 0.0,
"delta": -0.2216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0791,
"after": 0.0,
"delta": -0.0791,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.6652,
"after": 5.0,
"delta": 0.3348,
"percent_delta": 0.0718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3443,
"after": 1.0,
"delta": -0.3443,
"percent_delta": -0.2561,
"direction": "deboost",
"projection_effect": "worse",
"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.0814,
"after": 0.0,
"delta": -0.0814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6805,
"after": 1.0,
"delta": 0.3195,
"percent_delta": 0.4695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5653,
"after": 1.0,
"delta": 0.4347,
"percent_delta": 0.769,
"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.5653,
"after": 1.0,
"delta": 0.4347,
"percent_delta": 0.769,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3443,
"after": 1.0,
"delta": -0.3443,
"percent_delta": -0.2561,
"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.5944,
"after": 1.0,
"delta": 0.4056,
"percent_delta": 0.6824,
"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.5944,
"after": 1.0,
"delta": 0.4056,
"percent_delta": 0.6824,
"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.2882,
"after": 0.2,
"delta": -0.0882,
"percent_delta": -0.306,
"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.3211,
"after": 0.2,
"delta": -0.1211,
"percent_delta": -0.3771,
"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": 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": 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": 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": 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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2882,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3211,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4219,
"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.2,
"after": 0.2882,
"delta": 0.0882,
"percent_delta": 0.4408,
"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.3211,
"delta": 0.1211,
"percent_delta": 0.6053,
"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.4219,
"delta": 0.2219,
"percent_delta": 1.1095,
"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.1095,
"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.257,
"after": 0.0,
"delta": -0.257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.18,
"after": 4.0,
"delta": -1.18,
"percent_delta": -0.2278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2882,
"delta": 0.0112,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.219,
"after": 0.0,
"delta": -0.219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.44,
"after": 1.0,
"delta": -0.44,
"percent_delta": -0.3056,
"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.339,
"after": 0.3211,
"delta": -0.0179,
"percent_delta": -0.0528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4219,
"delta": -0.0091,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.18,
"after": 4.0,
"delta": -1.18,
"percent_delta": -0.2278,
"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.257 | - |
| predicted_3B | 0.067 | - |
| predicted_AB | 5.180 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.219 | - |
| predicted_H | 1.440 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.619 | - |
| predicted_RBI | 0.790 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.590 | - |
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.222 | -0.035 |
| predicted_3B | 0.079 | 0.012 |
| predicted_AB | 4.665 | -0.515 |
| predicted_AVG | 0.290 | 0.013 |
| predicted_BB | 0.226 | 0.007 |
| predicted_H | 1.349 | -0.091 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.081 | -0.019 |
| predicted_OBP | 0.340 | 0.001 |
| predicted_R | 0.597 | -0.022 |
| predicted_RBI | 0.683 | -0.107 |
| predicted_SLG | 0.436 | 0.005 |
| predicted_SO | 0.567 | -0.023 |
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.222 | 0.000 |
| predicted_3B | 0.079 | 0.000 |
| predicted_AB | 4.665 | 0.000 |
| predicted_AVG | 0.288 | -0.002 |
| predicted_BB | 0.226 | 0.001 |
| predicted_H | 1.344 | -0.005 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.081 | 0.000 |
| predicted_OBP | 0.321 | -0.019 |
| predicted_R | 0.594 | -0.002 |
| predicted_RBI | 0.680 | -0.002 |
| predicted_SLG | 0.422 | -0.014 |
| predicted_SO | 0.565 | -0.001 |
AB rounded to 5 (raw=5.18), rates preserved: AVG=0.260 HR/AB=0.016
| 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.222 |
| predicted_3B | 0.000 | -0.079 |
| predicted_AB | 5.000 | 0.335 |
| predicted_AVG | 0.200 | -0.088 |
| predicted_BB | 0.000 | -0.226 |
| predicted_H | 1.000 | -0.344 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.200 | -0.121 |
| predicted_R | 1.000 | 0.406 |
| predicted_RBI | 1.000 | 0.320 |
| predicted_SLG | 0.200 | -0.222 |
| predicted_SO | 1.000 | 0.435 |
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 | 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 | 1.000 | 0.000 | 4.000 | 3.000 | 1.000 | 2.000 | 0.3000 | 0.3182 | 0.4000 | 0.3000 | 0.0000 | 0.2000 | 0.0500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 1.000 | 1.000 | 0.000 | 5.000 | 4.000 | 3.000 | 4.000 | 0.2750 | 0.3111 | 0.3500 | 0.2750 | 0.0000 | 0.1250 | 0.0750 | 0.1000 |
| season | 0.60 | 105 | - | 420.000 | 138.000 | 27.000 | 7.000 | 9.000 | 50.000 | 65.000 | 23.000 | 62.000 | 0.3286 | 0.3626 | 0.4905 | 0.3286 | 0.0214 | 0.1191 | 0.0548 | 0.1476 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1750 |
| predicted_3B | 0.0950 |
| predicted_AB | 3.9880 |
| predicted_AVG | 0.3082 |
| predicted_BB | 0.2340 |
| predicted_H | 1.2290 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0570 |
| predicted_OBP | 0.3411 |
| predicted_R | 0.5670 |
| predicted_RBI | 0.5420 |
| predicted_SLG | 0.4421 |
| predicted_SO | 0.5360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2570 | 0.1750 | 0.2216 | model_form_blend |
| predicted_3B | 0.0670 | 0.0950 | 0.0791 | model_form_blend |
| predicted_AB | 5.1800 | 3.9880 | 4.6652 | model_form_blend |
| predicted_AVG | 0.2770 | 0.3082 | 0.2905 | model_form_blend |
| predicted_BB | 0.2190 | 0.2340 | 0.2255 | model_form_blend |
| predicted_H | 1.4400 | 1.2290 | 1.3489 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1000 | 0.0570 | 0.0814 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3411 | 0.3399 | model_form_blend |
| predicted_R | 0.6190 | 0.5670 | 0.5965 | model_form_blend |
| predicted_RBI | 0.7900 | 0.5420 | 0.6829 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4421 | 0.4358 | model_form_blend |
| predicted_SO | 0.5900 | 0.5360 | 0.5667 | 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 | 432 |
| Season rows before report date | 432 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.329 |
| 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.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| 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 | SS |
| gameID | 20260729_PHI@MIA |
| game_type | full |
| mlbID | 672640 |
| playerID | 672640 |
| playerName | Otto Lopez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.367 |
| sl_xwoba | 0.331 |
| sl_xba | 0.286 |
| sl_xslg | 0.434 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 41.8 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 7.6 |
| 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.130 | 0.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_3B | 0.056 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.690 | 2.000 | 4.000 | Hitting_AB | 3.772 | 3.000 | -1.772 | -1.000 |
| predicted_AVG | 0.326 | 0.000 | 0.250 | Hitting_AVG | 0.298 | 0.333 | -0.298 | -0.333 |
| predicted_BB | 0.509 | 2.000 | 1.000 | Hitting_BB | 0.553 | 1.000 | 1.447 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 1.200 | 0.000 | 1.000 | Hitting_H | 1.126 | 1.000 | -1.126 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.356 | 0.500 | 0.400 | Hitting_OBP | 0.383 | 0.500 | 0.117 | 0.000 |
| predicted_R | 0.472 | 0.000 | 0.000 | Hitting_R | 0.534 | 0.000 | -0.534 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 0.000 | Hitting_RBI | 0.386 | 2.000 | -0.386 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.148 | 1.000 | -0.148 | -1.000 |
| predicted_SLG | 0.400 | 0.000 | 0.250 | Hitting_SLG | 0.417 | 0.333 | -0.417 | -0.333 |
| predicted_SO | 0.574 | 0.000 | 1.000 | Hitting_SO | 0.578 | 0.000 | -0.578 | 0.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.5090 -> 2.0000 (boost 1.4910, better) |
| Biggest Deboost | predicted_AB: 3.6900 -> 2.0000 (deboost -1.6900, 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_H: 1.2000 -> 1.1140 (deboost -0.0860, 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.3572 -> 0.3863 (boost 0.0291, 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_BB: 0.5106 -> 1.0000 (boost 0.4894, better) | predicted_RBI: 0.4489 -> 0.0000 (deboost -0.4489, worse) | AB rounded to 4 (raw=3.69), rates preserved: AVG=0.301 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4023 -> 0.0000 (deboost -0.4023, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3863 -> 0.4000 (boost 0.0137, better) | predicted_SLG: 0.3994 -> 0.2500 (deboost -0.1494, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3994 (boost 0.1494, better) | predicted_OBP: 0.4000 -> 0.3863 (deboost -0.0137, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669364",
"player_name": "Xavier Edwards",
"position": "2B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.13,
"predicted_3B": 0.056,
"predicted_AB": 3.69,
"predicted_AVG": 0.326,
"predicted_BB": 0.509,
"predicted_H": 1.2,
"predicted_HR": 0.06,
"predicted_OBP": 0.356,
"predicted_R": 0.472,
"predicted_RBI": 0.53,
"predicted_SLG": 0.4,
"predicted_SO": 0.574
},
"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.1179,
"predicted_3B": 0.0456,
"predicted_AB": 3.6852,
"predicted_AVG": 0.3027,
"predicted_BB": 0.5094,
"predicted_H": 1.114,
"predicted_HBP": 0.002,
"predicted_HR": 0.0509,
"predicted_OBP": 0.3572,
"predicted_R": 0.4037,
"predicted_RBI": 0.4505,
"predicted_SLG": 0.3781,
"predicted_SO": 0.609
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.1179,
"delta": -0.0121,
"percent_delta": -0.0931,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0456,
"delta": -0.0104,
"percent_delta": -0.1857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.69,
"after": 3.6852,
"delta": -0.0048,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.326,
"after": 0.3027,
"delta": -0.0233,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.509,
"after": 0.5094,
"delta": 0.0004,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 1.114,
"delta": -0.086,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0509,
"delta": -0.0091,
"percent_delta": -0.1517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3572,
"delta": 0.0012,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 0.4037,
"delta": -0.0683,
"percent_delta": -0.1447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.4505,
"delta": -0.0795,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.3781,
"delta": -0.0219,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 0.609,
"delta": 0.035,
"percent_delta": 0.061,
"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_H",
"before": 1.2,
"after": 1.114,
"delta": -0.086,
"percent_delta": -0.0717,
"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": 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.1179,
"predicted_3B": 0.0456,
"predicted_AB": 3.6852,
"predicted_AVG": 0.3013,
"predicted_BB": 0.5106,
"predicted_H": 1.1102,
"predicted_HBP": 0.002,
"predicted_HR": 0.0509,
"predicted_OBP": 0.3863,
"predicted_R": 0.4023,
"predicted_RBI": 0.4489,
"predicted_SLG": 0.3994,
"predicted_SO": 0.6075
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1179,
"after": 0.1179,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0456,
"after": 0.0456,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6852,
"after": 3.6852,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3027,
"after": 0.3013,
"delta": -0.0014,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5094,
"after": 0.5106,
"delta": 0.0012,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.114,
"after": 1.1102,
"delta": -0.0038,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0509,
"after": 0.0509,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3572,
"after": 0.3863,
"delta": 0.0291,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4037,
"after": 0.4023,
"delta": -0.0014,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4505,
"after": 0.4489,
"delta": -0.0016,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3781,
"after": 0.3994,
"delta": 0.0213,
"percent_delta": 0.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.609,
"after": 0.6075,
"delta": -0.0015,
"percent_delta": -0.0025,
"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.3572,
"after": 0.3863,
"delta": 0.0291,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.301 HR/AB=0.014",
"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.1179,
"after": 0.0,
"delta": -0.1179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0456,
"after": 0.0,
"delta": -0.0456,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6852,
"after": 4.0,
"delta": 0.3148,
"percent_delta": 0.0854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5106,
"after": 1.0,
"delta": 0.4894,
"percent_delta": 0.9585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1102,
"after": 1.0,
"delta": -0.1102,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0509,
"after": 0.0,
"delta": -0.0509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4489,
"after": 0.0,
"delta": -0.4489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6075,
"after": 1.0,
"delta": 0.3925,
"percent_delta": 0.6461,
"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_BB",
"before": 0.5106,
"after": 1.0,
"delta": 0.4894,
"percent_delta": 0.9585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4489,
"after": 0.0,
"delta": -0.4489,
"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": 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.4023,
"after": 0.0,
"delta": -0.4023,
"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.4023,
"after": 0.0,
"delta": -0.4023,
"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": 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.3013,
"after": 0.25,
"delta": -0.0513,
"percent_delta": -0.1703,
"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.3863,
"after": 0.4,
"delta": 0.0137,
"percent_delta": 0.0355,
"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.3994,
"after": 0.25,
"delta": -0.1494,
"percent_delta": -0.3741,
"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.3863,
"after": 0.4,
"delta": 0.0137,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3994,
"after": 0.25,
"delta": -0.1494,
"percent_delta": -0.3741,
"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": 2.0,
"predicted_BB": 2.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": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"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": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"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": 2.0,
"predicted_AVG": 0.3013,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3863,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3994,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.3013,
"delta": 0.0513,
"percent_delta": 0.205,
"direction": "boost",
"projection_effect": "better",
"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": 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.3863,
"delta": -0.0137,
"percent_delta": -0.0343,
"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.3994,
"delta": 0.1494,
"percent_delta": 0.5977,
"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.3994,
"delta": 0.1494,
"percent_delta": 0.5977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3863,
"delta": -0.0137,
"percent_delta": -0.0343,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.69,
"after": 2.0,
"delta": -1.69,
"percent_delta": -0.458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.326,
"after": 0.3013,
"delta": -0.0247,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.509,
"after": 2.0,
"delta": 1.491,
"percent_delta": 2.9293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 0.0,
"delta": -1.2,
"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.356,
"after": 0.3863,
"delta": 0.0303,
"percent_delta": 0.0851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.3994,
"delta": -0.0006,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 0.0,
"delta": -0.574,
"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.509,
"after": 2.0,
"delta": 1.491,
"percent_delta": 2.9293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.69,
"after": 2.0,
"delta": -1.69,
"percent_delta": -0.458,
"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.130 | - |
| predicted_3B | 0.056 | - |
| predicted_AB | 3.690 | - |
| predicted_AVG | 0.326 | - |
| predicted_BB | 0.509 | - |
| predicted_H | 1.200 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.472 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.400 | - |
| predicted_SO | 0.574 | - |
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.118 | -0.012 |
| predicted_3B | 0.046 | -0.010 |
| predicted_AB | 3.685 | -0.005 |
| predicted_AVG | 0.303 | -0.023 |
| predicted_BB | 0.509 | 0.000 |
| predicted_H | 1.114 | -0.086 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.051 | -0.009 |
| predicted_OBP | 0.357 | 0.001 |
| predicted_R | 0.404 | -0.068 |
| predicted_RBI | 0.451 | -0.080 |
| predicted_SLG | 0.378 | -0.022 |
| predicted_SO | 0.609 | 0.035 |
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.118 | 0.000 |
| predicted_3B | 0.046 | 0.000 |
| predicted_AB | 3.685 | 0.000 |
| predicted_AVG | 0.301 | -0.001 |
| predicted_BB | 0.511 | 0.001 |
| predicted_H | 1.110 | -0.004 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.051 | 0.000 |
| predicted_OBP | 0.386 | 0.029 |
| predicted_R | 0.402 | -0.001 |
| predicted_RBI | 0.449 | -0.002 |
| predicted_SLG | 0.399 | 0.021 |
| predicted_SO | 0.608 | -0.001 |
AB rounded to 4 (raw=3.69), rates preserved: AVG=0.301 HR/AB=0.014
| 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 | - |
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.118 |
| predicted_3B | 0.000 | -0.046 |
| predicted_AB | 4.000 | 0.315 |
| predicted_AVG | 0.250 | -0.051 |
| predicted_BB | 1.000 | 0.489 |
| predicted_H | 1.000 | -0.110 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.400 | 0.014 |
| predicted_R | 0.000 | -0.402 |
| predicted_RBI | 0.000 | -0.449 |
| predicted_SLG | 0.250 | -0.149 |
| predicted_SO | 1.000 | 0.392 |
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 | 2.000 | -2.000 |
| BB | 2.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 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 2.000 | 0.2778 | 0.3810 | 0.2778 | 0.2778 | 0.0000 | 0.1111 | 0.1667 | 0.1111 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 5.000 | 11.000 | 0.2162 | 0.3095 | 0.2432 | 0.2162 | 0.0000 | 0.0541 | 0.1351 | 0.2973 |
| season | 0.60 | 108 | - | 398.000 | 116.000 | 14.000 | 6.000 | 6.000 | 39.000 | 51.000 | 55.000 | 62.000 | 0.2915 | 0.3734 | 0.4020 | 0.2915 | 0.0151 | 0.0980 | 0.1382 | 0.1558 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0320 |
| predicted_AB | 3.6790 |
| predicted_AVG | 0.2721 |
| predicted_BB | 0.5100 |
| predicted_H | 1.0010 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3587 |
| predicted_R | 0.3140 |
| predicted_RBI | 0.3460 |
| predicted_SLG | 0.3493 |
| predicted_SO | 0.6550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.1020 | 0.1179 | model_form_blend |
| predicted_3B | 0.0560 | 0.0320 | 0.0456 | model_form_blend |
| predicted_AB | 3.6900 | 3.6790 | 3.6852 | model_form_blend |
| predicted_AVG | 0.3260 | 0.2721 | 0.3027 | model_form_blend |
| predicted_BB | 0.5090 | 0.5100 | 0.5094 | model_form_blend |
| predicted_H | 1.2000 | 1.0010 | 1.1140 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.0600 | 0.0390 | 0.0509 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3587 | 0.3572 | model_form_blend |
| predicted_R | 0.4720 | 0.3140 | 0.4037 | model_form_blend |
| predicted_RBI | 0.5300 | 0.3460 | 0.4505 | model_form_blend |
| predicted_SLG | 0.4000 | 0.3493 | 0.3781 | model_form_blend |
| predicted_SO | 0.5740 | 0.6550 | 0.6090 | 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 | 438 |
| Season rows before report date | 438 |
| 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 | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.291 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| 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 | 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 | 2B |
| gameID | 20260729_PHI@MIA |
| game_type | full |
| mlbID | 669364 |
| playerID | 669364 |
| playerName | Xavier Edwards |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 13.6 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.341 |
| sl_xwoba | 0.32 |
| sl_xba | 0.264 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 28.9 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 43.1 |
| 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 | 2.111 | 1.000 | -1.111 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.167 | 3.000 | -1.167 | -2.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 4.000 | 7.000 | 0.000 | -3.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.417 | 7.000 | 0.583 | -1.000 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 5.889 | 2.000 | 2.111 | 6.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_SO: 6.0000 -> 8.0000 (boost 2.0000, 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 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 6.0000 -> 8.0000 (boost 2.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "691587",
"player_name": "Eury Pérez",
"position": "Starter",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 1.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"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 | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 6.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 | 1.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 6.000 | 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 | 31.100 | 6.000 | 18.000 | 10.000 | 33.000 | 1.000 | 1.7234 | 0.8936 | 0.1915 | 0.5745 | 0.3191 | 1.0532 | 0.0319 |
| last_10 | 0.35 | 10 | 57.100 | 16.000 | 34.000 | 17.000 | 61.000 | 6.000 | 2.5116 | 0.8895 | 0.2791 | 0.5930 | 0.2965 | 1.0639 | 0.1047 |
| season | 0.20 | 18 | 98.200 | 39.000 | 72.000 | 38.000 | 106.000 | 13.000 | 3.5574 | 1.1149 | 0.3953 | 0.7297 | 0.3851 | 1.0743 | 0.1318 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9620 |
| predicted_ER | 1.8700 |
| predicted_ERA | 2.8419 |
| predicted_H | 4.0930 |
| predicted_HR | 0.5540 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.1520 |
| predicted_WHIP | 1.0224 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.9620 | 1.5369 | model_form_blend |
| predicted_ER | 1.0000 | 1.8700 | 1.4856 | model_form_blend |
| predicted_ERA | - | 2.8419 | 2.8419 | form_only |
| predicted_H | 4.0000 | 4.0930 | 4.0519 | model_form_blend |
| predicted_HR | 0.0000 | 0.5540 | 0.3092 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 6.0000 | 6.1520 | 6.0848 | model_form_blend |
| predicted_WHIP | - | 1.0224 | 1.0224 | 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 | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 4 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 8 |
| HR | 0 |
| BF | 23 |
| Pitches | 92 |
| 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 | 28 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.56 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 8 |
| Pitching_H | 7 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 104 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 69 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260725_SD@MIA |
| game_type | full |
| mlbID | 691587 |
| playerID | 691587 |
| playerName | Eury Pérez |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-25 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.298 |
| sl_xwoba | 0.309 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 38.9 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 51.4 |
| sl_avg_best_speed | 76.126008455 |
| sl_avg_hyper_speed | 94.226160082 |
| 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 | 0.565 | 1.000 | 1.435 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.783 | 3.000 | 2.217 | 0.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 1.217 | 2.000 | 2.783 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.065 | 0.100 | -0.065 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.087 | 0.000 | -1.087 | 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": "806188",
"player_name": "Cade Gibson",
"position": "Middle Reliever",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 4.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": 2.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 3.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 4.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 | 4.000 | 5.000 | 2.000 | 0.000 | 9.0000 | 2.2500 | 1.0000 | 1.0000 | 1.2500 | 0.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 7.000 | 8.000 | 6.000 | 8.000 | 0.000 | 5.4000 | 1.2000 | 0.6000 | 0.6857 | 0.5143 | 0.6857 | 0.0000 |
| season | 0.20 | 23 | 28.000 | 18.000 | 28.000 | 13.000 | 25.000 | 1.000 | 5.7857 | 1.4643 | 0.6429 | 1.0000 | 0.4643 | 0.8929 | 0.0357 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6190 |
| predicted_ER | 0.6670 |
| predicted_ERA | 5.8955 |
| predicted_H | 0.9470 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8070 |
| predicted_WHIP | 1.5395 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.6190 | 1.3781 | model_form_blend |
| predicted_ER | 3.0000 | 0.6670 | 1.9494 | model_form_blend |
| predicted_ERA | - | 5.8955 | 5.8955 | form_only |
| predicted_H | 4.0000 | 0.9470 | 2.6252 | model_form_blend |
| predicted_HR | 0.0000 | 0.0770 | 0.0347 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8070 | 0.3634 | model_form_blend |
| predicted_WHIP | - | 1.5395 | 1.5395 | 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 | 1.0 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 0 |
| HR | 0 |
| BF | 9 |
| Pitches | 30 |
| 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 | 3 |
| Pitching_ERA | 5.79 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 21 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260727_PHI@MIA |
| game_type | full |
| mlbID | 806188 |
| playerID | 806188 |
| playerName | Cade Gibson |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-27 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.325 |
| sl_xwoba | 0.303 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 44.8 |
| sl_avg_best_speed | 75.803911951 |
| sl_avg_hyper_speed | 92.842358049 |
| 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.419 | 0.000 | -0.419 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.628 | 0.000 | -0.628 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.912 | 0.100 | 0.088 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.186 | 0.000 | -1.186 | 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": "656848",
"player_name": "Michael Petersen",
"position": "Middle Reliever",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.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": 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": 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": 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": 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 | 0.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.100 | 1.000 | 3.000 | 3.000 | 3.000 | 1.000 | 2.0769 | 1.3846 | 0.2308 | 0.6923 | 0.6923 | 0.6923 | 0.2308 |
| last_10 | 0.35 | 10 | 9.100 | 2.000 | 4.000 | 5.000 | 8.000 | 2.000 | 1.9286 | 0.9643 | 0.2143 | 0.4286 | 0.5357 | 0.8571 | 0.2143 |
| season | 0.20 | 43 | 44.100 | 14.000 | 27.000 | 18.000 | 51.000 | 4.000 | 2.8421 | 1.0150 | 0.3158 | 0.6090 | 0.4060 | 1.1504 | 0.0902 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4990 |
| predicted_ER | 0.3370 |
| predicted_ERA | 3.0369 |
| predicted_H | 0.7250 |
| predicted_HR | 0.1810 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8840 |
| predicted_WHIP | 1.2245 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4990 | 0.2482 | model_form_blend |
| predicted_ER | 0.0000 | 0.3370 | 0.1676 | model_form_blend |
| predicted_ERA | - | 3.0369 | 3.0369 | form_only |
| predicted_H | 0.0000 | 0.7250 | 0.3605 | model_form_blend |
| predicted_HR | 0.0000 | 0.1810 | 0.0900 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8840 | 0.4396 | model_form_blend |
| predicted_WHIP | - | 1.2245 | 1.2245 | 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 | 43 |
| 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 | 0 |
| 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 | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.84 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 2 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 2 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260726_SD@MIA |
| game_type | full |
| mlbID | 656848 |
| playerID | 656848 |
| playerName | Michael Petersen |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-26 |
| sl_k_percent | 29.0 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.258 |
| sl_xwoba | 0.287 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 43.8 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 49.2 |
| sl_avg_best_speed | 81.855649057 |
| sl_avg_hyper_speed | 94.727248667 |
| 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.389 | 0.000 | -0.389 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.694 | 0.000 | -0.694 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.889 | 0.000 | -0.889 | 0.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.881 | 1.000 | -0.881 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.250 | 1.000 | -1.250 | -1.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: 2.0000 -> 0.0000 (deboost -2.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: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "664126",
"player_name": "Pete Fairbanks",
"position": "Middle Reliever",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"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": 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": 2.0,
"after": 0.0,
"delta": -2.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": 2.0,
"after": 0.0,
"delta": -2.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": 2.0,
"after": 0.0,
"delta": -2.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": 2.0,
"after": 0.0,
"delta": -2.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 | 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.100 | 3.000 | 3.000 | 2.000 | 7.000 | 1.000 | 6.2308 | 1.1538 | 0.6923 | 0.6923 | 0.4615 | 1.6154 | 0.2308 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 11.000 | 3.000 | 13.000 | 2.000 | 6.7500 | 1.5000 | 0.7500 | 1.1786 | 0.3214 | 1.3929 | 0.2143 |
| season | 0.20 | 36 | 33.100 | 25.000 | 32.000 | 14.000 | 45.000 | 8.000 | 6.7500 | 1.3800 | 0.7500 | 0.9600 | 0.4200 | 1.3500 | 0.2400 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2740 |
| predicted_ER | 0.4500 |
| predicted_ERA | 5.6740 |
| predicted_H | 0.6720 |
| predicted_HR | 0.1390 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8980 |
| predicted_WHIP | 1.3253 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2740 | 0.1284 | model_form_blend |
| predicted_ER | 0.0000 | 0.4500 | 0.2109 | model_form_blend |
| predicted_ERA | - | 5.6740 | 5.6740 | form_only |
| predicted_H | 0.0000 | 0.6720 | 0.3149 | model_form_blend |
| predicted_HR | 0.0000 | 0.1390 | 0.0651 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8980 | 1.4836 | model_form_blend |
| predicted_WHIP | - | 1.3253 | 1.3253 | 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 | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 36 |
| 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 | 4 |
| Pitches | 17 |
| 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 | 6.75 |
| Pitching_Flyouts | 2 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_PHI@MIA |
| game_type | full |
| mlbID | 664126 |
| playerID | 664126 |
| playerName | Pete Fairbanks |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-29 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.36 |
| sl_xwoba | 0.332 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 42.9 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 82.008442927 |
| sl_avg_hyper_speed | 95.238576543 |
| Field | Value |
|---|---|
| Pitcher | Nolan McLean |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3434 |
| ESPN Rank | 66 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0668 |
| Avg Velo | 91.0653 |
| Avg Spin | 2485.2846 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 8 |
| Season ERA | 3.3184 |
| Season WHIP | 1.1145 |
| Role Avg IP | 5.6830 |
| Recent Avg IP | 6 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 118,
"wins": 47,
"losses": 71,
"win_pct": 0.3983,
"runs_scored": 467.0,
"runs_allowed": 520.0,
"run_differential": -53.0,
"run_differential_per_game": -0.4492,
"avg_runs_scored": 3.9576,
"avg_runs_allowed": 4.4068,
"offense_index": 0.875,
"defense_index": 1.0263,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 2.9,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1761
},
"opponent": {
"team": "MIA",
"games": 114,
"wins": 58,
"losses": 56,
"win_pct": 0.5088,
"runs_scored": 499.0,
"runs_allowed": 491.0,
"run_differential": 8.0,
"run_differential_per_game": 0.0702,
"avg_runs_scored": 4.3772,
"avg_runs_allowed": 4.307,
"offense_index": 0.9678,
"defense_index": 1.0501,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.0,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.054
},
"edges": {
"quality_edge": -0.1221,
"offense_edge": -0.125,
"opponent_offense_edge": -0.0322,
"defense_strength": 0.0263,
"opponent_defense_weakness": -0.0501,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9972,
"run_prevention": 0.9983,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "690997",
"profile": {
"available": true,
"pitcher_id": "690997",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 465.0,
"k_percent": 28.6,
"bb_percent": 8.7,
"woba": 0.284,
"xwoba": 0.291,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 35.2,
"avg_best_speed": 76.2424,
"avg_hyper_speed": 93.6402,
"whiff_percent": 25.8,
"swing_percent": 43.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.446,
"command_and_miss": 0.4168,
"regression_edge": -0.2,
"xwoba_edge": 0.6,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.4143,
"whiff_edge": 0.0143,
"bb_edge": 0.05,
"pitch_design_score": 0.0668
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "690997",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 91.06532948388984,
"release_spin_rate": 2485.2846251873543,
"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": 96,
"pitch_usage": 0.0,
"release_speed": 91.06532948388984,
"release_spin_rate": 2485.2846251873543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.0653,
"release_spin_rate": 2485.2846,
"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.0668,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4772,
"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.3434,
"sample_weight": 1.0,
"run_prevention_factor": 0.9708,
"strikeout_factor": 1.0363,
"walk_factor": 0.996,
"homer_factor": 0.9601,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690997",
"espn_id": 4433874,
"player_name": "Nolan McLean",
"team": "NYM",
"role": "pitcher",
"espn_rank": 66,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 66,
"gp_value": 21.0,
"gp_rank": 261,
"gs_value": 21.0,
"gs_rank": 22,
"qs_value": 12.0,
"qs_rank": 12,
"era_value": 3.3184,
"era_rank": 19.0,
"w_value": 7.0,
"w_rank": 44,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 119.1,
"ip_rank": 28,
"h_value": 90.0,
"h_rank": 81,
"er_value": 44.0,
"er_rank": 81,
"hr_value": 11.0,
"hr_rank": 98,
"bb_value": 43.0,
"bb_rank": 20,
"k_value": 142.0,
"k_rank": 10,
"k_per_9_value": 10.709497,
"k_per_9_rank": 9,
"whip_value": 1.1145,
"whip_rank": 20.0,
"war_value": 1.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9708,
"adjusted": 1
},
"predicted_H": {
"original": 5.0,
"factor": 0.9708,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.996,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9601,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0363,
"adjusted": 7
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 58.0,
"ER": 14,
"H": 42,
"BB": 24,
"SO": 67,
"HR": 3,
"ERA": 2.1724137931034484,
"WHIP": 1.1379310344827587,
"K9": 10.39655172413793,
"HR9": 0.46551724137931033,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "690997",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 91.06532948388984,
"release_spin_rate": 2485.2846251873543,
"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": 96,
"pitch_usage": 0.0,
"release_speed": 91.06532948388984,
"release_spin_rate": 2485.2846251873543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.0653,
"release_spin_rate": 2485.2846,
"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.0668,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4772,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": "690997",
"report_date": "20260730_M",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 4.0,
"R": 9.0,
"H": 24.0,
"BB": 9.0,
"SO": 36.0,
"HR": 1.0,
"BF": 124.0,
"Pitches": 474.0
},
"per_game": {
"IP": 6.0,
"ER": 0.8,
"R": 1.8,
"H": 4.8,
"BB": 1.8,
"SO": 7.2,
"HR": 0.2,
"BF": 24.8,
"Pitches": 94.8
},
"rates": {
"ERA": 1.2,
"WHIP": 1.1,
"ER_per_IP": 0.13333,
"H_per_IP": 0.8,
"BB_per_IP": 0.3,
"SO_per_IP": 1.2,
"HR_per_IP": 0.03333
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 58.0,
"ER": 14.0,
"R": 20.0,
"H": 42.0,
"BB": 24.0,
"SO": 67.0,
"HR": 3.0,
"BF": 243.0,
"Pitches": 967.0
},
"per_game": {
"IP": 5.2,
"ER": 1.4,
"R": 2.0,
"H": 4.2,
"BB": 2.4,
"SO": 6.7,
"HR": 0.3,
"BF": 24.3,
"Pitches": 96.7
},
"rates": {
"ERA": 2.1724,
"WHIP": 1.1379,
"ER_per_IP": 0.24138,
"H_per_IP": 0.72414,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.15517,
"HR_per_IP": 0.05172
}
},
"season": {
"games": 21,
"totals": {
"IP": 119.1,
"ER": 44.0,
"R": 55.0,
"H": 90.0,
"BB": 43.0,
"SO": 142.0,
"HR": 11.0,
"BF": 496.0,
"Pitches": 1978.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0952,
"R": 2.619,
"H": 4.2857,
"BB": 2.0476,
"SO": 6.7619,
"HR": 0.5238,
"BF": 23.619,
"Pitches": 94.1905
},
"rates": {
"ERA": 3.3184,
"WHIP": 1.1145,
"ER_per_IP": 0.36872,
"H_per_IP": 0.75419,
"BB_per_IP": 0.36034,
"SO_per_IP": 1.18994,
"HR_per_IP": 0.09218
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.601,
"predicted_H": 4.711,
"predicted_BB": 2.064,
"predicted_SO": 6.667,
"predicted_HR": 0.414,
"predicted_ERA": 2.4622,
"predicted_WHIP": 1.1577
}
}{
"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": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.601,
"final": 2.2043,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.711,
"final": 4.4044,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.064,
"final": 2.4676,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 6.667,
"final": 7.2419,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.414,
"final": 0.6667,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4622,
"final": 2.4622,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1577,
"final": 1.1577,
"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 | Brooks Raley |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1607 |
| ESPN Rank | 101 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2770 |
| Avg Velo | 84.9252 |
| Avg Spin | 2601.6574 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.0948 |
| Season WHIP | 1.1379 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 118,
"wins": 47,
"losses": 71,
"win_pct": 0.3983,
"runs_scored": 467.0,
"runs_allowed": 520.0,
"run_differential": -53.0,
"run_differential_per_game": -0.4492,
"avg_runs_scored": 3.9576,
"avg_runs_allowed": 4.4068,
"offense_index": 0.875,
"defense_index": 1.0263,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 2.9,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1761
},
"opponent": {
"team": "MIA",
"games": 114,
"wins": 58,
"losses": 56,
"win_pct": 0.5088,
"runs_scored": 499.0,
"runs_allowed": 491.0,
"run_differential": 8.0,
"run_differential_per_game": 0.0702,
"avg_runs_scored": 4.3772,
"avg_runs_allowed": 4.307,
"offense_index": 0.9678,
"defense_index": 1.0501,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.0,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.054
},
"edges": {
"quality_edge": -0.1221,
"offense_edge": -0.125,
"opponent_offense_edge": -0.0322,
"defense_strength": 0.0263,
"opponent_defense_weakness": -0.0501,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9972,
"run_prevention": 0.9983,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "548384",
"profile": {
"available": true,
"pitcher_id": "548384",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 150.0,
"k_percent": 24.1,
"bb_percent": 9.3,
"woba": 0.275,
"xwoba": 0.29,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 30.5,
"avg_best_speed": 75.4219,
"avg_hyper_speed": 93.0811,
"whiff_percent": 22.9,
"swing_percent": 47.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.6163,
"command_and_miss": -0.0475,
"regression_edge": -0.4286,
"xwoba_edge": 0.6286,
"barrel_edge": 0.5111,
"hard_hit_edge": 1.0857,
"whiff_edge": -0.4,
"bb_edge": -0.1,
"pitch_design_score": -0.277
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "548384",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.925211206417,
"release_spin_rate": 2601.6573855425377,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 84.925211206417,
"release_spin_rate": 2601.6573855425377,
"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": 84.9252,
"release_spin_rate": 2601.6574,
"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.277,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9789,
"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.1607,
"sample_weight": 0.6,
"run_prevention_factor": 0.9863,
"strikeout_factor": 0.9964,
"walk_factor": 1.0048,
"homer_factor": 0.9381,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "548384",
"espn_id": 32005,
"player_name": "Brooks Raley",
"team": "NYM",
"role": "pitcher",
"espn_rank": 101,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 101,
"gp_value": 43.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.0948,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 5.0,
"l_rank": 97,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 14.0,
"hld_rank": 23,
"ip_value": 38.2,
"ip_rank": 302,
"h_value": 29.0,
"h_rank": 336,
"er_value": 9.0,
"er_rank": 472,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 15.0,
"bb_rank": 288,
"k_value": 39.0,
"k_rank": 287,
"k_per_9_value": 9.077586,
"k_per_9_rank": 25,
"whip_value": 1.1379,
"whip_rank": null,
"war_value": 1.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9918,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9918,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0029,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9629,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9978,
"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": 1,
"H": 3,
"BB": 2,
"SO": 7,
"HR": 0,
"ERA": 1.0384615384615385,
"WHIP": 0.576923076923077,
"K9": 7.26923076923077,
"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-07-26T00:00:00"
}{
"available": true,
"pitcher_id": "548384",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.925211206417,
"release_spin_rate": 2601.6573855425377,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 84.925211206417,
"release_spin_rate": 2601.6573855425377,
"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": 84.9252,
"release_spin_rate": 2601.6574,
"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.277,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9789,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.706,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6065,
"prior_weight": 0.3935
},
"role": "pitcher",
"player_id": "548384",
"report_date": "20260730_M",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 59.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 3.4,
"Pitches": 11.8
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.9231,
"ER_per_IP": 0.23077,
"H_per_IP": 0.46154,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 1.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 31.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.3,
"BB": 0.2,
"SO": 0.7,
"HR": 0.0,
"BF": 3.1,
"Pitches": 10.2
},
"rates": {
"ERA": 1.0385,
"WHIP": 0.5769,
"ER_per_IP": 0.11538,
"H_per_IP": 0.34615,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.80769,
"HR_per_IP": 0.0
}
},
"season": {
"games": 43,
"totals": {
"IP": 38.2,
"ER": 9.0,
"R": 12.0,
"H": 29.0,
"BB": 15.0,
"SO": 39.0,
"HR": 2.0,
"BF": 162.0,
"Pitches": 608.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2093,
"R": 0.2791,
"H": 0.6744,
"BB": 0.3488,
"SO": 0.907,
"HR": 0.0465,
"BF": 3.7674,
"Pitches": 14.1395
},
"rates": {
"ERA": 2.0948,
"WHIP": 1.1379,
"ER_per_IP": 0.23276,
"H_per_IP": 0.75,
"BB_per_IP": 0.38793,
"SO_per_IP": 1.00862,
"HR_per_IP": 0.05172
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.315,
"predicted_H": 0.675,
"predicted_BB": 0.362,
"predicted_SO": 0.86,
"predicted_HR": 0.066,
"predicted_ERA": 2.8336,
"predicted_WHIP": 1.0366
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5163,
"form_weight": 0.4837,
"form_reliability": 0.6065,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.706,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6065,
"prior_weight": 0.3935
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.315,
"final": 0.1524,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.675,
"final": 0.3265,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.362,
"final": 0.1751,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.86,
"final": 1.4485,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0319,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8336,
"final": 2.8336,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0366,
"final": 1.0366,
"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 | Devin Williams |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3465 |
| ESPN Rank | 671 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0487 |
| Avg Velo | 89.0034 |
| Avg Spin | 2464.8913 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.7850 |
| Season WHIP | 1.4860 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 118,
"wins": 47,
"losses": 71,
"win_pct": 0.3983,
"runs_scored": 467.0,
"runs_allowed": 520.0,
"run_differential": -53.0,
"run_differential_per_game": -0.4492,
"avg_runs_scored": 3.9576,
"avg_runs_allowed": 4.4068,
"offense_index": 0.875,
"defense_index": 1.0263,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 2.9,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1761
},
"opponent": {
"team": "MIA",
"games": 114,
"wins": 58,
"losses": 56,
"win_pct": 0.5088,
"runs_scored": 499.0,
"runs_allowed": 491.0,
"run_differential": 8.0,
"run_differential_per_game": 0.0702,
"avg_runs_scored": 4.3772,
"avg_runs_allowed": 4.307,
"offense_index": 0.9678,
"defense_index": 1.0501,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.0,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.054
},
"edges": {
"quality_edge": -0.1221,
"offense_edge": -0.125,
"opponent_offense_edge": -0.0322,
"defense_strength": 0.0263,
"opponent_defense_weakness": -0.0501,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9972,
"run_prevention": 0.9983,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642207",
"profile": {
"available": true,
"pitcher_id": "642207",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 153.0,
"k_percent": 30.0,
"bb_percent": 11.9,
"woba": 0.333,
"xwoba": 0.282,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 30.1,
"avg_best_speed": 77.3996,
"avg_hyper_speed": 92.8624,
"whiff_percent": 35.0,
"swing_percent": 50.0
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.3831,
"command_and_miss": 0.8068,
"regression_edge": 1.4571,
"xwoba_edge": 0.8571,
"barrel_edge": 0.3778,
"hard_hit_edge": 1.1429,
"whiff_edge": 1.3286,
"bb_edge": -0.75,
"pitch_design_score": -0.0487
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642207",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 89.00340657010085,
"release_spin_rate": 2464.8913382024657,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 89.00340657010085,
"release_spin_rate": 2464.8913382024657,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.0034,
"release_spin_rate": 2464.8913,
"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.0487,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3476,
"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.3465,
"sample_weight": 0.612,
"run_prevention_factor": 0.9705,
"strikeout_factor": 1.0593,
"walk_factor": 1.0367,
"homer_factor": 0.9378,
"woba_minus_xwoba": 0.051,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642207",
"espn_id": 33224,
"player_name": "Devin Williams",
"team": "NYM",
"role": "pitcher",
"espn_rank": 671,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 671,
"gp_value": 39.0,
"gp_rank": 99,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.2897,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 15.0,
"sv_rank": 15,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 35.2,
"ip_rank": 319,
"h_value": 38.0,
"h_rank": 248,
"er_value": 17.0,
"er_rank": 288,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 19.0,
"bb_rank": 216,
"k_value": 49.0,
"k_rank": 204,
"k_per_9_value": 12.364487,
"k_per_9_rank": 17,
"whip_value": 1.5981,
"whip_rank": null,
"war_value": -0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9819,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9819,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0225,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9619,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0363,
"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.1,
"ER": 4,
"H": 13,
"BB": 4,
"SO": 9,
"HR": 1,
"ERA": 3.8571428571428577,
"WHIP": 1.8214285714285716,
"K9": 8.678571428571429,
"HR9": 0.9642857142857144,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "642207",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 89.00340657010085,
"release_spin_rate": 2464.8913382024657,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 89.00340657010085,
"release_spin_rate": 2464.8913382024657,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.0034,
"release_spin_rate": 2464.8913,
"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.0487,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3476,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.108,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.587,
"prior_weight": 0.413
},
"role": "pitcher",
"player_id": "642207",
"report_date": "20260730_M",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 87.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 1.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.4
},
"rates": {
"ERA": 1.8,
"WHIP": 1.4,
"ER_per_IP": 0.2,
"H_per_IP": 1.0,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 4.0,
"R": 5.0,
"H": 13.0,
"BB": 4.0,
"SO": 9.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 188.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 1.3,
"BB": 0.4,
"SO": 0.9,
"HR": 0.1,
"BF": 4.5,
"Pitches": 18.8
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.8214,
"ER_per_IP": 0.42857,
"H_per_IP": 1.39286,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 38,
"totals": {
"IP": 35.2,
"ER": 15.0,
"R": 20.0,
"H": 37.0,
"BB": 16.0,
"SO": 49.0,
"HR": 3.0,
"BF": 159.0,
"Pitches": 655.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3947,
"R": 0.5263,
"H": 0.9737,
"BB": 0.4211,
"SO": 1.2895,
"HR": 0.0789,
"BF": 4.1842,
"Pitches": 17.2368
},
"rates": {
"ERA": 3.785,
"WHIP": 1.486,
"ER_per_IP": 0.42056,
"H_per_IP": 1.03738,
"BB_per_IP": 0.4486,
"SO_per_IP": 1.37383,
"HR_per_IP": 0.08411
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.399,
"predicted_H": 1.075,
"predicted_BB": 0.393,
"predicted_SO": 1.02,
"predicted_HR": 0.094,
"predicted_ERA": 3.5933,
"predicted_WHIP": 1.4686
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5245,
"form_weight": 0.4755,
"form_reliability": 0.587,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.108,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.587,
"prior_weight": 0.413
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.399,
"final": 0.1897,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.075,
"final": 1.0357,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.393,
"final": 0.1869,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.02,
"final": 1.0095,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.094,
"final": 0.0447,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5933,
"final": 3.5933,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4686,
"final": 1.4686,
"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 Weaver |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3954 |
| ESPN Rank | 56 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1301 |
| Avg Velo | 92.1959 |
| Avg Spin | 2260.2441 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.8837 |
| Season WHIP | 0.8372 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 118,
"wins": 47,
"losses": 71,
"win_pct": 0.3983,
"runs_scored": 467.0,
"runs_allowed": 520.0,
"run_differential": -53.0,
"run_differential_per_game": -0.4492,
"avg_runs_scored": 3.9576,
"avg_runs_allowed": 4.4068,
"offense_index": 0.875,
"defense_index": 1.0263,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 2.9,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1761
},
"opponent": {
"team": "MIA",
"games": 114,
"wins": 58,
"losses": 56,
"win_pct": 0.5088,
"runs_scored": 499.0,
"runs_allowed": 491.0,
"run_differential": 8.0,
"run_differential_per_game": 0.0702,
"avg_runs_scored": 4.3772,
"avg_runs_allowed": 4.307,
"offense_index": 0.9678,
"defense_index": 1.0501,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.0,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.054
},
"edges": {
"quality_edge": -0.1221,
"offense_edge": -0.125,
"opponent_offense_edge": -0.0322,
"defense_strength": 0.0263,
"opponent_defense_weakness": -0.0501,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9972,
"run_prevention": 0.9983,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596133",
"profile": {
"available": true,
"pitcher_id": "596133",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 155.0,
"k_percent": 26.4,
"bb_percent": 6.7,
"woba": 0.215,
"xwoba": 0.264,
"sweet_spot_percent": 25.2,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 33.6,
"avg_best_speed": 77.5633,
"avg_hyper_speed": 93.2964,
"whiff_percent": 29.9,
"swing_percent": 52.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.1008,
"command_and_miss": 0.5804,
"regression_edge": -1.4,
"xwoba_edge": 1.3714,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.6429,
"whiff_edge": 0.6,
"bb_edge": 0.55,
"pitch_design_score": 0.1301
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596133",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 92.19587649547564,
"release_spin_rate": 2260.2440995412558,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 92.19587649547564,
"release_spin_rate": 2260.2440995412558,
"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.1959,
"release_spin_rate": 2260.2441,
"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.1301,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9294,
"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.3954,
"sample_weight": 0.62,
"run_prevention_factor": 0.9664,
"strikeout_factor": 1.0292,
"walk_factor": 0.9727,
"homer_factor": 0.9729,
"woba_minus_xwoba": -0.049,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "596133",
"espn_id": 33770,
"player_name": "Luke Weaver",
"team": "NYM",
"role": "pitcher",
"espn_rank": 56,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 56,
"gp_value": 41.0,
"gp_rank": 83,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 1.8837,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 15.0,
"hld_rank": 19,
"ip_value": 43.0,
"ip_rank": 256,
"h_value": 25.0,
"h_rank": 385,
"er_value": 9.0,
"er_rank": 472,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 11.0,
"bb_rank": 382,
"k_value": 44.0,
"k_rank": 245,
"k_per_9_value": 9.209303,
"k_per_9_rank": 25,
"whip_value": 0.8372,
"whip_rank": null,
"war_value": 1.87,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9792,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9792,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0181,
"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": 5,
"BB": 2,
"SO": 10,
"HR": 1,
"ERA": 0.9,
"WHIP": 0.7,
"K9": 9.0,
"HR9": 0.9,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "596133",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 92.19587649547564,
"release_spin_rate": 2260.2440995412558,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 92.19587649547564,
"release_spin_rate": 2260.2440995412558,
"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.1959,
"release_spin_rate": 2260.2441,
"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.1301,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9294,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.569,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6315,
"prior_weight": 0.3685
},
"role": "pitcher",
"player_id": "596133",
"report_date": "20260730_M",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 0.0,
"SO": 2.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.0,
"SO": 0.4,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.2
},
"rates": {
"ERA": 1.8,
"WHIP": 0.8,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.0,
"SO_per_IP": 0.4,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 143.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.5,
"BB": 0.2,
"SO": 1.0,
"HR": 0.1,
"BF": 3.7,
"Pitches": 14.3
},
"rates": {
"ERA": 0.9,
"WHIP": 0.7,
"ER_per_IP": 0.1,
"H_per_IP": 0.5,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.1
}
},
"season": {
"games": 41,
"totals": {
"IP": 43.0,
"ER": 9.0,
"R": 10.0,
"H": 25.0,
"BB": 11.0,
"SO": 44.0,
"HR": 3.0,
"BF": 166.0,
"Pitches": 630.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2195,
"R": 0.2439,
"H": 0.6098,
"BB": 0.2683,
"SO": 1.0732,
"HR": 0.0732,
"BF": 4.0488,
"Pitches": 15.3659
},
"rates": {
"ERA": 1.8837,
"WHIP": 0.8372,
"ER_per_IP": 0.2093,
"H_per_IP": 0.5814,
"BB_per_IP": 0.25581,
"SO_per_IP": 1.02326,
"HR_per_IP": 0.06977
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.292,
"predicted_H": 0.771,
"predicted_BB": 0.208,
"predicted_SO": 0.817,
"predicted_HR": 0.144,
"predicted_ERA": 2.6267,
"predicted_WHIP": 0.9786
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5057,
"form_weight": 0.4943,
"form_reliability": 0.6315,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.569,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6315,
"prior_weight": 0.3685
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.292,
"final": 0.1443,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.771,
"final": 0.3811,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.208,
"final": 0.1028,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.817,
"final": 0.4039,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.144,
"final": 0.0712,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6267,
"final": 2.6267,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9786,
"final": 0.9786,
"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.129 | 0.000 | 0.000 | Hitting_2B | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 3.812 | 4.000 | 4.000 | Hitting_AB | 3.951 | 3.000 | 0.049 | 1.000 |
| predicted_AVG | 0.260 | 0.000 | 0.250 | Hitting_AVG | 0.267 | 0.333 | -0.267 | -0.333 |
| predicted_BB | 0.317 | 0.000 | 0.000 | Hitting_BB | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.054 | 1.000 | -1.054 | -1.000 |
| predicted_HR | 0.109 | 0.000 | 0.000 | Hitting_HR | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_OBP | 0.317 | 0.000 | 0.250 | Hitting_OBP | 0.333 | 0.333 | -0.333 | -0.333 |
| predicted_R | 0.535 | 0.000 | 0.000 | Hitting_R | 0.582 | 0.000 | -0.582 | 0.000 |
| predicted_RBI | 0.406 | 0.000 | 0.000 | Hitting_RBI | 0.457 | 0.000 | -0.457 | 0.000 |
| predicted_SLG | 0.390 | 0.000 | 0.250 | Hitting_SLG | 0.397 | 0.333 | -0.397 | -0.333 |
| predicted_SO | 0.931 | 1.000 | 1.000 | Hitting_SO | 0.932 | 1.000 | 0.068 | 0.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_AB: 3.8120 -> 4.0000 (boost 0.1880, better) |
| Biggest Deboost | predicted_H: 0.9900 -> 0.0000 (deboost -0.9900, 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 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3900 -> 0.3753 (deboost -0.0147, 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.3204 -> 0.3098 (deboost -0.0106, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_AB: 3.7698 -> 4.0000 (boost 0.2302, better) | predicted_RBI: 0.3781 -> 0.0000 (deboost -0.3781, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.249 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4801 -> 0.0000 (deboost -0.4801, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3687 -> 0.2500 (deboost -0.1187, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3687 (boost 0.1187, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.129,
"predicted_3B": 0.02,
"predicted_AB": 3.812,
"predicted_AVG": 0.26,
"predicted_BB": 0.317,
"predicted_H": 0.99,
"predicted_HR": 0.109,
"predicted_OBP": 0.317,
"predicted_R": 0.535,
"predicted_RBI": 0.406,
"predicted_SLG": 0.39,
"predicted_SO": 0.931
},
"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.1423,
"predicted_3B": 0.0166,
"predicted_AB": 3.7698,
"predicted_AVG": 0.2563,
"predicted_BB": 0.3217,
"predicted_H": 0.9655,
"predicted_HBP": 0.089,
"predicted_HR": 0.0913,
"predicted_OBP": 0.3204,
"predicted_R": 0.4954,
"predicted_RBI": 0.3901,
"predicted_SLG": 0.3753,
"predicted_SO": 0.9749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1423,
"delta": 0.0133,
"percent_delta": 0.1031,
"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.812,
"after": 3.7698,
"delta": -0.0422,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2563,
"delta": -0.0037,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.3217,
"delta": 0.0047,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9655,
"delta": -0.0245,
"percent_delta": -0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.109,
"after": 0.0913,
"delta": -0.0177,
"percent_delta": -0.1624,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3204,
"delta": 0.0034,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.535,
"after": 0.4954,
"delta": -0.0396,
"percent_delta": -0.074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.406,
"after": 0.3901,
"delta": -0.0159,
"percent_delta": -0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3753,
"delta": -0.0147,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.931,
"after": 0.9749,
"delta": 0.0439,
"percent_delta": 0.0472,
"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.39,
"after": 0.3753,
"delta": -0.0147,
"percent_delta": -0.0377,
"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.1423,
"predicted_3B": 0.0166,
"predicted_AB": 3.7698,
"predicted_AVG": 0.2514,
"predicted_BB": 0.3189,
"predicted_H": 0.9477,
"predicted_HBP": 0.089,
"predicted_HR": 0.0889,
"predicted_OBP": 0.3098,
"predicted_R": 0.4801,
"predicted_RBI": 0.3781,
"predicted_SLG": 0.3687,
"predicted_SO": 0.9834
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1423,
"after": 0.1423,
"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": 3.7698,
"after": 3.7698,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2563,
"after": 0.2514,
"delta": -0.0049,
"percent_delta": -0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3217,
"after": 0.3189,
"delta": -0.0028,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9655,
"after": 0.9477,
"delta": -0.0178,
"percent_delta": -0.0184,
"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.0913,
"after": 0.0889,
"delta": -0.0024,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3204,
"after": 0.3098,
"delta": -0.0106,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4954,
"after": 0.4801,
"delta": -0.0153,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3901,
"after": 0.3781,
"delta": -0.012,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3753,
"after": 0.3687,
"delta": -0.0066,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9749,
"after": 0.9834,
"delta": 0.0085,
"percent_delta": 0.0087,
"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.3204,
"after": 0.3098,
"delta": -0.0106,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.81), rates preserved: AVG=0.249 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.1423,
"after": 0.0,
"delta": -0.1423,
"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": 3.7698,
"after": 4.0,
"delta": 0.2302,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3189,
"after": 0.0,
"delta": -0.3189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9477,
"after": 1.0,
"delta": 0.0523,
"percent_delta": 0.0552,
"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.0889,
"after": 0.0,
"delta": -0.0889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3781,
"after": 0.0,
"delta": -0.3781,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9834,
"after": 1.0,
"delta": 0.0166,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7698,
"after": 4.0,
"delta": 0.2302,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3781,
"after": 0.0,
"delta": -0.3781,
"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.4801,
"after": 0.0,
"delta": -0.4801,
"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.4801,
"after": 0.0,
"delta": -0.4801,
"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.2514,
"after": 0.25,
"delta": -0.0014,
"percent_delta": -0.0056,
"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_OBP",
"before": 0.3098,
"after": 0.25,
"delta": -0.0598,
"percent_delta": -0.193,
"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.3687,
"after": 0.25,
"delta": -0.1187,
"percent_delta": -0.3219,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3687,
"after": 0.25,
"delta": -0.1187,
"percent_delta": -0.3219,
"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.2514,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3098,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3687,
"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.2514,
"delta": 0.0014,
"percent_delta": 0.0056,
"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": 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.3098,
"delta": 0.0598,
"percent_delta": 0.2392,
"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.3687,
"delta": 0.1187,
"percent_delta": 0.4749,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3687,
"delta": 0.1187,
"percent_delta": 0.4749,
"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.129,
"after": 0.0,
"delta": -0.129,
"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.812,
"after": 4.0,
"delta": 0.188,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2514,
"delta": -0.0086,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3098,
"delta": -0.0072,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.535,
"after": 0.0,
"delta": -0.535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3687,
"delta": -0.0213,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.931,
"after": 1.0,
"delta": 0.069,
"percent_delta": 0.0741,
"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_AB",
"before": 3.812,
"after": 4.0,
"delta": 0.188,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"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.129 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.812 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.317 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.109 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.535 | - |
| predicted_RBI | 0.406 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.931 | - |
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.142 | 0.013 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.770 | -0.042 |
| predicted_AVG | 0.256 | -0.004 |
| predicted_BB | 0.322 | 0.005 |
| predicted_H | 0.966 | -0.024 |
| predicted_HBP | 0.089 | - |
| predicted_HR | 0.091 | -0.018 |
| predicted_OBP | 0.320 | 0.003 |
| predicted_R | 0.495 | -0.040 |
| predicted_RBI | 0.390 | -0.016 |
| predicted_SLG | 0.375 | -0.015 |
| predicted_SO | 0.975 | 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.142 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.770 | 0.000 |
| predicted_AVG | 0.251 | -0.005 |
| predicted_BB | 0.319 | -0.003 |
| predicted_H | 0.948 | -0.018 |
| predicted_HBP | 0.089 | 0.000 |
| predicted_HR | 0.089 | -0.002 |
| predicted_OBP | 0.310 | -0.011 |
| predicted_R | 0.480 | -0.015 |
| predicted_RBI | 0.378 | -0.012 |
| predicted_SLG | 0.369 | -0.007 |
| predicted_SO | 0.983 | 0.009 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.249 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.142 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.230 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.319 |
| predicted_H | 1.000 | 0.052 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.250 | -0.060 |
| predicted_R | 0.000 | -0.480 |
| predicted_RBI | 0.000 | -0.378 |
| predicted_SLG | 0.250 | -0.119 |
| predicted_SO | 1.000 | 0.017 |
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 | - | 17.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 6.000 | 0.2353 | 0.3500 | 0.2941 | 0.2353 | 0.0000 | 0.0588 | 0.1177 | 0.3529 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 2.000 | 0.000 | 0.000 | 4.000 | 2.000 | 3.000 | 12.000 | 0.2432 | 0.3095 | 0.2973 | 0.2432 | 0.0000 | 0.1081 | 0.0811 | 0.3243 |
| season | 0.60 | 101 | - | 385.000 | 100.000 | 13.000 | 2.000 | 11.000 | 41.000 | 54.000 | 32.000 | 94.000 | 0.2597 | 0.3239 | 0.3896 | 0.2597 | 0.0286 | 0.1065 | 0.0831 | 0.2442 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7140 |
| predicted_AVG | 0.2513 |
| predicted_BB | 0.3280 |
| predicted_H | 0.9330 |
| predicted_HBP | 0.0890 |
| predicted_HR | 0.0680 |
| predicted_OBP | 0.3249 |
| predicted_R | 0.4430 |
| predicted_RBI | 0.3690 |
| predicted_SLG | 0.3558 |
| predicted_SO | 1.0330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.1600 | 0.1423 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0166 | model_form_blend |
| predicted_AB | 3.8120 | 3.7140 | 3.7698 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2513 | 0.2563 | model_form_blend |
| predicted_BB | 0.3170 | 0.3280 | 0.3217 | model_form_blend |
| predicted_H | 0.9900 | 0.9330 | 0.9655 | model_form_blend |
| predicted_HBP | - | 0.0890 | 0.0890 | form_only |
| predicted_HR | 0.1090 | 0.0680 | 0.0913 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3249 | 0.3204 | model_form_blend |
| predicted_R | 0.5350 | 0.4430 | 0.4954 | model_form_blend |
| predicted_RBI | 0.4060 | 0.3690 | 0.3901 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3558 | 0.3753 | model_form_blend |
| predicted_SO | 0.9310 | 1.0330 | 0.9749 | 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 | 411 |
| Season rows before report date | 411 |
| 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.26 |
| 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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | RF |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 701807 |
| playerID | 701807 |
| playerName | Carson Benge |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.316 |
| sl_xwoba | 0.338 |
| sl_xba | 0.278 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 40.2 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 21.8 |
| 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_2B | 0.098 | 0.000 | 0.000 | Hitting_2B | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_3B | 0.078 | 0.000 | 0.000 | Hitting_3B | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_AB | 4.380 | 4.000 | 4.000 | Hitting_AB | 3.941 | 4.000 | 0.059 | 0.000 |
| predicted_AVG | 0.227 | 0.000 | 0.250 | Hitting_AVG | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_BB | 0.471 | 1.000 | 0.000 | Hitting_BB | 0.456 | 0.000 | 0.544 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 0.892 | 0.000 | -0.892 | 0.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_OBP | 0.320 | 0.200 | 0.250 | Hitting_OBP | 0.314 | 0.000 | -0.114 | 0.200 |
| predicted_R | 0.510 | 0.000 | 0.000 | Hitting_R | 0.544 | 0.000 | -0.544 | 0.000 |
| predicted_RBI | 0.760 | 0.000 | 1.000 | Hitting_RBI | 0.358 | 0.000 | -0.358 | 0.000 |
| predicted_SLG | 0.459 | 0.000 | 0.250 | Hitting_SLG | 0.393 | 0.000 | -0.393 | 0.000 |
| predicted_SO | 0.745 | 1.000 | 1.000 | Hitting_SO | 0.750 | 1.000 | 0.250 | 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_BB: 0.4710 -> 1.0000 (boost 0.5290, better) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, 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.4710 -> 0.5246 (boost 0.0536, better) | predicted_AB: 4.3800 -> 4.1614 (deboost -0.2186, 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.3308 -> 0.3148 (deboost -0.0160, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.7289 -> 1.0000 (boost 0.2711, better) | predicted_BB: 0.5200 -> 0.0000 (deboost -0.5200, worse) | AB rounded to 4 (raw=4.38), rates preserved: AVG=0.218 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4782 -> 0.0000 (deboost -0.4782, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2292 -> 0.2500 (boost 0.0208, better) | predicted_SLG: 0.4587 -> 0.2500 (deboost -0.2087, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4587 (boost 0.2087, better) | predicted_AVG: 0.2500 -> 0.2292 (deboost -0.0208, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "596019",
"player_name": "Francisco Lindor",
"position": "SS",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.098,
"predicted_3B": 0.078,
"predicted_AB": 4.38,
"predicted_AVG": 0.227,
"predicted_BB": 0.471,
"predicted_H": 1.0,
"predicted_HR": 0.24,
"predicted_OBP": 0.32,
"predicted_R": 0.51,
"predicted_RBI": 0.76,
"predicted_SLG": 0.459,
"predicted_SO": 0.745
},
"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.1026,
"predicted_3B": 0.0859,
"predicted_AB": 4.1614,
"predicted_AVG": 0.2332,
"predicted_BB": 0.5246,
"predicted_H": 0.9717,
"predicted_HBP": 0.024,
"predicted_HR": 0.2329,
"predicted_OBP": 0.3308,
"predicted_R": 0.4934,
"predicted_RBI": 0.7521,
"predicted_SLG": 0.4735,
"predicted_SO": 0.7438
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.098,
"after": 0.1026,
"delta": 0.0046,
"percent_delta": 0.0469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.078,
"after": 0.0859,
"delta": 0.0079,
"percent_delta": 0.1013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1614,
"delta": -0.2186,
"percent_delta": -0.0499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2332,
"delta": 0.0062,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.471,
"after": 0.5246,
"delta": 0.0536,
"percent_delta": 0.1138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9717,
"delta": -0.0283,
"percent_delta": -0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2329,
"delta": -0.0071,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3308,
"delta": 0.0108,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.51,
"after": 0.4934,
"delta": -0.0166,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.76,
"after": 0.7521,
"delta": -0.0079,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4735,
"delta": 0.0145,
"percent_delta": 0.0316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 0.7438,
"delta": -0.0012,
"percent_delta": -0.0016,
"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.471,
"after": 0.5246,
"delta": 0.0536,
"percent_delta": 0.1138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1614,
"delta": -0.2186,
"percent_delta": -0.0499,
"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": 51
}
},
{
"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.1026,
"predicted_3B": 0.0859,
"predicted_AB": 4.1614,
"predicted_AVG": 0.2292,
"predicted_BB": 0.52,
"predicted_H": 0.9538,
"predicted_HBP": 0.024,
"predicted_HR": 0.2268,
"predicted_OBP": 0.3148,
"predicted_R": 0.4782,
"predicted_RBI": 0.7289,
"predicted_SLG": 0.4587,
"predicted_SO": 0.7503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1026,
"after": 0.1026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0859,
"after": 0.0859,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1614,
"after": 4.1614,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2332,
"after": 0.2292,
"delta": -0.004,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5246,
"after": 0.52,
"delta": -0.0046,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9717,
"after": 0.9538,
"delta": -0.0179,
"percent_delta": -0.0184,
"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.2329,
"after": 0.2268,
"delta": -0.0061,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3308,
"after": 0.3148,
"delta": -0.016,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4934,
"after": 0.4782,
"delta": -0.0152,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7521,
"after": 0.7289,
"delta": -0.0232,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4735,
"after": 0.4587,
"delta": -0.0148,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7438,
"after": 0.7503,
"delta": 0.0065,
"percent_delta": 0.0087,
"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.3308,
"after": 0.3148,
"delta": -0.016,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.218 HR/AB=0.052",
"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.1026,
"after": 0.0,
"delta": -0.1026,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0859,
"after": 0.0,
"delta": -0.0859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.1614,
"after": 4.0,
"delta": -0.1614,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9538,
"after": 1.0,
"delta": 0.0462,
"percent_delta": 0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2268,
"after": 0.0,
"delta": -0.2268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7289,
"after": 1.0,
"delta": 0.2711,
"percent_delta": 0.3719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7503,
"after": 1.0,
"delta": 0.2497,
"percent_delta": 0.3328,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7289,
"after": 1.0,
"delta": 0.2711,
"percent_delta": 0.3719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"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.4782,
"after": 0.0,
"delta": -0.4782,
"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.4782,
"after": 0.0,
"delta": -0.4782,
"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.2292,
"after": 0.25,
"delta": 0.0208,
"percent_delta": 0.0908,
"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.3148,
"after": 0.25,
"delta": -0.0648,
"percent_delta": -0.2058,
"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.4587,
"after": 0.25,
"delta": -0.2087,
"percent_delta": -0.455,
"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.2292,
"after": 0.25,
"delta": 0.0208,
"percent_delta": 0.0908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4587,
"after": 0.25,
"delta": -0.2087,
"percent_delta": -0.455,
"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": 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": 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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"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": 4.0,
"predicted_AVG": 0.2292,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3148,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4587,
"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.25,
"after": 0.2292,
"delta": -0.0208,
"percent_delta": -0.0832,
"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.25,
"after": 0.3148,
"delta": 0.0648,
"percent_delta": 0.2593,
"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.4587,
"delta": 0.2087,
"percent_delta": 0.8347,
"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.4587,
"delta": 0.2087,
"percent_delta": 0.8347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2292,
"delta": -0.0208,
"percent_delta": -0.0832,
"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.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 4.0,
"delta": -0.38,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2292,
"delta": 0.0022,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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.32,
"after": 0.3148,
"delta": -0.0052,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4587,
"delta": -0.0003,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 1.0,
"delta": 0.255,
"percent_delta": 0.3423,
"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_BB",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"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
},
"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.098 | - |
| predicted_3B | 0.078 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.471 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.510 | - |
| predicted_RBI | 0.760 | - |
| predicted_SLG | 0.459 | - |
| predicted_SO | 0.745 | - |
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.103 | 0.005 |
| predicted_3B | 0.086 | 0.008 |
| predicted_AB | 4.161 | -0.219 |
| predicted_AVG | 0.233 | 0.006 |
| predicted_BB | 0.525 | 0.054 |
| predicted_H | 0.972 | -0.028 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.233 | -0.007 |
| predicted_OBP | 0.331 | 0.011 |
| predicted_R | 0.493 | -0.017 |
| predicted_RBI | 0.752 | -0.008 |
| predicted_SLG | 0.473 | 0.014 |
| predicted_SO | 0.744 | -0.001 |
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.103 | 0.000 |
| predicted_3B | 0.086 | 0.000 |
| predicted_AB | 4.161 | 0.000 |
| predicted_AVG | 0.229 | -0.004 |
| predicted_BB | 0.520 | -0.005 |
| predicted_H | 0.954 | -0.018 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.227 | -0.006 |
| predicted_OBP | 0.315 | -0.016 |
| predicted_R | 0.478 | -0.015 |
| predicted_RBI | 0.729 | -0.023 |
| predicted_SLG | 0.459 | -0.015 |
| predicted_SO | 0.750 | 0.006 |
AB rounded to 4 (raw=4.38), rates preserved: AVG=0.218 HR/AB=0.052
| 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.103 |
| predicted_3B | 0.000 | -0.086 |
| predicted_AB | 4.000 | -0.161 |
| predicted_AVG | 0.250 | 0.021 |
| predicted_BB | 0.000 | -0.520 |
| predicted_H | 1.000 | 0.046 |
| predicted_HR | 0.000 | -0.227 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 0.000 | -0.478 |
| predicted_RBI | 1.000 | 0.271 |
| predicted_SLG | 0.250 | -0.209 |
| predicted_SO | 1.000 | 0.250 |
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 | 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 | 5.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 | - | 19.000 | 4.000 | 0.000 | 1.000 | 2.000 | 7.000 | 2.000 | 5.000 | 3.000 | 0.2105 | 0.3750 | 0.6316 | 0.2105 | 0.1053 | 0.3684 | 0.2632 | 0.1579 |
| last_10 | 0.20 | 10 | - | 38.000 | 12.000 | 2.000 | 1.000 | 3.000 | 11.000 | 4.000 | 8.000 | 8.000 | 0.3158 | 0.4348 | 0.6579 | 0.3158 | 0.0790 | 0.2895 | 0.2105 | 0.2105 |
| season | 0.60 | 51 | - | 199.000 | 45.000 | 5.000 | 4.000 | 8.000 | 23.000 | 26.000 | 24.000 | 38.000 | 0.2261 | 0.3156 | 0.4121 | 0.2261 | 0.0402 | 0.1156 | 0.1206 | 0.1910 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1090 |
| predicted_3B | 0.0970 |
| predicted_AB | 3.8540 |
| predicted_AVG | 0.2418 |
| predicted_BB | 0.6000 |
| predicted_H | 0.9320 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.2230 |
| predicted_OBP | 0.3459 |
| predicted_R | 0.4700 |
| predicted_RBI | 0.7410 |
| predicted_SLG | 0.4939 |
| predicted_SO | 0.7420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0980 | 0.1090 | 0.1026 | model_form_blend |
| predicted_3B | 0.0780 | 0.0970 | 0.0859 | model_form_blend |
| predicted_AB | 4.3800 | 3.8540 | 4.1614 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2418 | 0.2332 | model_form_blend |
| predicted_BB | 0.4710 | 0.6000 | 0.5246 | model_form_blend |
| predicted_H | 1.0000 | 0.9320 | 0.9717 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.2400 | 0.2230 | 0.2329 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3459 | 0.3308 | model_form_blend |
| predicted_R | 0.5100 | 0.4700 | 0.4934 | model_form_blend |
| predicted_RBI | 0.7600 | 0.7410 | 0.7521 | model_form_blend |
| predicted_SLG | 0.4590 | 0.4939 | 0.4735 | model_form_blend |
| predicted_SO | 0.7450 | 0.7420 | 0.7438 | 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 | 51 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.226 |
| 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 | 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 | SS |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 596019 |
| playerID | 596019 |
| playerName | Francisco Lindor |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.326 |
| sl_xwoba | 0.352 |
| sl_xba | 0.262 |
| sl_xslg | 0.463 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 49.4 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 45.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.179 | 0.000 | 0.000 | Hitting_2B | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.552 | 5.000 | 4.000 | Hitting_AB | 3.736 | 2.000 | 1.264 | 3.000 |
| predicted_AVG | 0.278 | 0.200 | 0.250 | Hitting_AVG | 0.291 | 0.500 | -0.091 | -0.300 |
| predicted_BB | 0.403 | 0.000 | 0.000 | Hitting_BB | 0.449 | 1.000 | -0.449 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_H | 0.980 | 1.000 | 1.000 | Hitting_H | 1.087 | 1.000 | -0.087 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_OBP | 0.330 | 0.200 | 0.250 | Hitting_OBP | 0.367 | 0.500 | -0.167 | -0.300 |
| predicted_R | 0.478 | 0.000 | 1.000 | Hitting_R | 0.504 | 1.000 | -0.504 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.476 | 1.000 | -0.476 | -1.000 |
| predicted_SLG | 0.376 | 0.200 | 0.250 | Hitting_SLG | 0.464 | 0.500 | -0.264 | -0.300 |
| predicted_SO | 1.075 | 3.000 | 1.000 | Hitting_SO | 1.154 | 0.000 | 1.846 | 3.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_SO: 1.0750 -> 3.0000 (boost 1.9250, worse) |
| Biggest Deboost | predicted_R: 0.4780 -> 0.0000 (deboost -0.4780, 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.5520 -> 3.6231 (boost 0.0711, 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 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3339 -> 0.3436 (boost 0.0097, better) | predicted_AVG: 0.2747 -> 0.2684 (deboost -0.0063, 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 | 2 | 4 | predicted_AB: 3.6231 -> 4.0000 (boost 0.3769, better) | predicted_BB: 0.4154 -> 0.0000 (deboost -0.4154, worse) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.268 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5036 -> 1.0000 (boost 0.4964, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3876 -> 0.2500 (deboost -0.1376, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_R: 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.3876 (boost 0.1376, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805999",
"player_name": "A.J. Ewing",
"position": "LF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.015,
"predicted_AB": 3.552,
"predicted_AVG": 0.278,
"predicted_BB": 0.403,
"predicted_H": 0.98,
"predicted_HR": 0.08,
"predicted_OBP": 0.33,
"predicted_R": 0.478,
"predicted_RBI": 0.44,
"predicted_SLG": 0.376,
"predicted_SO": 1.075
},
"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.1824,
"predicted_3B": 0.0129,
"predicted_AB": 3.6231,
"predicted_AVG": 0.2747,
"predicted_BB": 0.419,
"predicted_H": 0.9905,
"predicted_HBP": 0.012,
"predicted_HR": 0.0766,
"predicted_OBP": 0.3339,
"predicted_R": 0.5196,
"predicted_RBI": 0.4139,
"predicted_SLG": 0.3794,
"predicted_SO": 1.062
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1824,
"delta": 0.0034,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.552,
"after": 3.6231,
"delta": 0.0711,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2747,
"delta": -0.0033,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.403,
"after": 0.419,
"delta": 0.016,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9905,
"delta": 0.0105,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0766,
"delta": -0.0034,
"percent_delta": -0.0425,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3339,
"delta": 0.0039,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.5196,
"delta": 0.0416,
"percent_delta": 0.087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4139,
"delta": -0.0261,
"percent_delta": -0.0593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3794,
"delta": 0.0034,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.075,
"after": 1.062,
"delta": -0.013,
"percent_delta": -0.0121,
"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.552,
"after": 3.6231,
"delta": 0.0711,
"percent_delta": 0.02,
"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": 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.1824,
"predicted_3B": 0.0129,
"predicted_AB": 3.6231,
"predicted_AVG": 0.2684,
"predicted_BB": 0.4154,
"predicted_H": 0.9723,
"predicted_HBP": 0.012,
"predicted_HR": 0.0746,
"predicted_OBP": 0.3436,
"predicted_R": 0.5036,
"predicted_RBI": 0.4012,
"predicted_SLG": 0.3876,
"predicted_SO": 1.0712
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1824,
"after": 0.1824,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6231,
"after": 3.6231,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2747,
"after": 0.2684,
"delta": -0.0063,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.4154,
"delta": -0.0036,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9905,
"after": 0.9723,
"delta": -0.0182,
"percent_delta": -0.0184,
"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.0766,
"after": 0.0746,
"delta": -0.002,
"percent_delta": -0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3339,
"after": 0.3436,
"delta": 0.0097,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5196,
"after": 0.5036,
"delta": -0.016,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4139,
"after": 0.4012,
"delta": -0.0127,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3794,
"after": 0.3876,
"delta": 0.0082,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 1.0712,
"delta": 0.0092,
"percent_delta": 0.0087,
"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.3339,
"after": 0.3436,
"delta": 0.0097,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2747,
"after": 0.2684,
"delta": -0.0063,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.268 HR/AB=0.021",
"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.1824,
"after": 0.0,
"delta": -0.1824,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6231,
"after": 4.0,
"delta": 0.3769,
"percent_delta": 0.104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4154,
"after": 0.0,
"delta": -0.4154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9723,
"after": 1.0,
"delta": 0.0277,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0746,
"after": 0.0,
"delta": -0.0746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4012,
"after": 0.0,
"delta": -0.4012,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0712,
"after": 1.0,
"delta": -0.0712,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6231,
"after": 4.0,
"delta": 0.3769,
"percent_delta": 0.104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4154,
"after": 0.0,
"delta": -0.4154,
"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.5036,
"after": 1.0,
"delta": 0.4964,
"percent_delta": 0.9857,
"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.5036,
"after": 1.0,
"delta": 0.4964,
"percent_delta": 0.9857,
"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.2684,
"after": 0.25,
"delta": -0.0184,
"percent_delta": -0.0686,
"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.3436,
"after": 0.25,
"delta": -0.0936,
"percent_delta": -0.2724,
"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.3876,
"after": 0.25,
"delta": -0.1376,
"percent_delta": -0.355,
"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.3876,
"after": 0.25,
"delta": -0.1376,
"percent_delta": -0.355,
"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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"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": {
"metric": "predicted_R",
"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.2684,
"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.3436,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3876,
"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": 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.2684,
"delta": 0.0184,
"percent_delta": 0.0734,
"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.3436,
"delta": 0.0936,
"percent_delta": 0.3744,
"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.3876,
"delta": 0.1376,
"percent_delta": 0.5504,
"direction": "boost",
"projection_effect": "better",
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3876,
"delta": 0.1376,
"percent_delta": 0.5504,
"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.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3.552,
"after": 5.0,
"delta": 1.448,
"percent_delta": 0.4077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2684,
"delta": -0.0096,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0,
"delta": 0.02,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3436,
"delta": 0.0136,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.0,
"delta": -0.478,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3876,
"delta": 0.0116,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.075,
"after": 3.0,
"delta": 1.925,
"percent_delta": 1.7907,
"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_SO",
"before": 1.075,
"after": 3.0,
"delta": 1.925,
"percent_delta": 1.7907,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.478,
"after": 0.0,
"delta": -0.478,
"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.179 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.552 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.403 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.478 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 1.075 | - |
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.003 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.623 | 0.071 |
| predicted_AVG | 0.275 | -0.003 |
| predicted_BB | 0.419 | 0.016 |
| predicted_H | 0.991 | 0.011 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.077 | -0.003 |
| predicted_OBP | 0.334 | 0.004 |
| predicted_R | 0.520 | 0.042 |
| predicted_RBI | 0.414 | -0.026 |
| predicted_SLG | 0.379 | 0.003 |
| predicted_SO | 1.062 | -0.013 |
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.013 | 0.000 |
| predicted_AB | 3.623 | 0.000 |
| predicted_AVG | 0.268 | -0.006 |
| predicted_BB | 0.415 | -0.004 |
| predicted_H | 0.972 | -0.018 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.075 | -0.002 |
| predicted_OBP | 0.344 | 0.010 |
| predicted_R | 0.504 | -0.016 |
| predicted_RBI | 0.401 | -0.013 |
| predicted_SLG | 0.388 | 0.008 |
| predicted_SO | 1.071 | 0.009 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.268 HR/AB=0.021
| 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.182 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.377 |
| predicted_AVG | 0.250 | -0.018 |
| predicted_BB | 0.000 | -0.415 |
| predicted_H | 1.000 | 0.028 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.250 | -0.094 |
| predicted_R | 1.000 | 0.496 |
| predicted_RBI | 0.000 | -0.401 |
| predicted_SLG | 0.250 | -0.138 |
| predicted_SO | 1.000 | -0.071 |
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 | -1.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 | - | 19.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 4.000 | 0.2632 | 0.3333 | 0.3158 | 0.2632 | 0.0000 | 0.1053 | 0.1579 | 0.2105 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 2.000 | 0.000 | 0.000 | 2.000 | 5.000 | 5.000 | 13.000 | 0.2683 | 0.3333 | 0.3171 | 0.2683 | 0.0000 | 0.0488 | 0.1220 | 0.3171 |
| season | 0.60 | 67 | - | 238.000 | 66.000 | 12.000 | 1.000 | 7.000 | 27.000 | 32.000 | 27.000 | 72.000 | 0.2773 | 0.3494 | 0.4244 | 0.2773 | 0.0294 | 0.1134 | 0.1134 | 0.3025 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1870 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.7210 |
| predicted_AVG | 0.2702 |
| predicted_BB | 0.4410 |
| predicted_H | 1.0050 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0720 |
| predicted_OBP | 0.3392 |
| predicted_R | 0.5770 |
| predicted_RBI | 0.3780 |
| predicted_SLG | 0.3840 |
| predicted_SO | 1.0440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.1870 | 0.1824 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 3.5520 | 3.7210 | 3.6231 | model_form_blend |
| predicted_AVG | 0.2780 | 0.2702 | 0.2747 | model_form_blend |
| predicted_BB | 0.4030 | 0.4410 | 0.4190 | model_form_blend |
| predicted_H | 0.9800 | 1.0050 | 0.9905 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0800 | 0.0720 | 0.0766 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3392 | 0.3339 | model_form_blend |
| predicted_R | 0.4780 | 0.5770 | 0.5196 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3780 | 0.4139 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3840 | 0.3794 | model_form_blend |
| predicted_SO | 1.0750 | 1.0440 | 1.0620 | 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 | 254 |
| Season rows before report date | 254 |
| 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.277 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 2 |
| 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 | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| 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 | CF |
| gameID | 20260729_ATL@NYM |
| game_type | full |
| mlbID | 805999 |
| playerID | 805999 |
| playerName | A.J. Ewing |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.334 |
| sl_xwoba | 0.319 |
| sl_xba | 0.254 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 41.9 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 45.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.143 | 0.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 4.790 | 3.000 | 5.000 | Hitting_AB | 4.093 | 4.000 | -1.093 | -1.000 |
| predicted_AVG | 0.215 | 0.000 | 0.200 | Hitting_AVG | 0.266 | 0.000 | -0.266 | 0.000 |
| predicted_BB | 0.257 | 1.000 | 0.000 | Hitting_BB | 0.280 | 0.000 | 0.720 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 0.000 | 1.000 | Hitting_H | 1.088 | 0.000 | -1.088 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.272 | 0.400 | 0.200 | Hitting_OBP | 0.312 | 0.000 | 0.088 | 0.400 |
| predicted_R | 0.486 | 1.000 | 0.000 | Hitting_R | 0.526 | 0.000 | 0.474 | 1.000 |
| predicted_RBI | 0.460 | 1.000 | 0.000 | Hitting_RBI | 0.551 | 0.000 | 0.449 | 1.000 |
| predicted_SLG | 0.346 | 0.000 | 0.200 | Hitting_SLG | 0.392 | 0.000 | -0.392 | 0.000 |
| predicted_SO | 0.800 | 0.000 | 1.000 | Hitting_SO | 0.813 | 2.000 | -0.813 | -2.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_BB: 0.2570 -> 1.0000 (boost 0.7430, better) |
| Biggest Deboost | predicted_AB: 4.7900 -> 3.0000 (deboost -1.7900, 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.2150 -> 0.2419 (boost 0.0269, better) | predicted_AB: 4.7900 -> 4.4967 (deboost -0.2933, 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.3496 -> 0.3302 (deboost -0.0194, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 4.4967 -> 5.0000 (boost 0.5033, better) | predicted_RBI: 0.4332 -> 0.0000 (deboost -0.4332, worse) | AB rounded to 5 (raw=4.79), rates preserved: AVG=0.221 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4443 -> 0.0000 (deboost -0.4443, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3302 -> 0.2000 (deboost -0.1302, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 4 | 3 | 5 | 2 | 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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3302 (boost 0.1302, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666182",
"player_name": "Bo Bichette",
"position": "3B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.01,
"predicted_AB": 4.79,
"predicted_AVG": 0.215,
"predicted_BB": 0.257,
"predicted_H": 1.03,
"predicted_HR": 0.12,
"predicted_OBP": 0.272,
"predicted_R": 0.486,
"predicted_RBI": 0.46,
"predicted_SLG": 0.346,
"predicted_SO": 0.8
},
"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.13,
"predicted_3B": 0.0087,
"predicted_AB": 4.4967,
"predicted_AVG": 0.2419,
"predicted_BB": 0.2414,
"predicted_H": 1.0775,
"predicted_HBP": 0.013,
"predicted_HR": 0.0958,
"predicted_OBP": 0.2894,
"predicted_R": 0.4584,
"predicted_RBI": 0.447,
"predicted_SLG": 0.3496,
"predicted_SO": 0.8108
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.13,
"delta": -0.013,
"percent_delta": -0.0909,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.79,
"after": 4.4967,
"delta": -0.2933,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2419,
"delta": 0.0269,
"percent_delta": 0.1251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.2414,
"delta": -0.0156,
"percent_delta": -0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0775,
"delta": 0.0475,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0958,
"delta": -0.0242,
"percent_delta": -0.2017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2894,
"delta": 0.0174,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 0.4584,
"delta": -0.0276,
"percent_delta": -0.0568,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.447,
"delta": -0.013,
"percent_delta": -0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.3496,
"delta": 0.0036,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 0.8108,
"delta": 0.0108,
"percent_delta": 0.0135,
"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.215,
"after": 0.2419,
"delta": 0.0269,
"percent_delta": 0.1251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.79,
"after": 4.4967,
"delta": -0.2933,
"percent_delta": -0.0612,
"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": 105
}
},
{
"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.13,
"predicted_3B": 0.0087,
"predicted_AB": 4.4967,
"predicted_AVG": 0.2352,
"predicted_BB": 0.2393,
"predicted_H": 1.0577,
"predicted_HBP": 0.013,
"predicted_HR": 0.0933,
"predicted_OBP": 0.2739,
"predicted_R": 0.4443,
"predicted_RBI": 0.4332,
"predicted_SLG": 0.3302,
"predicted_SO": 0.8179
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.13,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4967,
"after": 4.4967,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2419,
"after": 0.2352,
"delta": -0.0067,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2414,
"after": 0.2393,
"delta": -0.0021,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0775,
"after": 1.0577,
"delta": -0.0198,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0958,
"after": 0.0933,
"delta": -0.0025,
"percent_delta": -0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2894,
"after": 0.2739,
"delta": -0.0155,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4584,
"after": 0.4443,
"delta": -0.0141,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.447,
"after": 0.4332,
"delta": -0.0138,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3496,
"after": 0.3302,
"delta": -0.0194,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8108,
"after": 0.8179,
"delta": 0.0071,
"percent_delta": 0.0088,
"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.3496,
"after": 0.3302,
"delta": -0.0194,
"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 5 (raw=4.79), rates preserved: AVG=0.221 HR/AB=0.019",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4967,
"after": 5.0,
"delta": 0.5033,
"percent_delta": 0.1119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2393,
"after": 0.0,
"delta": -0.2393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0577,
"after": 1.0,
"delta": -0.0577,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0933,
"after": 0.0,
"delta": -0.0933,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4332,
"after": 0.0,
"delta": -0.4332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8179,
"after": 1.0,
"delta": 0.1821,
"percent_delta": 0.2226,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.4967,
"after": 5.0,
"delta": 0.5033,
"percent_delta": 0.1119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4332,
"after": 0.0,
"delta": -0.4332,
"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=8.0, weight=0.084, BvP AVG=0.375)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.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": 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_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.9158,
"bvp": 0.0842
},
"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": 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": 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.4443,
"after": 0.0,
"delta": -0.4443,
"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.4443,
"after": 0.0,
"delta": -0.4443,
"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": 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": 0.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.2352,
"after": 0.2,
"delta": -0.0352,
"percent_delta": -0.1497,
"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.2739,
"after": 0.2,
"delta": -0.0739,
"percent_delta": -0.2698,
"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.3302,
"after": 0.2,
"delta": -0.1302,
"percent_delta": -0.3943,
"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.3302,
"after": 0.2,
"delta": -0.1302,
"percent_delta": -0.3943,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.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": 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": 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": 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": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"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": 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": 3.0,
"predicted_AVG": 0.2352,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2739,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3302,
"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": 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.2352,
"delta": 0.0352,
"percent_delta": 0.1761,
"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": 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.2,
"after": 0.2739,
"delta": 0.0739,
"percent_delta": 0.3693,
"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.3302,
"delta": 0.1302,
"percent_delta": 0.6512,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3302,
"delta": 0.1302,
"percent_delta": 0.6512,
"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.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.79,
"after": 3.0,
"delta": -1.79,
"percent_delta": -0.3737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2352,
"delta": 0.0202,
"percent_delta": 0.094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 1.0,
"delta": 0.743,
"percent_delta": 2.8911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2739,
"delta": 0.0019,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 1.0,
"delta": 0.514,
"percent_delta": 1.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.3302,
"delta": -0.0158,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"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_BB",
"before": 0.257,
"after": 1.0,
"delta": 0.743,
"percent_delta": 2.8911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.79,
"after": 3.0,
"delta": -1.79,
"percent_delta": -0.3737,
"direction": "deboost",
"projection_effect": "worse",
"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.143 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.790 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.257 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.486 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.346 | - |
| predicted_SO | 0.800 | - |
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.130 | -0.013 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 4.497 | -0.293 |
| predicted_AVG | 0.242 | 0.027 |
| predicted_BB | 0.241 | -0.016 |
| predicted_H | 1.077 | 0.047 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.096 | -0.024 |
| predicted_OBP | 0.289 | 0.017 |
| predicted_R | 0.458 | -0.028 |
| predicted_RBI | 0.447 | -0.013 |
| predicted_SLG | 0.350 | 0.004 |
| predicted_SO | 0.811 | 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.130 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.497 | 0.000 |
| predicted_AVG | 0.235 | -0.007 |
| predicted_BB | 0.239 | -0.002 |
| predicted_H | 1.058 | -0.020 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.093 | -0.003 |
| predicted_OBP | 0.274 | -0.016 |
| predicted_R | 0.444 | -0.014 |
| predicted_RBI | 0.433 | -0.014 |
| predicted_SLG | 0.330 | -0.019 |
| predicted_SO | 0.818 | 0.007 |
AB rounded to 5 (raw=4.79), rates preserved: AVG=0.221 HR/AB=0.019
| 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)
| 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 |
| 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 | 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 | 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.130 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 5.000 | 0.503 |
| predicted_AVG | 0.200 | -0.035 |
| predicted_BB | 0.000 | -0.239 |
| predicted_H | 1.000 | -0.058 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.200 | -0.074 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 0.000 | -0.433 |
| predicted_SLG | 0.200 | -0.130 |
| predicted_SO | 1.000 | 0.182 |
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 | 1.000 | 1.000 |
| HR | 0.000 | 0.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 | 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 | 7.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 3.000 | 0.3182 | 0.3182 | 0.3182 | 0.3182 | 0.0000 | 0.0909 | 0.0000 | 0.1364 |
| last_10 | 0.20 | 10 | - | 42.000 | 13.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 11.000 | 0.3095 | 0.3478 | 0.3333 | 0.3095 | 0.0000 | 0.0476 | 0.0714 | 0.2619 |
| season | 0.60 | 105 | - | 422.000 | 108.000 | 15.000 | 1.000 | 10.000 | 53.000 | 51.000 | 27.000 | 84.000 | 0.2559 | 0.2991 | 0.3673 | 0.2559 | 0.0237 | 0.1256 | 0.0640 | 0.1991 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0070 |
| predicted_AB | 4.1110 |
| predicted_AVG | 0.2772 |
| predicted_BB | 0.2210 |
| predicted_H | 1.1400 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.3122 |
| predicted_R | 0.4220 |
| predicted_RBI | 0.4300 |
| predicted_SLG | 0.3543 |
| predicted_SO | 0.8250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1130 | 0.1300 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 4.7900 | 4.1110 | 4.4967 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2772 | 0.2419 | model_form_blend |
| predicted_BB | 0.2570 | 0.2210 | 0.2414 | model_form_blend |
| predicted_H | 1.0300 | 1.1400 | 1.0775 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1200 | 0.0640 | 0.0958 | model_form_blend |
| predicted_OBP | 0.2720 | 0.3122 | 0.2894 | model_form_blend |
| predicted_R | 0.4860 | 0.4220 | 0.4584 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4300 | 0.4470 | model_form_blend |
| predicted_SLG | 0.3460 | 0.3543 | 0.3496 | model_form_blend |
| predicted_SO | 0.8000 | 0.8250 | 0.8108 | 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 | 443 |
| Season rows before report date | 443 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.256 |
| 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 | 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 | 3B |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 666182 |
| playerID | 666182 |
| playerName | Bo Bichette |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.299 |
| sl_xwoba | 0.325 |
| sl_xba | 0.281 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 7.5 |
| sl_whiff_percent | 19.0 |
| sl_swing_percent | 52.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.097 | 0.000 | 0.000 | Hitting_2B | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.230 | 3.000 | 4.000 | Hitting_AB | 3.673 | 4.000 | -0.673 | -1.000 |
| predicted_AVG | 0.196 | 0.333 | 0.250 | Hitting_AVG | 0.222 | 0.000 | 0.112 | 0.333 |
| predicted_BB | 0.484 | 1.000 | 0.000 | Hitting_BB | 0.540 | 0.000 | 0.460 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 0.814 | 0.000 | 0.186 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.283 | 0.500 | 0.250 | Hitting_OBP | 0.321 | 0.000 | 0.179 | 0.500 |
| predicted_R | 0.419 | 0.000 | 0.000 | Hitting_R | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_SLG | 0.370 | 0.333 | 0.250 | Hitting_SLG | 0.359 | 0.000 | -0.026 | 0.333 |
| predicted_SO | 0.903 | 0.000 | 1.000 | Hitting_SO | 0.850 | 2.000 | -0.850 | -2.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.4840 -> 1.0000 (boost 0.5160, better) |
| Biggest Deboost | predicted_AB: 4.2300 -> 3.0000 (deboost -1.2300, 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 | 0 | 6 | predicted_SO: 0.9030 -> 0.9537 (boost 0.0507, worse) | predicted_AB: 4.2300 -> 3.9625 (deboost -0.2675, 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.3589 -> 0.3201 (deboost -0.0388, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.7448 -> 1.0000 (boost 0.2552, better) | predicted_BB: 0.4474 -> 0.0000 (deboost -0.4474, worse) | AB rounded to 4 (raw=4.23), rates preserved: AVG=0.176 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4099 -> 0.0000 (deboost -0.4099, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1880 -> 0.2500 (boost 0.0620, better) | predicted_SLG: 0.3201 -> 0.2500 (deboost -0.0701, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.3201 (boost 0.0701, better) | predicted_AVG: 0.2500 -> 0.1880 (deboost -0.0620, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673357",
"player_name": "Luis Robert Jr.",
"position": "CF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.097,
"predicted_3B": 0.0,
"predicted_AB": 4.23,
"predicted_AVG": 0.196,
"predicted_BB": 0.484,
"predicted_H": 0.83,
"predicted_HR": 0.14,
"predicted_OBP": 0.283,
"predicted_R": 0.419,
"predicted_RBI": 0.32,
"predicted_SLG": 0.37,
"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.0962,
"predicted_3B": 0.0012,
"predicted_AB": 3.9625,
"predicted_AVG": 0.1908,
"predicted_BB": 0.4513,
"predicted_H": 0.7588,
"predicted_HBP": 0.006,
"predicted_HR": 0.1455,
"predicted_OBP": 0.2767,
"predicted_R": 0.4229,
"predicted_RBI": 0.3228,
"predicted_SLG": 0.3589,
"predicted_SO": 0.9537
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.0962,
"delta": -0.0008,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.23,
"after": 3.9625,
"delta": -0.2675,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.196,
"after": 0.1908,
"delta": -0.0052,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.484,
"after": 0.4513,
"delta": -0.0327,
"percent_delta": -0.0676,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.7588,
"delta": -0.0712,
"percent_delta": -0.0858,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1455,
"delta": 0.0055,
"percent_delta": 0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2767,
"delta": -0.0063,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.4229,
"delta": 0.0039,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3228,
"delta": 0.0028,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3589,
"delta": -0.0111,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 0.9537,
"delta": 0.0507,
"percent_delta": 0.0561,
"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.903,
"after": 0.9537,
"delta": 0.0507,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.23,
"after": 3.9625,
"delta": -0.2675,
"percent_delta": -0.0632,
"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": 31
}
},
{
"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.0962,
"predicted_3B": 0.0012,
"predicted_AB": 3.9625,
"predicted_AVG": 0.188,
"predicted_BB": 0.4474,
"predicted_H": 0.7448,
"predicted_HBP": 0.006,
"predicted_HR": 0.1417,
"predicted_OBP": 0.2704,
"predicted_R": 0.4099,
"predicted_RBI": 0.3129,
"predicted_SLG": 0.3201,
"predicted_SO": 0.962
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0962,
"after": 0.0962,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9625,
"after": 3.9625,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1908,
"after": 0.188,
"delta": -0.0028,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4513,
"after": 0.4474,
"delta": -0.0039,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7588,
"after": 0.7448,
"delta": -0.014,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1455,
"after": 0.1417,
"delta": -0.0038,
"percent_delta": -0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2767,
"after": 0.2704,
"delta": -0.0063,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4229,
"after": 0.4099,
"delta": -0.013,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3228,
"after": 0.3129,
"delta": -0.0099,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3589,
"after": 0.3201,
"delta": -0.0388,
"percent_delta": -0.1081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9537,
"after": 0.962,
"delta": 0.0083,
"percent_delta": 0.0087,
"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.3589,
"after": 0.3201,
"delta": -0.0388,
"percent_delta": -0.1081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.23), rates preserved: AVG=0.176 HR/AB=0.033",
"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.0962,
"after": 0.0,
"delta": -0.0962,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9625,
"after": 4.0,
"delta": 0.0375,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4474,
"after": 0.0,
"delta": -0.4474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7448,
"after": 1.0,
"delta": 0.2552,
"percent_delta": 0.3426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1417,
"after": 0.0,
"delta": -0.1417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3129,
"after": 0.0,
"delta": -0.3129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.962,
"after": 1.0,
"delta": 0.038,
"percent_delta": 0.0395,
"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_H",
"before": 0.7448,
"after": 1.0,
"delta": 0.2552,
"percent_delta": 0.3426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4474,
"after": 0.0,
"delta": -0.4474,
"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.4099,
"after": 0.0,
"delta": -0.4099,
"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.4099,
"after": 0.0,
"delta": -0.4099,
"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.188,
"after": 0.25,
"delta": 0.062,
"percent_delta": 0.3298,
"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.2704,
"after": 0.25,
"delta": -0.0204,
"percent_delta": -0.0754,
"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.3201,
"after": 0.25,
"delta": -0.0701,
"percent_delta": -0.219,
"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.188,
"after": 0.25,
"delta": 0.062,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3201,
"after": 0.25,
"delta": -0.0701,
"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": 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": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 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_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.188,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2704,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3201,
"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.25,
"after": 0.188,
"delta": -0.062,
"percent_delta": -0.2481,
"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": 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.2704,
"delta": 0.0204,
"percent_delta": 0.0814,
"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.3201,
"delta": 0.0701,
"percent_delta": 0.2806,
"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.3201,
"delta": 0.0701,
"percent_delta": 0.2806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.188,
"delta": -0.062,
"percent_delta": -0.2481,
"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.097,
"after": 0.0,
"delta": -0.097,
"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.23,
"after": 3.0,
"delta": -1.23,
"percent_delta": -0.2908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.196,
"after": 0.188,
"delta": -0.008,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.484,
"after": 1.0,
"delta": 0.516,
"percent_delta": 1.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2704,
"delta": -0.0126,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3201,
"delta": -0.0499,
"percent_delta": -0.1349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 0.0,
"delta": -0.903,
"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.484,
"after": 1.0,
"delta": 0.516,
"percent_delta": 1.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.23,
"after": 3.0,
"delta": -1.23,
"percent_delta": -0.2908,
"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.097 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.230 | - |
| predicted_AVG | 0.196 | - |
| predicted_BB | 0.484 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.370 | - |
| 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.096 | -0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.962 | -0.268 |
| predicted_AVG | 0.191 | -0.005 |
| predicted_BB | 0.451 | -0.033 |
| predicted_H | 0.759 | -0.071 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.145 | 0.005 |
| predicted_OBP | 0.277 | -0.006 |
| predicted_R | 0.423 | 0.004 |
| predicted_RBI | 0.323 | 0.003 |
| predicted_SLG | 0.359 | -0.011 |
| predicted_SO | 0.954 | 0.051 |
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.096 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.962 | 0.000 |
| predicted_AVG | 0.188 | -0.003 |
| predicted_BB | 0.447 | -0.004 |
| predicted_H | 0.745 | -0.014 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.142 | -0.004 |
| predicted_OBP | 0.270 | -0.006 |
| predicted_R | 0.410 | -0.013 |
| predicted_RBI | 0.313 | -0.010 |
| predicted_SLG | 0.320 | -0.039 |
| predicted_SO | 0.962 | 0.008 |
AB rounded to 4 (raw=4.23), rates preserved: AVG=0.176 HR/AB=0.033
| 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.096 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.038 |
| predicted_AVG | 0.250 | 0.062 |
| predicted_BB | 0.000 | -0.447 |
| predicted_H | 1.000 | 0.255 |
| predicted_HR | 0.000 | -0.142 |
| predicted_OBP | 0.250 | -0.020 |
| predicted_R | 0.000 | -0.410 |
| predicted_RBI | 0.000 | -0.313 |
| predicted_SLG | 0.250 | -0.070 |
| predicted_SO | 1.000 | 0.038 |
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 | -1.000 |
| BB | 1.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 | 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 | - | 16.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 7.000 | 0.1250 | 0.2222 | 0.3125 | 0.1250 | 0.0625 | 0.0625 | 0.1250 | 0.4375 |
| last_10 | 0.20 | 10 | - | 36.000 | 4.000 | 1.000 | 0.000 | 2.000 | 3.000 | 4.000 | 3.000 | 12.000 | 0.1111 | 0.1795 | 0.3056 | 0.1111 | 0.0556 | 0.0833 | 0.0833 | 0.3333 |
| season | 0.60 | 31 | - | 110.000 | 22.000 | 3.000 | 0.000 | 4.000 | 10.000 | 13.000 | 15.000 | 28.000 | 0.2000 | 0.2960 | 0.3364 | 0.2000 | 0.0364 | 0.0909 | 0.1364 | 0.2545 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0950 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.5500 |
| predicted_AVG | 0.1829 |
| predicted_BB | 0.4010 |
| predicted_H | 0.6490 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1540 |
| predicted_OBP | 0.2671 |
| predicted_R | 0.4290 |
| predicted_RBI | 0.3270 |
| predicted_SLG | 0.3417 |
| predicted_SO | 1.0320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0970 | 0.0950 | 0.0962 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 4.2300 | 3.5500 | 3.9625 | model_form_blend |
| predicted_AVG | 0.1960 | 0.1829 | 0.1908 | model_form_blend |
| predicted_BB | 0.4840 | 0.4010 | 0.4513 | model_form_blend |
| predicted_H | 0.8300 | 0.6490 | 0.7588 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1400 | 0.1540 | 0.1455 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2671 | 0.2767 | model_form_blend |
| predicted_R | 0.4190 | 0.4290 | 0.4229 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3270 | 0.3228 | model_form_blend |
| predicted_SLG | 0.3700 | 0.3417 | 0.3589 | model_form_blend |
| predicted_SO | 0.9030 | 1.0320 | 0.9537 | 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 | 113 |
| Season rows before report date | 113 |
| Report year | 2026 |
| Profile rows used | 31 |
| 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 | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| 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 | 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 | CF |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 673357 |
| playerID | 673357 |
| playerName | Luis Robert Jr. |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.299 |
| sl_xwoba | 0.317 |
| sl_xba | 0.23 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 21.3 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 41.3 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 48.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.154 | 2.000 | 0.000 | Hitting_2B | 0.189 | 0.000 | 1.811 | 2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.731 | 4.000 | 4.000 | Hitting_AB | 3.947 | 3.000 | 0.053 | 1.000 |
| predicted_AVG | 0.149 | 0.500 | 0.250 | Hitting_AVG | 0.160 | 0.000 | 0.340 | 0.500 |
| predicted_BB | 0.269 | 0.000 | 0.000 | Hitting_BB | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.550 | 2.000 | 1.000 | Hitting_H | 0.632 | 0.000 | 1.368 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.190 | 0.500 | 0.250 | Hitting_OBP | 0.224 | 0.000 | 0.276 | 0.500 |
| predicted_R | 0.192 | 0.000 | 0.000 | Hitting_R | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_SLG | 0.237 | 1.000 | 0.250 | Hitting_SLG | 0.248 | 0.000 | 0.752 | 1.000 |
| predicted_SO | 0.962 | 1.000 | 1.000 | Hitting_SO | 0.863 | 3.000 | 0.137 | -2.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 | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1540 -> 2.0000 (boost 1.8460, better) |
| Biggest Deboost | predicted_RBI: 0.3000 -> 0.0000 (deboost -0.3000, 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 | 0 | 4 | predicted_SO: 0.9620 -> 1.0327 (boost 0.0707, worse) | predicted_AB: 3.7310 -> 3.6799 (deboost -0.0511, 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_SLG: 0.2235 -> 0.2347 (boost 0.0112, better) | - | 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.5119 -> 1.0000 (boost 0.4881, better) | predicted_BB: 0.2514 -> 0.0000 (deboost -0.2514, worse) | AB rounded to 4 (raw=3.73), rates preserved: AVG=0.137 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2059 -> 0.0000 (deboost -0.2059, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1391 -> 0.2500 (boost 0.1109, better) | - | 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_2B: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2500 -> 0.1391 (deboost -0.1109, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "593871",
"player_name": "Jorge Polanco",
"position": "DH",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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": 3.731,
"predicted_AVG": 0.149,
"predicted_BB": 0.269,
"predicted_H": 0.55,
"predicted_HR": 0.09,
"predicted_OBP": 0.19,
"predicted_R": 0.192,
"predicted_RBI": 0.3,
"predicted_SLG": 0.237,
"predicted_SO": 0.962
},
"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.1359,
"predicted_3B": 0.0012,
"predicted_AB": 3.6799,
"predicted_AVG": 0.1425,
"predicted_BB": 0.2536,
"predicted_H": 0.5215,
"predicted_HBP": 0.007,
"predicted_HR": 0.0731,
"predicted_OBP": 0.1882,
"predicted_R": 0.2124,
"predicted_RBI": 0.2569,
"predicted_SLG": 0.2235,
"predicted_SO": 1.0327
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.1359,
"delta": -0.0181,
"percent_delta": -0.1175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.731,
"after": 3.6799,
"delta": -0.0511,
"percent_delta": -0.0137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.149,
"after": 0.1425,
"delta": -0.0065,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 0.2536,
"delta": -0.0154,
"percent_delta": -0.0572,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 0.5215,
"delta": -0.0285,
"percent_delta": -0.0518,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0731,
"delta": -0.0169,
"percent_delta": -0.1878,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.19,
"after": 0.1882,
"delta": -0.0018,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.192,
"after": 0.2124,
"delta": 0.0204,
"percent_delta": 0.1063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.2569,
"delta": -0.0431,
"percent_delta": -0.1437,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.237,
"after": 0.2235,
"delta": -0.0135,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.962,
"after": 1.0327,
"delta": 0.0707,
"percent_delta": 0.0735,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.962,
"after": 1.0327,
"delta": 0.0707,
"percent_delta": 0.0735,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.731,
"after": 3.6799,
"delta": -0.0511,
"percent_delta": -0.0137,
"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.1359,
"predicted_3B": 0.0012,
"predicted_AB": 3.6799,
"predicted_AVG": 0.1391,
"predicted_BB": 0.2514,
"predicted_H": 0.5119,
"predicted_HBP": 0.007,
"predicted_HR": 0.0712,
"predicted_OBP": 0.1942,
"predicted_R": 0.2059,
"predicted_RBI": 0.249,
"predicted_SLG": 0.2347,
"predicted_SO": 1.0417
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1359,
"after": 0.1359,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6799,
"after": 3.6799,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1425,
"after": 0.1391,
"delta": -0.0034,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2536,
"after": 0.2514,
"delta": -0.0022,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5215,
"after": 0.5119,
"delta": -0.0096,
"percent_delta": -0.0184,
"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.0731,
"after": 0.0712,
"delta": -0.0019,
"percent_delta": -0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1882,
"after": 0.1942,
"delta": 0.006,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2124,
"after": 0.2059,
"delta": -0.0065,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2569,
"after": 0.249,
"delta": -0.0079,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2235,
"after": 0.2347,
"delta": 0.0112,
"percent_delta": 0.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0327,
"after": 1.0417,
"delta": 0.009,
"percent_delta": 0.0087,
"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_SLG",
"before": 0.2235,
"after": 0.2347,
"delta": 0.0112,
"percent_delta": 0.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.137 HR/AB=0.019",
"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.1359,
"after": 0.0,
"delta": -0.1359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6799,
"after": 4.0,
"delta": 0.3201,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2514,
"after": 0.0,
"delta": -0.2514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5119,
"after": 1.0,
"delta": 0.4881,
"percent_delta": 0.9535,
"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.0712,
"after": 0.0,
"delta": -0.0712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.249,
"after": 0.0,
"delta": -0.249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0417,
"after": 1.0,
"delta": -0.0417,
"percent_delta": -0.04,
"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.5119,
"after": 1.0,
"delta": 0.4881,
"percent_delta": 0.9535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2514,
"after": 0.0,
"delta": -0.2514,
"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.2059,
"after": 0.0,
"delta": -0.2059,
"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.2059,
"after": 0.0,
"delta": -0.2059,
"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.1391,
"after": 0.25,
"delta": 0.1109,
"percent_delta": 0.7973,
"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.1942,
"after": 0.25,
"delta": 0.0558,
"percent_delta": 0.2873,
"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.2347,
"after": 0.25,
"delta": 0.0153,
"percent_delta": 0.0652,
"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.1391,
"after": 0.25,
"delta": 0.1109,
"percent_delta": 0.7973,
"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": 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": 1.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": 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": 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": 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_2B",
"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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1391,
"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.1942,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2347,
"predicted_SO": 1.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": 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.1391,
"delta": -0.1109,
"percent_delta": -0.4436,
"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.1942,
"delta": -0.0558,
"percent_delta": -0.2234,
"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.2347,
"delta": -0.0153,
"percent_delta": -0.0611,
"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.25,
"after": 0.1391,
"delta": -0.1109,
"percent_delta": -0.4436,
"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": 2.0,
"delta": 1.846,
"percent_delta": 11.987,
"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.731,
"after": 4.0,
"delta": 0.269,
"percent_delta": 0.0721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.149,
"after": 0.1391,
"delta": -0.0099,
"percent_delta": -0.0664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 2.0,
"delta": 1.45,
"percent_delta": 2.6364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.19,
"after": 0.1942,
"delta": 0.0042,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.192,
"after": 0.0,
"delta": -0.192,
"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.237,
"after": 0.2347,
"delta": -0.0023,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.962,
"after": 1.0,
"delta": 0.038,
"percent_delta": 0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.154,
"after": 2.0,
"delta": 1.846,
"percent_delta": 11.987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"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 | 3.731 | - |
| predicted_AVG | 0.149 | - |
| predicted_BB | 0.269 | - |
| predicted_H | 0.550 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.190 | - |
| predicted_R | 0.192 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.237 | - |
| predicted_SO | 0.962 | - |
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.018 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.680 | -0.051 |
| predicted_AVG | 0.142 | -0.007 |
| predicted_BB | 0.254 | -0.015 |
| predicted_H | 0.521 | -0.029 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.073 | -0.017 |
| predicted_OBP | 0.188 | -0.002 |
| predicted_R | 0.212 | 0.020 |
| predicted_RBI | 0.257 | -0.043 |
| predicted_SLG | 0.224 | -0.013 |
| predicted_SO | 1.033 | 0.071 |
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.680 | 0.000 |
| predicted_AVG | 0.139 | -0.003 |
| predicted_BB | 0.251 | -0.002 |
| predicted_H | 0.512 | -0.010 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.071 | -0.002 |
| predicted_OBP | 0.194 | 0.006 |
| predicted_R | 0.206 | -0.007 |
| predicted_RBI | 0.249 | -0.008 |
| predicted_SLG | 0.235 | 0.011 |
| predicted_SO | 1.042 | 0.009 |
AB rounded to 4 (raw=3.73), rates preserved: AVG=0.137 HR/AB=0.019
| 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.136 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.320 |
| predicted_AVG | 0.250 | 0.111 |
| predicted_BB | 0.000 | -0.251 |
| predicted_H | 1.000 | 0.488 |
| predicted_HR | 0.000 | -0.071 |
| predicted_OBP | 0.250 | 0.056 |
| predicted_R | 0.000 | -0.206 |
| predicted_RBI | 0.000 | -0.249 |
| predicted_SLG | 0.250 | 0.015 |
| predicted_SO | 1.000 | -0.042 |
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 | 4.000 | 0.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 | 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 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 9.000 | 0.0000 | 0.0588 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0625 | 0.5625 |
| last_10 | 0.20 | 10 | - | 33.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 13.000 | 0.0606 | 0.0882 | 0.0606 | 0.0606 | 0.0000 | 0.0303 | 0.0303 | 0.3939 |
| season | 0.60 | 26 | - | 97.000 | 14.000 | 4.000 | 0.000 | 1.000 | 4.000 | 5.000 | 7.000 | 25.000 | 0.1443 | 0.2019 | 0.2165 | 0.1443 | 0.0103 | 0.0412 | 0.0722 | 0.2577 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.5980 |
| predicted_AVG | 0.1322 |
| predicted_BB | 0.2290 |
| predicted_H | 0.4760 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0460 |
| predicted_OBP | 0.1852 |
| predicted_R | 0.2450 |
| predicted_RBI | 0.1880 |
| predicted_SLG | 0.2019 |
| predicted_SO | 1.1460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1070 | 0.1359 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.7310 | 3.5980 | 3.6799 | model_form_blend |
| predicted_AVG | 0.1490 | 0.1322 | 0.1425 | model_form_blend |
| predicted_BB | 0.2690 | 0.2290 | 0.2536 | model_form_blend |
| predicted_H | 0.5500 | 0.4760 | 0.5215 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0900 | 0.0460 | 0.0731 | model_form_blend |
| predicted_OBP | 0.1900 | 0.1852 | 0.1882 | model_form_blend |
| predicted_R | 0.1920 | 0.2450 | 0.2124 | model_form_blend |
| predicted_RBI | 0.3000 | 0.1880 | 0.2569 | model_form_blend |
| predicted_SLG | 0.2370 | 0.2019 | 0.2235 | model_form_blend |
| predicted_SO | 0.9620 | 1.1460 | 1.0327 | 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 | 95 |
| Season rows before report date | 95 |
| 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 | 2 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.144 |
| 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 | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| 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 | 20260729_ATL@NYM |
| game_type | full |
| mlbID | 593871 |
| playerID | 593871 |
| playerName | Jorge Polanco |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.198 |
| sl_xwoba | 0.235 |
| sl_xba | 0.195 |
| sl_xslg | 0.27 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 29.2 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 45.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.143 | 2.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | 1.844 | 2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.929 | 4.000 | 3.000 | Hitting_AB | 3.218 | 2.000 | 0.782 | 2.000 |
| predicted_AVG | 0.272 | 0.500 | 0.333 | Hitting_AVG | 0.248 | 0.500 | 0.252 | 0.000 |
| predicted_BB | 0.232 | 0.000 | 0.000 | Hitting_BB | 0.246 | 1.000 | -0.246 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.650 | 2.000 | 1.000 | Hitting_H | 0.799 | 1.000 | 1.201 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_OBP | 0.349 | 0.500 | 0.333 | Hitting_OBP | 0.323 | 0.750 | 0.177 | -0.250 |
| predicted_R | 0.339 | 1.000 | 0.000 | Hitting_R | 0.346 | 0.000 | 0.654 | 1.000 |
| predicted_RBI | 0.190 | 1.000 | 0.000 | Hitting_RBI | 0.341 | 0.000 | 0.659 | 1.000 |
| predicted_SLG | 0.396 | 1.000 | 0.333 | Hitting_SLG | 0.406 | 0.500 | 0.594 | 0.500 |
| predicted_SO | 0.643 | 1.000 | 1.000 | Hitting_SO | 0.687 | 0.000 | 0.313 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.1430 -> 2.0000 (boost 1.8570, better) |
| Biggest Deboost | predicted_BB: 0.2320 -> 0.0000 (deboost -0.2320, 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 | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.6500 -> 0.7072 (boost 0.0572, 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_OBP: 0.3488 -> 0.2922 (deboost -0.0566, 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.6466 -> 1.0000 (boost 0.3534, worse) | predicted_BB: 0.2356 -> 0.0000 (deboost -0.2356, worse) | AB rounded to 3 (raw=2.95), rates preserved: AVG=0.236 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3464 -> 0.0000 (deboost -0.3464, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2356 -> 0.3330 (boost 0.0974, better) | predicted_SLG: 0.3691 -> 0.3330 (deboost -0.0361, 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_2B: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3691 (boost 0.0361, better) | predicted_AVG: 0.3330 -> 0.2356 (deboost -0.0974, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676724",
"player_name": "Jared Young",
"position": "1B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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": 2.929,
"predicted_AVG": 0.272,
"predicted_BB": 0.232,
"predicted_H": 0.65,
"predicted_HR": 0.08,
"predicted_OBP": 0.349,
"predicted_R": 0.339,
"predicted_RBI": 0.19,
"predicted_SLG": 0.396,
"predicted_SO": 0.643
},
"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.1463,
"predicted_3B": 0.0008,
"predicted_AB": 2.947,
"predicted_AVG": 0.2695,
"predicted_BB": 0.2377,
"predicted_H": 0.7072,
"predicted_HBP": 0.136,
"predicted_HR": 0.0841,
"predicted_OBP": 0.3488,
"predicted_R": 0.3574,
"predicted_RBI": 0.2031,
"predicted_SLG": 0.4013,
"predicted_SO": 0.641
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1463,
"delta": 0.0033,
"percent_delta": 0.0231,
"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.929,
"after": 2.947,
"delta": 0.018,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2695,
"delta": -0.0025,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.232,
"after": 0.2377,
"delta": 0.0057,
"percent_delta": 0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.7072,
"delta": 0.0572,
"percent_delta": 0.088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0841,
"delta": 0.0041,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3488,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 0.3574,
"delta": 0.0184,
"percent_delta": 0.0543,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.2031,
"delta": 0.0131,
"percent_delta": 0.0689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4013,
"delta": 0.0053,
"percent_delta": 0.0134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.643,
"after": 0.641,
"delta": -0.002,
"percent_delta": -0.0031,
"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.65,
"after": 0.7072,
"delta": 0.0572,
"percent_delta": 0.088,
"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": 56
}
},
{
"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.1463,
"predicted_3B": 0.0008,
"predicted_AB": 2.947,
"predicted_AVG": 0.2356,
"predicted_BB": 0.2356,
"predicted_H": 0.6942,
"predicted_HBP": 0.136,
"predicted_HR": 0.0819,
"predicted_OBP": 0.2922,
"predicted_R": 0.3464,
"predicted_RBI": 0.1968,
"predicted_SLG": 0.3691,
"predicted_SO": 0.6466
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1463,
"after": 0.1463,
"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.947,
"after": 2.947,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2695,
"after": 0.2356,
"delta": -0.0339,
"percent_delta": -0.1258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2377,
"after": 0.2356,
"delta": -0.0021,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7072,
"after": 0.6942,
"delta": -0.013,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.136,
"after": 0.136,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0841,
"after": 0.0819,
"delta": -0.0022,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3488,
"after": 0.2922,
"delta": -0.0566,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3574,
"after": 0.3464,
"delta": -0.011,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2031,
"after": 0.1968,
"delta": -0.0063,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4013,
"after": 0.3691,
"delta": -0.0322,
"percent_delta": -0.0802,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.641,
"after": 0.6466,
"delta": 0.0056,
"percent_delta": 0.0087,
"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.3488,
"after": 0.2922,
"delta": -0.0566,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.95), rates preserved: AVG=0.236 HR/AB=0.028",
"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.1463,
"after": 0.0,
"delta": -0.1463,
"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.947,
"after": 3.0,
"delta": 0.053,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2356,
"after": 0.0,
"delta": -0.2356,
"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.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0819,
"after": 0.0,
"delta": -0.0819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1968,
"after": 0.0,
"delta": -0.1968,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6466,
"after": 1.0,
"delta": 0.3534,
"percent_delta": 0.5466,
"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.6466,
"after": 1.0,
"delta": 0.3534,
"percent_delta": 0.5466,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2356,
"after": 0.0,
"delta": -0.2356,
"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.3464,
"after": 0.0,
"delta": -0.3464,
"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.3464,
"after": 0.0,
"delta": -0.3464,
"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.2356,
"after": 0.333,
"delta": 0.0974,
"percent_delta": 0.4134,
"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.2922,
"after": 0.333,
"delta": 0.0408,
"percent_delta": 0.1396,
"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.3691,
"after": 0.333,
"delta": -0.0361,
"percent_delta": -0.0978,
"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.2356,
"after": 0.333,
"delta": 0.0974,
"percent_delta": 0.4134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3691,
"after": 0.333,
"delta": -0.0361,
"percent_delta": -0.0978,
"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": 2.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": 1.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": 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": 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_2B",
"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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2356,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2922,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3691,
"predicted_SO": 1.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": 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.2356,
"delta": -0.0974,
"percent_delta": -0.2926,
"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.2922,
"delta": -0.0408,
"percent_delta": -0.1227,
"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.3691,
"delta": 0.0361,
"percent_delta": 0.1085,
"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.3691,
"delta": 0.0361,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2356,
"delta": -0.0974,
"percent_delta": -0.2926,
"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": 2.0,
"delta": 1.857,
"percent_delta": 12.986,
"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.929,
"after": 4.0,
"delta": 1.071,
"percent_delta": 0.3657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2356,
"delta": -0.0364,
"percent_delta": -0.1338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.232,
"after": 0.0,
"delta": -0.232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 2.0,
"delta": 1.35,
"percent_delta": 2.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.2922,
"delta": -0.0568,
"percent_delta": -0.1628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 1.0,
"delta": 0.661,
"percent_delta": 1.9499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3691,
"delta": -0.0269,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.643,
"after": 1.0,
"delta": 0.357,
"percent_delta": 0.5552,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.143,
"after": 2.0,
"delta": 1.857,
"percent_delta": 12.986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.232,
"after": 0.0,
"delta": -0.232,
"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 | 2.929 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.232 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.349 | - |
| predicted_R | 0.339 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.643 | - |
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.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.947 | 0.018 |
| predicted_AVG | 0.270 | -0.003 |
| predicted_BB | 0.238 | 0.006 |
| predicted_H | 0.707 | 0.057 |
| predicted_HBP | 0.136 | - |
| predicted_HR | 0.084 | 0.004 |
| predicted_OBP | 0.349 | -0.000 |
| predicted_R | 0.357 | 0.018 |
| predicted_RBI | 0.203 | 0.013 |
| predicted_SLG | 0.401 | 0.005 |
| predicted_SO | 0.641 | -0.002 |
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.001 | 0.000 |
| predicted_AB | 2.947 | 0.000 |
| predicted_AVG | 0.236 | -0.034 |
| predicted_BB | 0.236 | -0.002 |
| predicted_H | 0.694 | -0.013 |
| predicted_HBP | 0.136 | 0.000 |
| predicted_HR | 0.082 | -0.002 |
| predicted_OBP | 0.292 | -0.057 |
| predicted_R | 0.346 | -0.011 |
| predicted_RBI | 0.197 | -0.006 |
| predicted_SLG | 0.369 | -0.032 |
| predicted_SO | 0.647 | 0.006 |
AB rounded to 3 (raw=2.95), rates preserved: AVG=0.236 HR/AB=0.028
| 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.146 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.053 |
| predicted_AVG | 0.333 | 0.097 |
| predicted_BB | 0.000 | -0.236 |
| predicted_H | 1.000 | 0.306 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.333 | 0.041 |
| predicted_R | 0.000 | -0.346 |
| predicted_RBI | 0.000 | -0.197 |
| predicted_SLG | 0.333 | -0.036 |
| predicted_SO | 1.000 | 0.353 |
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 | 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 | 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 | - | 14.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 0.2857 | 0.3750 | 0.3571 | 0.2857 | 0.0000 | 0.0000 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 26.000 | 8.000 | 1.000 | 0.000 | 1.000 | 1.000 | 4.000 | 3.000 | 5.000 | 0.3077 | 0.4194 | 0.4615 | 0.3077 | 0.0385 | 0.0385 | 0.1154 | 0.1923 |
| season | 0.60 | 56 | - | 164.000 | 41.000 | 8.000 | 0.000 | 6.000 | 16.000 | 19.000 | 13.000 | 36.000 | 0.2500 | 0.3279 | 0.4085 | 0.2500 | 0.0366 | 0.0976 | 0.0793 | 0.2195 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9730 |
| predicted_AVG | 0.2658 |
| predicted_BB | 0.2460 |
| predicted_H | 0.7900 |
| predicted_HBP | 0.1360 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.3486 |
| predicted_R | 0.3840 |
| predicted_RBI | 0.2220 |
| predicted_SLG | 0.4089 |
| predicted_SO | 0.6380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1510 | 0.1463 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9290 | 2.9730 | 2.9470 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2658 | 0.2695 | model_form_blend |
| predicted_BB | 0.2320 | 0.2460 | 0.2377 | model_form_blend |
| predicted_H | 0.6500 | 0.7900 | 0.7072 | model_form_blend |
| predicted_HBP | - | 0.1360 | 0.1360 | form_only |
| predicted_HR | 0.0800 | 0.0900 | 0.0841 | model_form_blend |
| predicted_OBP | 0.3490 | 0.3486 | 0.3488 | model_form_blend |
| predicted_R | 0.3390 | 0.3840 | 0.3574 | model_form_blend |
| predicted_RBI | 0.1900 | 0.2220 | 0.2031 | model_form_blend |
| predicted_SLG | 0.3960 | 0.4089 | 0.4013 | model_form_blend |
| predicted_SO | 0.6430 | 0.6380 | 0.6410 | 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 | 179 |
| Season rows before report date | 179 |
| Report year | 2026 |
| Profile rows used | 56 |
| 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 | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| 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 | 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 | 1B |
| gameID | 20260729_ATL@NYM |
| game_type | full |
| mlbID | 676724 |
| playerID | 676724 |
| playerName | Jared Young |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.329 |
| sl_xwoba | 0.326 |
| sl_xba | 0.243 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 10.1 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 46.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.091 | 0.000 | 0.000 | Hitting_2B | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.580 | 4.000 | 4.000 | Hitting_AB | 3.703 | 3.000 | 0.297 | 1.000 |
| predicted_AVG | 0.237 | 0.250 | 0.250 | Hitting_AVG | 0.226 | 0.000 | 0.024 | 0.250 |
| predicted_BB | 0.284 | 0.000 | 0.000 | Hitting_BB | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.850 | 1.000 | 1.000 | Hitting_H | 0.835 | 0.000 | 0.165 | 1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_OBP | 0.268 | 0.250 | 0.250 | Hitting_OBP | 0.281 | 0.000 | -0.031 | 0.250 |
| predicted_R | 0.398 | 1.000 | 0.000 | Hitting_R | 0.406 | 0.000 | 0.594 | 1.000 |
| predicted_RBI | 0.590 | 1.000 | 1.000 | Hitting_RBI | 0.415 | 0.000 | 0.585 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_SLG | 0.458 | 0.250 | 0.250 | Hitting_SLG | 0.369 | 0.000 | -0.119 | 0.250 |
| predicted_SO | 0.886 | 1.000 | 1.000 | Hitting_SO | 0.906 | 3.000 | 0.094 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.3980 -> 1.0000 (boost 0.6020, better) |
| Biggest Deboost | predicted_BB: 0.2840 -> 0.0000 (deboost -0.2840, 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_R: 0.3980 -> 0.4492 (boost 0.0512, better) | predicted_AB: 3.5800 -> 3.5045 (deboost -0.0755, 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 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2726 -> 0.2828 (boost 0.0102, better) | predicted_SLG: 0.4536 -> 0.4463 (deboost -0.0073, 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_AB: 3.5045 -> 4.0000 (boost 0.4955, better) | predicted_BB: 0.2676 -> 0.0000 (deboost -0.2676, worse) | AB rounded to 4 (raw=3.58), rates preserved: AVG=0.223 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4354 -> 0.0000 (deboost -0.4354, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2281 -> 0.2500 (boost 0.0219, better) | predicted_SLG: 0.4463 -> 0.2500 (deboost -0.1963, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4463 (boost 0.1963, better) | predicted_AVG: 0.2500 -> 0.2281 (deboost -0.0219, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543760",
"player_name": "Marcus Semien",
"position": "2B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.011,
"predicted_AB": 3.58,
"predicted_AVG": 0.237,
"predicted_BB": 0.284,
"predicted_H": 0.85,
"predicted_HR": 0.23,
"predicted_OBP": 0.268,
"predicted_R": 0.398,
"predicted_RBI": 0.59,
"predicted_SLG": 0.458,
"predicted_SO": 0.886
},
"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.0782,
"predicted_3B": 0.0093,
"predicted_AB": 3.5045,
"predicted_AVG": 0.2319,
"predicted_BB": 0.2699,
"predicted_H": 0.8142,
"predicted_HBP": 0.008,
"predicted_HR": 0.2287,
"predicted_OBP": 0.2726,
"predicted_R": 0.4492,
"predicted_RBI": 0.5862,
"predicted_SLG": 0.4536,
"predicted_SO": 0.9248
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0782,
"delta": -0.0128,
"percent_delta": -0.1407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.58,
"after": 3.5045,
"delta": -0.0755,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2319,
"delta": -0.0051,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.2699,
"delta": -0.0141,
"percent_delta": -0.0496,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8142,
"delta": -0.0358,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2287,
"delta": -0.0013,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.2726,
"delta": 0.0046,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.398,
"after": 0.4492,
"delta": 0.0512,
"percent_delta": 0.1286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.5862,
"delta": -0.0038,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4536,
"delta": -0.0044,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.886,
"after": 0.9248,
"delta": 0.0388,
"percent_delta": 0.0438,
"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_R",
"before": 0.398,
"after": 0.4492,
"delta": 0.0512,
"percent_delta": 0.1286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.58,
"after": 3.5045,
"delta": -0.0755,
"percent_delta": -0.0211,
"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": 88
}
},
{
"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.0782,
"predicted_3B": 0.0093,
"predicted_AB": 3.5045,
"predicted_AVG": 0.2281,
"predicted_BB": 0.2676,
"predicted_H": 0.7992,
"predicted_HBP": 0.008,
"predicted_HR": 0.2227,
"predicted_OBP": 0.2828,
"predicted_R": 0.4354,
"predicted_RBI": 0.5681,
"predicted_SLG": 0.4463,
"predicted_SO": 0.9328
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0782,
"after": 0.0782,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5045,
"after": 3.5045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2319,
"after": 0.2281,
"delta": -0.0038,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2699,
"after": 0.2676,
"delta": -0.0023,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8142,
"after": 0.7992,
"delta": -0.015,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2287,
"after": 0.2227,
"delta": -0.006,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2726,
"after": 0.2828,
"delta": 0.0102,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4492,
"after": 0.4354,
"delta": -0.0138,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5862,
"after": 0.5681,
"delta": -0.0181,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4536,
"after": 0.4463,
"delta": -0.0073,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9248,
"after": 0.9328,
"delta": 0.008,
"percent_delta": 0.0087,
"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_OBP",
"before": 0.2726,
"after": 0.2828,
"delta": 0.0102,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4536,
"after": 0.4463,
"delta": -0.0073,
"percent_delta": -0.0161,
"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.223 HR/AB=0.062",
"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.0782,
"after": 0.0,
"delta": -0.0782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5045,
"after": 4.0,
"delta": 0.4955,
"percent_delta": 0.1414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2676,
"after": 0.0,
"delta": -0.2676,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7992,
"after": 1.0,
"delta": 0.2008,
"percent_delta": 0.2513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2227,
"after": 0.0,
"delta": -0.2227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5681,
"after": 1.0,
"delta": 0.4319,
"percent_delta": 0.7603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9328,
"after": 1.0,
"delta": 0.0672,
"percent_delta": 0.072,
"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_AB",
"before": 3.5045,
"after": 4.0,
"delta": 0.4955,
"percent_delta": 0.1414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2676,
"after": 0.0,
"delta": -0.2676,
"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.4354,
"after": 0.0,
"delta": -0.4354,
"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.4354,
"after": 0.0,
"delta": -0.4354,
"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.2281,
"after": 0.25,
"delta": 0.0219,
"percent_delta": 0.096,
"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.2828,
"after": 0.25,
"delta": -0.0328,
"percent_delta": -0.116,
"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.4463,
"after": 0.25,
"delta": -0.1963,
"percent_delta": -0.4398,
"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.2281,
"after": 0.25,
"delta": 0.0219,
"percent_delta": 0.096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4463,
"after": 0.25,
"delta": -0.1963,
"percent_delta": -0.4398,
"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": 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": 4.0,
"predicted_AVG": 0.2281,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2828,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4463,
"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.2281,
"delta": -0.0219,
"percent_delta": -0.0878,
"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.2828,
"delta": 0.0328,
"percent_delta": 0.1312,
"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.4463,
"delta": 0.1963,
"percent_delta": 0.7854,
"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.4463,
"delta": 0.1963,
"percent_delta": 0.7854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2281,
"delta": -0.0219,
"percent_delta": -0.0878,
"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.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.58,
"after": 4.0,
"delta": 0.42,
"percent_delta": 0.1173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2281,
"delta": -0.0089,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.0,
"delta": -0.284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"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.268,
"after": 0.2828,
"delta": 0.0148,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.398,
"after": 1.0,
"delta": 0.602,
"percent_delta": 1.5126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4463,
"delta": -0.0117,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.886,
"after": 1.0,
"delta": 0.114,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.398,
"after": 1.0,
"delta": 0.602,
"percent_delta": 1.5126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.284,
"after": 0.0,
"delta": -0.284,
"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.091 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.580 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.284 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.268 | - |
| predicted_R | 0.398 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.458 | - |
| predicted_SO | 0.886 | - |
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.078 | -0.013 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 3.505 | -0.075 |
| predicted_AVG | 0.232 | -0.005 |
| predicted_BB | 0.270 | -0.014 |
| predicted_H | 0.814 | -0.036 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.229 | -0.001 |
| predicted_OBP | 0.273 | 0.005 |
| predicted_R | 0.449 | 0.051 |
| predicted_RBI | 0.586 | -0.004 |
| predicted_SLG | 0.454 | -0.004 |
| predicted_SO | 0.925 | 0.039 |
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.078 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.505 | 0.000 |
| predicted_AVG | 0.228 | -0.004 |
| predicted_BB | 0.268 | -0.002 |
| predicted_H | 0.799 | -0.015 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.223 | -0.006 |
| predicted_OBP | 0.283 | 0.010 |
| predicted_R | 0.435 | -0.014 |
| predicted_RBI | 0.568 | -0.018 |
| predicted_SLG | 0.446 | -0.007 |
| predicted_SO | 0.933 | 0.008 |
AB rounded to 4 (raw=3.58), rates preserved: AVG=0.223 HR/AB=0.062
| 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.078 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.495 |
| predicted_AVG | 0.250 | 0.022 |
| predicted_BB | 0.000 | -0.268 |
| predicted_H | 1.000 | 0.201 |
| predicted_HR | 0.000 | -0.223 |
| predicted_OBP | 0.250 | -0.033 |
| predicted_R | 0.000 | -0.435 |
| predicted_RBI | 1.000 | 0.432 |
| predicted_SLG | 0.250 | -0.196 |
| predicted_SO | 1.000 | 0.067 |
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 | 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 | - | 14.000 | 4.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 1.000 | 5.000 | 0.2857 | 0.3333 | 0.7143 | 0.2857 | 0.1429 | 0.3571 | 0.0714 | 0.3571 |
| last_10 | 0.20 | 10 | - | 33.000 | 6.000 | 0.000 | 0.000 | 3.000 | 6.000 | 5.000 | 2.000 | 12.000 | 0.1818 | 0.2286 | 0.4545 | 0.1818 | 0.0909 | 0.1818 | 0.0606 | 0.3636 |
| season | 0.60 | 88 | - | 315.000 | 68.000 | 8.000 | 1.000 | 12.000 | 35.000 | 35.000 | 25.000 | 78.000 | 0.2159 | 0.2733 | 0.3619 | 0.2159 | 0.0381 | 0.1111 | 0.0794 | 0.2476 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0610 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.4030 |
| predicted_AVG | 0.2251 |
| predicted_BB | 0.2510 |
| predicted_H | 0.7660 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.2270 |
| predicted_OBP | 0.2787 |
| predicted_R | 0.5180 |
| predicted_RBI | 0.5810 |
| predicted_SLG | 0.4476 |
| predicted_SO | 0.9770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.0610 | 0.0782 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 3.5800 | 3.4030 | 3.5045 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2251 | 0.2319 | model_form_blend |
| predicted_BB | 0.2840 | 0.2510 | 0.2699 | model_form_blend |
| predicted_H | 0.8500 | 0.7660 | 0.8142 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.2300 | 0.2270 | 0.2287 | model_form_blend |
| predicted_OBP | 0.2680 | 0.2787 | 0.2726 | model_form_blend |
| predicted_R | 0.3980 | 0.5180 | 0.4492 | model_form_blend |
| predicted_RBI | 0.5900 | 0.5810 | 0.5862 | model_form_blend |
| predicted_SLG | 0.4580 | 0.4476 | 0.4536 | model_form_blend |
| predicted_SO | 0.8860 | 0.9770 | 0.9248 | 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 | 340 |
| Season rows before report date | 340 |
| Report year | 2026 |
| Profile rows used | 88 |
| 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.216 |
| 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 | 3 |
| 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 |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 543760 |
| playerID | 543760 |
| playerName | Marcus Semien |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.277 |
| sl_xwoba | 0.313 |
| sl_xba | 0.25 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 18.6 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 50.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.114 | 0.000 | 0.000 | Hitting_2B | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.314 | 3.000 | 3.000 | Hitting_AB | 3.514 | 3.000 | -0.514 | 0.000 |
| predicted_AVG | 0.257 | 0.333 | 0.333 | Hitting_AVG | 0.249 | 0.000 | 0.084 | 0.333 |
| predicted_BB | 0.343 | 0.000 | 0.000 | Hitting_BB | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 1.000 | 1.000 | Hitting_H | 0.875 | 0.000 | 0.125 | 1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_OBP | 0.347 | 0.500 | 0.333 | Hitting_OBP | 0.319 | 0.000 | 0.181 | 0.500 |
| predicted_R | 0.314 | 1.000 | 0.000 | Hitting_R | 0.361 | 0.000 | 0.639 | 1.000 |
| predicted_RBI | 0.400 | 1.000 | 0.000 | Hitting_RBI | 0.416 | 0.000 | 0.584 | 1.000 |
| predicted_SLG | 0.460 | 0.333 | 0.333 | Hitting_SLG | 0.436 | 0.000 | -0.103 | 0.333 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.051 | 1.000 | -1.051 | -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_R: 0.3140 -> 1.0000 (boost 0.6860, better) |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, 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 | 4 | 0 | 4 | 0 | predicted_BB: 0.3430 -> 0.4429 (boost 0.0999, 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_OBP: 0.3608 -> 0.3394 (deboost -0.0214, 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 | 1 | 5 | predicted_H: 0.8206 -> 1.0000 (boost 0.1794, better) | predicted_BB: 0.4390 -> 0.0000 (deboost -0.4390, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.248 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3340 -> 0.0000 (deboost -0.3340, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2507 -> 0.3330 (boost 0.0823, better) | predicted_SLG: 0.4594 -> 0.3330 (deboost -0.1264, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_HBP: 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.3330 -> 0.4594 (boost 0.1264, better) | predicted_AVG: 0.3330 -> 0.2507 (deboost -0.0823, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682626",
"player_name": "Francisco Alvarez",
"position": "C",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.114,
"predicted_3B": 0.0,
"predicted_AB": 3.314,
"predicted_AVG": 0.257,
"predicted_BB": 0.343,
"predicted_H": 0.81,
"predicted_HR": 0.19,
"predicted_OBP": 0.347,
"predicted_R": 0.314,
"predicted_RBI": 0.4,
"predicted_SLG": 0.46,
"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": "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.1232,
"predicted_3B": 0.0004,
"predicted_AB": 3.2729,
"predicted_AVG": 0.263,
"predicted_BB": 0.4429,
"predicted_H": 0.836,
"predicted_HBP": 0.025,
"predicted_HR": 0.1913,
"predicted_OBP": 0.3608,
"predicted_R": 0.3446,
"predicted_RBI": 0.4063,
"predicted_SLG": 0.4742,
"predicted_SO": 1.0139
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.1232,
"delta": 0.0092,
"percent_delta": 0.0807,
"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.314,
"after": 3.2729,
"delta": -0.0411,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.263,
"delta": 0.006,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.4429,
"delta": 0.0999,
"percent_delta": 0.2913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.836,
"delta": 0.026,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1913,
"delta": 0.0013,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3608,
"delta": 0.0138,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.3446,
"delta": 0.0306,
"percent_delta": 0.0975,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4063,
"delta": 0.0063,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4742,
"delta": 0.0142,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0139,
"delta": 0.0139,
"percent_delta": 0.0139,
"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_BB",
"before": 0.343,
"after": 0.4429,
"delta": 0.0999,
"percent_delta": 0.2913,
"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": 70
}
},
{
"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.1232,
"predicted_3B": 0.0004,
"predicted_AB": 3.2729,
"predicted_AVG": 0.2507,
"predicted_BB": 0.439,
"predicted_H": 0.8206,
"predicted_HBP": 0.025,
"predicted_HR": 0.1863,
"predicted_OBP": 0.3394,
"predicted_R": 0.334,
"predicted_RBI": 0.3938,
"predicted_SLG": 0.4594,
"predicted_SO": 1.0227
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1232,
"after": 0.1232,
"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.2729,
"after": 3.2729,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2507,
"delta": -0.0123,
"percent_delta": -0.0468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4429,
"after": 0.439,
"delta": -0.0039,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.836,
"after": 0.8206,
"delta": -0.0154,
"percent_delta": -0.0184,
"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.1913,
"after": 0.1863,
"delta": -0.005,
"percent_delta": -0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3608,
"after": 0.3394,
"delta": -0.0214,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3446,
"after": 0.334,
"delta": -0.0106,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4063,
"after": 0.3938,
"delta": -0.0125,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4742,
"after": 0.4594,
"delta": -0.0148,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0139,
"after": 1.0227,
"delta": 0.0088,
"percent_delta": 0.0087,
"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.3608,
"after": 0.3394,
"delta": -0.0214,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.31), rates preserved: AVG=0.248 HR/AB=0.056",
"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.1232,
"after": 0.0,
"delta": -0.1232,
"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.2729,
"after": 3.0,
"delta": -0.2729,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8206,
"after": 1.0,
"delta": 0.1794,
"percent_delta": 0.2186,
"direction": "boost",
"projection_effect": "better",
"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.1863,
"after": 0.0,
"delta": -0.1863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3938,
"after": 0.0,
"delta": -0.3938,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0227,
"after": 1.0,
"delta": -0.0227,
"percent_delta": -0.0222,
"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_H",
"before": 0.8206,
"after": 1.0,
"delta": 0.1794,
"percent_delta": 0.2186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"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.334,
"after": 0.0,
"delta": -0.334,
"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.334,
"after": 0.0,
"delta": -0.334,
"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.2507,
"after": 0.333,
"delta": 0.0823,
"percent_delta": 0.3283,
"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.3394,
"after": 0.333,
"delta": -0.0064,
"percent_delta": -0.0189,
"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.4594,
"after": 0.333,
"delta": -0.1264,
"percent_delta": -0.2751,
"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.2507,
"after": 0.333,
"delta": 0.0823,
"percent_delta": 0.3283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4594,
"after": 0.333,
"delta": -0.1264,
"percent_delta": -0.2751,
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.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": 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": 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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"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": {
"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": 3.0,
"predicted_AVG": 0.2507,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3394,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4594,
"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.2507,
"delta": -0.0823,
"percent_delta": -0.2471,
"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.3394,
"delta": 0.0064,
"percent_delta": 0.0191,
"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.4594,
"delta": 0.1264,
"percent_delta": 0.3796,
"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.4594,
"delta": 0.1264,
"percent_delta": 0.3796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2507,
"delta": -0.0823,
"percent_delta": -0.2471,
"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.114,
"after": 0.0,
"delta": -0.114,
"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.314,
"after": 3.0,
"delta": -0.314,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2507,
"delta": -0.0063,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"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.347,
"after": 0.3394,
"delta": -0.0076,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 1.0,
"delta": 0.686,
"percent_delta": 2.1847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4594,
"delta": -0.0006,
"percent_delta": -0.0013,
"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": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.314,
"after": 1.0,
"delta": 0.686,
"percent_delta": 2.1847,
"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
},
"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.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.314 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.343 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.314 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.460 | - |
| predicted_SO | 1.000 | - |
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.123 | 0.009 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.273 | -0.041 |
| predicted_AVG | 0.263 | 0.006 |
| predicted_BB | 0.443 | 0.100 |
| predicted_H | 0.836 | 0.026 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.191 | 0.001 |
| predicted_OBP | 0.361 | 0.014 |
| predicted_R | 0.345 | 0.031 |
| predicted_RBI | 0.406 | 0.006 |
| predicted_SLG | 0.474 | 0.014 |
| predicted_SO | 1.014 | 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.123 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.273 | 0.000 |
| predicted_AVG | 0.251 | -0.012 |
| predicted_BB | 0.439 | -0.004 |
| predicted_H | 0.821 | -0.015 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.186 | -0.005 |
| predicted_OBP | 0.339 | -0.021 |
| predicted_R | 0.334 | -0.011 |
| predicted_RBI | 0.394 | -0.013 |
| predicted_SLG | 0.459 | -0.015 |
| predicted_SO | 1.023 | 0.009 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.248 HR/AB=0.056
| 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.123 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.273 |
| predicted_AVG | 0.333 | 0.082 |
| predicted_BB | 0.000 | -0.439 |
| predicted_H | 1.000 | 0.179 |
| predicted_HR | 0.000 | -0.186 |
| predicted_OBP | 0.333 | -0.006 |
| predicted_R | 0.000 | -0.334 |
| predicted_RBI | 0.000 | -0.394 |
| predicted_SLG | 0.333 | -0.126 |
| predicted_SO | 1.000 | -0.023 |
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 | 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 | - | 14.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 5.000 | 5.000 | 0.2857 | 0.4737 | 0.5714 | 0.2857 | 0.0714 | 0.1429 | 0.3571 | 0.3571 |
| last_10 | 0.20 | 10 | - | 30.000 | 10.000 | 1.000 | 0.000 | 3.000 | 5.000 | 5.000 | 9.000 | 12.000 | 0.3333 | 0.4872 | 0.6667 | 0.3333 | 0.1000 | 0.1667 | 0.3000 | 0.4000 |
| season | 0.60 | 70 | - | 232.000 | 58.000 | 8.000 | 0.000 | 11.000 | 26.000 | 22.000 | 24.000 | 70.000 | 0.2500 | 0.3269 | 0.4267 | 0.2500 | 0.0474 | 0.1121 | 0.1035 | 0.3017 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2160 |
| predicted_AVG | 0.2712 |
| predicted_BB | 0.5810 |
| predicted_H | 0.8720 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1930 |
| predicted_OBP | 0.3798 |
| predicted_R | 0.3870 |
| predicted_RBI | 0.4150 |
| predicted_SLG | 0.4939 |
| predicted_SO | 1.0330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.1360 | 0.1232 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3140 | 3.2160 | 3.2729 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2712 | 0.2630 | model_form_blend |
| predicted_BB | 0.3430 | 0.5810 | 0.4429 | model_form_blend |
| predicted_H | 0.8100 | 0.8720 | 0.8360 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1900 | 0.1930 | 0.1913 | model_form_blend |
| predicted_OBP | 0.3470 | 0.3798 | 0.3608 | model_form_blend |
| predicted_R | 0.3140 | 0.3870 | 0.3446 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4150 | 0.4063 | model_form_blend |
| predicted_SLG | 0.4600 | 0.4939 | 0.4742 | model_form_blend |
| predicted_SO | 1.0000 | 1.0330 | 1.0139 | 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 | 255 |
| Season rows before report date | 255 |
| Report year | 2026 |
| Profile rows used | 70 |
| 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 | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| 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 | 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 | 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 | DH |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 682626 |
| playerID | 682626 |
| playerName | Francisco Alvarez |
| pos | C |
| started | True |
| startingPosition | DH |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.345 |
| sl_xwoba | 0.343 |
| sl_xba | 0.246 |
| sl_xslg | 0.467 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 16.0 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 32.5 |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 2.048 | 2.000 | 0.952 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.095 | 2.000 | 0.905 | 1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 4.286 | 7.000 | -0.286 | -3.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.605 | 6.000 | 0.395 | 0.000 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 6.762 | 7.000 | 1.238 | 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 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | 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": "690997",
"player_name": "Nolan McLean",
"position": "Starter",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 8.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": 6.0,
"predicted_SO": 8.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 3.0,
"predicted_SO": 8.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.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 | 3.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 8.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 | 6.000 | 0.000 |
| predicted_SO | 8.000 | 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 | 30.000 | 4.000 | 24.000 | 9.000 | 36.000 | 1.000 | 1.2000 | 1.1000 | 0.1333 | 0.8000 | 0.3000 | 1.2000 | 0.0333 |
| last_10 | 0.35 | 10 | 58.000 | 14.000 | 42.000 | 24.000 | 67.000 | 3.000 | 2.1724 | 1.1379 | 0.2414 | 0.7241 | 0.4138 | 1.1552 | 0.0517 |
| season | 0.20 | 21 | 119.100 | 44.000 | 90.000 | 43.000 | 142.000 | 11.000 | 3.3184 | 1.1145 | 0.3687 | 0.7542 | 0.3603 | 1.1899 | 0.0922 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0640 |
| predicted_ER | 1.6010 |
| predicted_ERA | 2.4622 |
| predicted_H | 4.7110 |
| predicted_HR | 0.4140 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.6670 |
| predicted_WHIP | 1.1577 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.0640 | 2.4676 | model_form_blend |
| predicted_ER | 3.0000 | 1.6010 | 2.2043 | model_form_blend |
| predicted_ERA | - | 2.4622 | 2.4622 | form_only |
| predicted_H | 4.0000 | 4.7110 | 4.4044 | model_form_blend |
| predicted_HR | 1.0000 | 0.4140 | 0.6667 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 8.0000 | 6.6670 | 7.2419 | model_form_blend |
| predicted_WHIP | - | 1.1577 | 1.1577 | 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 | 6.0 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 8 |
| HR | 1 |
| BF | 25 |
| Pitches | 100 |
| 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 | 27 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.32 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 5 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 4 |
| Pitching_SO | 7 |
| Pitching_Strikes | 60 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260725_LAD@NYM |
| game_type | full |
| mlbID | 690997 |
| playerID | 690997 |
| playerName | Nolan McLean |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-25 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.284 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 35.2 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 43.8 |
| sl_avg_best_speed | 76.242384694 |
| sl_avg_hyper_speed | 93.640229898 |
| 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.349 | 0.000 | -0.349 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.674 | 0.000 | -0.674 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.774 | 1.000 | 0.226 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.907 | 1.000 | 1.093 | 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": "548384",
"player_name": "Brooks Raley",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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.100 | 1.000 | 2.000 | 2.000 | 3.000 | 0.000 | 2.0769 | 0.9231 | 0.2308 | 0.4615 | 0.4615 | 0.6923 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 1.000 | 3.000 | 2.000 | 7.000 | 0.000 | 1.0385 | 0.5769 | 0.1154 | 0.3462 | 0.2308 | 0.8077 | 0.0000 |
| season | 0.20 | 43 | 38.200 | 9.000 | 29.000 | 15.000 | 39.000 | 2.000 | 2.0948 | 1.1379 | 0.2328 | 0.7500 | 0.3879 | 1.0086 | 0.0517 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3620 |
| predicted_ER | 0.3150 |
| predicted_ERA | 2.8336 |
| predicted_H | 0.6750 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8600 |
| predicted_WHIP | 1.0366 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3620 | 0.1751 | model_form_blend |
| predicted_ER | 0.0000 | 0.3150 | 0.1524 | model_form_blend |
| predicted_ERA | - | 2.8336 | 2.8336 | form_only |
| predicted_H | 0.0000 | 0.6750 | 0.3265 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0319 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8600 | 1.4485 | model_form_blend |
| predicted_WHIP | - | 1.0366 | 1.0366 | 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 | 43 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.09 |
| 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 | 7 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260726_LAD@NYM |
| game_type | full |
| mlbID | 548384 |
| playerID | 548384 |
| playerName | Brooks Raley |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-26 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.275 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 30.5 |
| sl_whiff_percent | 22.9 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 75.4219148 |
| sl_avg_hyper_speed | 93.081095859 |
| 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.487 | 0.000 | -0.487 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.436 | 0.000 | -0.436 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.974 | 1.000 | 0.026 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.849 | 1.000 | 0.151 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.256 | 1.000 | -0.256 | 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": "642207",
"player_name": "Devin Williams",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.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": 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": 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": 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": 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 | 1.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 | 1.000 | 5.000 | 2.000 | 5.000 | 0.000 | 1.8000 | 1.4000 | 0.2000 | 1.0000 | 0.4000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 13.000 | 4.000 | 9.000 | 1.000 | 3.8571 | 1.8214 | 0.4286 | 1.3929 | 0.4286 | 0.9643 | 0.1071 |
| season | 0.20 | 38 | 35.200 | 15.000 | 37.000 | 16.000 | 49.000 | 3.000 | 3.7850 | 1.4860 | 0.4206 | 1.0374 | 0.4486 | 1.3738 | 0.0841 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3930 |
| predicted_ER | 0.3990 |
| predicted_ERA | 3.5933 |
| predicted_H | 1.0750 |
| predicted_HR | 0.0940 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0200 |
| predicted_WHIP | 1.4686 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3930 | 0.1869 | model_form_blend |
| predicted_ER | 0.0000 | 0.3990 | 0.1897 | model_form_blend |
| predicted_ERA | - | 3.5933 | 3.5933 | form_only |
| predicted_H | 1.0000 | 1.0750 | 1.0357 | model_form_blend |
| predicted_HR | 0.0000 | 0.0940 | 0.0447 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0200 | 1.0095 | model_form_blend |
| predicted_WHIP | - | 1.4686 | 1.4686 | 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 | 39 |
| Season rows before report date | 39 |
| Report year | 2026 |
| Profile rows used | 38 |
| 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 | 1 |
| HR | 0 |
| BF | 4 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.29 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_ATL@NYM |
| game_type | full |
| mlbID | 642207 |
| playerID | 642207 |
| playerName | Devin Williams |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.333 |
| sl_xwoba | 0.282 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 30.1 |
| sl_whiff_percent | 35.0 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 77.399604348 |
| sl_avg_hyper_speed | 92.862446593 |
| 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.268 | 0.000 | -0.268 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.610 | 1.000 | -0.610 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.998 | 1.000 | 0.002 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.073 | 1.000 | -1.073 | -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": "596133",
"player_name": "Luke Weaver",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.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": 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": 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": 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": 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 | 0.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 | 5.000 | 1.000 | 4.000 | 0.000 | 2.000 | 1.000 | 1.8000 | 0.8000 | 0.2000 | 0.8000 | 0.0000 | 0.4000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 5.000 | 2.000 | 10.000 | 1.000 | 0.9000 | 0.7000 | 0.1000 | 0.5000 | 0.2000 | 1.0000 | 0.1000 |
| season | 0.20 | 41 | 43.000 | 9.000 | 25.000 | 11.000 | 44.000 | 3.000 | 1.8837 | 0.8372 | 0.2093 | 0.5814 | 0.2558 | 1.0233 | 0.0698 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2080 |
| predicted_ER | 0.2920 |
| predicted_ERA | 2.6267 |
| predicted_H | 0.7710 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8170 |
| predicted_WHIP | 0.9786 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2080 | 0.1028 | model_form_blend |
| predicted_ER | 0.0000 | 0.2920 | 0.1443 | model_form_blend |
| predicted_ERA | - | 2.6267 | 2.6267 | form_only |
| predicted_H | 0.0000 | 0.7710 | 0.3811 | model_form_blend |
| predicted_HR | 0.0000 | 0.1440 | 0.0712 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8170 | 0.4039 | model_form_blend |
| predicted_WHIP | - | 0.9786 | 0.9786 | 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 | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| 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 | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| 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 | 1.88 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| 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 | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_ATL@NYM |
| game_type | full |
| mlbID | 596133 |
| playerID | 596133 |
| playerName | Luke Weaver |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.215 |
| sl_xwoba | 0.264 |
| sl_sweet_spot_percent | 25.2 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 33.6 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 52.4 |
| sl_avg_best_speed | 77.563316226 |
| sl_avg_hyper_speed | 93.29635019 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | NYY 5 - 4 CHW | NYY | 0.530 | scoring_simulation.final_score | True |
| Simulation draw | NYY 6 - 3 CHW | NYY | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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 | 7 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5300 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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 | 5.097 | 4.309 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5300 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 3 | 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 | 6 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5063836922363848,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.0799642252607185,
"confidence": 0.6937624000000001,
"factors": {
"environmental": 1.079568,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.1875248000000003
},
"prediction": "normal_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 9,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 142,
"near_bucket_sample_size": 142,
"medium_bucket_sample_size": 166,
"wide_bucket_sample_size": 257,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5141,
"bayesian_hit_rate": 0.5125,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8875,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5297,
"calibrated_pick_probability": 0.5175,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "CHW",
"games": 107,
"wins": 56,
"losses": 51,
"win_pct": 0.5233644859813084,
"runs_scored": 514,
"runs_allowed": 472,
"run_differential": 42,
"run_differential_per_game": 0.3925233644859813,
"available": true
},
"away": {
"team": "NYY",
"games": 108,
"wins": 61,
"losses": 47,
"win_pct": 0.5648148148148148,
"runs_scored": 505,
"runs_allowed": 417,
"run_differential": 88,
"run_differential_per_game": 0.8148148148148148,
"available": true
},
"run_differential_edge_per_game": -0.4223,
"win_pct_edge": -0.0415,
"quality_edge": -0.4845,
"margin_adjustment": -0.2035,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 4.922,
"home_runs": 3.659,
"home_win_probability": 0.3926
}
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": true,
"reasons": [
"latest same-matchup result beat the predicted side",
"recent head-to-head is split and volatile",
"local prediction memory shows 3 straight prior same-side picks",
"a prior same-side pick already missed against the actual result",
"latest same-series result flipped a stale matchup lean"
],
"signals": {
"predicted_team": "NYY",
"opponent_team": "CHW",
"h2h_net_margin": 4,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-07-29",
"predicted_team_runs": 5,
"opponent_runs": 6,
"margin_for_predicted_team": -1,
"winner": "CHW"
},
{
"date": "2026-07-28",
"predicted_team_runs": 3,
"opponent_runs": 2,
"margin_for_predicted_team": 1,
"winner": "NYY"
},
{
"date": "2026-07-27",
"predicted_team_runs": 9,
"opponent_runs": 5,
"margin_for_predicted_team": 4,
"winner": "NYY"
}
],
"prediction_memory": {
"available": true,
"consecutive_same_pick_count": 3,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "2026-07-29",
"predicted_team": "NYY",
"confidence": 0.58,
"actual_winner": "CHW",
"actual_margin": 1,
"path": "20260729_NYY@CHW.json"
},
{
"date": "2026-07-28",
"predicted_team": "NYY",
"confidence": 0.6,
"actual_winner": "NYY",
"actual_margin": 1,
"path": "20260728_NYY@CHW.json"
},
{
"date": "2026-07-27",
"predicted_team": "NYY",
"confidence": 0.64,
"actual_winner": "NYY",
"actual_margin": 4,
"path": "20260727_NYY@CHW.json"
}
]
},
"guardrail_predicted_team": "NYY",
"guardrail_opponent_team": "CHW",
"output_pre_simulation_winner": "NYY",
"output_opponent_team": "CHW",
"final_score_winner": "NYY",
"pre_simulation_winner": "NYY",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "NYY 5 - 4 CHW",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 3,
"score_text": "NYY 6 - 3 CHW",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 3,
"winner_quality_edge": 0.4845,
"winner": "NYY",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "CHW",
"games": 107,
"wins": 56,
"losses": 51,
"win_pct": 0.5233644859813084,
"runs_scored": 514,
"runs_allowed": 472,
"run_differential": 42,
"run_differential_per_game": 0.3925233644859813,
"available": true
},
"away": {
"team": "NYY",
"games": 108,
"wins": 61,
"losses": 47,
"win_pct": 0.5648148148148148,
"runs_scored": 505,
"runs_allowed": 417,
"run_differential": 88,
"run_differential_per_game": 0.8148148148148148,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.35,
"final_margin": 0.35,
"margin_cap": 1.5,
"season_quality_edge": 0.4845,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.515463,
"final_confidence": 0.515463,
"confidence_cap": 0.66,
"score_gap": 0.35,
"calibration_sample_size": 142,
"calibration_empirical_hit_rate": 0.5141,
"calibration_bayesian_hit_rate": 0.5125,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.4845,
"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": "NYY 5 - 4 CHW",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 3,
"score_text": "NYY 6 - 3 CHW",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 3,
"winner_quality_edge": 0.4845,
"winner": "NYY",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 6,
"home_runs": 3,
"confidence": 0.53,
"home_win_probability": 0.47,
"away_win_probability": 0.53,
"predicted_score_text": "NYY 6 - 3 CHW",
"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": "NYY",
"original_runs": 3,
"run_delta": 0.1595,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.17008788783427764,
"contact": 0.06448156353914689,
"power": 0.3170544386974588,
"discipline": -0.0639030976621935,
"xwoba": 0.31447058823529417,
"recent_xwoba": 0.31447058823529406,
"barrel": 9.064705882352941,
"ab_hard_contact": 0.20895992240856068,
"ab_bat_speed": 71.43159677881617,
"ab_strikeout_rate": 0.26439692246484175,
"available_players": 9,
"top_players": [
{
"player_id": "700250",
"player_name": "Ben Rice",
"position": "1B",
"weight": 4.0,
"quality": 1.083287601740547,
"contact": 1.0890892212306165,
"power": 1.5561135191622464,
"discipline": 0.2563716194200065,
"xwoba": 0.37600000000000006,
"recent_xwoba": 0.376,
"barrel": 15.5,
"ab_hard_contact": 1.0308418118163607,
"ab_bat_speed": 71.61946804062127,
"ab_strikeout_rate": 0.23819764464925755,
"available": 1.0
},
{
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"weight": 5.0,
"quality": 0.7274996448943261,
"contact": 0.6973911043446488,
"power": 0.6628619711417595,
"discipline": 1.0586363636363636,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 10.2,
"ab_hard_contact": 0.33190608950185424,
"ab_bat_speed": 68.27595985363843,
"ab_strikeout_rate": 0.18257575757575759,
"available": 1.0
},
{
"player_id": "641857",
"player_name": "Ryan McMahon",
"position": "3B",
"weight": 3.0,
"quality": 0.21866927762568936,
"contact": 0.07002357623835492,
"power": 0.6064410430800268,
"discipline": -0.7403927693927694,
"xwoba": 0.304,
"recent_xwoba": 0.304,
"barrel": 10.699999999999998,
"ab_hard_contact": 0.6362494330291278,
"ab_bat_speed": 72.00205126114373,
"ab_strikeout_rate": 0.3298906048906049,
"available": 1.0
},
{
"player_id": "683011",
"player_name": "Anthony Volpe",
"position": "SS",
"weight": 3.0,
"quality": -0.210946562398347,
"contact": -0.21403583766534381,
"power": -0.5944642683680909,
"discipline": 0.3814025974025973,
"xwoba": 0.302,
"recent_xwoba": 0.302,
"barrel": 4.3,
"ab_hard_contact": -0.20395203402848694,
"ab_bat_speed": 69.52442283950617,
"ab_strikeout_rate": 0.23666666666666666,
"available": 1.0
},
{
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"position": "2B",
"weight": 4.0,
"quality": -0.2055984021496108,
"contact": -0.49416504528244115,
"power": 0.21144276618802704,
"discipline": -0.40347733091281485,
"xwoba": 0.289,
"recent_xwoba": 0.289,
"barrel": 9.8,
"ab_hard_contact": -0.09457324766802835,
"ab_bat_speed": 71.03159007509814,
"ab_strikeout_rate": 0.31733230926779316,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "663436",
"player_name": "Davis Martin",
"quality": -0.08307497464125828,
"contact": -0.05089052137724634,
"command": -0.1438191358024689,
"movement": 0.1203241270090896,
"xwoba": 0.32,
"whiff": 24.6,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "CHW",
"original_runs": 4,
"run_delta": 0.129,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.2258925803402185,
"contact": 0.08445770488263489,
"power": 0.29403020354819115,
"discipline": 0.056402943645170005,
"xwoba": 0.32521875,
"recent_xwoba": 0.32521875,
"barrel": 9.478124999999999,
"ab_hard_contact": 0.29763978524953694,
"ab_bat_speed": 69.41896358331252,
"ab_strikeout_rate": 0.2502868561383798,
"available_players": 9,
"top_players": [
{
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "DH_808959",
"weight": 4.0,
"quality": 1.1230039707186785,
"contact": 0.764936093551587,
"power": 1.9993947330235091,
"discipline": 0.22060453743787067,
"xwoba": 0.375,
"recent_xwoba": 0.375,
"barrel": 19.9,
"ab_hard_contact": 1.2781803747558997,
"ab_bat_speed": 73.46639300411523,
"ab_strikeout_rate": 0.34567901234567905,
"available": 1.0
},
{
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "DH_678246",
"weight": 4.0,
"quality": 1.2460843051684696,
"contact": 1.236240830145324,
"power": 1.4603008620603284,
"discipline": 0.8782121212121212,
"xwoba": 0.39,
"recent_xwoba": 0.39,
"barrel": 14.7,
"ab_hard_contact": 0.6949696221589532,
"ab_bat_speed": 72.77510001072501,
"ab_strikeout_rate": 0.175,
"available": 1.0
},
{
"player_id": "691011",
"player_name": "Drew Romo",
"position": "DH_691011",
"weight": 3.0,
"quality": -0.49093319983456324,
"contact": -1.710173666765873,
"power": -1.0909323278467833,
"discipline": -0.22862121212121217,
"xwoba": 0.248,
"recent_xwoba": 0.248,
"barrel": 6.6,
"ab_hard_contact": -0.10055131884042964,
"ab_bat_speed": 66.90285,
"ab_strikeout_rate": 0.2793333333333333,
"available": 1.0
},
{
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "DH_805367",
"weight": 4.0,
"quality": -0.4662197922599359,
"contact": -0.40727875267857183,
"power": -0.6232038346754875,
"discipline": 0.19390392015392016,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 4.6,
"ab_hard_contact": -0.8633147887478383,
"ab_bat_speed": 64.69626157407407,
"ab_strikeout_rate": 0.24837962962962962,
"available": 1.0
},
{
"player_id": "803011",
"player_name": "Sam Antonacci",
"position": "DH_803011",
"weight": 3.0,
"quality": 0.4252726251524321,
"contact": 0.7868430928429703,
"power": 0.04754395062543877,
"discipline": 0.4241883116883116,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 6.5,
"ab_hard_contact": 0.48002186965163357,
"ab_bat_speed": 68.6793253968254,
"ab_strikeout_rate": 0.1488095238095238,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "677960",
"player_name": "Ryan Weathers",
"quality": -0.03894726149280355,
"contact": -0.21438303236899242,
"command": 0.31646657848324533,
"movement": -0.14128423481767413,
"xwoba": 0.326,
"whiff": 28.0,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": true,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.4845,
"recent_form_edge_home_minus_away": -0.286,
"pitcher_matchup_edge_home_minus_away": -0.1659,
"composite_home_edge": -0.523,
"existing_home_win_probability": 0.5175,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": -0.523
},
"reasons": [
"flipped low-confidence one-run target away from unsupported side"
]
},
"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": "NYY 5 - 4 CHW",
"confidence": 0.53,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "NYY 5 - 4 CHW",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 3,
"score_text": "NYY 6 - 3 CHW",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 3,
"winner_quality_edge": 0.4845,
"winner": "NYY",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "NYY",
"display_confidence": 0.53,
"internal_signal_score": 0.5994,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.53,
"confidence_compression_detected": true,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "supported_runline_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 3,
"winner_quality_edge": 0.4845,
"winner_recent_form_edge": 0.216,
"winner_pitcher_matchup_edge": 0.1659,
"winner_simulation_draw_rate": 0.4444,
"blowout_draw_rate_margin_4_plus": 0.5556,
"high_total_draw_rate_11_plus": 0.2222,
"low_total_draw_rate_6_or_less": 0.3333,
"total_runs_spread": {
"min": 4,
"median": 9,
"max": 14,
"range": 10
}
},
"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 NYY | True | 1.0220 | 1.0220 | 1 | 9 | 0 |
| Home CHW | True | 1.0288 | 1.0288 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Paul Goldschmidt | 117 | 1.0090 | 0.1203 | neutral | 0.3130 | 0.2330 | 0.4200 | 11.30 | 37.40 | 86.40 | 13.80 | 27 | 23.90 | 7.60 | -0.8286 |
| LF | Spencer Jones | 329 | 1.0002 | 0.0020 | neutral | 0.2870 | 0.2000 | 0.3440 | 6.80 | 62.80 | 94.80 | 20 | 42.10 | 39.60 | 12.10 | -0.1429 |
| CF | Trent Grisham | 202 | 1.0700 | 0.9334 | positive_batter_regression | 0.3460 | 0.2500 | 0.4400 | 10.20 | 45.10 | 90.80 | 17.20 | 17.10 | 15.90 | 13.30 | 0.9143 |
| RF | Jasson Domínguez | 275 | 0.9956 | -0.0592 | neutral | 0.2960 | 0.2600 | 0.3760 | 5 | 38.80 | 88.20 | 14.50 | 24.50 | 19.90 | 3.80 | 0.0857 |
| 1B | Ben Rice | 40 | 1.1049 | 1.3983 | neutral | 0.3760 | 0.2710 | 0.5180 | 15.50 | 48 | 92 | 13.60 | 25.50 | 24.50 | 11.40 | -0.5429 |
| 2B | Jazz Chisholm Jr. | 148 | 0.9881 | -0.1589 | neutral | 0.2890 | 0.2080 | 0.3710 | 9.80 | 41.70 | 90.80 | 16.70 | 31.30 | 30.60 | 9.60 | -0.5429 |
| SS | Anthony Volpe | 165 | 0.9905 | -0.1264 | neutral | 0.3020 | 0.2420 | 0.3300 | 4.30 | 36.40 | 88.20 | 11.80 | 25.50 | 23.10 | 12.10 | -0.1714 |
| 3B | Ryan McMahon | 340 | 1.0288 | 0.3841 | neutral | 0.3040 | 0.2350 | 0.4010 | 10.70 | 50.70 | 91.10 | 12.40 | 31.70 | 31.50 | 7.30 | 0.5714 |
| C | Austin Wells | 297 | 1.0108 | 0.1444 | positive_batter_regression | 0.2970 | 0.2130 | 0.3640 | 6.80 | 43.20 | 88.80 | 19.90 | 29.80 | 26.60 | 11.60 | 1.5429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Colson Montgomery | 93 | 1.0248 | 0.3311 | neutral | 0.3170 | 0.2180 | 0.4320 | 12.80 | 42.40 | 89.20 | 23.40 | 37.70 | 31.40 | 8.30 | -0.3143 |
| DH_805367 | Chase Meidroth | 49 | 0.9671 | -0.4384 | negative_batter_regression | 0.2900 | 0.2330 | 0.3310 | 4.60 | 35.30 | 88.10 | 8.40 | 19.10 | 23.40 | 9 | -1.1143 |
| DH_691011 | Drew Romo | 543 | 0.9634 | -0.4884 | neutral | 0.2480 | 0.1740 | 0.2810 | 6.60 | 25.30 | 83.50 | 19.10 | 30.20 | 24.80 | 9.20 | 0.2857 |
| DH_671976 | Tristan Peters | 55 | 0.9854 | -0.1940 | negative_batter_regression | 0.3030 | 0.2500 | 0.3760 | 5.20 | 31.30 | 87.40 | 17.30 | 22.40 | 18 | 6.60 | -0.9143 |
| DH_808959 | Munetaka Murakami | 60 | 1.1032 | 1.3759 | neutral | 0.3750 | 0.2230 | 0.5150 | 19.90 | 59.60 | 94.10 | 14.50 | 42.70 | 32.50 | 18.20 | -0.4571 |
| DH_678246 | Miguel Vargas | 35 | 1.1294 | 1.7255 | positive_batter_regression | 0.3900 | 0.2700 | 0.5250 | 14.70 | 47 | 90.80 | 20.50 | 20.30 | 17 | 12.90 | 0.9143 |
| DH_695731 | Braden Montgomery | 192 | 0.9994 | -0.0083 | neutral | 0.3110 | 0.2500 | 0.3680 | 3.50 | 40.70 | 89.30 | 7.60 | 27.50 | 19.80 | 9.30 | -0.5143 |
| DH_803011 | Sam Antonacci | 87 | 1.0563 | 0.7512 | neutral | 0.3570 | 0.2870 | 0.4250 | 6.50 | 36.30 | 87.70 | 10.70 | 14.80 | 15.30 | 7.20 | 0.2286 |
| DH_643217 | Andrew Benintendi | 474 | 1.0300 | 0.3998 | neutral | 0.3170 | 0.2510 | 0.4150 | 8.80 | 44.90 | 88.50 | 16.40 | 28.90 | 24.50 | 8.40 | 0.2286 |
{
"home": {
"applied": true,
"offense_factor": 1.0288,
"raw_average_factor": 1.0288,
"team_espn_average_rank": 176.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "695657",
"player_name": "Colson Montgomery",
"offense_factor": 1.0248,
"quality_score": 0.3311,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695657",
"espn_id": 4872685,
"player_name": "Colson Montgomery",
"team": "CHW",
"role": "batter",
"espn_rank": 93,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 93,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 378.0,
"ab_rank": 74,
"r_value": 49.0,
"r_rank": 93,
"h_value": 83.0,
"h_rank": 116,
"avg_value": 0.2195767,
"avg_rank": 139.0,
"2b_value": 17.0,
"2b_rank": 93,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 24.0,
"hr_rank": 10,
"rbi_value": 61.0,
"rbi_rank": 32,
"tb_value": 172.0,
"tb_rank": 737,
"bb_value": 36.0,
"bb_rank": 94,
"so_value": 134.0,
"so_rank": 8,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3018867,
"obp_rank": "130",
"slg_value": 0.4550264,
"slg_rank": "51",
"ops_value": 0.7569131,
"ops_rank": 181.0,
"war_value": 1.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 292.0,
"k_percent": 31.4,
"bb_percent": 8.3,
"woba": 0.328,
"xwoba": 0.317,
"xba": 0.218,
"xslg": 0.432,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 42.4,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 23.4,
"whiff_percent": 37.7,
"swing_percent": 51.9
},
"components": {
"expected_quality": 0.4361,
"regression_edge": -0.3143,
"xwoba_edge": 0.4143,
"xba_edge": -0.5857,
"xslg_edge": 0.8643,
"barrel_edge": 1.3333,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_805367",
"player_id": "805367",
"player_name": "Chase Meidroth",
"offense_factor": 0.9671,
"quality_score": -0.4384,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "805367",
"espn_id": 5136929,
"player_name": "Chase Meidroth",
"team": "CHW",
"role": "batter",
"espn_rank": 49,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 49,
"gp_value": 104.0,
"gp_rank": 50,
"ab_value": 385.0,
"ab_rank": 61,
"r_value": 61.0,
"r_rank": 35,
"h_value": 106.0,
"h_rank": 34,
"avg_value": 0.2753246,
"avg_rank": 39.0,
"2b_value": 20.0,
"2b_rank": 49,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 40.0,
"rbi_rank": 128,
"tb_value": 153.0,
"tb_rank": 1031,
"bb_value": 39.0,
"bb_rank": 73,
"so_value": 101.0,
"so_rank": 48,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.344186,
"obp_rank": "57",
"slg_value": 0.3974025,
"slg_rank": "109",
"ops_value": 0.7415885,
"ops_rank": 166.0,
"war_value": 2.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 299.0,
"k_percent": 23.4,
"bb_percent": 9.0,
"woba": 0.329,
"xwoba": 0.29,
"xba": 0.233,
"xslg": 0.331,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 35.3,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 8.4,
"whiff_percent": 19.1,
"swing_percent": 41.6
},
"components": {
"expected_quality": -0.3284,
"regression_edge": -1.1143,
"xwoba_edge": -0.3571,
"xba_edge": -0.1571,
"xslg_edge": -0.5786,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.4,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_691011",
"player_id": "691011",
"player_name": "Drew Romo",
"offense_factor": 0.9634,
"quality_score": -0.4884,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691011",
"espn_id": 4917765,
"player_name": "Drew Romo",
"team": "CHW",
"role": "batter",
"espn_rank": 543,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 543,
"gp_value": 42.0,
"gp_rank": 368,
"ab_value": 126.0,
"ab_rank": 345,
"r_value": 11.0,
"r_rank": 393,
"h_value": 17.0,
"h_rank": 413,
"avg_value": 0.1349206,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 339,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 5.0,
"hr_rank": 249,
"rbi_value": 11.0,
"rbi_rank": 371,
"tb_value": 37.0,
"tb_rank": 1997,
"bb_value": 13.0,
"bb_rank": 306,
"so_value": 37.0,
"so_rank": 308,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.2253521,
"obp_rank": "-",
"slg_value": 0.2936507,
"slg_rank": "-",
"ops_value": 0.5190028,
"ops_rank": null,
"war_value": -0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 94.0,
"k_percent": 24.8,
"bb_percent": 9.2,
"woba": 0.238,
"xwoba": 0.248,
"xba": 0.174,
"xslg": 0.281,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 25.3,
"exit_velocity_avg": 83.5,
"launch_angle_avg": 19.1,
"whiff_percent": 30.2,
"swing_percent": 49.1
},
"components": {
"expected_quality": -1.3085,
"regression_edge": 0.2857,
"xwoba_edge": -1.5571,
"xba_edge": -1.8429,
"xslg_edge": -1.2929,
"barrel_edge": -0.0444,
"hard_hit_edge": -1.8286,
"exit_velocity_edge": -2.08,
"sweet_spot_edge": -1.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_671976",
"player_id": "671976",
"player_name": "Tristan Peters",
"offense_factor": 0.9854,
"quality_score": -0.194,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "671976",
"espn_id": 5085893,
"player_name": "Tristan Peters",
"team": "CHW",
"role": "batter",
"espn_rank": 55,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 55,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 290.0,
"ab_rank": 155,
"r_value": 39.0,
"r_rank": 148,
"h_value": 79.0,
"h_rank": 127,
"avg_value": 0.2724137,
"avg_rank": 45.0,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 37.0,
"rbi_rank": 150,
"tb_value": 124.0,
"tb_rank": 883,
"bb_value": 21.0,
"bb_rank": 212,
"so_value": 60.0,
"so_rank": 189,
"sb_value": 5.0,
"sb_rank": 143,
"obp_value": 0.3280757,
"obp_rank": "82",
"slg_value": 0.4275862,
"slg_rank": "76",
"ops_value": 0.7556619,
"ops_rank": 6.0,
"war_value": 2.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 200.0,
"k_percent": 18.0,
"bb_percent": 6.6,
"woba": 0.335,
"xwoba": 0.303,
"xba": 0.25,
"xslg": 0.376,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 31.3,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 17.3,
"whiff_percent": 22.4,
"swing_percent": 55.8
},
"components": {
"expected_quality": -0.0994,
"regression_edge": -0.9143,
"xwoba_edge": 0.0143,
"xba_edge": 0.3286,
"xslg_edge": 0.0643,
"barrel_edge": -0.3556,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_808959",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"offense_factor": 1.1032,
"quality_score": 1.3759,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808959",
"espn_id": 4872595,
"player_name": "Munetaka Murakami",
"team": "CHW",
"role": "batter",
"espn_rank": 60,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 60,
"gp_value": 72.0,
"gp_rank": 232,
"ab_value": 254.0,
"ab_rank": 190,
"r_value": 57.0,
"r_rank": 44,
"h_value": 61.0,
"h_rank": 194,
"avg_value": 0.2401574,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 23.0,
"hr_rank": 13,
"rbi_value": 49.0,
"rbi_rank": 78,
"tb_value": 139.0,
"tb_rank": 966,
"bb_value": 57.0,
"bb_rank": 17,
"so_value": 102.0,
"so_rank": 45,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3801916,
"obp_rank": "-",
"slg_value": 0.547244,
"slg_rank": "-",
"ops_value": 0.9274356,
"ops_rank": null,
"war_value": 2.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 32.5,
"bb_percent": 18.2,
"woba": 0.391,
"xwoba": 0.375,
"xba": 0.223,
"xslg": 0.515,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 19.9,
"hard_hit_percent": 59.6,
"exit_velocity_avg": 94.1,
"launch_angle_avg": 14.5,
"whiff_percent": 42.7,
"swing_percent": 41.3
},
"components": {
"expected_quality": 1.6743,
"regression_edge": -0.4571,
"xwoba_edge": 2.0714,
"xba_edge": -0.4429,
"xslg_edge": 2.05,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.16,
"sweet_spot_edge": -0.4667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_678246",
"player_id": "678246",
"player_name": "Miguel Vargas",
"offense_factor": 1.1294,
"quality_score": 1.7255,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "678246",
"espn_id": 42453,
"player_name": "Miguel Vargas",
"team": "CHW",
"role": "batter",
"espn_rank": 35,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 35,
"gp_value": 106.0,
"gp_rank": 29,
"ab_value": 392.0,
"ab_rank": 46,
"r_value": 72.0,
"r_rank": 7,
"h_value": 95.0,
"h_rank": 78,
"avg_value": 0.2423469,
"avg_rank": 111.0,
"2b_value": 25.0,
"2b_rank": 11,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 22.0,
"hr_rank": 17,
"rbi_value": 63.0,
"rbi_rank": 25,
"tb_value": 188.0,
"tb_rank": 352,
"bb_value": 59.0,
"bb_rank": 14,
"so_value": 78.0,
"so_rank": 110,
"sb_value": 11.0,
"sb_rank": 56,
"obp_value": 0.3484848,
"obp_rank": "50",
"slg_value": 0.4795918,
"slg_rank": "34",
"ops_value": 0.8280766,
"ops_rank": 16.0,
"war_value": 3.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 318.0,
"k_percent": 17.0,
"bb_percent": 12.9,
"woba": 0.358,
"xwoba": 0.39,
"xba": 0.27,
"xslg": 0.525,
"sweet_spot_percent": 40.4,
"barrel_batted_rate": 14.7,
"hard_hit_percent": 47.0,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 20.5,
"whiff_percent": 20.3,
"swing_percent": 45.4
},
"components": {
"expected_quality": 1.8576,
"regression_edge": 0.9143,
"xwoba_edge": 2.5,
"xba_edge": 0.9,
"xslg_edge": 2.1929,
"barrel_edge": 1.7556,
"hard_hit_edge": 1.2714,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 1.1833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH_695731",
"player_id": "695731",
"player_name": "Braden Montgomery",
"offense_factor": 0.9994,
"quality_score": -0.0083,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695731",
"espn_id": 4950345,
"player_name": "Braden Montgomery",
"team": "CHW",
"role": "batter",
"espn_rank": 192,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 192,
"gp_value": 41.0,
"gp_rank": 371,
"ab_value": 148.0,
"ab_rank": 317,
"r_value": 22.0,
"r_rank": 277,
"h_value": 37.0,
"h_rank": 298,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 20.0,
"rbi_rank": 281,
"tb_value": 60.0,
"tb_rank": 1560,
"bb_value": 16.0,
"bb_rank": 259,
"so_value": 34.0,
"so_rank": 328,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3293413,
"obp_rank": "-",
"slg_value": 0.4054054,
"slg_rank": "-",
"ops_value": 0.7347467,
"ops_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 41.0,
"k_percent": 19.8,
"bb_percent": 9.3,
"woba": 0.329,
"xwoba": 0.311,
"xba": 0.25,
"xslg": 0.368,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 40.7,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 7.6,
"whiff_percent": 27.5,
"swing_percent": 52.3
},
"components": {
"expected_quality": 0.0623,
"regression_edge": -0.5143,
"xwoba_edge": 0.2429,
"xba_edge": 0.3286,
"xslg_edge": -0.05,
"barrel_edge": -0.7333,
"hard_hit_edge": 0.3714,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_803011",
"player_id": "803011",
"player_name": "Sam Antonacci",
"offense_factor": 1.0563,
"quality_score": 0.7512,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "803011",
"espn_id": 5207167,
"player_name": "Sam Antonacci",
"team": "CHW",
"role": "batter",
"espn_rank": 87,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 87,
"gp_value": 87.0,
"gp_rank": 164,
"ab_value": 302.0,
"ab_rank": 145,
"r_value": 57.0,
"r_rank": 44,
"h_value": 84.0,
"h_rank": 109,
"avg_value": 0.2781456,
"avg_rank": 36.0,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 32.0,
"rbi_rank": 194,
"tb_value": 126.0,
"tb_rank": 845,
"bb_value": 25.0,
"bb_rank": 173,
"so_value": 54.0,
"so_rank": 217,
"sb_value": 14.0,
"sb_rank": 38,
"obp_value": 0.368876,
"obp_rank": "22",
"slg_value": 0.4172185,
"slg_rank": "90",
"ops_value": 0.7860945,
"ops_rank": 68.0,
"war_value": 1.9,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 15.3,
"bb_percent": 7.2,
"woba": 0.349,
"xwoba": 0.357,
"xba": 0.287,
"xslg": 0.425,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 36.3,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 10.7,
"whiff_percent": 14.8,
"swing_percent": 42.6
},
"components": {
"expected_quality": 0.8363,
"regression_edge": 0.2286,
"xwoba_edge": 1.5571,
"xba_edge": 1.3857,
"xslg_edge": 0.7643,
"barrel_edge": -0.0667,
"hard_hit_edge": -0.2571,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 0.95,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_643217",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"offense_factor": 1.03,
"quality_score": 0.3998,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643217",
"espn_id": 34986,
"player_name": "Andrew Benintendi",
"team": "CHW",
"role": "batter",
"espn_rank": 474,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 474,
"gp_value": 95.0,
"gp_rank": 128,
"ab_value": 295.0,
"ab_rank": 148,
"r_value": 41.0,
"r_rank": 139,
"h_value": 71.0,
"h_rank": 152,
"avg_value": 0.2406779,
"avg_rank": 112.0,
"2b_value": 17.0,
"2b_rank": 93,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 54.0,
"rbi_rank": 53,
"tb_value": 122.0,
"tb_rank": 739,
"bb_value": 28.0,
"bb_rank": 146,
"so_value": 79.0,
"so_rank": 109,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3027522,
"obp_rank": "129",
"slg_value": 0.4135593,
"slg_rank": "91",
"ops_value": 0.7163115,
"ops_rank": 220.0,
"war_value": -0.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 24.5,
"bb_percent": 8.4,
"woba": 0.309,
"xwoba": 0.317,
"xba": 0.251,
"xslg": 0.415,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 16.4,
"whiff_percent": 28.9,
"swing_percent": 51.9
},
"components": {
"expected_quality": 0.4276,
"regression_edge": 0.2286,
"xwoba_edge": 0.4143,
"xba_edge": 0.3571,
"xslg_edge": 0.6214,
"barrel_edge": 0.4444,
"hard_hit_edge": 0.9714,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.022,
"raw_average_factor": 1.022,
"team_espn_average_rank": 212.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"offense_factor": 1.009,
"quality_score": 0.1203,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "502671",
"espn_id": 31027,
"player_name": "Paul Goldschmidt",
"team": "NYY",
"role": "batter",
"espn_rank": 117,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 117,
"gp_value": 79.0,
"gp_rank": 195,
"ab_value": 279.0,
"ab_rank": 167,
"r_value": 37.0,
"r_rank": 161,
"h_value": 72.0,
"h_rank": 146,
"avg_value": 0.2580645,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 16.0,
"hr_rank": 56,
"rbi_value": 44.0,
"rbi_rank": 112,
"tb_value": 132.0,
"tb_rank": 736,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 73.0,
"so_rank": 136,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3202614,
"obp_rank": "-",
"slg_value": 0.4731182,
"slg_rank": "-",
"ops_value": 0.7933796,
"ops_rank": null,
"war_value": 1.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 271.0,
"k_percent": 23.9,
"bb_percent": 7.6,
"woba": 0.342,
"xwoba": 0.313,
"xba": 0.233,
"xslg": 0.42,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 37.4,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 13.8,
"whiff_percent": 27.0,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.2747,
"regression_edge": -0.8286,
"xwoba_edge": 0.3,
"xba_edge": -0.1571,
"xslg_edge": 0.6929,
"barrel_edge": 1.0,
"hard_hit_edge": -0.1,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "682987",
"player_name": "Spencer Jones",
"offense_factor": 1.0002,
"quality_score": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682987",
"espn_id": 4867424,
"player_name": "Spencer Jones",
"team": "NYY",
"role": "batter",
"espn_rank": 329,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 329,
"gp_value": 35.0,
"gp_rank": 401,
"ab_value": 84.0,
"ab_rank": 413,
"r_value": 7.0,
"r_rank": 441,
"h_value": 19.0,
"h_rank": 406,
"avg_value": 0.2261904,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 371,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 11.0,
"rbi_rank": 371,
"tb_value": 32.0,
"tb_rank": 2235,
"bb_value": 11.0,
"bb_rank": 338,
"so_value": 38.0,
"so_rank": 295,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3157894,
"obp_rank": "-",
"slg_value": 0.3809523,
"slg_rank": "-",
"ops_value": 0.6967417,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 85.0,
"k_percent": 39.6,
"bb_percent": 12.1,
"woba": 0.292,
"xwoba": 0.287,
"xba": 0.2,
"xslg": 0.344,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 62.8,
"exit_velocity_avg": 94.8,
"launch_angle_avg": 20.0,
"whiff_percent": 42.1,
"swing_percent": 53.5
},
"components": {
"expected_quality": 0.0284,
"regression_edge": -0.1429,
"xwoba_edge": -0.4429,
"xba_edge": -1.1,
"xslg_edge": -0.3929,
"barrel_edge": 0.0,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.44,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "663757",
"player_name": "Trent Grisham",
"offense_factor": 1.07,
"quality_score": 0.9334,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663757",
"espn_id": 34995,
"player_name": "Trent Grisham",
"team": "NYY",
"role": "batter",
"espn_rank": 202,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 202,
"gp_value": 88.0,
"gp_rank": 160,
"ab_value": 301.0,
"ab_rank": 146,
"r_value": 52.0,
"r_rank": 71,
"h_value": 64.0,
"h_rank": 181,
"avg_value": 0.2126245,
"avg_rank": 147.0,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 41.0,
"rbi_rank": 123,
"tb_value": 115.0,
"tb_rank": 761,
"bb_value": 47.0,
"bb_rank": 41,
"so_value": 57.0,
"so_rank": 201,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.3162393,
"obp_rank": "108",
"slg_value": 0.3820598,
"slg_rank": "124",
"ops_value": 0.6982991,
"ops_rank": 16.0,
"war_value": 0.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 325.0,
"k_percent": 15.9,
"bb_percent": 13.3,
"woba": 0.314,
"xwoba": 0.346,
"xba": 0.25,
"xslg": 0.44,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 45.1,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 17.2,
"whiff_percent": 17.1,
"swing_percent": 39.0
},
"components": {
"expected_quality": 0.9365,
"regression_edge": 0.9143,
"xwoba_edge": 1.2429,
"xba_edge": 0.3286,
"xslg_edge": 0.9786,
"barrel_edge": 0.7556,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "691176",
"player_name": "Jasson Domínguez",
"offense_factor": 0.9956,
"quality_score": -0.0592,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691176",
"espn_id": 42401,
"player_name": "Jasson Dominguez",
"team": "NYY",
"role": "batter",
"espn_rank": 275,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 275,
"gp_value": 48.0,
"gp_rank": 345,
"ab_value": 180.0,
"ab_rank": 275,
"r_value": 21.0,
"r_rank": 287,
"h_value": 42.0,
"h_rank": 267,
"avg_value": 0.2333333,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 14.0,
"rbi_rank": 339,
"tb_value": 70.0,
"tb_rank": 1659,
"bb_value": 8.0,
"bb_rank": 380,
"so_value": 38.0,
"so_rank": 295,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.2736842,
"obp_rank": "-",
"slg_value": 0.3888888,
"slg_rank": "-",
"ops_value": 0.662573,
"ops_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 19.9,
"bb_percent": 3.8,
"woba": 0.293,
"xwoba": 0.296,
"xba": 0.26,
"xslg": 0.376,
"sweet_spot_percent": 28.1,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 14.5,
"whiff_percent": 24.5,
"swing_percent": 52.4
},
"components": {
"expected_quality": -0.1062,
"regression_edge": 0.0857,
"xwoba_edge": -0.1857,
"xba_edge": 0.6143,
"xslg_edge": 0.0643,
"barrel_edge": -0.4,
"hard_hit_edge": 0.1,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -0.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "700250",
"player_name": "Ben Rice",
"offense_factor": 1.1049,
"quality_score": 1.3983,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700250",
"espn_id": 5016968,
"player_name": "Ben Rice",
"team": "NYY",
"role": "batter",
"espn_rank": 40,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 40,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 387.0,
"ab_rank": 56,
"r_value": 70.0,
"r_rank": 9,
"h_value": 105.0,
"h_rank": 36,
"avg_value": 0.2713178,
"avg_rank": 47.0,
"2b_value": 19.0,
"2b_rank": 61,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 31.0,
"hr_rank": 3,
"rbi_value": 73.0,
"rbi_rank": 6,
"tb_value": 223.0,
"tb_rank": 144,
"bb_value": 51.0,
"bb_rank": 30,
"so_value": 109.0,
"so_rank": 33,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3589164,
"obp_rank": "34",
"slg_value": 0.5762273,
"slg_rank": "2",
"ops_value": 0.9351437,
"ops_rank": 36.0,
"war_value": 2.84,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 404.0,
"k_percent": 24.5,
"bb_percent": 11.4,
"woba": 0.395,
"xwoba": 0.376,
"xba": 0.271,
"xslg": 0.518,
"sweet_spot_percent": 40.8,
"barrel_batted_rate": 15.5,
"hard_hit_percent": 48.0,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 13.6,
"whiff_percent": 25.5,
"swing_percent": 43.7
},
"components": {
"expected_quality": 1.7143,
"regression_edge": -0.5429,
"xwoba_edge": 2.1,
"xba_edge": 0.9286,
"xslg_edge": 2.0929,
"barrel_edge": 1.9333,
"hard_hit_edge": 1.4143,
"exit_velocity_edge": 1.32,
"sweet_spot_edge": 1.25,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"offense_factor": 0.9881,
"quality_score": -0.1589,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665862",
"espn_id": 41433,
"player_name": "Jazz Chisholm Jr.",
"team": "NYY",
"role": "batter",
"espn_rank": 148,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 148,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 358.0,
"ab_rank": 91,
"r_value": 53.0,
"r_rank": 67,
"h_value": 80.0,
"h_rank": 124,
"avg_value": 0.2234636,
"avg_rank": 138.0,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 16.0,
"hr_rank": 56,
"rbi_value": 45.0,
"rbi_rank": 104,
"tb_value": 146.0,
"tb_rank": 518,
"bb_value": 38.0,
"bb_rank": 80,
"so_value": 123.0,
"so_rank": 14,
"sb_value": 30.0,
"sb_rank": 2,
"obp_value": 0.2975,
"obp_rank": "138",
"slg_value": 0.4078212,
"slg_rank": "96",
"ops_value": 0.7053212,
"ops_rank": 234.0,
"war_value": 1.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 371.0,
"k_percent": 30.6,
"bb_percent": 9.6,
"woba": 0.308,
"xwoba": 0.289,
"xba": 0.208,
"xslg": 0.371,
"sweet_spot_percent": 28.1,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 16.7,
"whiff_percent": 31.3,
"swing_percent": 45.2
},
"components": {
"expected_quality": -0.0964,
"regression_edge": -0.5429,
"xwoba_edge": -0.3857,
"xba_edge": -0.8714,
"xslg_edge": -0.0071,
"barrel_edge": 0.6667,
"hard_hit_edge": 0.5143,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": -0.8667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "683011",
"player_name": "Anthony Volpe",
"offense_factor": 0.9905,
"quality_score": -0.1264,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683011",
"espn_id": 42547,
"player_name": "Anthony Volpe",
"team": "NYY",
"role": "batter",
"espn_rank": 165,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 165,
"gp_value": 53.0,
"gp_rank": 325,
"ab_value": 160.0,
"ab_rank": 302,
"r_value": 19.0,
"r_rank": 309,
"h_value": 40.0,
"h_rank": 279,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 19.0,
"rbi_rank": 294,
"tb_value": 54.0,
"tb_rank": 1974,
"bb_value": 22.0,
"bb_rank": 203,
"so_value": 42.0,
"so_rank": 272,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.3387978,
"obp_rank": "-",
"slg_value": 0.3375,
"slg_rank": "-",
"ops_value": 0.6762978,
"ops_rank": null,
"war_value": 1.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 23.1,
"bb_percent": 12.1,
"woba": 0.308,
"xwoba": 0.302,
"xba": 0.242,
"xslg": 0.33,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 11.8,
"whiff_percent": 25.5,
"swing_percent": 44.0
},
"components": {
"expected_quality": -0.1705,
"regression_edge": -0.1714,
"xwoba_edge": -0.0143,
"xba_edge": 0.1,
"xslg_edge": -0.5929,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.2429,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "641857",
"player_name": "Ryan McMahon",
"offense_factor": 1.0288,
"quality_score": 0.3841,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641857",
"espn_id": 33247,
"player_name": "Ryan McMahon",
"team": "NYY",
"role": "batter",
"espn_rank": 340,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 340,
"gp_value": 88.0,
"gp_rank": 160,
"ab_value": 233.0,
"ab_rank": 217,
"r_value": 25.0,
"r_rank": 244,
"h_value": 49.0,
"h_rank": 243,
"avg_value": 0.2103004,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 26.0,
"rbi_rank": 230,
"tb_value": 86.0,
"tb_rank": 1401,
"bb_value": 18.0,
"bb_rank": 237,
"so_value": 78.0,
"so_rank": 110,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.2698412,
"obp_rank": "-",
"slg_value": 0.3690987,
"slg_rank": "-",
"ops_value": 0.6389399,
"ops_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 31.5,
"bb_percent": 7.3,
"woba": 0.284,
"xwoba": 0.304,
"xba": 0.235,
"xslg": 0.401,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 50.7,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 12.4,
"whiff_percent": 31.7,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.3536,
"regression_edge": 0.5714,
"xwoba_edge": 0.0429,
"xba_edge": -0.1,
"xslg_edge": 0.4214,
"barrel_edge": 0.8667,
"hard_hit_edge": 1.8,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": -0.25,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "669224",
"player_name": "Austin Wells",
"offense_factor": 1.0108,
"quality_score": 0.1444,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669224",
"espn_id": 4683349,
"player_name": "Austin Wells",
"team": "NYY",
"role": "batter",
"espn_rank": 297,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 297,
"gp_value": 74.0,
"gp_rank": 217,
"ab_value": 214.0,
"ab_rank": 241,
"r_value": 22.0,
"r_rank": 277,
"h_value": 34.0,
"h_rank": 315,
"avg_value": 0.1588785,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 444,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 14.0,
"rbi_rank": 339,
"tb_value": 57.0,
"tb_rank": 1848,
"bb_value": 28.0,
"bb_rank": 146,
"so_value": 65.0,
"so_rank": 164,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.2581967,
"obp_rank": "-",
"slg_value": 0.2663551,
"slg_rank": "-",
"ops_value": 0.5245518,
"ops_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 226.0,
"k_percent": 26.6,
"bb_percent": 11.6,
"woba": 0.243,
"xwoba": 0.297,
"xba": 0.213,
"xslg": 0.364,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 19.9,
"whiff_percent": 29.8,
"swing_percent": 47.1
},
"components": {
"expected_quality": -0.0832,
"regression_edge": 1.5429,
"xwoba_edge": -0.1571,
"xba_edge": -0.7286,
"xslg_edge": -0.1071,
"barrel_edge": 0.0,
"hard_hit_edge": 0.7286,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": -0.0333,
"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 NYY | True | 193 | -0.0811 | 1 | 1.0069 | 1.0386 | 0.9540 | 1.0817 | neutral | 0.3260 | 0.3170 | 26.80 | 6.60 | 28 | 9.70 | 42.20 | |
| Home CHW | True | 20 | -0.1425 | 1 | 1.0121 | 0.9894 | 0.9640 | 1.0286 | neutral | 0.3200 | 0.3040 | 21.60 | 7.10 | 24.60 | 6.30 | 44.40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYY | True | None | 86 | 89.16 | 2328 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0398 | |
| Home CHW | True | None | 93 | 90.20 | 2458 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0186 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0121 |
| home_runs_vs_away_pitcher | 1.0069 |
| home_pitcher_quality_edge | -0.0614 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "663436",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 300.0,
"k_percent": 21.6,
"bb_percent": 7.1,
"woba": 0.304,
"xwoba": 0.32,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 44.4,
"avg_best_speed": 79.817,
"avg_hyper_speed": 94.8008,
"whiff_percent": 24.6,
"swing_percent": 49.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.1693,
"command_and_miss": -0.0132,
"regression_edge": -0.4571,
"xwoba_edge": -0.2286,
"barrel_edge": 0.1778,
"hard_hit_edge": -0.9,
"whiff_edge": -0.1571,
"bb_edge": 0.45,
"pitch_design_score": 0.0186
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663436",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 90.20459506088388,
"release_spin_rate": 2457.5994529785894,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 90.20459506088388,
"release_spin_rate": 2457.5994529785894,
"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.2046,
"release_spin_rate": 2457.5995,
"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.0186,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1329,
"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.1425,
"sample_weight": 1.0,
"run_prevention_factor": 1.0121,
"strikeout_factor": 0.9894,
"walk_factor": 0.964,
"homer_factor": 1.0286,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663436",
"espn_id": 42823,
"player_name": "Davis Martin",
"team": "CHW",
"role": "pitcher",
"espn_rank": 20,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 20,
"gp_value": 21.0,
"gp_rank": 261,
"gs_value": 21.0,
"gs_rank": 22,
"qs_value": 10.0,
"qs_rank": 29,
"era_value": 3.6153,
"era_rank": 29.0,
"w_value": 9.0,
"w_rank": 20,
"l_value": 5.0,
"l_rank": 97,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 117.0,
"ip_rank": 33,
"h_value": 113.0,
"h_rank": 24,
"er_value": 47.0,
"er_rank": 62,
"hr_value": 7.0,
"hr_rank": 177,
"bb_value": 35.0,
"bb_rank": 61,
"k_value": 106.0,
"k_rank": 42,
"k_per_9_value": 8.153846,
"k_per_9_rank": 34,
"whip_value": 1.2649,
"whip_rank": 43.0,
"war_value": 3.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "677960",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 429.0,
"k_percent": 26.8,
"bb_percent": 6.6,
"woba": 0.317,
"xwoba": 0.326,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 42.2,
"avg_best_speed": 78.1466,
"avg_hyper_speed": 94.8399,
"whiff_percent": 28.0,
"swing_percent": 45.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.3328,
"command_and_miss": 0.5161,
"regression_edge": -0.2571,
"xwoba_edge": -0.4,
"barrel_edge": -0.5778,
"hard_hit_edge": -0.5857,
"whiff_edge": 0.3286,
"bb_edge": 0.575,
"pitch_design_score": -0.0398
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "677960",
"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": 89.16256002246334,
"release_spin_rate": 2328.379437428676,
"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": 89.16256002246334,
"release_spin_rate": 2328.379437428676,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.1626,
"release_spin_rate": 2328.3794,
"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.0398,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.284,
"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.0811,
"sample_weight": 1.0,
"run_prevention_factor": 1.0069,
"strikeout_factor": 1.0386,
"walk_factor": 0.954,
"homer_factor": 1.0817,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677960",
"espn_id": 41178,
"player_name": "Ryan Weathers",
"team": "NYY",
"role": "pitcher",
"espn_rank": 193,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 193,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 20.0,
"gs_rank": 43,
"qs_value": 6.0,
"qs_rank": 74,
"era_value": 4.25,
"era_rank": 50.0,
"w_value": 4.0,
"w_rank": 127,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 108.0,
"ip_rank": 61,
"h_value": 107.0,
"h_rank": 41,
"er_value": 51.0,
"er_rank": 40,
"hr_value": 17.0,
"hr_rank": 22,
"bb_value": 30.0,
"bb_rank": 87,
"k_value": 122.0,
"k_rank": 25,
"k_per_9_value": 10.166667,
"k_per_9_rank": 11,
"whip_value": 1.2685,
"whip_rank": 45.0,
"war_value": 0.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0121,
"home_runs_vs_away_pitcher": 1.0069,
"home_pitcher_quality_edge": -0.0614
},
"score_before": {
"away_runs": 4.1101,
"home_runs": 3.7606
},
"score_after": {
"away_runs": 4.1598,
"home_runs": 3.7865,
"home_win_probability": 0.4672
},
"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 NYY | 7-3 | 0.700 | 4 | 3.60 | 4 | 1L | average | average |
| Home CHW | 5-5 | 0.500 | 4.80 | 4.80 | 0 | 1W | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away NYY | 61-47 | 0.565 | 88 | 0.815 | True |
| Home CHW | 56-51 | 0.523 | 42 | 0.393 | True |
| Signal | - | - | -0.422 | -0.484 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-29 | NYY @ CHW | 5 - 6 | CHW | 1 | close |
| 2026-07-28 | NYY @ CHW | 3 - 2 | NYY | 1 | close |
| 2026-07-27 | NYY @ CHW | 9 - 5 | NYY | 4 | blowout |
| 2026-06-18 | CHW @ NYY | 5 - 1 | CHW | 4 | blowout |
| 2026-06-17 | CHW @ NYY | 5 - 10 | NYY | 5 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target NYY | - | - | 5 | - | - | - | - |
| Game target CHW | - | - | 4 | - | - | - | - |
| Player finalized NYY | 34 | 9 | 4 | 0 | 3 | 1 | 9 |
| Player finalized CHW | 32 | 8 | 5 | 0 | 4 | 2 | 10 |
| Player model fractional NYY | 32.66 | 7.00 | 3.99 | 1.22 | 3.68 | 3.10 | 8.66 |
| Player model fractional CHW | 30.85 | 7.17 | 4.64 | 1.41 | 4.26 | 3.26 | 8.56 |
| Simulation box NYY | 35 | 8 | 6 | 2 | 6 | 2 | 9 |
| Simulation box CHW | 35 | 8 | 3 | 1 | 3 | 1 | 6 |
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 NYY | Starter | Ryan Weathers | 5 | 3 | 4 | 6 | 1 | 5.11 | 1.51 | True |
| Away NYY | Middle Reliever | Brent Headrick | 1 | 0 | 0 | 1 | 0 | 1.82 | 1.03 | True |
| Away NYY | Middle Reliever | David Bednar | 1 | 0 | 1 | 0 | 0 | 3.54 | 1.00 | True |
| Away NYY | Middle Reliever | Fernando Cruz | 1 | 0 | 0 | 1 | 0 | 4.46 | 1.61 | True |
| Away NYY | Middle Reliever | Paul Blackburn | 1 | 0 | 1 | 0 | 0 | 2.70 | 0.98 | True |
| Home CHW | Starter | Davis Martin | 6 | 2 | 6 | 5 | 1 | 4.99 | 1.40 | True |
| Home CHW | Middle Reliever | Bryan Hudson | 1 | 3 | 0 | 2 | 1 | 3.60 | 1.28 | True |
| Home CHW | Middle Reliever | Grant Taylor | 1 | 0 | 0 | 0 | 0 | 3.67 | 1.26 | True |
| Home CHW | Middle Reliever | Sean Newcomb | 1 | 1 | 3 | 1 | 0 | 4.82 | 1.36 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | NYY | batter | 3B | Ryan McMahon | better | 11 | 7 | 4 | 8 | 3 | predicted_RBI | 2.7000 | boost | better |
| away | NYY | batter | DH | Paul Goldschmidt | better | 10 | 7 | 3 | 6 | 4 | predicted_RBI | 2.4210 | boost | better |
| away | NYY | batter | CF | Trent Grisham | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.3330 | boost | worse |
| home | CHW | batter | 2B | Tristan Peters | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | 2.1470 | boost | better |
| away | NYY | batter | 1B | Ben Rice | better | 10 | 6 | 4 | 7 | 3 | predicted_AB | -1.4900 | deboost | worse |
| home | CHW | batter | DH | Colson Montgomery | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.3920 | boost | better |
| away | NYY | batter | LF | Spencer Jones | better | 10 | 5 | 5 | 6 | 4 | predicted_AB | 1.3750 | boost | better |
| away | NYY | batter | 2B | Jazz Chisholm Jr. | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -1.1600 | deboost | worse |
| away | NYY | batter | C | Austin Wells | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | 1.1080 | boost | better |
| home | CHW | batter | LF | Braden Montgomery | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | 1.0830 | boost | better |
| home | CHW | batter | CF | Sam Antonacci | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -1.0000 | deboost | worse |
| home | CHW | pitcher | Starter | Davis Martin | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.0000 | deboost | worse |
| away | NYY | batter | RF | Jasson Domínguez | worse | 11 | 5 | 6 | 4 | 7 | predicted_H | 0.9900 | boost | better |
| home | CHW | batter | 1B | Drew Romo | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -0.9630 | deboost | better |
| home | CHW | pitcher | Middle Reliever | Sean Newcomb | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | CHW | batter | RF | Andrew Benintendi | better | 11 | 6 | 5 | 7 | 4 | predicted_AB | 0.8990 | boost | better |
| home | CHW | batter | SS | Miguel Vargas | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.8670 | deboost | worse |
| home | CHW | batter | 3B | Munetaka Murakami | worse | 8 | 1 | 7 | 2 | 6 | predicted_H | -0.8570 | deboost | worse |
| away | NYY | batter | SS | Anthony Volpe | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.8400 | deboost | better |
| home | CHW | batter | C | Chase Meidroth | worse | 9 | 1 | 8 | 1 | 8 | predicted_R | -0.5950 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Ryan Weathers |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0811 |
| ESPN Rank | 193 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0398 |
| Avg Velo | 89.1626 |
| Avg Spin | 2328.3794 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 4.2500 |
| Season WHIP | 1.2685 |
| Role Avg IP | 5.4000 |
| Recent Avg IP | 4.2670 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"opponent": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"edges": {
"quality_edge": 0.1306,
"offense_edge": -0.0141,
"opponent_offense_edge": 0.048,
"defense_strength": 0.19,
"opponent_defense_weakness": -0.0078,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9821,
"strikeout": 1.0001
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "677960",
"profile": {
"available": true,
"pitcher_id": "677960",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 429.0,
"k_percent": 26.8,
"bb_percent": 6.6,
"woba": 0.317,
"xwoba": 0.326,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 42.2,
"avg_best_speed": 78.1466,
"avg_hyper_speed": 94.8399,
"whiff_percent": 28.0,
"swing_percent": 45.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.3328,
"command_and_miss": 0.5161,
"regression_edge": -0.2571,
"xwoba_edge": -0.4,
"barrel_edge": -0.5778,
"hard_hit_edge": -0.5857,
"whiff_edge": 0.3286,
"bb_edge": 0.575,
"pitch_design_score": -0.0398
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "677960",
"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": 89.16256002246334,
"release_spin_rate": 2328.379437428676,
"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": 89.16256002246334,
"release_spin_rate": 2328.379437428676,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.1626,
"release_spin_rate": 2328.3794,
"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.0398,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.284,
"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.0811,
"sample_weight": 1.0,
"run_prevention_factor": 1.0069,
"strikeout_factor": 1.0386,
"walk_factor": 0.954,
"homer_factor": 1.0817,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677960",
"espn_id": 41178,
"player_name": "Ryan Weathers",
"team": "NYY",
"role": "pitcher",
"espn_rank": 193,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 193,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 20.0,
"gs_rank": 43,
"qs_value": 6.0,
"qs_rank": 74,
"era_value": 4.25,
"era_rank": 50.0,
"w_value": 4.0,
"w_rank": 127,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 108.0,
"ip_rank": 61,
"h_value": 107.0,
"h_rank": 41,
"er_value": 51.0,
"er_rank": 40,
"hr_value": 17.0,
"hr_rank": 22,
"bb_value": 30.0,
"bb_rank": 87,
"k_value": 122.0,
"k_rank": 25,
"k_per_9_value": 10.166667,
"k_per_9_rank": 11,
"whip_value": 1.2685,
"whip_rank": 45.0,
"war_value": 0.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0069,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0069,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.954,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0817,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0386,
"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": 50.2,
"ER": 31,
"H": 59,
"BB": 14,
"SO": 57,
"HR": 9,
"ERA": 5.506578947368421,
"WHIP": 1.4407894736842106,
"K9": 10.125,
"HR9": 1.598684210526316,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "677960",
"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": 89.16256002246334,
"release_spin_rate": 2328.379437428676,
"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": 89.16256002246334,
"release_spin_rate": 2328.379437428676,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.1626,
"release_spin_rate": 2328.3794,
"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.0398,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.284,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": "677960",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.1,
"ER": 13.0,
"R": 16.0,
"H": 32.0,
"BB": 6.0,
"SO": 27.0,
"HR": 1.0,
"BF": 103.0,
"Pitches": 430.0
},
"per_game": {
"IP": 4.1,
"ER": 2.6,
"R": 3.2,
"H": 6.4,
"BB": 1.2,
"SO": 5.4,
"HR": 0.2,
"BF": 20.6,
"Pitches": 86.0
},
"rates": {
"ERA": 5.4844,
"WHIP": 1.7812,
"ER_per_IP": 0.60938,
"H_per_IP": 1.5,
"BB_per_IP": 0.28125,
"SO_per_IP": 1.26562,
"HR_per_IP": 0.04688
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.2,
"ER": 31.0,
"R": 35.0,
"H": 59.0,
"BB": 14.0,
"SO": 57.0,
"HR": 9.0,
"BF": 226.0,
"Pitches": 897.0
},
"per_game": {
"IP": 5.0,
"ER": 3.1,
"R": 3.5,
"H": 5.9,
"BB": 1.4,
"SO": 5.7,
"HR": 0.9,
"BF": 22.6,
"Pitches": 89.7
},
"rates": {
"ERA": 5.5066,
"WHIP": 1.4408,
"ER_per_IP": 0.61184,
"H_per_IP": 1.16447,
"BB_per_IP": 0.27632,
"SO_per_IP": 1.125,
"HR_per_IP": 0.17763
}
},
"season": {
"games": 20,
"totals": {
"IP": 108.0,
"ER": 51.0,
"R": 57.0,
"H": 107.0,
"BB": 30.0,
"SO": 122.0,
"HR": 17.0,
"BF": 456.0,
"Pitches": 1814.0
},
"per_game": {
"IP": 5.1,
"ER": 2.55,
"R": 2.85,
"H": 5.35,
"BB": 1.5,
"SO": 6.1,
"HR": 0.85,
"BF": 22.8,
"Pitches": 90.7
},
"rates": {
"ERA": 4.25,
"WHIP": 1.2685,
"ER_per_IP": 0.47222,
"H_per_IP": 0.99074,
"BB_per_IP": 0.27778,
"SO_per_IP": 1.12963,
"HR_per_IP": 0.15741
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.731,
"predicted_H": 5.871,
"predicted_BB": 1.416,
"predicted_SO": 5.502,
"predicted_HR": 0.588,
"predicted_ERA": 5.1072,
"predicted_WHIP": 1.514
}
}{
"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.0,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.731,
"final": 2.8479,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.871,
"final": 5.9271,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.416,
"final": 1.2352,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.502,
"final": 4.8494,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.588,
"final": 0.767,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1072,
"final": 5.1072,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.514,
"final": 1.514,
"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 | Brent Headrick |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5304 |
| ESPN Rank | 37 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0085 |
| Avg Velo | 90.0247 |
| Avg Spin | 2158.2882 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.3252 |
| Season WHIP | 1.0859 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"opponent": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"edges": {
"quality_edge": 0.1306,
"offense_edge": -0.0141,
"opponent_offense_edge": 0.048,
"defense_strength": 0.19,
"opponent_defense_weakness": -0.0078,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9821,
"strikeout": 1.0001
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687396",
"profile": {
"available": true,
"pitcher_id": "687396",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 202.0,
"k_percent": 28.8,
"bb_percent": 7.8,
"woba": 0.255,
"xwoba": 0.266,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 37.4,
"avg_best_speed": 76.5843,
"avg_hyper_speed": 93.6813,
"whiff_percent": 32.4,
"swing_percent": 54.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.8536,
"command_and_miss": 0.8046,
"regression_edge": -0.3143,
"xwoba_edge": 1.3143,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.1,
"whiff_edge": 0.9571,
"bb_edge": 0.275,
"pitch_design_score": 0.0085
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687396",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.02465087215205,
"release_spin_rate": 2158.2881671328196,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 90.02465087215205,
"release_spin_rate": 2158.2881671328196,
"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.0247,
"release_spin_rate": 2158.2882,
"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.0085,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0609,
"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.5304,
"sample_weight": 0.808,
"run_prevention_factor": 0.9549,
"strikeout_factor": 1.0607,
"walk_factor": 0.9822,
"homer_factor": 0.9247,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687396",
"espn_id": 5116839,
"player_name": "Brent Headrick",
"team": "NYY",
"role": "pitcher",
"espn_rank": 37,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 37,
"gp_value": 54.0,
"gp_rank": 3,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 1.3251,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 14.0,
"hld_rank": 23,
"ip_value": 54.1,
"ip_rank": 178,
"h_value": 42.0,
"h_rank": 219,
"er_value": 8.0,
"er_rank": 504,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 17.0,
"bb_rank": 254,
"k_value": 63.0,
"k_rank": 140,
"k_per_9_value": 10.435583,
"k_per_9_rank": 21,
"whip_value": 1.0858,
"whip_rank": null,
"war_value": 2.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9636,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9636,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9856,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9392,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.049,
"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": 11.0,
"ER": 1,
"H": 9,
"BB": 1,
"SO": 16,
"HR": 0,
"ERA": 0.8181818181818183,
"WHIP": 0.9090909090909093,
"K9": 13.090909090909093,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "687396",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.02465087215205,
"release_spin_rate": 2158.2881671328196,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 90.02465087215205,
"release_spin_rate": 2158.2881671328196,
"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.0247,
"release_spin_rate": 2158.2882,
"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.0085,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0609,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.828,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6841,
"prior_weight": 0.3159
},
"role": "pitcher",
"player_id": "687396",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 54,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 66.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.8,
"BB_per_IP": 0.0,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 1.0,
"R": 1.0,
"H": 9.0,
"BB": 1.0,
"SO": 16.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.9,
"BB": 0.1,
"SO": 1.6,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.0
},
"rates": {
"ERA": 0.8182,
"WHIP": 0.9091,
"ER_per_IP": 0.09091,
"H_per_IP": 0.81818,
"BB_per_IP": 0.09091,
"SO_per_IP": 1.45455,
"HR_per_IP": 0.0
}
},
"season": {
"games": 54,
"totals": {
"IP": 54.1,
"ER": 8.0,
"R": 9.0,
"H": 42.0,
"BB": 17.0,
"SO": 63.0,
"HR": 2.0,
"BF": 219.0,
"Pitches": 822.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1481,
"R": 0.1667,
"H": 0.7778,
"BB": 0.3148,
"SO": 1.1667,
"HR": 0.037,
"BF": 4.0556,
"Pitches": 15.2222
},
"rates": {
"ERA": 1.3252,
"WHIP": 1.0859,
"ER_per_IP": 0.14724,
"H_per_IP": 0.77301,
"BB_per_IP": 0.31288,
"SO_per_IP": 1.15951,
"HR_per_IP": 0.03681
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.202,
"predicted_H": 0.856,
"predicted_BB": 0.177,
"predicted_SO": 1.179,
"predicted_HR": 0.053,
"predicted_ERA": 1.816,
"predicted_WHIP": 1.0333
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4835,
"form_weight": 0.5165,
"form_reliability": 0.6841,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.828,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6841,
"prior_weight": 0.3159
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.202,
"final": 0.1043,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.856,
"final": 0.9256,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.177,
"final": 0.0914,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.179,
"final": 0.609,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.053,
"final": 0.0274,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.816,
"final": 1.816,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0333,
"final": 1.0333,
"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 | David Bednar |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5803 |
| ESPN Rank | 138 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0080 |
| Avg Velo | 90.0148 |
| Avg Spin | 2133.5362 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.7391 |
| Season WHIP | 1.0652 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"opponent": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"edges": {
"quality_edge": 0.1306,
"offense_edge": -0.0141,
"opponent_offense_edge": 0.048,
"defense_strength": 0.19,
"opponent_defense_weakness": -0.0078,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9821,
"strikeout": 1.0001
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670280",
"profile": {
"available": true,
"pitcher_id": "670280",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 175.0,
"k_percent": 28.2,
"bb_percent": 7.4,
"woba": 0.257,
"xwoba": 0.26,
"sweet_spot_percent": 22.7,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 37.8,
"avg_best_speed": 74.285,
"avg_hyper_speed": 93.3888,
"whiff_percent": 31.1,
"swing_percent": 52.7
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.1598,
"command_and_miss": 0.7211,
"regression_edge": -0.0857,
"xwoba_edge": 1.4857,
"barrel_edge": 0.6444,
"hard_hit_edge": 0.0429,
"whiff_edge": 0.7714,
"bb_edge": 0.375,
"pitch_design_score": 0.008
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670280",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 27,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 27,
"pitch_usage": 0.0,
"release_speed": 90.01475336352861,
"release_spin_rate": 2133.5361680468927,
"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": 27,
"pitch_usage": 0.0,
"release_speed": 90.01475336352861,
"release_spin_rate": 2133.5361680468927,
"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.0148,
"release_spin_rate": 2133.5362,
"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.008,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0569,
"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.5803,
"sample_weight": 0.7,
"run_prevention_factor": 0.9507,
"strikeout_factor": 1.045,
"walk_factor": 0.979,
"homer_factor": 0.9315,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670280",
"espn_id": 38303,
"player_name": "David Bednar",
"team": "NYY",
"role": "pitcher",
"espn_rank": 138,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 138,
"gp_value": 43.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.7391,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 22.0,
"sv_rank": 9,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 46.0,
"ip_rank": 222,
"h_value": 35.0,
"h_rank": 278,
"er_value": 14.0,
"er_rank": 338,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 14.0,
"bb_rank": 308,
"k_value": 53.0,
"k_rank": 179,
"k_per_9_value": 10.369565,
"k_per_9_rank": 21,
"whip_value": 1.0652,
"whip_rank": null,
"war_value": 1.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9655,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9655,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.952,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0315,
"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": 11.0,
"ER": 2,
"H": 4,
"BB": 2,
"SO": 13,
"HR": 1,
"ERA": 1.6363636363636365,
"WHIP": 0.5454545454545454,
"K9": 10.636363636363637,
"HR9": 0.8181818181818182,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "670280",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 27,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 27,
"pitch_usage": 0.0,
"release_speed": 90.01475336352861,
"release_spin_rate": 2133.5361680468927,
"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": 27,
"pitch_usage": 0.0,
"release_speed": 90.01475336352861,
"release_spin_rate": 2133.5361680468927,
"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.0148,
"release_spin_rate": 2133.5362,
"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.008,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0569,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.167,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6471,
"prior_weight": 0.3529
},
"role": "pitcher",
"player_id": "670280",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 17.0,
"Pitches": 77.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 3.4,
"Pitches": 15.4
},
"rates": {
"ERA": 4.1538,
"WHIP": 0.9231,
"ER_per_IP": 0.46154,
"H_per_IP": 0.69231,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 2.0,
"SO": 13.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 175.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 1.3,
"HR": 0.1,
"BF": 4.0,
"Pitches": 17.5
},
"rates": {
"ERA": 1.6364,
"WHIP": 0.5455,
"ER_per_IP": 0.18182,
"H_per_IP": 0.36364,
"BB_per_IP": 0.18182,
"SO_per_IP": 1.18182,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 43,
"totals": {
"IP": 46.0,
"ER": 14.0,
"R": 17.0,
"H": 35.0,
"BB": 14.0,
"SO": 53.0,
"HR": 3.0,
"BF": 188.0,
"Pitches": 788.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3256,
"R": 0.3953,
"H": 0.814,
"BB": 0.3256,
"SO": 1.2326,
"HR": 0.0698,
"BF": 4.3721,
"Pitches": 18.3256
},
"rates": {
"ERA": 2.7391,
"WHIP": 1.0652,
"ER_per_IP": 0.30435,
"H_per_IP": 0.76087,
"BB_per_IP": 0.30435,
"SO_per_IP": 1.15217,
"HR_per_IP": 0.06522
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.394,
"predicted_H": 0.727,
"predicted_BB": 0.273,
"predicted_SO": 1.158,
"predicted_HR": 0.15,
"predicted_ERA": 3.542,
"predicted_WHIP": 1.0003
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4991,
"form_weight": 0.5009,
"form_reliability": 0.6471,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.167,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6471,
"prior_weight": 0.3529
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.394,
"final": 0.1974,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.727,
"final": 0.3642,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.273,
"final": 0.1367,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.158,
"final": 1.0791,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.15,
"final": 0.0751,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.542,
"final": 3.542,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0003,
"final": 1.0003,
"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 | Fernando Cruz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5311 |
| ESPN Rank | 105 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.8471 |
| Avg Spin | 1492.6653 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.5809 |
| Season WHIP | 1.3015 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"opponent": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"edges": {
"quality_edge": 0.1306,
"offense_edge": -0.0141,
"opponent_offense_edge": 0.048,
"defense_strength": 0.19,
"opponent_defense_weakness": -0.0078,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9821,
"strikeout": 1.0001
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "518585",
"profile": {
"available": true,
"pitcher_id": "518585",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 183.0,
"k_percent": 29.1,
"bb_percent": 14.3,
"woba": 0.283,
"xwoba": 0.277,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 21.9,
"avg_best_speed": 74.134,
"avg_hyper_speed": 92.0403,
"whiff_percent": 40.1,
"swing_percent": 43.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.8947,
"command_and_miss": 0.8839,
"regression_edge": 0.1714,
"xwoba_edge": 1.0,
"barrel_edge": 0.0889,
"hard_hit_edge": 2.3143,
"whiff_edge": 2.0571,
"bb_edge": -1.35,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "518585",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 84.84708903507756,
"release_spin_rate": 1492.6653126830943,
"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": 20,
"pitch_usage": 0.0,
"release_speed": 84.84708903507756,
"release_spin_rate": 1492.6653126830943,
"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": 84.8471,
"release_spin_rate": 1492.6653,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.5311,
"sample_weight": 0.732,
"run_prevention_factor": 0.9549,
"strikeout_factor": 1.0885,
"walk_factor": 1.0791,
"homer_factor": 0.9051,
"woba_minus_xwoba": 0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518585",
"espn_id": 34068,
"player_name": "Fernando Cruz",
"team": "NYY",
"role": "pitcher",
"espn_rank": 105,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 105,
"gp_value": 50.0,
"gp_rank": 9,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.5808,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 17.0,
"hld_rank": 10,
"ip_value": 45.1,
"ip_rank": 231,
"h_value": 32.0,
"h_rank": 309,
"er_value": 13.0,
"er_rank": 355,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 27.0,
"bb_rank": 122,
"k_value": 56.0,
"k_rank": 166,
"k_per_9_value": 11.117647,
"k_per_9_rank": 19,
"whip_value": 1.3014,
"whip_rank": null,
"war_value": 1.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.967,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.967,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0579,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9305,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0648,
"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": 3,
"H": 7,
"BB": 7,
"SO": 9,
"HR": 1,
"ERA": 3.115384615384615,
"WHIP": 1.6153846153846152,
"K9": 9.346153846153845,
"HR9": 1.0384615384615383,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "518585",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 84.84708903507756,
"release_spin_rate": 1492.6653126830943,
"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": 20,
"pitch_usage": 0.0,
"release_speed": 84.84708903507756,
"release_spin_rate": 1492.6653126830943,
"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": 84.8471,
"release_spin_rate": 1492.6653,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.034,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6437,
"prior_weight": 0.3563
},
"role": "pitcher",
"player_id": "518585",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 4.0,
"H": 4.0,
"BB": 5.0,
"SO": 5.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 93.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.8,
"H": 0.8,
"BB": 1.0,
"SO": 1.0,
"HR": 0.2,
"BF": 4.4,
"Pitches": 18.6
},
"rates": {
"ERA": 6.2308,
"WHIP": 2.0769,
"ER_per_IP": 0.69231,
"H_per_IP": 0.92308,
"BB_per_IP": 1.15385,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 7.0,
"SO": 9.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 179.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.7,
"BB": 0.7,
"SO": 0.9,
"HR": 0.1,
"BF": 4.0,
"Pitches": 17.9
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.6154,
"ER_per_IP": 0.34615,
"H_per_IP": 0.80769,
"BB_per_IP": 0.80769,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 50,
"totals": {
"IP": 45.1,
"ER": 13.0,
"R": 16.0,
"H": 32.0,
"BB": 27.0,
"SO": 56.0,
"HR": 3.0,
"BF": 193.0,
"Pitches": 785.0
},
"per_game": {
"IP": 1.0,
"ER": 0.26,
"R": 0.32,
"H": 0.64,
"BB": 0.54,
"SO": 1.12,
"HR": 0.06,
"BF": 3.86,
"Pitches": 15.7
},
"rates": {
"ERA": 2.5809,
"WHIP": 1.3015,
"ER_per_IP": 0.28676,
"H_per_IP": 0.70588,
"BB_per_IP": 0.59559,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.06618
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.496,
"predicted_H": 0.888,
"predicted_BB": 0.72,
"predicted_SO": 1.069,
"predicted_HR": 0.155,
"predicted_ERA": 4.4618,
"predicted_WHIP": 1.6077
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5005,
"form_weight": 0.4995,
"form_reliability": 0.6437,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.034,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6437,
"prior_weight": 0.3563
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.496,
"final": 0.2477,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.888,
"final": 0.9441,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.72,
"final": 0.3596,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.069,
"final": 0.5339,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.155,
"final": 0.0774,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4618,
"final": 4.4618,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6077,
"final": 1.6077,
"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 | Paul Blackburn |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1974 |
| ESPN Rank | 71 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0178 |
| Avg Velo | 89.5545 |
| Avg Spin | 2248.9283 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.1477 |
| Season WHIP | 1.0398 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"opponent": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"edges": {
"quality_edge": 0.1306,
"offense_edge": -0.0141,
"opponent_offense_edge": 0.048,
"defense_strength": 0.19,
"opponent_defense_weakness": -0.0078,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9821,
"strikeout": 1.0001
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621112",
"profile": {
"available": true,
"pitcher_id": "621112",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 210.0,
"k_percent": 19.1,
"bb_percent": 8.6,
"woba": 0.249,
"xwoba": 0.29,
"sweet_spot_percent": 26.6,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 32.3,
"avg_best_speed": 73.9339,
"avg_hyper_speed": 93.2165,
"whiff_percent": 21.6,
"swing_percent": 46.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.8167,
"command_and_miss": -0.3989,
"regression_edge": -1.1714,
"xwoba_edge": 0.6286,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.8286,
"whiff_edge": -0.5857,
"bb_edge": 0.075,
"pitch_design_score": -0.0178
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "621112",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 23,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 89.55449990693337,
"release_spin_rate": 2248.928276538118,
"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": 23,
"pitch_usage": 0.0,
"release_speed": 89.55449990693337,
"release_spin_rate": 2248.928276538118,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5545,
"release_spin_rate": 2248.9283,
"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.0178,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1272,
"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.1974,
"sample_weight": 0.84,
"run_prevention_factor": 0.9832,
"strikeout_factor": 0.9647,
"walk_factor": 0.995,
"homer_factor": 0.9444,
"woba_minus_xwoba": -0.041,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "621112",
"espn_id": 32776,
"player_name": "Paul Blackburn",
"team": "NYY",
"role": "pitcher",
"espn_rank": 71,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 71,
"gp_value": 38.0,
"gp_rank": 109,
"gs_value": 2.0,
"gs_rank": 244,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.1477,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 2.0,
"hld_rank": 199,
"ip_value": 58.2,
"ip_rank": 160,
"h_value": 41.0,
"h_rank": 227,
"er_value": 14.0,
"er_rank": 338,
"hr_value": 6.0,
"hr_rank": 208,
"bb_value": 20.0,
"bb_rank": 203,
"k_value": 44.0,
"k_rank": 245,
"k_per_9_value": 6.75,
"k_per_9_rank": 41,
"whip_value": 1.0397,
"whip_rank": null,
"war_value": 1.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9533,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9703,
"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": 16.1,
"ER": 3,
"H": 6,
"BB": 7,
"SO": 14,
"HR": 3,
"ERA": 1.6530612244897958,
"WHIP": 0.7959183673469387,
"K9": 7.7142857142857135,
"HR9": 1.6530612244897958,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "621112",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 23,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 89.55449990693337,
"release_spin_rate": 2248.928276538118,
"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": 23,
"pitch_usage": 0.0,
"release_speed": 89.55449990693337,
"release_spin_rate": 2248.928276538118,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5545,
"release_spin_rate": 2248.9283,
"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.0178,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1272,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.691,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7004,
"prior_weight": 0.2996
},
"role": "pitcher",
"player_id": "621112",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 9.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 4.0,
"SO": 7.0,
"HR": 2.0,
"BF": 32.0,
"Pitches": 117.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.8,
"SO": 1.4,
"HR": 0.4,
"BF": 6.4,
"Pitches": 23.4
},
"rates": {
"ERA": 2.0,
"WHIP": 0.7778,
"ER_per_IP": 0.22222,
"H_per_IP": 0.33333,
"BB_per_IP": 0.44444,
"SO_per_IP": 0.77778,
"HR_per_IP": 0.22222
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 16.1,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 7.0,
"SO": 14.0,
"HR": 3.0,
"BF": 59.0,
"Pitches": 226.0
},
"per_game": {
"IP": 1.2,
"ER": 0.3,
"R": 0.3,
"H": 0.6,
"BB": 0.7,
"SO": 1.4,
"HR": 0.3,
"BF": 5.9,
"Pitches": 22.6
},
"rates": {
"ERA": 1.6531,
"WHIP": 0.7959,
"ER_per_IP": 0.18367,
"H_per_IP": 0.36735,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.18367
}
},
"season": {
"games": 38,
"totals": {
"IP": 58.2,
"ER": 14.0,
"R": 15.0,
"H": 41.0,
"BB": 20.0,
"SO": 44.0,
"HR": 6.0,
"BF": 228.0,
"Pitches": 815.0
},
"per_game": {
"IP": 1.2,
"ER": 0.3684,
"R": 0.3947,
"H": 1.0789,
"BB": 0.5263,
"SO": 1.1579,
"HR": 0.1579,
"BF": 6.0,
"Pitches": 21.4474
},
"rates": {
"ERA": 2.1477,
"WHIP": 1.0398,
"ER_per_IP": 0.23864,
"H_per_IP": 0.69886,
"BB_per_IP": 0.34091,
"SO_per_IP": 0.75,
"HR_per_IP": 0.10227
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.44,
"predicted_H": 0.859,
"predicted_BB": 0.586,
"predicted_SO": 1.243,
"predicted_HR": 0.256,
"predicted_ERA": 2.701,
"predicted_WHIP": 0.985
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4766,
"form_weight": 0.5234,
"form_reliability": 0.7004,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.691,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7004,
"prior_weight": 0.2996
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.44,
"final": 0.2303,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.859,
"final": 0.4496,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.586,
"final": 0.3067,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.243,
"final": 1.1272,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.256,
"final": 0.134,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.701,
"final": 2.701,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.985,
"final": 0.985,
"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.132 | 0.000 | 0.000 | Hitting_2B | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.658 | 4.000 | 4.000 | Hitting_AB | 3.872 | 5.000 | 0.128 | -1.000 |
| predicted_AVG | 0.259 | 0.250 | 0.250 | Hitting_AVG | 0.273 | 0.400 | -0.023 | -0.150 |
| predicted_BB | 0.289 | 0.000 | 0.000 | Hitting_BB | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.947 | 1.000 | 1.000 | Hitting_H | 1.057 | 2.000 | -0.057 | -1.000 |
| predicted_HR | 0.211 | 1.000 | 0.000 | Hitting_HR | 0.245 | 0.000 | 0.755 | 1.000 |
| predicted_OBP | 0.313 | 0.250 | 0.250 | Hitting_OBP | 0.326 | 0.400 | -0.076 | -0.150 |
| predicted_R | 0.474 | 1.000 | 0.000 | Hitting_R | 0.535 | 1.000 | 0.465 | 0.000 |
| predicted_RBI | 0.579 | 3.000 | 1.000 | Hitting_RBI | 0.660 | 1.000 | 2.340 | 2.000 |
| predicted_SLG | 0.475 | 1.000 | 0.250 | Hitting_SLG | 0.513 | 0.400 | 0.487 | 0.600 |
| predicted_SO | 0.961 | 3.000 | 1.000 | Hitting_SO | 1.007 | 1.000 | 1.993 | 2.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 | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.5790 -> 3.0000 (boost 2.4210, better) |
| Biggest Deboost | predicted_BB: 0.2890 -> 0.0000 (deboost -0.2890, 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_BB: 0.2890 -> 0.3415 (boost 0.0525, better) | predicted_RBI: 0.5790 -> 0.5193 (deboost -0.0597, 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 | 2 | 3 | predicted_RBI: 0.5257 -> 1.0000 (boost 0.4743, better) | predicted_BB: 0.3427 -> 0.0000 (deboost -0.3427, worse) | AB rounded to 4 (raw=3.70), rates preserved: AVG=0.264 HR/AB=0.050 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4777 -> 0.0000 (deboost -0.4777, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4527 -> 0.2500 (deboost -0.2027, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4527 (boost 0.2027, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"position": "DH",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.132,
"predicted_3B": 0.013,
"predicted_AB": 3.658,
"predicted_AVG": 0.259,
"predicted_BB": 0.289,
"predicted_H": 0.947,
"predicted_HR": 0.211,
"predicted_OBP": 0.313,
"predicted_R": 0.474,
"predicted_RBI": 0.579,
"predicted_SLG": 0.475,
"predicted_SO": 0.961
},
"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.1218,
"predicted_3B": 0.0113,
"predicted_AB": 3.7008,
"predicted_AVG": 0.2621,
"predicted_BB": 0.3415,
"predicted_H": 0.9699,
"predicted_HBP": 0.018,
"predicted_HR": 0.1843,
"predicted_OBP": 0.3244,
"predicted_R": 0.4719,
"predicted_RBI": 0.5193,
"predicted_SLG": 0.4507,
"predicted_SO": 0.964
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1218,
"delta": -0.0102,
"percent_delta": -0.0773,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0113,
"delta": -0.0017,
"percent_delta": -0.1308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.658,
"after": 3.7008,
"delta": 0.0428,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2621,
"delta": 0.0031,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.3415,
"delta": 0.0525,
"percent_delta": 0.1817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.947,
"after": 0.9699,
"delta": 0.0229,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.211,
"after": 0.1843,
"delta": -0.0267,
"percent_delta": -0.1265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3244,
"delta": 0.0114,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.474,
"after": 0.4719,
"delta": -0.0021,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.579,
"after": 0.5193,
"delta": -0.0597,
"percent_delta": -0.1031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4507,
"delta": -0.0243,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.961,
"after": 0.964,
"delta": 0.003,
"percent_delta": 0.0031,
"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_BB",
"before": 0.289,
"after": 0.3415,
"delta": 0.0525,
"percent_delta": 0.1817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.579,
"after": 0.5193,
"delta": -0.0597,
"percent_delta": -0.1031,
"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.1218,
"predicted_3B": 0.0113,
"predicted_AB": 3.7008,
"predicted_AVG": 0.2637,
"predicted_BB": 0.3427,
"predicted_H": 0.9759,
"predicted_HBP": 0.018,
"predicted_HR": 0.1851,
"predicted_OBP": 0.3261,
"predicted_R": 0.4777,
"predicted_RBI": 0.5257,
"predicted_SLG": 0.4527,
"predicted_SO": 0.9607
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1218,
"after": 0.1218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7008,
"after": 3.7008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2621,
"after": 0.2637,
"delta": 0.0016,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3415,
"after": 0.3427,
"delta": 0.0012,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9699,
"after": 0.9759,
"delta": 0.006,
"percent_delta": 0.0062,
"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.1843,
"after": 0.1851,
"delta": 0.0008,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3244,
"after": 0.3261,
"delta": 0.0017,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4719,
"after": 0.4777,
"delta": 0.0058,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5193,
"after": 0.5257,
"delta": 0.0064,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4507,
"after": 0.4527,
"delta": 0.002,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.964,
"after": 0.9607,
"delta": -0.0033,
"percent_delta": -0.0034,
"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.70), rates preserved: AVG=0.264 HR/AB=0.050",
"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.1218,
"after": 0.0,
"delta": -0.1218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0,
"delta": -0.0113,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7008,
"after": 4.0,
"delta": 0.2992,
"percent_delta": 0.0808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3427,
"after": 0.0,
"delta": -0.3427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9759,
"after": 1.0,
"delta": 0.0241,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1851,
"after": 0.0,
"delta": -0.1851,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5257,
"after": 1.0,
"delta": 0.4743,
"percent_delta": 0.9022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9607,
"after": 1.0,
"delta": 0.0393,
"percent_delta": 0.0409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5257,
"after": 1.0,
"delta": 0.4743,
"percent_delta": 0.9022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3427,
"after": 0.0,
"delta": -0.3427,
"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=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.9158,
"bvp": 0.0842
},
"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": 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.4777,
"after": 0.0,
"delta": -0.4777,
"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.4777,
"after": 0.0,
"delta": -0.4777,
"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": 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.2637,
"after": 0.25,
"delta": -0.0137,
"percent_delta": -0.052,
"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.3261,
"after": 0.25,
"delta": -0.0761,
"percent_delta": -0.2334,
"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.4527,
"after": 0.25,
"delta": -0.2027,
"percent_delta": -0.4478,
"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.4527,
"after": 0.25,
"delta": -0.2027,
"percent_delta": -0.4478,
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.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": 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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.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_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"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.2637,
"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.3261,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4527,
"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.25,
"after": 0.2637,
"delta": 0.0137,
"percent_delta": 0.0548,
"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": 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.3261,
"delta": 0.0761,
"percent_delta": 0.3044,
"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": 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.25,
"after": 0.4527,
"delta": 0.2027,
"percent_delta": 0.8109,
"direction": "boost",
"projection_effect": "better",
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4527,
"delta": 0.2027,
"percent_delta": 0.8109,
"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.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.658,
"after": 4.0,
"delta": 0.342,
"percent_delta": 0.0935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2637,
"delta": 0.0047,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.947,
"after": 1.0,
"delta": 0.053,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.211,
"after": 1.0,
"delta": 0.789,
"percent_delta": 3.7393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3261,
"delta": 0.0131,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.474,
"after": 1.0,
"delta": 0.526,
"percent_delta": 1.1097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.579,
"after": 3.0,
"delta": 2.421,
"percent_delta": 4.1813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4527,
"delta": -0.0223,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.961,
"after": 3.0,
"delta": 2.039,
"percent_delta": 2.1217,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.579,
"after": 3.0,
"delta": 2.421,
"percent_delta": 4.1813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"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.132 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.658 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.289 | - |
| predicted_H | 0.947 | - |
| predicted_HR | 0.211 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.474 | - |
| predicted_RBI | 0.579 | - |
| predicted_SLG | 0.475 | - |
| predicted_SO | 0.961 | - |
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.122 | -0.010 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.701 | 0.043 |
| predicted_AVG | 0.262 | 0.003 |
| predicted_BB | 0.342 | 0.053 |
| predicted_H | 0.970 | 0.023 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.184 | -0.027 |
| predicted_OBP | 0.324 | 0.011 |
| predicted_R | 0.472 | -0.002 |
| predicted_RBI | 0.519 | -0.060 |
| predicted_SLG | 0.451 | -0.024 |
| predicted_SO | 0.964 | 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.122 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.701 | 0.000 |
| predicted_AVG | 0.264 | 0.002 |
| predicted_BB | 0.343 | 0.001 |
| predicted_H | 0.976 | 0.006 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.185 | 0.001 |
| predicted_OBP | 0.326 | 0.002 |
| predicted_R | 0.478 | 0.006 |
| predicted_RBI | 0.526 | 0.006 |
| predicted_SLG | 0.453 | 0.002 |
| predicted_SO | 0.961 | -0.003 |
AB rounded to 4 (raw=3.70), rates preserved: AVG=0.264 HR/AB=0.050
| 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| 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 |
| 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 | 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.122 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.299 |
| predicted_AVG | 0.250 | -0.014 |
| predicted_BB | 0.000 | -0.343 |
| predicted_H | 1.000 | 0.024 |
| predicted_HR | 0.000 | -0.185 |
| predicted_OBP | 0.250 | -0.076 |
| predicted_R | 0.000 | -0.478 |
| predicted_RBI | 1.000 | 0.474 |
| predicted_SLG | 0.250 | -0.203 |
| predicted_SO | 1.000 | 0.039 |
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 | 1.000 |
| RBI | 3.000 | 2.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 | - | 20.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 0.3000 | 0.4167 | 0.3000 | 0.3000 | 0.0000 | 0.0500 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 5.000 | 12.000 | 0.2632 | 0.3488 | 0.3684 | 0.2632 | 0.0263 | 0.0526 | 0.1316 | 0.3158 |
| season | 0.60 | 76 | - | 278.000 | 72.000 | 10.000 | 1.000 | 16.000 | 44.000 | 36.000 | 22.000 | 73.000 | 0.2590 | 0.3168 | 0.4748 | 0.2590 | 0.0575 | 0.1583 | 0.0791 | 0.2626 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.7590 |
| predicted_AVG | 0.2663 |
| predicted_BB | 0.4130 |
| predicted_H | 1.0010 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1480 |
| predicted_OBP | 0.3398 |
| predicted_R | 0.4690 |
| predicted_RBI | 0.4380 |
| predicted_SLG | 0.4177 |
| predicted_SO | 0.9680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.1080 | 0.1218 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0113 | model_form_blend |
| predicted_AB | 3.6580 | 3.7590 | 3.7008 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2663 | 0.2621 | model_form_blend |
| predicted_BB | 0.2890 | 0.4130 | 0.3415 | model_form_blend |
| predicted_H | 0.9470 | 1.0010 | 0.9699 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.2110 | 0.1480 | 0.1843 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3398 | 0.3244 | model_form_blend |
| predicted_R | 0.4740 | 0.4690 | 0.4719 | model_form_blend |
| predicted_RBI | 0.5790 | 0.4380 | 0.5193 | model_form_blend |
| predicted_SLG | 0.4750 | 0.4177 | 0.4507 | model_form_blend |
| predicted_SO | 0.9610 | 0.9680 | 0.9640 | 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 | 282 |
| Season rows before report date | 282 |
| 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 | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 3 |
| 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 | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| 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 | 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 | 1B |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 502671 |
| playerID | 502671 |
| playerName | Paul Goldschmidt |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.342 |
| sl_xwoba | 0.313 |
| sl_xba | 0.233 |
| sl_xslg | 0.42 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 37.4 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 47.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.125 | 0.000 | 0.000 | Hitting_2B | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.625 | 4.000 | 3.000 | Hitting_AB | 2.774 | 4.000 | 1.226 | 0.000 |
| predicted_AVG | 0.226 | 0.250 | 0.333 | Hitting_AVG | 0.240 | 0.500 | 0.010 | -0.250 |
| predicted_BB | 0.312 | 0.000 | 0.000 | Hitting_BB | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.594 | 1.000 | 1.000 | Hitting_H | 0.667 | 2.000 | 0.333 | -1.000 |
| predicted_HR | 0.094 | 0.000 | 0.000 | Hitting_HR | 0.108 | 1.000 | -0.108 | -1.000 |
| predicted_OBP | 0.309 | 0.250 | 0.333 | Hitting_OBP | 0.342 | 0.500 | -0.092 | -0.250 |
| predicted_R | 0.219 | 1.000 | 0.000 | Hitting_R | 0.280 | 1.000 | 0.720 | 0.000 |
| predicted_RBI | 0.344 | 0.000 | 0.000 | Hitting_RBI | 0.355 | 3.000 | -0.355 | -3.000 |
| predicted_SLG | 0.381 | 0.250 | 0.333 | Hitting_SLG | 0.407 | 1.250 | -0.157 | -1.000 |
| predicted_SO | 1.188 | 0.000 | 1.000 | Hitting_SO | 1.226 | 2.000 | -1.226 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 2.6250 -> 4.0000 (boost 1.3750, better) |
| Biggest Deboost | predicted_SO: 1.1880 -> 0.0000 (deboost -1.1880, 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_AB: 2.6250 -> 2.7475 (boost 0.1225, 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 | 2 | 5 | 3 | 4 | predicted_H: 0.6347 -> 1.0000 (boost 0.3653, better) | predicted_RBI: 0.3947 -> 0.0000 (deboost -0.3947, worse) | AB rounded to 3 (raw=2.75), rates preserved: AVG=0.231 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2416 -> 0.0000 (deboost -0.2416, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2310 -> 0.3330 (boost 0.1020, better) | predicted_SLG: 0.3930 -> 0.3330 (deboost -0.0600, worse) | 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3930 (boost 0.0600, better) | predicted_AVG: 0.3330 -> 0.2310 (deboost -0.1020, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682987",
"player_name": "Spencer Jones",
"position": "LF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 2.625,
"predicted_AVG": 0.226,
"predicted_BB": 0.312,
"predicted_H": 0.594,
"predicted_HR": 0.094,
"predicted_OBP": 0.309,
"predicted_R": 0.219,
"predicted_RBI": 0.344,
"predicted_SLG": 0.381,
"predicted_SO": 1.188
},
"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.1265,
"predicted_3B": 0.0011,
"predicted_AB": 2.7475,
"predicted_AVG": 0.2292,
"predicted_BB": 0.2919,
"predicted_H": 0.6308,
"predicted_HBP": 0.006,
"predicted_HR": 0.105,
"predicted_OBP": 0.3048,
"predicted_R": 0.2387,
"predicted_RBI": 0.3899,
"predicted_SLG": 0.3901,
"predicted_SO": 1.1505
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1265,
"delta": 0.0015,
"percent_delta": 0.012,
"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.625,
"after": 2.7475,
"delta": 0.1225,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2292,
"delta": 0.0032,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.2919,
"delta": -0.0201,
"percent_delta": -0.0644,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.594,
"after": 0.6308,
"delta": 0.0368,
"percent_delta": 0.062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.094,
"after": 0.105,
"delta": 0.011,
"percent_delta": 0.117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3048,
"delta": -0.0042,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.219,
"after": 0.2387,
"delta": 0.0197,
"percent_delta": 0.09,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.344,
"after": 0.3899,
"delta": 0.0459,
"percent_delta": 0.1334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.3901,
"delta": 0.0091,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.188,
"after": 1.1505,
"delta": -0.0375,
"percent_delta": -0.0316,
"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_AB",
"before": 2.625,
"after": 2.7475,
"delta": 0.1225,
"percent_delta": 0.0467,
"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": 32
}
},
{
"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.1265,
"predicted_3B": 0.0011,
"predicted_AB": 2.7475,
"predicted_AVG": 0.231,
"predicted_BB": 0.2929,
"predicted_H": 0.6347,
"predicted_HBP": 0.006,
"predicted_HR": 0.1054,
"predicted_OBP": 0.3051,
"predicted_R": 0.2416,
"predicted_RBI": 0.3947,
"predicted_SLG": 0.393,
"predicted_SO": 1.1466
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1265,
"after": 0.1265,
"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.7475,
"after": 2.7475,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2292,
"after": 0.231,
"delta": 0.0018,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2919,
"after": 0.2929,
"delta": 0.001,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6308,
"after": 0.6347,
"delta": 0.0039,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.105,
"after": 0.1054,
"delta": 0.0004,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3048,
"after": 0.3051,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2387,
"after": 0.2416,
"delta": 0.0029,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3899,
"after": 0.3947,
"delta": 0.0048,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3901,
"after": 0.393,
"delta": 0.0029,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1505,
"after": 1.1466,
"delta": -0.0039,
"percent_delta": -0.0034,
"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.75), rates preserved: AVG=0.231 HR/AB=0.038",
"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.1265,
"after": 0.0,
"delta": -0.1265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.7475,
"after": 3.0,
"delta": 0.2525,
"percent_delta": 0.0919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2929,
"after": 0.0,
"delta": -0.2929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6347,
"after": 1.0,
"delta": 0.3653,
"percent_delta": 0.5755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1054,
"after": 0.0,
"delta": -0.1054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3947,
"after": 0.0,
"delta": -0.3947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1466,
"after": 1.0,
"delta": -0.1466,
"percent_delta": -0.1279,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6347,
"after": 1.0,
"delta": 0.3653,
"percent_delta": 0.5755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3947,
"after": 0.0,
"delta": -0.3947,
"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.2416,
"after": 0.0,
"delta": -0.2416,
"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.2416,
"after": 0.0,
"delta": -0.2416,
"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.231,
"after": 0.333,
"delta": 0.102,
"percent_delta": 0.4416,
"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.3051,
"after": 0.333,
"delta": 0.0279,
"percent_delta": 0.0914,
"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.393,
"after": 0.333,
"delta": -0.06,
"percent_delta": -0.1527,
"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.231,
"after": 0.333,
"delta": 0.102,
"percent_delta": 0.4416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.333,
"delta": -0.06,
"percent_delta": -0.1527,
"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": 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.231,
"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.3051,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.393,
"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.231,
"delta": -0.102,
"percent_delta": -0.3063,
"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.3051,
"delta": -0.0279,
"percent_delta": -0.0838,
"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.393,
"delta": 0.06,
"percent_delta": 0.1801,
"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.393,
"delta": 0.06,
"percent_delta": 0.1801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.231,
"delta": -0.102,
"percent_delta": -0.3063,
"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.125,
"after": 0.0,
"delta": -0.125,
"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.625,
"after": 4.0,
"delta": 1.375,
"percent_delta": 0.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.231,
"delta": 0.005,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.594,
"after": 1.0,
"delta": 0.406,
"percent_delta": 0.6835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3051,
"delta": -0.0039,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.219,
"after": 1.0,
"delta": 0.781,
"percent_delta": 3.5662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.344,
"after": 0.0,
"delta": -0.344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.393,
"delta": 0.012,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.188,
"after": 0.0,
"delta": -1.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.625,
"after": 4.0,
"delta": 1.375,
"percent_delta": 0.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.188,
"after": 0.0,
"delta": -1.188,
"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.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.625 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 0.594 | - |
| predicted_HR | 0.094 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.219 | - |
| predicted_RBI | 0.344 | - |
| predicted_SLG | 0.381 | - |
| predicted_SO | 1.188 | - |
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.127 | 0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.748 | 0.123 |
| predicted_AVG | 0.229 | 0.003 |
| predicted_BB | 0.292 | -0.020 |
| predicted_H | 0.631 | 0.037 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.105 | 0.011 |
| predicted_OBP | 0.305 | -0.004 |
| predicted_R | 0.239 | 0.020 |
| predicted_RBI | 0.390 | 0.046 |
| predicted_SLG | 0.390 | 0.009 |
| predicted_SO | 1.151 | -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.127 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.748 | 0.000 |
| predicted_AVG | 0.231 | 0.002 |
| predicted_BB | 0.293 | 0.001 |
| predicted_H | 0.635 | 0.004 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.105 | 0.000 |
| predicted_OBP | 0.305 | 0.000 |
| predicted_R | 0.242 | 0.003 |
| predicted_RBI | 0.395 | 0.005 |
| predicted_SLG | 0.393 | 0.003 |
| predicted_SO | 1.147 | -0.004 |
AB rounded to 3 (raw=2.75), rates preserved: AVG=0.231 HR/AB=0.038
| 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.127 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.252 |
| predicted_AVG | 0.333 | 0.102 |
| predicted_BB | 0.000 | -0.293 |
| predicted_H | 1.000 | 0.365 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.333 | 0.028 |
| predicted_R | 0.000 | -0.242 |
| predicted_RBI | 0.000 | -0.395 |
| predicted_SLG | 0.333 | -0.060 |
| predicted_SO | 1.000 | -0.147 |
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 | - | 13.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 1.000 | 4.000 | 0.2308 | 0.2857 | 0.4615 | 0.2308 | 0.0769 | 0.3077 | 0.0769 | 0.3077 |
| last_10 | 0.20 | 10 | - | 29.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 12.000 | 0.2414 | 0.2667 | 0.4138 | 0.2414 | 0.0345 | 0.1379 | 0.0345 | 0.4138 |
| season | 0.60 | 32 | - | 84.000 | 19.000 | 4.000 | 0.000 | 3.000 | 11.000 | 7.000 | 10.000 | 38.000 | 0.2262 | 0.3085 | 0.3810 | 0.2262 | 0.0357 | 0.1310 | 0.1191 | 0.4524 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.9480 |
| predicted_AVG | 0.2345 |
| predicted_BB | 0.2590 |
| predicted_H | 0.6910 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.2980 |
| predicted_R | 0.2710 |
| predicted_RBI | 0.4650 |
| predicted_SLG | 0.4050 |
| predicted_SO | 1.0890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1290 | 0.1265 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.6250 | 2.9480 | 2.7475 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2345 | 0.2292 | model_form_blend |
| predicted_BB | 0.3120 | 0.2590 | 0.2919 | model_form_blend |
| predicted_H | 0.5940 | 0.6910 | 0.6308 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0940 | 0.1230 | 0.1050 | model_form_blend |
| predicted_OBP | 0.3090 | 0.2980 | 0.3048 | model_form_blend |
| predicted_R | 0.2190 | 0.2710 | 0.2387 | model_form_blend |
| predicted_RBI | 0.3440 | 0.4650 | 0.3899 | model_form_blend |
| predicted_SLG | 0.3810 | 0.4050 | 0.3901 | model_form_blend |
| predicted_SO | 1.1880 | 1.0890 | 1.1505 | 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 | 93 |
| Season rows before report date | 93 |
| Report year | 2026 |
| Profile rows used | 32 |
| 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.226 |
| 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 | 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 | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 5 |
| 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 | LF-RF |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 682987 |
| playerID | 682987 |
| playerName | Spencer Jones |
| pos | CF |
| started | True |
| startingPosition | LF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 39.6 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.292 |
| sl_xwoba | 0.287 |
| sl_xba | 0.2 |
| sl_xslg | 0.344 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 62.8 |
| sl_exit_velocity_avg | 94.8 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 42.1 |
| sl_swing_percent | 53.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.167 | 0.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 4.850 | 5.000 | 5.000 | Hitting_AB | 3.719 | 5.000 | 1.281 | 0.000 |
| predicted_AVG | 0.193 | 0.000 | 0.200 | Hitting_AVG | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_BB | 0.536 | 0.000 | 1.000 | Hitting_BB | 0.583 | 1.000 | -0.583 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 0.940 | 0.000 | 1.000 | Hitting_H | 0.814 | 0.000 | -0.814 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.333 | Hitting_OBP | 0.322 | 0.167 | -0.322 | -0.167 |
| predicted_R | 0.595 | 0.000 | 1.000 | Hitting_R | 0.645 | 0.000 | -0.645 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.530 | 0.000 | -0.530 | 0.000 |
| predicted_SLG | 0.343 | 0.000 | 0.200 | Hitting_SLG | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_SO | 0.667 | 3.000 | 1.000 | Hitting_SO | 0.678 | 2.000 | 2.322 | 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.6670 -> 3.0000 (boost 2.3330, worse) |
| Biggest Deboost | predicted_H: 0.9400 -> 0.0000 (deboost -0.9400, 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_AB: 4.8500 -> 4.2663 (deboost -0.5837, 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 | 4 | 3 | 3 | 4 | predicted_AB: 4.2663 -> 5.0000 (boost 0.7337, better) | predicted_RBI: 0.3842 -> 0.0000 (deboost -0.3842, worse) | AB rounded to 5 (raw=4.85), rates preserved: AVG=0.159 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5518 -> 1.0000 (boost 0.4482, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2691 -> 0.3330 (boost 0.0639, better) | predicted_SLG: 0.3063 -> 0.2000 (deboost -0.1063, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | 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.2000 -> 0.3063 (boost 0.1063, better) | predicted_OBP: 0.3330 -> 0.2691 (deboost -0.0639, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.024,
"predicted_AB": 4.85,
"predicted_AVG": 0.193,
"predicted_BB": 0.536,
"predicted_H": 0.94,
"predicted_HR": 0.15,
"predicted_OBP": 0.286,
"predicted_R": 0.595,
"predicted_RBI": 0.44,
"predicted_SLG": 0.343,
"predicted_SO": 0.667
},
"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.1406,
"predicted_3B": 0.0197,
"predicted_AB": 4.2663,
"predicted_AVG": 0.1759,
"predicted_BB": 0.5138,
"predicted_H": 0.7665,
"predicted_HBP": 0.002,
"predicted_HR": 0.118,
"predicted_OBP": 0.2728,
"predicted_R": 0.5451,
"predicted_RBI": 0.3795,
"predicted_SLG": 0.306,
"predicted_SO": 0.6542
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1406,
"delta": -0.0264,
"percent_delta": -0.1581,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0197,
"delta": -0.0043,
"percent_delta": -0.1792,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.85,
"after": 4.2663,
"delta": -0.5837,
"percent_delta": -0.1204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.193,
"after": 0.1759,
"delta": -0.0171,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.536,
"after": 0.5138,
"delta": -0.0222,
"percent_delta": -0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.7665,
"delta": -0.1735,
"percent_delta": -0.1846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.118,
"delta": -0.032,
"percent_delta": -0.2133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2728,
"delta": -0.0132,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.5451,
"delta": -0.0499,
"percent_delta": -0.0839,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.3795,
"delta": -0.0605,
"percent_delta": -0.1375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.306,
"delta": -0.037,
"percent_delta": -0.1079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.6542,
"delta": -0.0128,
"percent_delta": -0.0192,
"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_AB",
"before": 4.85,
"after": 4.2663,
"delta": -0.5837,
"percent_delta": -0.1204,
"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.1406,
"predicted_3B": 0.0197,
"predicted_AB": 4.2663,
"predicted_AVG": 0.1808,
"predicted_BB": 0.5155,
"predicted_H": 0.7713,
"predicted_HBP": 0.002,
"predicted_HR": 0.1185,
"predicted_OBP": 0.2691,
"predicted_R": 0.5518,
"predicted_RBI": 0.3842,
"predicted_SLG": 0.3063,
"predicted_SO": 0.652
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1406,
"after": 0.1406,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0197,
"after": 0.0197,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2663,
"after": 4.2663,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1759,
"after": 0.1808,
"delta": 0.0049,
"percent_delta": 0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5138,
"after": 0.5155,
"delta": 0.0017,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7665,
"after": 0.7713,
"delta": 0.0048,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.118,
"after": 0.1185,
"delta": 0.0005,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2728,
"after": 0.2691,
"delta": -0.0037,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5451,
"after": 0.5518,
"delta": 0.0067,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3795,
"after": 0.3842,
"delta": 0.0047,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.3063,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6542,
"after": 0.652,
"delta": -0.0022,
"percent_delta": -0.0034,
"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 5 (raw=4.85), rates preserved: AVG=0.159 HR/AB=0.024",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1406,
"after": 0.0,
"delta": -0.1406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0197,
"after": 0.0,
"delta": -0.0197,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2663,
"after": 5.0,
"delta": 0.7337,
"percent_delta": 0.172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5155,
"after": 1.0,
"delta": 0.4845,
"percent_delta": 0.9399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7713,
"after": 1.0,
"delta": 0.2287,
"percent_delta": 0.2965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1185,
"after": 0.0,
"delta": -0.1185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3842,
"after": 0.0,
"delta": -0.3842,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.652,
"after": 1.0,
"delta": 0.348,
"percent_delta": 0.5337,
"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_AB",
"before": 4.2663,
"after": 5.0,
"delta": 0.7337,
"percent_delta": 0.172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3842,
"after": 0.0,
"delta": -0.3842,
"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": 1.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": 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.5518,
"after": 1.0,
"delta": 0.4482,
"percent_delta": 0.8123,
"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.5518,
"after": 1.0,
"delta": 0.4482,
"percent_delta": 0.8123,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.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.1808,
"after": 0.2,
"delta": 0.0192,
"percent_delta": 0.1062,
"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.2691,
"after": 0.333,
"delta": 0.0639,
"percent_delta": 0.2375,
"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_SLG",
"before": 0.3063,
"after": 0.2,
"delta": -0.1063,
"percent_delta": -0.347,
"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.2691,
"after": 0.333,
"delta": 0.0639,
"percent_delta": 0.2375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3063,
"after": 0.2,
"delta": -0.1063,
"percent_delta": -0.347,
"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": 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": 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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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": {
"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.1808,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2691,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3063,
"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": 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.1808,
"delta": -0.0192,
"percent_delta": -0.0961,
"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.2691,
"delta": -0.0639,
"percent_delta": -0.1919,
"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.2,
"after": 0.3063,
"delta": 0.1063,
"percent_delta": 0.5314,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3063,
"delta": 0.1063,
"percent_delta": 0.5314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2691,
"delta": -0.0639,
"percent_delta": -0.1919,
"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.167,
"after": 0.0,
"delta": -0.167,
"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": 4.85,
"after": 5.0,
"delta": 0.15,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.193,
"after": 0.1808,
"delta": -0.0122,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.536,
"after": 0.0,
"delta": -0.536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.286,
"after": 0.2691,
"delta": -0.0169,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.0,
"delta": -0.595,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3063,
"delta": -0.0367,
"percent_delta": -0.107,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 3.0,
"delta": 2.333,
"percent_delta": 3.4978,
"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.667,
"after": 3.0,
"delta": 2.333,
"percent_delta": 3.4978,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"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.167 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 4.850 | - |
| predicted_AVG | 0.193 | - |
| predicted_BB | 0.536 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.343 | - |
| predicted_SO | 0.667 | - |
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.141 | -0.026 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 4.266 | -0.584 |
| predicted_AVG | 0.176 | -0.017 |
| predicted_BB | 0.514 | -0.022 |
| predicted_H | 0.766 | -0.173 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.118 | -0.032 |
| predicted_OBP | 0.273 | -0.013 |
| predicted_R | 0.545 | -0.050 |
| predicted_RBI | 0.380 | -0.060 |
| predicted_SLG | 0.306 | -0.037 |
| predicted_SO | 0.654 | -0.013 |
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.141 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 4.266 | 0.000 |
| predicted_AVG | 0.181 | 0.005 |
| predicted_BB | 0.515 | 0.002 |
| predicted_H | 0.771 | 0.005 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.118 | 0.001 |
| predicted_OBP | 0.269 | -0.004 |
| predicted_R | 0.552 | 0.007 |
| predicted_RBI | 0.384 | 0.005 |
| predicted_SLG | 0.306 | 0.000 |
| predicted_SO | 0.652 | -0.002 |
AB rounded to 5 (raw=4.85), rates preserved: AVG=0.159 HR/AB=0.024
| 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 | 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 | 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 | 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.141 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 5.000 | 0.734 |
| predicted_AVG | 0.200 | 0.019 |
| predicted_BB | 1.000 | 0.485 |
| predicted_H | 1.000 | 0.229 |
| predicted_HR | 0.000 | -0.118 |
| predicted_OBP | 0.333 | 0.064 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 0.000 | -0.384 |
| predicted_SLG | 0.200 | -0.106 |
| predicted_SO | 1.000 | 0.348 |
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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.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 | - | 17.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 0.0588 | 0.1579 | 0.0588 | 0.0588 | 0.0000 | 0.0000 | 0.1177 | 0.1765 |
| last_10 | 0.20 | 10 | - | 34.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 5.000 | 0.0294 | 0.1538 | 0.0294 | 0.0294 | 0.0000 | 0.0000 | 0.1471 | 0.1471 |
| season | 0.60 | 84 | - | 293.000 | 62.000 | 14.000 | 2.000 | 10.000 | 40.000 | 50.000 | 45.000 | 56.000 | 0.2116 | 0.3138 | 0.3754 | 0.2116 | 0.0341 | 0.1365 | 0.1536 | 0.1911 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.4810 |
| predicted_AVG | 0.1530 |
| predicted_BB | 0.4840 |
| predicted_H | 0.5330 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0750 |
| predicted_OBP | 0.2551 |
| predicted_R | 0.4780 |
| predicted_RBI | 0.2980 |
| predicted_SLG | 0.2563 |
| predicted_SO | 0.6370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1050 | 0.1406 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0197 | model_form_blend |
| predicted_AB | 4.8500 | 3.4810 | 4.2663 | model_form_blend |
| predicted_AVG | 0.1930 | 0.1530 | 0.1759 | model_form_blend |
| predicted_BB | 0.5360 | 0.4840 | 0.5138 | model_form_blend |
| predicted_H | 0.9400 | 0.5330 | 0.7665 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1500 | 0.0750 | 0.1180 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2551 | 0.2728 | model_form_blend |
| predicted_R | 0.5950 | 0.4780 | 0.5451 | model_form_blend |
| predicted_RBI | 0.4400 | 0.2980 | 0.3795 | model_form_blend |
| predicted_SLG | 0.3430 | 0.2563 | 0.3060 | model_form_blend |
| predicted_SO | 0.6670 | 0.6370 | 0.6542 | 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 | 338 |
| Season rows before report date | 338 |
| 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 | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.212 |
| 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 | 0 |
| 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 | CF |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 663757 |
| playerID | 663757 |
| playerName | Trent Grisham |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 15.9 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.314 |
| sl_xwoba | 0.346 |
| sl_xba | 0.25 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 45.1 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 17.1 |
| sl_swing_percent | 39.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.222 | 1.000 | 0.000 | Hitting_2B | 0.285 | 0.000 | 0.715 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.870 | 4.000 | 5.000 | Hitting_AB | 3.843 | 4.000 | 0.157 | 0.000 |
| predicted_AVG | 0.207 | 0.500 | 0.200 | Hitting_AVG | 0.247 | 0.000 | 0.253 | 0.500 |
| predicted_BB | 0.156 | 0.000 | 0.000 | Hitting_BB | 0.157 | 1.000 | -0.157 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 2.000 | 1.000 | Hitting_H | 0.948 | 0.000 | 1.052 | 2.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_OBP | 0.289 | 0.500 | 0.200 | Hitting_OBP | 0.279 | 0.200 | 0.221 | 0.300 |
| predicted_R | 0.467 | 1.000 | 1.000 | Hitting_R | 0.465 | 1.000 | 0.535 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.349 | 0.000 | -0.349 | 0.000 |
| predicted_SLG | 0.397 | 0.750 | 0.200 | Hitting_SLG | 0.430 | 0.000 | 0.320 | 0.750 |
| predicted_SO | 0.822 | 1.000 | 1.000 | Hitting_SO | 0.826 | 1.000 | 0.174 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 1.0100 -> 2.0000 (boost 0.9900, better) |
| Biggest Deboost | predicted_AB: 4.8700 -> 4.0000 (deboost -0.8700, 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_R: 0.4670 -> 0.5270 (boost 0.0600, better) | predicted_AB: 4.8700 -> 4.4800 (deboost -0.3900, 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.2881 -> 0.2481 (deboost -0.0400, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 4.4800 -> 5.0000 (boost 0.5200, better) | predicted_RBI: 0.3539 -> 0.0000 (deboost -0.3539, worse) | AB rounded to 5 (raw=4.87), rates preserved: AVG=0.203 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5335 -> 1.0000 (boost 0.4665, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3646 -> 0.2000 (deboost -0.1646, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | 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.3646 (boost 0.1646, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691176",
"player_name": "Jasson Domínguez",
"position": "RF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.222,
"predicted_3B": 0.0,
"predicted_AB": 4.87,
"predicted_AVG": 0.207,
"predicted_BB": 0.156,
"predicted_H": 1.01,
"predicted_HR": 0.15,
"predicted_OBP": 0.289,
"predicted_R": 0.467,
"predicted_RBI": 0.35,
"predicted_SLG": 0.397,
"predicted_SO": 0.822
},
"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.2036,
"predicted_3B": 0.0008,
"predicted_AB": 4.48,
"predicted_AVG": 0.2212,
"predicted_BB": 0.1613,
"predicted_H": 0.9839,
"predicted_HBP": 0.077,
"predicted_HR": 0.1455,
"predicted_OBP": 0.2881,
"predicted_R": 0.527,
"predicted_RBI": 0.3496,
"predicted_SLG": 0.3959,
"predicted_SO": 0.8281
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2036,
"delta": -0.0184,
"percent_delta": -0.0829,
"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": 4.87,
"after": 4.48,
"delta": -0.39,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2212,
"delta": 0.0142,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.1613,
"delta": 0.0053,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.9839,
"delta": -0.0261,
"percent_delta": -0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1455,
"delta": -0.0045,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2881,
"delta": -0.0009,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.527,
"delta": 0.06,
"percent_delta": 0.1285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3496,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.3959,
"delta": -0.0011,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 0.8281,
"delta": 0.0061,
"percent_delta": 0.0074,
"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_R",
"before": 0.467,
"after": 0.527,
"delta": 0.06,
"percent_delta": 0.1285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.87,
"after": 4.48,
"delta": -0.39,
"percent_delta": -0.0801,
"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": 45
}
},
{
"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.2036,
"predicted_3B": 0.0008,
"predicted_AB": 4.48,
"predicted_AVG": 0.221,
"predicted_BB": 0.1618,
"predicted_H": 0.99,
"predicted_HBP": 0.077,
"predicted_HR": 0.1461,
"predicted_OBP": 0.2481,
"predicted_R": 0.5335,
"predicted_RBI": 0.3539,
"predicted_SLG": 0.3646,
"predicted_SO": 0.8253
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2036,
"after": 0.2036,
"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": 4.48,
"after": 4.48,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2212,
"after": 0.221,
"delta": -0.0002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1613,
"after": 0.1618,
"delta": 0.0005,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9839,
"after": 0.99,
"delta": 0.0061,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1455,
"after": 0.1461,
"delta": 0.0006,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2881,
"after": 0.2481,
"delta": -0.04,
"percent_delta": -0.1388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.527,
"after": 0.5335,
"delta": 0.0065,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3496,
"after": 0.3539,
"delta": 0.0043,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3959,
"after": 0.3646,
"delta": -0.0313,
"percent_delta": -0.0791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8281,
"after": 0.8253,
"delta": -0.0028,
"percent_delta": -0.0034,
"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.2881,
"after": 0.2481,
"delta": -0.04,
"percent_delta": -0.1388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.87), rates preserved: AVG=0.203 HR/AB=0.030",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2036,
"after": 0.0,
"delta": -0.2036,
"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": 4.48,
"after": 5.0,
"delta": 0.52,
"percent_delta": 0.1161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1618,
"after": 0.0,
"delta": -0.1618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1461,
"after": 0.0,
"delta": -0.1461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3539,
"after": 0.0,
"delta": -0.3539,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8253,
"after": 1.0,
"delta": 0.1747,
"percent_delta": 0.2117,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.48,
"after": 5.0,
"delta": 0.52,
"percent_delta": 0.1161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3539,
"after": 0.0,
"delta": -0.3539,
"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": 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": 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.5335,
"after": 1.0,
"delta": 0.4665,
"percent_delta": 0.8744,
"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.5335,
"after": 1.0,
"delta": 0.4665,
"percent_delta": 0.8744,
"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": 0.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.221,
"after": 0.2,
"delta": -0.021,
"percent_delta": -0.095,
"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.2481,
"after": 0.2,
"delta": -0.0481,
"percent_delta": -0.1939,
"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.3646,
"after": 0.2,
"delta": -0.1646,
"percent_delta": -0.4515,
"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.3646,
"after": 0.2,
"delta": -0.1646,
"percent_delta": -0.4515,
"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": 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": 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": 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": 2,
"deboosted_metrics": 1,
"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_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.221,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2481,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3646,
"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.221,
"delta": 0.021,
"percent_delta": 0.1049,
"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": 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.2481,
"delta": 0.0481,
"percent_delta": 0.2407,
"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.3646,
"delta": 0.1646,
"percent_delta": 0.8231,
"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.3646,
"delta": 0.1646,
"percent_delta": 0.8231,
"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.222,
"after": 1.0,
"delta": 0.778,
"percent_delta": 3.5045,
"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.87,
"after": 4.0,
"delta": -0.87,
"percent_delta": -0.1786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.221,
"delta": 0.014,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.0,
"delta": 0.99,
"percent_delta": 0.9802,
"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.289,
"after": 0.2481,
"delta": -0.0409,
"percent_delta": -0.1415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 1.0,
"delta": 0.533,
"percent_delta": 1.1413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.3646,
"delta": -0.0324,
"percent_delta": -0.0816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 1.0,
"delta": 0.178,
"percent_delta": 0.2165,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.01,
"after": 2.0,
"delta": 0.99,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.87,
"after": 4.0,
"delta": -0.87,
"percent_delta": -0.1786,
"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.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.870 | - |
| predicted_AVG | 0.207 | - |
| predicted_BB | 0.156 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.467 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.397 | - |
| predicted_SO | 0.822 | - |
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.018 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.480 | -0.390 |
| predicted_AVG | 0.221 | 0.014 |
| predicted_BB | 0.161 | 0.005 |
| predicted_H | 0.984 | -0.026 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.145 | -0.005 |
| predicted_OBP | 0.288 | -0.001 |
| predicted_R | 0.527 | 0.060 |
| predicted_RBI | 0.350 | -0.000 |
| predicted_SLG | 0.396 | -0.001 |
| predicted_SO | 0.828 | 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.204 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.480 | 0.000 |
| predicted_AVG | 0.221 | -0.000 |
| predicted_BB | 0.162 | 0.001 |
| predicted_H | 0.990 | 0.006 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.146 | 0.001 |
| predicted_OBP | 0.248 | -0.040 |
| predicted_R | 0.533 | 0.006 |
| predicted_RBI | 0.354 | 0.004 |
| predicted_SLG | 0.365 | -0.031 |
| predicted_SO | 0.825 | -0.003 |
AB rounded to 5 (raw=4.87), rates preserved: AVG=0.203 HR/AB=0.030
| 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 | 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 | 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 | 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.204 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.520 |
| predicted_AVG | 0.200 | -0.021 |
| predicted_BB | 0.000 | -0.162 |
| predicted_H | 1.000 | 0.010 |
| predicted_HR | 0.000 | -0.146 |
| predicted_OBP | 0.200 | -0.048 |
| predicted_R | 1.000 | 0.467 |
| predicted_RBI | 0.000 | -0.354 |
| predicted_SLG | 0.200 | -0.165 |
| predicted_SO | 1.000 | 0.175 |
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 | 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 | 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 | - | 21.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 1.000 | 4.000 | 0.2381 | 0.3043 | 0.3810 | 0.2381 | 0.0476 | 0.0952 | 0.0476 | 0.1905 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 2.000 | 0.000 | 1.000 | 3.000 | 8.000 | 1.000 | 9.000 | 0.2500 | 0.2857 | 0.3750 | 0.2500 | 0.0250 | 0.0750 | 0.0250 | 0.2250 |
| season | 0.60 | 45 | - | 172.000 | 41.000 | 10.000 | 0.000 | 6.000 | 14.000 | 21.000 | 7.000 | 37.000 | 0.2384 | 0.2762 | 0.4012 | 0.2384 | 0.0349 | 0.0814 | 0.0407 | 0.2151 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1770 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.9150 |
| predicted_AVG | 0.2417 |
| predicted_BB | 0.1690 |
| predicted_H | 0.9460 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.1390 |
| predicted_OBP | 0.2868 |
| predicted_R | 0.6140 |
| predicted_RBI | 0.3490 |
| predicted_SLG | 0.3944 |
| predicted_SO | 0.8370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.1770 | 0.2036 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.8700 | 3.9150 | 4.4800 | model_form_blend |
| predicted_AVG | 0.2070 | 0.2417 | 0.2212 | model_form_blend |
| predicted_BB | 0.1560 | 0.1690 | 0.1613 | model_form_blend |
| predicted_H | 1.0100 | 0.9460 | 0.9839 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.1500 | 0.1390 | 0.1455 | model_form_blend |
| predicted_OBP | 0.2890 | 0.2868 | 0.2881 | model_form_blend |
| predicted_R | 0.4670 | 0.6140 | 0.5270 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3490 | 0.3496 | model_form_blend |
| predicted_SLG | 0.3970 | 0.3944 | 0.3959 | model_form_blend |
| predicted_SO | 0.8220 | 0.8370 | 0.8281 | 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 | 172 |
| Season rows before report date | 172 |
| Report year | 2026 |
| Profile rows used | 45 |
| 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.238 |
| 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 | 1 |
| 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 | 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 | RF |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 691176 |
| playerID | 691176 |
| playerName | Jasson Domínguez |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.293 |
| sl_xwoba | 0.296 |
| sl_xba | 0.26 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 28.1 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 24.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.180 | 1.000 | 0.000 | Hitting_2B | 0.181 | 1.000 | 0.819 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 4.490 | 3.000 | 4.000 | Hitting_AB | 3.843 | 5.000 | -0.843 | -2.000 |
| predicted_AVG | 0.219 | 0.667 | 0.250 | Hitting_AVG | 0.277 | 0.200 | 0.390 | 0.467 |
| predicted_BB | 0.510 | 1.000 | 0.000 | Hitting_BB | 0.563 | 1.000 | 0.437 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.980 | 2.000 | 1.000 | Hitting_H | 1.064 | 1.000 | 0.936 | 1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_OBP | 0.314 | 0.750 | 0.250 | Hitting_OBP | 0.373 | 0.333 | 0.377 | 0.417 |
| predicted_R | 0.690 | 1.000 | 1.000 | Hitting_R | 0.720 | 1.000 | 0.280 | 0.000 |
| predicted_RBI | 0.640 | 0.000 | 1.000 | Hitting_RBI | 0.739 | 0.000 | -0.739 | 0.000 |
| predicted_SLG | 0.459 | 1.000 | 0.250 | Hitting_SLG | 0.580 | 0.400 | 0.420 | 0.600 |
| predicted_SO | 1.050 | 1.000 | 1.000 | Hitting_SO | 1.031 | 2.000 | -0.031 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9800 -> 2.0000 (boost 1.0200, better) |
| Biggest Deboost | predicted_AB: 4.4900 -> 3.0000 (deboost -1.4900, 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 | 3 | 2 | predicted_SO: 1.0500 -> 1.1129 (boost 0.0629, worse) | predicted_AB: 4.4900 -> 4.2603 (deboost -0.2297, 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.4776 -> 0.4663 (deboost -0.0113, 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 | 2 | 4 | predicted_RBI: 0.6046 -> 1.0000 (boost 0.3954, better) | predicted_BB: 0.4810 -> 0.0000 (deboost -0.4810, worse) | AB rounded to 4 (raw=4.49), rates preserved: AVG=0.221 HR/AB=0.055 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6871 -> 1.0000 (boost 0.3129, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2334 -> 0.2500 (boost 0.0166, better) | predicted_SLG: 0.4663 -> 0.2500 (deboost -0.2163, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 3 | 2 | 3 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4663 (boost 0.2163, better) | predicted_AVG: 0.2500 -> 0.2334 (deboost -0.0166, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "700250",
"player_name": "Ben Rice",
"position": "1B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.03,
"predicted_AB": 4.49,
"predicted_AVG": 0.219,
"predicted_BB": 0.51,
"predicted_H": 0.98,
"predicted_HR": 0.25,
"predicted_OBP": 0.314,
"predicted_R": 0.69,
"predicted_RBI": 0.64,
"predicted_SLG": 0.459,
"predicted_SO": 1.05
},
"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.2054,
"predicted_3B": 0.0253,
"predicted_AB": 4.2603,
"predicted_AVG": 0.2335,
"predicted_BB": 0.4794,
"predicted_H": 0.9882,
"predicted_HBP": 0.02,
"predicted_HR": 0.2444,
"predicted_OBP": 0.3204,
"predicted_R": 0.6788,
"predicted_RBI": 0.5973,
"predicted_SLG": 0.4776,
"predicted_SO": 1.1129
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.2054,
"delta": 0.0254,
"percent_delta": 0.1411,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0253,
"delta": -0.0047,
"percent_delta": -0.1567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.49,
"after": 4.2603,
"delta": -0.2297,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2335,
"delta": 0.0145,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.51,
"after": 0.4794,
"delta": -0.0306,
"percent_delta": -0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9882,
"delta": 0.0082,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2444,
"delta": -0.0056,
"percent_delta": -0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3204,
"delta": 0.0064,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.69,
"after": 0.6788,
"delta": -0.0112,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.5973,
"delta": -0.0427,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4776,
"delta": 0.0186,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.05,
"after": 1.1129,
"delta": 0.0629,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.05,
"after": 1.1129,
"delta": 0.0629,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.49,
"after": 4.2603,
"delta": -0.2297,
"percent_delta": -0.0512,
"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.2054,
"predicted_3B": 0.0253,
"predicted_AB": 4.2603,
"predicted_AVG": 0.2334,
"predicted_BB": 0.481,
"predicted_H": 0.9943,
"predicted_HBP": 0.02,
"predicted_HR": 0.2454,
"predicted_OBP": 0.3112,
"predicted_R": 0.6871,
"predicted_RBI": 0.6046,
"predicted_SLG": 0.4663,
"predicted_SO": 1.1091
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2054,
"after": 0.2054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0253,
"after": 0.0253,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2603,
"after": 4.2603,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2335,
"after": 0.2334,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4794,
"after": 0.481,
"delta": 0.0016,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9882,
"after": 0.9943,
"delta": 0.0061,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2444,
"after": 0.2454,
"delta": 0.001,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3204,
"after": 0.3112,
"delta": -0.0092,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6788,
"after": 0.6871,
"delta": 0.0083,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5973,
"after": 0.6046,
"delta": 0.0073,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4776,
"after": 0.4663,
"delta": -0.0113,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1129,
"after": 1.1091,
"delta": -0.0038,
"percent_delta": -0.0034,
"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.4776,
"after": 0.4663,
"delta": -0.0113,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.49), rates preserved: AVG=0.221 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.2054,
"after": 0.0,
"delta": -0.2054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0253,
"after": 0.0,
"delta": -0.0253,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2603,
"after": 4.0,
"delta": -0.2603,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9943,
"after": 1.0,
"delta": 0.0057,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2454,
"after": 0.0,
"delta": -0.2454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6046,
"after": 1.0,
"delta": 0.3954,
"percent_delta": 0.654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1091,
"after": 1.0,
"delta": -0.1091,
"percent_delta": -0.0984,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6046,
"after": 1.0,
"delta": 0.3954,
"percent_delta": 0.654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"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=8.0, weight=0.084, BvP AVG=0.375)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.9158,
"bvp": 0.0842
},
"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": 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.6871,
"after": 1.0,
"delta": 0.3129,
"percent_delta": 0.4554,
"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.6871,
"after": 1.0,
"delta": 0.3129,
"percent_delta": 0.4554,
"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": 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.2334,
"after": 0.25,
"delta": 0.0166,
"percent_delta": 0.0711,
"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.3112,
"after": 0.25,
"delta": -0.0612,
"percent_delta": -0.1967,
"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.4663,
"after": 0.25,
"delta": -0.2163,
"percent_delta": -0.4639,
"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.2334,
"after": 0.25,
"delta": 0.0166,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4663,
"after": 0.25,
"delta": -0.2163,
"percent_delta": -0.4639,
"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": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2334,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3112,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4663,
"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": 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.25,
"after": 0.2334,
"delta": -0.0166,
"percent_delta": -0.0664,
"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.25,
"after": 0.3112,
"delta": 0.0612,
"percent_delta": 0.2447,
"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.25,
"after": 0.4663,
"delta": 0.2163,
"percent_delta": 0.8652,
"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.4663,
"delta": 0.2163,
"percent_delta": 0.8652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2334,
"delta": -0.0166,
"percent_delta": -0.0664,
"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.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.49,
"after": 3.0,
"delta": -1.49,
"percent_delta": -0.3318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2334,
"delta": 0.0144,
"percent_delta": 0.0658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 2.0,
"delta": 1.02,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3112,
"delta": -0.0028,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4663,
"delta": 0.0073,
"percent_delta": 0.0159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.05,
"after": 1.0,
"delta": -0.05,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.98,
"after": 2.0,
"delta": 1.02,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.49,
"after": 3.0,
"delta": -1.49,
"percent_delta": -0.3318,
"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.180 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 4.490 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.510 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.690 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.459 | - |
| predicted_SO | 1.050 | - |
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.205 | 0.025 |
| predicted_3B | 0.025 | -0.005 |
| predicted_AB | 4.260 | -0.230 |
| predicted_AVG | 0.234 | 0.015 |
| predicted_BB | 0.479 | -0.031 |
| predicted_H | 0.988 | 0.008 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.244 | -0.006 |
| predicted_OBP | 0.320 | 0.006 |
| predicted_R | 0.679 | -0.011 |
| predicted_RBI | 0.597 | -0.043 |
| predicted_SLG | 0.478 | 0.019 |
| predicted_SO | 1.113 | 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.205 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 4.260 | 0.000 |
| predicted_AVG | 0.233 | -0.000 |
| predicted_BB | 0.481 | 0.002 |
| predicted_H | 0.994 | 0.006 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.245 | 0.001 |
| predicted_OBP | 0.311 | -0.009 |
| predicted_R | 0.687 | 0.008 |
| predicted_RBI | 0.605 | 0.007 |
| predicted_SLG | 0.466 | -0.011 |
| predicted_SO | 1.109 | -0.004 |
AB rounded to 4 (raw=4.49), rates preserved: AVG=0.221 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)
| 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 |
| 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 | 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.205 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 4.000 | -0.260 |
| predicted_AVG | 0.250 | 0.017 |
| predicted_BB | 0.000 | -0.481 |
| predicted_H | 1.000 | 0.006 |
| predicted_HR | 0.000 | -0.245 |
| predicted_OBP | 0.250 | -0.061 |
| predicted_R | 1.000 | 0.313 |
| predicted_RBI | 1.000 | 0.395 |
| predicted_SLG | 0.250 | -0.216 |
| predicted_SO | 1.000 | -0.109 |
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 | -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 | 4.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 | - | 22.000 | 5.000 | 2.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 8.000 | 0.2273 | 0.2917 | 0.4545 | 0.2273 | 0.0454 | 0.0909 | 0.0909 | 0.3636 |
| last_10 | 0.20 | 10 | - | 41.000 | 9.000 | 3.000 | 0.000 | 1.000 | 2.000 | 5.000 | 3.000 | 14.000 | 0.2195 | 0.2727 | 0.3659 | 0.2195 | 0.0244 | 0.0488 | 0.0732 | 0.3415 |
| season | 0.60 | 100 | - | 378.000 | 103.000 | 18.000 | 3.000 | 30.000 | 69.000 | 69.000 | 51.000 | 105.000 | 0.2725 | 0.3626 | 0.5741 | 0.2725 | 0.0794 | 0.1825 | 0.1349 | 0.2778 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2390 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.9570 |
| predicted_AVG | 0.2526 |
| predicted_BB | 0.4390 |
| predicted_H | 0.9990 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.2370 |
| predicted_OBP | 0.3288 |
| predicted_R | 0.6640 |
| predicted_RBI | 0.5410 |
| predicted_SLG | 0.5021 |
| predicted_SO | 1.1960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.2390 | 0.2054 | model_form_blend |
| predicted_3B | 0.0300 | 0.0190 | 0.0253 | model_form_blend |
| predicted_AB | 4.4900 | 3.9570 | 4.2603 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2526 | 0.2335 | model_form_blend |
| predicted_BB | 0.5100 | 0.4390 | 0.4794 | model_form_blend |
| predicted_H | 0.9800 | 0.9990 | 0.9882 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.2500 | 0.2370 | 0.2444 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3288 | 0.3204 | model_form_blend |
| predicted_R | 0.6900 | 0.6640 | 0.6788 | model_form_blend |
| predicted_RBI | 0.6400 | 0.5410 | 0.5973 | model_form_blend |
| predicted_SLG | 0.4590 | 0.5021 | 0.4776 | model_form_blend |
| predicted_SO | 1.0500 | 1.1960 | 1.1129 | 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 | 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 | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.272 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| 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 | 2 |
| Hitting_TB | 2 |
| 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 | DH |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 700250 |
| playerID | 700250 |
| playerName | Ben Rice |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.395 |
| sl_xwoba | 0.376 |
| sl_xba | 0.271 |
| sl_xslg | 0.518 |
| sl_sweet_spot_percent | 40.8 |
| sl_barrel_batted_rate | 15.5 |
| sl_hard_hit_percent | 48.0 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 25.5 |
| 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.133 | 0.000 | 0.000 | Hitting_2B | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 4.480 | 4.000 | 4.000 | Hitting_AB | 3.705 | 5.000 | 0.295 | -1.000 |
| predicted_AVG | 0.259 | 0.000 | 0.250 | Hitting_AVG | 0.231 | 0.200 | -0.231 | -0.200 |
| predicted_BB | 0.357 | 0.000 | 0.000 | Hitting_BB | 0.413 | 0.000 | -0.413 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 1.160 | 0.000 | 1.000 | Hitting_H | 0.855 | 1.000 | -0.855 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_OBP | 0.297 | 0.000 | 0.250 | Hitting_OBP | 0.307 | 0.200 | -0.307 | -0.200 |
| predicted_R | 0.520 | 0.000 | 1.000 | Hitting_R | 0.574 | 0.000 | -0.574 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.499 | 0.000 | -0.499 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.300 | 1.000 | -0.300 | -1.000 |
| predicted_SLG | 0.369 | 0.000 | 0.250 | Hitting_SLG | 0.429 | 0.200 | -0.429 | -0.200 |
| predicted_SO | 1.235 | 1.000 | 1.000 | Hitting_SO | 1.212 | 2.000 | -0.212 | -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_SLG: 0.3690 -> 0.4202 (boost 0.0512, better) |
| Biggest Deboost | predicted_H: 1.1600 -> 0.0000 (deboost -1.1600, 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 | 2 | 4 | 1 | 5 | predicted_SO: 1.2350 -> 1.3337 (boost 0.0987, worse) | predicted_AB: 4.4800 -> 4.1415 (deboost -0.3385, 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_SLG: 0.3854 -> 0.4202 (boost 0.0348, better) | - | 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 | 2 | 4 | predicted_RBI: 0.5876 -> 1.0000 (boost 0.4124, better) | predicted_SO: 1.3292 -> 1.0000 (deboost -0.3292, better) | AB rounded to 4 (raw=4.48), rates preserved: AVG=0.231 HR/AB=0.039 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5230 -> 1.0000 (boost 0.4770, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4202 -> 0.2500 (deboost -0.1702, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 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": "665862",
"player_name": "Jazz Chisholm Jr.",
"position": "2B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.02,
"predicted_AB": 4.48,
"predicted_AVG": 0.259,
"predicted_BB": 0.357,
"predicted_H": 1.16,
"predicted_HR": 0.19,
"predicted_OBP": 0.297,
"predicted_R": 0.52,
"predicted_RBI": 0.62,
"predicted_SLG": 0.369,
"predicted_SO": 1.235
},
"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.1446,
"predicted_3B": 0.017,
"predicted_AB": 4.1415,
"predicted_AVG": 0.2466,
"predicted_BB": 0.3231,
"predicted_H": 1.027,
"predicted_HBP": 0.008,
"predicted_HR": 0.1754,
"predicted_OBP": 0.2914,
"predicted_R": 0.5166,
"predicted_RBI": 0.5805,
"predicted_SLG": 0.3854,
"predicted_SO": 1.3337
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1446,
"delta": 0.0116,
"percent_delta": 0.0872,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.017,
"delta": -0.003,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.48,
"after": 4.1415,
"delta": -0.3385,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2466,
"delta": -0.0124,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.3231,
"delta": -0.0339,
"percent_delta": -0.095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 1.027,
"delta": -0.133,
"percent_delta": -0.1147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1754,
"delta": -0.0146,
"percent_delta": -0.0768,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2914,
"delta": -0.0056,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.5166,
"delta": -0.0034,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.5805,
"delta": -0.0395,
"percent_delta": -0.0637,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3854,
"delta": 0.0164,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.235,
"after": 1.3337,
"delta": 0.0987,
"percent_delta": 0.0799,
"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": 1.235,
"after": 1.3337,
"delta": 0.0987,
"percent_delta": 0.0799,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.48,
"after": 4.1415,
"delta": -0.3385,
"percent_delta": -0.0756,
"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": 98
}
},
{
"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.1446,
"predicted_3B": 0.017,
"predicted_AB": 4.1415,
"predicted_AVG": 0.2495,
"predicted_BB": 0.3242,
"predicted_H": 1.0334,
"predicted_HBP": 0.008,
"predicted_HR": 0.1761,
"predicted_OBP": 0.304,
"predicted_R": 0.523,
"predicted_RBI": 0.5876,
"predicted_SLG": 0.4202,
"predicted_SO": 1.3292
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1446,
"after": 0.1446,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1415,
"after": 4.1415,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2466,
"after": 0.2495,
"delta": 0.0029,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3231,
"after": 0.3242,
"delta": 0.0011,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.027,
"after": 1.0334,
"delta": 0.0064,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1754,
"after": 0.1761,
"delta": 0.0007,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2914,
"after": 0.304,
"delta": 0.0126,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5166,
"after": 0.523,
"delta": 0.0064,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5805,
"after": 0.5876,
"delta": 0.0071,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3854,
"after": 0.4202,
"delta": 0.0348,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3337,
"after": 1.3292,
"delta": -0.0045,
"percent_delta": -0.0034,
"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_SLG",
"before": 0.3854,
"after": 0.4202,
"delta": 0.0348,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.48), rates preserved: AVG=0.231 HR/AB=0.039",
"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.1446,
"after": 0.0,
"delta": -0.1446,
"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": 4.1415,
"after": 4.0,
"delta": -0.1415,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3242,
"after": 0.0,
"delta": -0.3242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0334,
"after": 1.0,
"delta": -0.0334,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1761,
"after": 0.0,
"delta": -0.1761,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5876,
"after": 1.0,
"delta": 0.4124,
"percent_delta": 0.7018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3292,
"after": 1.0,
"delta": -0.3292,
"percent_delta": -0.2477,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5876,
"after": 1.0,
"delta": 0.4124,
"percent_delta": 0.7018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3292,
"after": 1.0,
"delta": -0.3292,
"percent_delta": -0.2477,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.9158,
"bvp": 0.0842
},
"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": 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.523,
"after": 1.0,
"delta": 0.477,
"percent_delta": 0.912,
"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.523,
"after": 1.0,
"delta": 0.477,
"percent_delta": 0.912,
"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": 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.2495,
"after": 0.25,
"delta": 0.0005,
"percent_delta": 0.002,
"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_OBP",
"before": 0.304,
"after": 0.25,
"delta": -0.054,
"percent_delta": -0.1776,
"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.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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"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": 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.2495,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4202,
"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.2495,
"delta": -0.0005,
"percent_delta": -0.0019,
"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": 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.304,
"delta": 0.054,
"percent_delta": 0.216,
"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.6809,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4202,
"delta": 0.1702,
"percent_delta": 0.6809,
"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.133,
"after": 0.0,
"delta": -0.133,
"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": 4.48,
"after": 4.0,
"delta": -0.48,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2495,
"delta": -0.0095,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 0.0,
"delta": -1.16,
"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.297,
"after": 0.304,
"delta": 0.007,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.4202,
"delta": 0.0512,
"percent_delta": 0.1388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.235,
"after": 1.0,
"delta": -0.235,
"percent_delta": -0.1903,
"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_SLG",
"before": 0.369,
"after": 0.4202,
"delta": 0.0512,
"percent_delta": 0.1388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.16,
"after": 0.0,
"delta": -1.16,
"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.133 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.480 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.357 | - |
| predicted_H | 1.160 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.520 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 1.235 | - |
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.145 | 0.012 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 4.141 | -0.339 |
| predicted_AVG | 0.247 | -0.012 |
| predicted_BB | 0.323 | -0.034 |
| predicted_H | 1.027 | -0.133 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.175 | -0.015 |
| predicted_OBP | 0.291 | -0.006 |
| predicted_R | 0.517 | -0.003 |
| predicted_RBI | 0.581 | -0.039 |
| predicted_SLG | 0.385 | 0.016 |
| predicted_SO | 1.334 | 0.099 |
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.145 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 4.141 | 0.000 |
| predicted_AVG | 0.249 | 0.003 |
| predicted_BB | 0.324 | 0.001 |
| predicted_H | 1.033 | 0.006 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.176 | 0.001 |
| predicted_OBP | 0.304 | 0.013 |
| predicted_R | 0.523 | 0.006 |
| predicted_RBI | 0.588 | 0.007 |
| predicted_SLG | 0.420 | 0.035 |
| predicted_SO | 1.329 | -0.005 |
AB rounded to 4 (raw=4.48), rates preserved: AVG=0.231 HR/AB=0.039
| 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| 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 |
| 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 | 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.145 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | -0.141 |
| predicted_AVG | 0.250 | 0.001 |
| predicted_BB | 0.000 | -0.324 |
| predicted_H | 1.000 | -0.033 |
| predicted_HR | 0.000 | -0.176 |
| predicted_OBP | 0.250 | -0.054 |
| predicted_R | 1.000 | 0.477 |
| predicted_RBI | 1.000 | 0.412 |
| predicted_SLG | 0.250 | -0.170 |
| predicted_SO | 1.000 | -0.329 |
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 | -1.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 | - | 19.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 10.000 | 0.2105 | 0.2500 | 0.2632 | 0.2105 | 0.0000 | 0.1053 | 0.0526 | 0.5263 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 2.000 | 0.000 | 3.000 | 9.000 | 6.000 | 1.000 | 19.000 | 0.2564 | 0.2750 | 0.5385 | 0.2564 | 0.0769 | 0.2308 | 0.0256 | 0.4872 |
| season | 0.60 | 98 | - | 350.000 | 79.000 | 13.000 | 2.000 | 16.000 | 45.000 | 51.000 | 35.000 | 121.000 | 0.2257 | 0.2956 | 0.4114 | 0.2257 | 0.0457 | 0.1286 | 0.1000 | 0.3457 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.6910 |
| predicted_AVG | 0.2302 |
| predicted_BB | 0.2780 |
| predicted_H | 0.8500 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1560 |
| predicted_OBP | 0.2840 |
| predicted_R | 0.5120 |
| predicted_RBI | 0.5280 |
| predicted_SLG | 0.4073 |
| predicted_SO | 1.4650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1600 | 0.1446 | model_form_blend |
| predicted_3B | 0.0200 | 0.0130 | 0.0170 | model_form_blend |
| predicted_AB | 4.4800 | 3.6910 | 4.1415 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2302 | 0.2466 | model_form_blend |
| predicted_BB | 0.3570 | 0.2780 | 0.3231 | model_form_blend |
| predicted_H | 1.1600 | 0.8500 | 1.0270 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1900 | 0.1560 | 0.1754 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2840 | 0.2914 | model_form_blend |
| predicted_R | 0.5200 | 0.5120 | 0.5166 | model_form_blend |
| predicted_RBI | 0.6200 | 0.5280 | 0.5805 | model_form_blend |
| predicted_SLG | 0.3690 | 0.4073 | 0.3854 | model_form_blend |
| predicted_SO | 1.2350 | 1.4650 | 1.3337 | 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 | 387 |
| Season rows before report date | 387 |
| Report year | 2026 |
| Profile rows used | 98 |
| 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.226 |
| 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.2 |
| 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 | 2 |
| Hitting_TB | 1 |
| 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 |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 665862 |
| playerID | 665862 |
| playerName | Jazz Chisholm Jr. |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.308 |
| sl_xwoba | 0.289 |
| sl_xba | 0.208 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 28.1 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 45.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.180 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.140 | 3.000 | 3.000 | Hitting_AB | 3.272 | 0.000 | -0.272 | 3.000 |
| predicted_AVG | 0.201 | 0.000 | 0.333 | Hitting_AVG | 0.265 | - | -0.265 | - |
| predicted_BB | 0.440 | 1.000 | 0.000 | Hitting_BB | 0.486 | 0.000 | 0.514 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_H | 0.300 | 0.000 | 1.000 | Hitting_H | 0.867 | 0.000 | -0.867 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_OBP | 0.316 | 0.250 | 0.333 | Hitting_OBP | 0.359 | 0.000 | -0.109 | 0.250 |
| predicted_R | 0.380 | 1.000 | 0.000 | Hitting_R | 0.457 | 0.000 | 0.543 | 1.000 |
| predicted_RBI | 0.210 | 0.000 | 0.000 | Hitting_RBI | 0.387 | 1.000 | -0.387 | -1.000 |
| predicted_SLG | 0.360 | 0.000 | 0.333 | Hitting_SLG | 0.360 | - | -0.360 | - |
| predicted_SO | 0.840 | 0.000 | 1.000 | Hitting_SO | 0.844 | 0.000 | -0.844 | 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 | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.3800 -> 1.0000 (boost 0.6200, better) |
| Biggest Deboost | predicted_SO: 0.8400 -> 0.0000 (deboost -0.8400, 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 | 5 | 0 | 5 | 0 | predicted_H: 0.3000 -> 0.5228 (boost 0.2228, 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.3682 -> 0.2667 (deboost -0.1015, 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.8559 -> 1.0000 (boost 0.1441, worse) | predicted_H: 0.5260 -> 0.0000 (deboost -0.5260, worse) | AB rounded to 3 (raw=3.17), rates preserved: AVG=0.166 HR/AB=0.007 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3574 -> 0.0000 (deboost -0.3574, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1658 -> 0.3330 (boost 0.1672, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 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.1658 (deboost -0.1672, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683011",
"player_name": "Anthony Volpe",
"position": "SS",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.02,
"predicted_AB": 3.14,
"predicted_AVG": 0.201,
"predicted_BB": 0.44,
"predicted_H": 0.3,
"predicted_HR": 0.02,
"predicted_OBP": 0.316,
"predicted_R": 0.38,
"predicted_RBI": 0.21,
"predicted_SLG": 0.36,
"predicted_SO": 0.84
},
"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.2179,
"predicted_3B": 0.0167,
"predicted_AB": 3.1735,
"predicted_AVG": 0.2261,
"predicted_BB": 0.4057,
"predicted_H": 0.5228,
"predicted_HBP": 0.004,
"predicted_HR": 0.0229,
"predicted_OBP": 0.3245,
"predicted_R": 0.3531,
"predicted_RBI": 0.3067,
"predicted_SLG": 0.3682,
"predicted_SO": 0.8588
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.2179,
"delta": 0.0379,
"percent_delta": 0.2106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0167,
"delta": -0.0033,
"percent_delta": -0.165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.14,
"after": 3.1735,
"delta": 0.0335,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.2261,
"delta": 0.0251,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 0.4057,
"delta": -0.0343,
"percent_delta": -0.078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.5228,
"delta": 0.2228,
"percent_delta": 0.7427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0229,
"delta": 0.0029,
"percent_delta": 0.145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3245,
"delta": 0.0085,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.38,
"after": 0.3531,
"delta": -0.0269,
"percent_delta": -0.0708,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.3067,
"delta": 0.0967,
"percent_delta": 0.4605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3682,
"delta": 0.0082,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.84,
"after": 0.8588,
"delta": 0.0188,
"percent_delta": 0.0224,
"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.3,
"after": 0.5228,
"delta": 0.2228,
"percent_delta": 0.7427,
"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": 50
}
},
{
"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.2179,
"predicted_3B": 0.0167,
"predicted_AB": 3.1735,
"predicted_AVG": 0.1658,
"predicted_BB": 0.4071,
"predicted_H": 0.526,
"predicted_HBP": 0.004,
"predicted_HR": 0.023,
"predicted_OBP": 0.2606,
"predicted_R": 0.3574,
"predicted_RBI": 0.3105,
"predicted_SLG": 0.2667,
"predicted_SO": 0.8559
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2179,
"after": 0.2179,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0167,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1735,
"after": 3.1735,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2261,
"after": 0.1658,
"delta": -0.0603,
"percent_delta": -0.2667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4057,
"after": 0.4071,
"delta": 0.0014,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5228,
"after": 0.526,
"delta": 0.0032,
"percent_delta": 0.0061,
"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.0229,
"after": 0.023,
"delta": 0.0001,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3245,
"after": 0.2606,
"delta": -0.0639,
"percent_delta": -0.1969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3531,
"after": 0.3574,
"delta": 0.0043,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3067,
"after": 0.3105,
"delta": 0.0038,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3682,
"after": 0.2667,
"delta": -0.1015,
"percent_delta": -0.2757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8588,
"after": 0.8559,
"delta": -0.0029,
"percent_delta": -0.0034,
"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.3682,
"after": 0.2667,
"delta": -0.1015,
"percent_delta": -0.2757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.17), rates preserved: AVG=0.166 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.2179,
"after": 0.0,
"delta": -0.2179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0,
"delta": -0.0167,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1735,
"after": 3.0,
"delta": -0.1735,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4071,
"after": 0.0,
"delta": -0.4071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.526,
"after": 0.0,
"delta": -0.526,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3105,
"after": 0.0,
"delta": -0.3105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8559,
"after": 1.0,
"delta": 0.1441,
"percent_delta": 0.1684,
"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.8559,
"after": 1.0,
"delta": 0.1441,
"percent_delta": 0.1684,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.526,
"after": 0.0,
"delta": -0.526,
"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.3574,
"after": 0.0,
"delta": -0.3574,
"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.3574,
"after": 0.0,
"delta": -0.3574,
"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.1658,
"after": 0.333,
"delta": 0.1672,
"percent_delta": 1.0084,
"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.2606,
"after": 0.333,
"delta": 0.0724,
"percent_delta": 0.2778,
"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.2667,
"after": 0.333,
"delta": 0.0663,
"percent_delta": 0.2486,
"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.1658,
"after": 0.333,
"delta": 0.1672,
"percent_delta": 1.0084,
"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": 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": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"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.1658,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2606,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2667,
"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": 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.1658,
"delta": -0.1672,
"percent_delta": -0.5022,
"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.2606,
"delta": -0.0724,
"percent_delta": -0.2174,
"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.2667,
"delta": -0.0663,
"percent_delta": -0.1991,
"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.1658,
"delta": -0.1672,
"percent_delta": -0.5022,
"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.18,
"after": 0.0,
"delta": -0.18,
"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.14,
"after": 3.0,
"delta": -0.14,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.1658,
"delta": -0.0352,
"percent_delta": -0.1751,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.2606,
"delta": -0.0554,
"percent_delta": -0.1753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.2667,
"delta": -0.0933,
"percent_delta": -0.2592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"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.180 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.140 | - |
| predicted_AVG | 0.201 | - |
| predicted_BB | 0.440 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.380 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.360 | - |
| predicted_SO | 0.840 | - |
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.218 | 0.038 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.174 | 0.034 |
| predicted_AVG | 0.226 | 0.025 |
| predicted_BB | 0.406 | -0.034 |
| predicted_H | 0.523 | 0.223 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.023 | 0.003 |
| predicted_OBP | 0.325 | 0.009 |
| predicted_R | 0.353 | -0.027 |
| predicted_RBI | 0.307 | 0.097 |
| predicted_SLG | 0.368 | 0.008 |
| predicted_SO | 0.859 | 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.218 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.174 | 0.000 |
| predicted_AVG | 0.166 | -0.060 |
| predicted_BB | 0.407 | 0.001 |
| predicted_H | 0.526 | 0.003 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.023 | 0.000 |
| predicted_OBP | 0.261 | -0.064 |
| predicted_R | 0.357 | 0.004 |
| predicted_RBI | 0.310 | 0.004 |
| predicted_SLG | 0.267 | -0.102 |
| predicted_SO | 0.856 | -0.003 |
AB rounded to 3 (raw=3.17), rates preserved: AVG=0.166 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 | - |
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.218 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 3.000 | -0.174 |
| predicted_AVG | 0.333 | 0.167 |
| predicted_BB | 0.000 | -0.407 |
| predicted_H | 1.000 | 0.474 |
| predicted_HR | 0.000 | -0.023 |
| predicted_OBP | 0.333 | 0.072 |
| predicted_R | 0.000 | -0.357 |
| predicted_RBI | 0.000 | -0.310 |
| predicted_SLG | 0.333 | 0.066 |
| predicted_SO | 1.000 | 0.144 |
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 | 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 | - | 17.000 | 5.000 | 3.000 | 0.000 | 0.000 | 4.000 | 1.000 | 1.000 | 5.000 | 0.2941 | 0.3333 | 0.4706 | 0.2941 | 0.0000 | 0.2353 | 0.0588 | 0.2941 |
| last_10 | 0.20 | 10 | - | 28.000 | 8.000 | 3.000 | 0.000 | 0.000 | 4.000 | 1.000 | 3.000 | 9.000 | 0.2857 | 0.3548 | 0.3929 | 0.2857 | 0.0000 | 0.1429 | 0.1071 | 0.3214 |
| season | 0.60 | 50 | - | 157.000 | 39.000 | 9.000 | 1.000 | 1.000 | 17.000 | 19.000 | 22.000 | 42.000 | 0.2484 | 0.3408 | 0.3376 | 0.2484 | 0.0064 | 0.1083 | 0.1401 | 0.2675 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2730 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.2220 |
| predicted_AVG | 0.2626 |
| predicted_BB | 0.3560 |
| predicted_H | 0.8460 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0270 |
| predicted_OBP | 0.3369 |
| predicted_R | 0.3140 |
| predicted_RBI | 0.4470 |
| predicted_SLG | 0.3801 |
| predicted_SO | 0.8860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.2730 | 0.2179 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0167 | model_form_blend |
| predicted_AB | 3.1400 | 3.2220 | 3.1735 | model_form_blend |
| predicted_AVG | 0.2010 | 0.2626 | 0.2261 | model_form_blend |
| predicted_BB | 0.4400 | 0.3560 | 0.4057 | model_form_blend |
| predicted_H | 0.3000 | 0.8460 | 0.5228 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0200 | 0.0270 | 0.0229 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3369 | 0.3245 | model_form_blend |
| predicted_R | 0.3800 | 0.3140 | 0.3531 | model_form_blend |
| predicted_RBI | 0.2100 | 0.4470 | 0.3067 | model_form_blend |
| predicted_SLG | 0.3600 | 0.3801 | 0.3682 | model_form_blend |
| predicted_SO | 0.8400 | 0.8860 | 0.8588 | 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 | 173 |
| Season rows before report date | 173 |
| Report year | 2026 |
| Profile rows used | 50 |
| 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 | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.248 |
| 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| 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-SS |
| gameID | 20260729_NYY@CHW |
| game_type | ph |
| mlbID | 683011 |
| note | Hit a sacrifice fly for Jones, S in the 11th. |
| playerID | 683011 |
| playerName | Anthony Volpe |
| pos | SS |
| started | False |
| startingPosition | PH |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.308 |
| sl_xwoba | 0.302 |
| sl_xba | 0.242 |
| sl_xslg | 0.33 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 44.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.115 | 0.000 | 0.000 | Hitting_2B | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.050 | 4.000 | 3.000 | Hitting_AB | 3.134 | 5.000 | 0.866 | -1.000 |
| predicted_AVG | 0.186 | 0.500 | 0.333 | Hitting_AVG | 0.216 | 0.200 | 0.284 | 0.300 |
| predicted_BB | 0.218 | 0.000 | 0.000 | Hitting_BB | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.570 | 2.000 | 1.000 | Hitting_H | 0.676 | 1.000 | 1.324 | 1.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | 0.881 | 1.000 |
| predicted_OBP | 0.229 | 0.500 | 0.333 | Hitting_OBP | 0.277 | 0.200 | 0.223 | 0.300 |
| predicted_R | 0.282 | 1.000 | 0.000 | Hitting_R | 0.340 | 0.000 | 0.660 | 1.000 |
| predicted_RBI | 0.300 | 3.000 | 0.000 | Hitting_RBI | 0.379 | 0.000 | 2.621 | 3.000 |
| predicted_SLG | 0.362 | 1.250 | 0.333 | Hitting_SLG | 0.375 | 0.200 | 0.875 | 1.050 |
| predicted_SO | 0.987 | 0.000 | 1.000 | Hitting_SO | 1.055 | 0.000 | -1.055 | 0.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_RBI: 0.3000 -> 3.0000 (boost 2.7000, better) |
| Biggest Deboost | predicted_SO: 0.9870 -> 0.0000 (deboost -0.9870, 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_SLG: 0.3620 -> 0.3504 (deboost -0.0116, 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 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2328 -> 0.2414 (boost 0.0086, better) | predicted_SLG: 0.3504 -> 0.3290 (deboost -0.0214, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.5824 -> 1.0000 (boost 0.4176, better) | predicted_RBI: 0.2813 -> 0.0000 (deboost -0.2813, worse) | AB rounded to 3 (raw=3.05), rates preserved: AVG=0.191 HR/AB=0.032 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2821 -> 0.0000 (deboost -0.2821, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1923 -> 0.3330 (boost 0.1407, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 5 | 1 | 6 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.1923 (deboost -0.1407, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641857",
"player_name": "Ryan McMahon",
"position": "3B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.115,
"predicted_3B": 0.0,
"predicted_AB": 3.05,
"predicted_AVG": 0.186,
"predicted_BB": 0.218,
"predicted_H": 0.57,
"predicted_HR": 0.1,
"predicted_OBP": 0.229,
"predicted_R": 0.282,
"predicted_RBI": 0.3,
"predicted_SLG": 0.362,
"predicted_SO": 0.987
},
"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.1171,
"predicted_3B": 0.0004,
"predicted_AB": 3.0283,
"predicted_AVG": 0.1907,
"predicted_BB": 0.1954,
"predicted_H": 0.5788,
"predicted_HBP": 0.003,
"predicted_HR": 0.0983,
"predicted_OBP": 0.2328,
"predicted_R": 0.2787,
"predicted_RBI": 0.2779,
"predicted_SLG": 0.3504,
"predicted_SO": 0.9715
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.1171,
"delta": 0.0021,
"percent_delta": 0.0183,
"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.05,
"after": 3.0283,
"delta": -0.0217,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.186,
"after": 0.1907,
"delta": 0.0047,
"percent_delta": 0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.218,
"after": 0.1954,
"delta": -0.0226,
"percent_delta": -0.1037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.5788,
"delta": 0.0088,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0983,
"delta": -0.0017,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.229,
"after": 0.2328,
"delta": 0.0038,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.282,
"after": 0.2787,
"delta": -0.0033,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.2779,
"delta": -0.0221,
"percent_delta": -0.0737,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3504,
"delta": -0.0116,
"percent_delta": -0.032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.987,
"after": 0.9715,
"delta": -0.0155,
"percent_delta": -0.0157,
"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.362,
"after": 0.3504,
"delta": -0.0116,
"percent_delta": -0.032,
"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": 78
}
},
{
"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.1171,
"predicted_3B": 0.0004,
"predicted_AB": 3.0283,
"predicted_AVG": 0.1923,
"predicted_BB": 0.1961,
"predicted_H": 0.5824,
"predicted_HBP": 0.003,
"predicted_HR": 0.0987,
"predicted_OBP": 0.2414,
"predicted_R": 0.2821,
"predicted_RBI": 0.2813,
"predicted_SLG": 0.329,
"predicted_SO": 0.9682
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1171,
"after": 0.1171,
"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.0283,
"after": 3.0283,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1907,
"after": 0.1923,
"delta": 0.0016,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1954,
"after": 0.1961,
"delta": 0.0007,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5788,
"after": 0.5824,
"delta": 0.0036,
"percent_delta": 0.0062,
"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.0983,
"after": 0.0987,
"delta": 0.0004,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2328,
"after": 0.2414,
"delta": 0.0086,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2787,
"after": 0.2821,
"delta": 0.0034,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2779,
"after": 0.2813,
"delta": 0.0034,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3504,
"after": 0.329,
"delta": -0.0214,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9715,
"after": 0.9682,
"delta": -0.0033,
"percent_delta": -0.0034,
"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_OBP",
"before": 0.2328,
"after": 0.2414,
"delta": 0.0086,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3504,
"after": 0.329,
"delta": -0.0214,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.05), rates preserved: AVG=0.191 HR/AB=0.032",
"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.1171,
"after": 0.0,
"delta": -0.1171,
"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.0283,
"after": 3.0,
"delta": -0.0283,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1961,
"after": 0.0,
"delta": -0.1961,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5824,
"after": 1.0,
"delta": 0.4176,
"percent_delta": 0.717,
"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.0987,
"after": 0.0,
"delta": -0.0987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2813,
"after": 0.0,
"delta": -0.2813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9682,
"after": 1.0,
"delta": 0.0318,
"percent_delta": 0.0328,
"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_H",
"before": 0.5824,
"after": 1.0,
"delta": 0.4176,
"percent_delta": 0.717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2813,
"after": 0.0,
"delta": -0.2813,
"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=9.0, weight=0.092, BvP AVG=0.222)",
"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.9077,
"bvp": 0.0923
},
"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.2821,
"after": 0.0,
"delta": -0.2821,
"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.2821,
"after": 0.0,
"delta": -0.2821,
"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.1923,
"after": 0.333,
"delta": 0.1407,
"percent_delta": 0.7317,
"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.2414,
"after": 0.333,
"delta": 0.0916,
"percent_delta": 0.3795,
"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.329,
"after": 0.333,
"delta": 0.004,
"percent_delta": 0.0122,
"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_AVG",
"before": 0.1923,
"after": 0.333,
"delta": 0.1407,
"percent_delta": 0.7317,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.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": 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": 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": 3.0,
"delta": 3.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_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.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": 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.1923,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2414,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.329,
"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.1923,
"delta": -0.1407,
"percent_delta": -0.4225,
"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": 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.2414,
"delta": -0.0916,
"percent_delta": -0.275,
"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.329,
"delta": -0.004,
"percent_delta": -0.0119,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1923,
"delta": -0.1407,
"percent_delta": -0.4225,
"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.115,
"after": 0.0,
"delta": -0.115,
"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.05,
"after": 4.0,
"delta": 0.95,
"percent_delta": 0.3115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.186,
"after": 0.1923,
"delta": 0.0063,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.218,
"after": 0.0,
"delta": -0.218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.229,
"after": 0.2414,
"delta": 0.0124,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.282,
"after": 1.0,
"delta": 0.718,
"percent_delta": 2.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 3.0,
"delta": 2.7,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.329,
"delta": -0.033,
"percent_delta": -0.0912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.987,
"after": 0.0,
"delta": -0.987,
"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_RBI",
"before": 0.3,
"after": 3.0,
"delta": 2.7,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.987,
"after": 0.0,
"delta": -0.987,
"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.115 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.050 | - |
| predicted_AVG | 0.186 | - |
| predicted_BB | 0.218 | - |
| predicted_H | 0.570 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.229 | - |
| predicted_R | 0.282 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.987 | - |
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.117 | 0.002 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.028 | -0.022 |
| predicted_AVG | 0.191 | 0.005 |
| predicted_BB | 0.195 | -0.023 |
| predicted_H | 0.579 | 0.009 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.233 | 0.004 |
| predicted_R | 0.279 | -0.003 |
| predicted_RBI | 0.278 | -0.022 |
| predicted_SLG | 0.350 | -0.012 |
| predicted_SO | 0.972 | -0.015 |
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.117 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.028 | 0.000 |
| predicted_AVG | 0.192 | 0.002 |
| predicted_BB | 0.196 | 0.001 |
| predicted_H | 0.582 | 0.004 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.099 | 0.000 |
| predicted_OBP | 0.241 | 0.009 |
| predicted_R | 0.282 | 0.003 |
| predicted_RBI | 0.281 | 0.003 |
| predicted_SLG | 0.329 | -0.021 |
| predicted_SO | 0.968 | -0.003 |
AB rounded to 3 (raw=3.05), rates preserved: AVG=0.191 HR/AB=0.032
| 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=9.0, weight=0.092, BvP AVG=0.222)
| 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.117 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.028 |
| predicted_AVG | 0.333 | 0.141 |
| predicted_BB | 0.000 | -0.196 |
| predicted_H | 1.000 | 0.418 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.333 | 0.092 |
| predicted_R | 0.000 | -0.282 |
| predicted_RBI | 0.000 | -0.281 |
| predicted_SLG | 0.333 | 0.004 |
| predicted_SO | 1.000 | 0.032 |
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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.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 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 5.000 | 0.1250 | 0.1250 | 0.1250 | 0.1250 | 0.0000 | 0.0000 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 26.000 | 5.000 | 2.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.1923 | 0.2222 | 0.3846 | 0.1923 | 0.0385 | 0.0385 | 0.0385 | 0.3077 |
| season | 0.60 | 78 | - | 226.000 | 48.000 | 9.000 | 0.000 | 9.000 | 26.000 | 22.000 | 17.000 | 77.000 | 0.2124 | 0.2675 | 0.3717 | 0.2124 | 0.0398 | 0.1150 | 0.0752 | 0.3407 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1200 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.9980 |
| predicted_AVG | 0.1972 |
| predicted_BB | 0.1640 |
| predicted_H | 0.5910 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.2382 |
| predicted_R | 0.2740 |
| predicted_RBI | 0.2470 |
| predicted_SLG | 0.3342 |
| predicted_SO | 0.9500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.1200 | 0.1171 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0500 | 2.9980 | 3.0283 | model_form_blend |
| predicted_AVG | 0.1860 | 0.1972 | 0.1907 | model_form_blend |
| predicted_BB | 0.2180 | 0.1640 | 0.1954 | model_form_blend |
| predicted_H | 0.5700 | 0.5910 | 0.5788 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1000 | 0.0960 | 0.0983 | model_form_blend |
| predicted_OBP | 0.2290 | 0.2382 | 0.2328 | model_form_blend |
| predicted_R | 0.2820 | 0.2740 | 0.2787 | model_form_blend |
| predicted_RBI | 0.3000 | 0.2470 | 0.2779 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3342 | 0.3504 | model_form_blend |
| predicted_SO | 0.9870 | 0.9500 | 0.9715 | 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 | 253 |
| Season rows before report date | 253 |
| Report year | 2026 |
| Profile rows used | 78 |
| 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 | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.212 |
| 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.2 |
| 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 | 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 | 3B |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 641857 |
| playerID | 641857 |
| playerName | Ryan McMahon |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.284 |
| sl_xwoba | 0.304 |
| sl_xba | 0.235 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 50.7 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 31.7 |
| sl_swing_percent | 46.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.027 | 0.000 | 0.000 | Hitting_2B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.892 | 4.000 | 3.000 | Hitting_AB | 3.123 | 4.000 | 0.877 | 0.000 |
| predicted_AVG | 0.170 | 0.000 | 0.333 | Hitting_AVG | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_BB | 0.378 | 0.000 | 0.000 | Hitting_BB | 0.470 | 0.000 | -0.470 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.470 | 0.000 | 1.000 | Hitting_H | 0.555 | 0.000 | -0.555 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.278 | 0.000 | 0.333 | Hitting_OBP | 0.287 | 0.000 | -0.287 | 0.000 |
| predicted_R | 0.297 | 0.000 | 0.000 | Hitting_R | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.225 | 0.000 | -0.225 | 0.000 |
| predicted_SLG | 0.324 | 0.000 | 0.333 | Hitting_SLG | 0.299 | 0.000 | -0.299 | 0.000 |
| predicted_SO | 0.878 | 0.000 | 1.000 | Hitting_SO | 0.928 | 1.000 | -0.928 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.8920 -> 4.0000 (boost 1.1080, better) |
| Biggest Deboost | predicted_SO: 0.8780 -> 0.0000 (deboost -0.8780, 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 | 1 | 1 | 2 | 0 | predicted_OBP: 0.2780 -> 0.2839 (boost 0.0059, better) | predicted_SO: 0.8780 -> 0.8182 (deboost -0.0598, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2839 -> 0.2682 (deboost -0.0157, 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.4872 -> 1.0000 (boost 0.5128, better) | predicted_BB: 0.3826 -> 0.0000 (deboost -0.3826, worse) | AB rounded to 3 (raw=2.89), rates preserved: AVG=0.168 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3375 -> 0.0000 (deboost -0.3375, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1703 -> 0.3330 (boost 0.1627, 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_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.1703 (deboost -0.1627, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669224",
"player_name": "Austin Wells",
"position": "C",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.027,
"predicted_3B": 0.0,
"predicted_AB": 2.892,
"predicted_AVG": 0.17,
"predicted_BB": 0.378,
"predicted_H": 0.47,
"predicted_HR": 0.12,
"predicted_OBP": 0.278,
"predicted_R": 0.297,
"predicted_RBI": 0.24,
"predicted_SLG": 0.324,
"predicted_SO": 0.878
},
"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.0278,
"predicted_3B": 0.0004,
"predicted_AB": 2.8607,
"predicted_AVG": 0.1737,
"predicted_BB": 0.3813,
"predicted_H": 0.4842,
"predicted_HBP": 0.072,
"predicted_HR": 0.1213,
"predicted_OBP": 0.2839,
"predicted_R": 0.3334,
"predicted_RBI": 0.2321,
"predicted_SLG": 0.3226,
"predicted_SO": 0.8182
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.027,
"after": 0.0278,
"delta": 0.0008,
"percent_delta": 0.0296,
"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.892,
"after": 2.8607,
"delta": -0.0313,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.17,
"after": 0.1737,
"delta": 0.0037,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.3813,
"delta": 0.0033,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.47,
"after": 0.4842,
"delta": 0.0142,
"percent_delta": 0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1213,
"delta": 0.0013,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2839,
"delta": 0.0059,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.297,
"after": 0.3334,
"delta": 0.0364,
"percent_delta": 0.1226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2321,
"delta": -0.0079,
"percent_delta": -0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.324,
"after": 0.3226,
"delta": -0.0014,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.878,
"after": 0.8182,
"delta": -0.0598,
"percent_delta": -0.0681,
"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_OBP",
"before": 0.278,
"after": 0.2839,
"delta": 0.0059,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.878,
"after": 0.8182,
"delta": -0.0598,
"percent_delta": -0.0681,
"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": 74
}
},
{
"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.0278,
"predicted_3B": 0.0004,
"predicted_AB": 2.8607,
"predicted_AVG": 0.1703,
"predicted_BB": 0.3826,
"predicted_H": 0.4872,
"predicted_HBP": 0.072,
"predicted_HR": 0.1218,
"predicted_OBP": 0.2682,
"predicted_R": 0.3375,
"predicted_RBI": 0.235,
"predicted_SLG": 0.308,
"predicted_SO": 0.8154
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0278,
"after": 0.0278,
"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.8607,
"after": 2.8607,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1737,
"after": 0.1703,
"delta": -0.0034,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3813,
"after": 0.3826,
"delta": 0.0013,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4842,
"after": 0.4872,
"delta": 0.003,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.072,
"after": 0.072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1213,
"after": 0.1218,
"delta": 0.0005,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2839,
"after": 0.2682,
"delta": -0.0157,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3334,
"after": 0.3375,
"delta": 0.0041,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2321,
"after": 0.235,
"delta": 0.0029,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3226,
"after": 0.308,
"delta": -0.0146,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8182,
"after": 0.8154,
"delta": -0.0028,
"percent_delta": -0.0034,
"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.2839,
"after": 0.2682,
"delta": -0.0157,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.89), rates preserved: AVG=0.168 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.0278,
"after": 0.0,
"delta": -0.0278,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.8607,
"after": 3.0,
"delta": 0.1393,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3826,
"after": 0.0,
"delta": -0.3826,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4872,
"after": 1.0,
"delta": 0.5128,
"percent_delta": 1.0525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.072,
"after": 0.0,
"delta": -0.072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1218,
"after": 0.0,
"delta": -0.1218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8154,
"after": 1.0,
"delta": 0.1846,
"percent_delta": 0.2264,
"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.4872,
"after": 1.0,
"delta": 0.5128,
"percent_delta": 1.0525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3826,
"after": 0.0,
"delta": -0.3826,
"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.3375,
"after": 0.0,
"delta": -0.3375,
"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.3375,
"after": 0.0,
"delta": -0.3375,
"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.1703,
"after": 0.333,
"delta": 0.1627,
"percent_delta": 0.9554,
"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.2682,
"after": 0.333,
"delta": 0.0648,
"percent_delta": 0.2416,
"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.308,
"after": 0.333,
"delta": 0.025,
"percent_delta": 0.0812,
"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.1703,
"after": 0.333,
"delta": 0.1627,
"percent_delta": 0.9554,
"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": 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": 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_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.1703,
"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.2682,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.308,
"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.1703,
"delta": -0.1627,
"percent_delta": -0.4886,
"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.2682,
"delta": -0.0648,
"percent_delta": -0.1946,
"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.308,
"delta": -0.025,
"percent_delta": -0.075,
"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.1703,
"delta": -0.1627,
"percent_delta": -0.4886,
"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.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.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": 2.892,
"after": 4.0,
"delta": 1.108,
"percent_delta": 0.3831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.17,
"after": 0.1703,
"delta": 0.0003,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.0,
"delta": -0.378,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2682,
"delta": -0.0098,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.297,
"after": 0.0,
"delta": -0.297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.324,
"after": 0.308,
"delta": -0.016,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.878,
"after": 0.0,
"delta": -0.878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.892,
"after": 4.0,
"delta": 1.108,
"percent_delta": 0.3831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.878,
"after": 0.0,
"delta": -0.878,
"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.027 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.892 | - |
| predicted_AVG | 0.170 | - |
| predicted_BB | 0.378 | - |
| predicted_H | 0.470 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.297 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.324 | - |
| predicted_SO | 0.878 | - |
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.028 | 0.001 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.861 | -0.031 |
| predicted_AVG | 0.174 | 0.004 |
| predicted_BB | 0.381 | 0.003 |
| predicted_H | 0.484 | 0.014 |
| predicted_HBP | 0.072 | - |
| predicted_HR | 0.121 | 0.001 |
| predicted_OBP | 0.284 | 0.006 |
| predicted_R | 0.333 | 0.036 |
| predicted_RBI | 0.232 | -0.008 |
| predicted_SLG | 0.323 | -0.001 |
| predicted_SO | 0.818 | -0.060 |
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.028 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.861 | 0.000 |
| predicted_AVG | 0.170 | -0.003 |
| predicted_BB | 0.383 | 0.001 |
| predicted_H | 0.487 | 0.003 |
| predicted_HBP | 0.072 | 0.000 |
| predicted_HR | 0.122 | 0.001 |
| predicted_OBP | 0.268 | -0.016 |
| predicted_R | 0.338 | 0.004 |
| predicted_RBI | 0.235 | 0.003 |
| predicted_SLG | 0.308 | -0.015 |
| predicted_SO | 0.815 | -0.003 |
AB rounded to 3 (raw=2.89), rates preserved: AVG=0.168 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.028 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.139 |
| predicted_AVG | 0.333 | 0.163 |
| predicted_BB | 0.000 | -0.383 |
| predicted_H | 1.000 | 0.513 |
| predicted_HR | 0.000 | -0.122 |
| predicted_OBP | 0.333 | 0.065 |
| predicted_R | 0.000 | -0.338 |
| predicted_RBI | 0.000 | -0.235 |
| predicted_SLG | 0.333 | 0.025 |
| predicted_SO | 1.000 | 0.185 |
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 | 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 | - | 12.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 3.000 | 0.1667 | 0.3333 | 0.4167 | 0.1667 | 0.0833 | 0.0833 | 0.1667 | 0.2500 |
| last_10 | 0.20 | 10 | - | 24.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 4.000 | 4.000 | 0.2083 | 0.3448 | 0.3333 | 0.2083 | 0.0417 | 0.0833 | 0.1667 | 0.1667 |
| season | 0.60 | 74 | - | 214.000 | 34.000 | 2.000 | 0.000 | 7.000 | 14.000 | 22.000 | 28.000 | 65.000 | 0.1589 | 0.2582 | 0.2664 | 0.1589 | 0.0327 | 0.0654 | 0.1308 | 0.3037 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0290 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8170 |
| predicted_AVG | 0.1789 |
| predicted_BB | 0.3860 |
| predicted_H | 0.5040 |
| predicted_HBP | 0.0720 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.2922 |
| predicted_R | 0.3840 |
| predicted_RBI | 0.2210 |
| predicted_SLG | 0.3207 |
| predicted_SO | 0.7350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0270 | 0.0290 | 0.0278 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.8920 | 2.8170 | 2.8607 | model_form_blend |
| predicted_AVG | 0.1700 | 0.1789 | 0.1737 | model_form_blend |
| predicted_BB | 0.3780 | 0.3860 | 0.3813 | model_form_blend |
| predicted_H | 0.4700 | 0.5040 | 0.4842 | model_form_blend |
| predicted_HBP | - | 0.0720 | 0.0720 | form_only |
| predicted_HR | 0.1200 | 0.1230 | 0.1213 | model_form_blend |
| predicted_OBP | 0.2780 | 0.2922 | 0.2839 | model_form_blend |
| predicted_R | 0.2970 | 0.3840 | 0.3334 | model_form_blend |
| predicted_RBI | 0.2400 | 0.2210 | 0.2321 | model_form_blend |
| predicted_SLG | 0.3240 | 0.3207 | 0.3226 | model_form_blend |
| predicted_SO | 0.8780 | 0.7350 | 0.8182 | 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 | 236 |
| Season rows before report date | 236 |
| Report year | 2026 |
| Profile rows used | 74 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.159 |
| 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 | 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 | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 669224 |
| playerID | 669224 |
| playerName | Austin Wells |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.243 |
| sl_xwoba | 0.297 |
| sl_xba | 0.213 |
| sl_xslg | 0.364 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 19.9 |
| sl_whiff_percent | 29.8 |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.500 | 1.000 | -0.500 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.550 | 1.000 | 0.450 | 2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.350 | 6.000 | 0.650 | 0.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.190 | 5.200 | -0.190 | -0.200 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 6.100 | 7.000 | -2.100 | -3.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": "677960",
"player_name": "Ryan Weathers",
"position": "Starter",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}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 | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| 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 | 21.100 | 13.000 | 32.000 | 6.000 | 27.000 | 1.000 | 5.4844 | 1.7812 | 0.6094 | 1.5000 | 0.2812 | 1.2656 | 0.0469 |
| last_10 | 0.35 | 10 | 50.200 | 31.000 | 59.000 | 14.000 | 57.000 | 9.000 | 5.5066 | 1.4408 | 0.6118 | 1.1645 | 0.2763 | 1.1250 | 0.1776 |
| season | 0.20 | 20 | 108.000 | 51.000 | 107.000 | 30.000 | 122.000 | 17.000 | 4.2500 | 1.2685 | 0.4722 | 0.9907 | 0.2778 | 1.1296 | 0.1574 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4160 |
| predicted_ER | 2.7310 |
| predicted_ERA | 5.1072 |
| predicted_H | 5.8710 |
| predicted_HR | 0.5880 |
| predicted_IP | 4.2000 |
| predicted_SO | 5.5020 |
| predicted_WHIP | 1.5140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4160 | 1.2352 | model_form_blend |
| predicted_ER | 3.0000 | 2.7310 | 2.8479 | model_form_blend |
| predicted_ERA | - | 5.1072 | 5.1072 | form_only |
| predicted_H | 6.0000 | 5.8710 | 5.9271 | model_form_blend |
| predicted_HR | 1.0000 | 0.5880 | 0.7670 | model_form_blend |
| predicted_IP | 5.0000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 4.0000 | 5.5020 | 4.8494 | model_form_blend |
| predicted_WHIP | - | 1.5140 | 1.5140 | 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.0 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 23 |
| Pitches | 90 |
| 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 | 24 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 6 |
| Pitching_H | 6 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 97 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 66 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260725_NYY@PHI |
| game_type | full |
| mlbID | 677960 |
| playerID | 677960 |
| playerName | Ryan Weathers |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-25 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.317 |
| sl_xwoba | 0.326 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 42.2 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 45.9 |
| sl_avg_best_speed | 78.146638725 |
| sl_avg_hyper_speed | 94.839871879 |
| 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.315 | 0.000 | -0.315 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.778 | 1.000 | 0.222 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.820 | 1.000 | 0.180 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.167 | 0.000 | -1.167 | 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": "687396",
"player_name": "Brent Headrick",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 5.000 | 0.000 | 4.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.8000 | 0.0000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 1.000 | 9.000 | 1.000 | 16.000 | 0.000 | 0.8182 | 0.9091 | 0.0909 | 0.8182 | 0.0909 | 1.4546 | 0.0000 |
| season | 0.20 | 54 | 54.100 | 8.000 | 42.000 | 17.000 | 63.000 | 2.000 | 1.3252 | 1.0859 | 0.1472 | 0.7730 | 0.3129 | 1.1595 | 0.0368 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1770 |
| predicted_ER | 0.2020 |
| predicted_ERA | 1.8160 |
| predicted_H | 0.8560 |
| predicted_HR | 0.0530 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1790 |
| predicted_WHIP | 1.0333 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1770 | 0.0914 | model_form_blend |
| predicted_ER | 0.0000 | 0.2020 | 0.1043 | model_form_blend |
| predicted_ERA | - | 1.8160 | 1.8160 | form_only |
| predicted_H | 1.0000 | 0.8560 | 0.9256 | model_form_blend |
| predicted_HR | 0.0000 | 0.0530 | 0.0274 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1790 | 0.6090 | model_form_blend |
| predicted_WHIP | - | 1.0333 | 1.0333 | 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 | 54 |
| Season rows before report date | 54 |
| Report year | 2026 |
| Profile rows used | 54 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.33 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260728_NYY@CHW |
| game_type | full |
| mlbID | 687396 |
| playerID | 687396 |
| playerName | Brent Headrick |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-28 |
| sl_k_percent | 28.8 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.255 |
| sl_xwoba | 0.266 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 37.4 |
| sl_whiff_percent | 32.4 |
| sl_swing_percent | 54.1 |
| sl_avg_best_speed | 76.584254412 |
| sl_avg_hyper_speed | 93.681253481 |
| 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 | 0.000 | -0.326 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.326 | 2.000 | -0.326 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.814 | 2.000 | -0.814 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.005 | 1.000 | -0.005 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.233 | 3.000 | -0.233 | -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": "670280",
"player_name": "David Bednar",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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.100 | 2.000 | 3.000 | 1.000 | 6.000 | 1.000 | 4.1538 | 0.9231 | 0.4615 | 0.6923 | 0.2308 | 1.3846 | 0.2308 |
| last_10 | 0.35 | 10 | 11.000 | 2.000 | 4.000 | 2.000 | 13.000 | 1.000 | 1.6364 | 0.5455 | 0.1818 | 0.3636 | 0.1818 | 1.1818 | 0.0909 |
| season | 0.20 | 43 | 46.000 | 14.000 | 35.000 | 14.000 | 53.000 | 3.000 | 2.7391 | 1.0652 | 0.3044 | 0.7609 | 0.3044 | 1.1522 | 0.0652 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2730 |
| predicted_ER | 0.3940 |
| predicted_ERA | 3.5420 |
| predicted_H | 0.7270 |
| predicted_HR | 0.1500 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1580 |
| predicted_WHIP | 1.0003 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2730 | 0.1367 | model_form_blend |
| predicted_ER | 0.0000 | 0.3940 | 0.1974 | model_form_blend |
| predicted_ERA | - | 3.5420 | 3.5420 | form_only |
| predicted_H | 0.0000 | 0.7270 | 0.3642 | model_form_blend |
| predicted_HR | 0.0000 | 0.1500 | 0.0751 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1580 | 1.0791 | model_form_blend |
| predicted_WHIP | - | 1.0003 | 1.0003 | 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 | 43 |
| 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 | 4 |
| Pitches | 18 |
| 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 | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.74 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 25 |
| Pitching_R | 2 |
| Pitching_SO | 3 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260728_NYY@CHW |
| game_type | full |
| mlbID | 670280 |
| playerID | 670280 |
| playerName | David Bednar |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-28 |
| sl_k_percent | 28.2 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.257 |
| sl_xwoba | 0.26 |
| sl_sweet_spot_percent | 22.7 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 37.8 |
| sl_whiff_percent | 31.1 |
| sl_swing_percent | 52.7 |
| sl_avg_best_speed | 74.285047119 |
| sl_avg_hyper_speed | 93.388758462 |
| 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.540 | 0.000 | -0.540 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.260 | 1.000 | -0.260 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.640 | 1.000 | 0.360 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.664 | 1.000 | 0.336 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.120 | 1.000 | -1.120 | -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": "518585",
"player_name": "Fernando Cruz",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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.100 | 3.000 | 4.000 | 5.000 | 5.000 | 1.000 | 6.2308 | 2.0769 | 0.6923 | 0.9231 | 1.1539 | 1.1539 | 0.2308 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 7.000 | 7.000 | 9.000 | 1.000 | 3.1154 | 1.6154 | 0.3462 | 0.8077 | 0.8077 | 1.0385 | 0.1154 |
| season | 0.20 | 50 | 45.100 | 13.000 | 32.000 | 27.000 | 56.000 | 3.000 | 2.5809 | 1.3015 | 0.2868 | 0.7059 | 0.5956 | 1.2353 | 0.0662 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7200 |
| predicted_ER | 0.4960 |
| predicted_ERA | 4.4618 |
| predicted_H | 0.8880 |
| predicted_HR | 0.1550 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0690 |
| predicted_WHIP | 1.6077 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7200 | 0.3596 | model_form_blend |
| predicted_ER | 0.0000 | 0.4960 | 0.2477 | model_form_blend |
| predicted_ERA | - | 4.4618 | 4.4618 | form_only |
| predicted_H | 1.0000 | 0.8880 | 0.9441 | model_form_blend |
| predicted_HR | 0.0000 | 0.1550 | 0.0774 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0690 | 0.5339 | model_form_blend |
| predicted_WHIP | - | 1.6077 | 1.6077 | 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 | 50 |
| Season rows before report date | 50 |
| Report year | 2026 |
| Profile rows used | 50 |
| 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 | 18 |
| 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 | 1 |
| Pitching_ERA | 2.58 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 518585 |
| playerID | 518585 |
| playerName | Fernando Cruz |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.283 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 21.9 |
| sl_whiff_percent | 40.1 |
| sl_swing_percent | 43.8 |
| sl_avg_best_speed | 74.134047692 |
| sl_avg_hyper_speed | 92.040287476 |
| 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.526 | 1.000 | -0.526 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.368 | 2.000 | -0.368 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.079 | 2.000 | -1.079 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.403 | 1.200 | -0.403 | -0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.158 | 2.000 | -0.158 | -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": "621112",
"player_name": "Paul Blackburn",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 9.000 | 2.000 | 3.000 | 4.000 | 7.000 | 2.000 | 2.0000 | 0.7778 | 0.2222 | 0.3333 | 0.4444 | 0.7778 | 0.2222 |
| last_10 | 0.35 | 10 | 16.100 | 3.000 | 6.000 | 7.000 | 14.000 | 3.000 | 1.6531 | 0.7959 | 0.1837 | 0.3674 | 0.4286 | 0.8571 | 0.1837 |
| season | 0.20 | 38 | 58.200 | 14.000 | 41.000 | 20.000 | 44.000 | 6.000 | 2.1477 | 1.0398 | 0.2386 | 0.6989 | 0.3409 | 0.7500 | 0.1023 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5860 |
| predicted_ER | 0.4400 |
| predicted_ERA | 2.7010 |
| predicted_H | 0.8590 |
| predicted_HR | 0.2560 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.2430 |
| predicted_WHIP | 0.9850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5860 | 0.3067 | model_form_blend |
| predicted_ER | 0.0000 | 0.4400 | 0.2303 | model_form_blend |
| predicted_ERA | - | 2.7010 | 2.7010 | form_only |
| predicted_H | 0.0000 | 0.8590 | 0.4496 | model_form_blend |
| predicted_HR | 0.0000 | 0.2560 | 0.1340 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2430 | 1.1272 | model_form_blend |
| predicted_WHIP | - | 0.9850 | 0.9850 | 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 | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 38 |
| 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 | 3 |
| 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 | 2 |
| Pitching_ERA | 2.15 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 24 |
| Pitching_R | 2 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_NYY@CHW |
| game_type | full |
| mlbID | 621112 |
| playerID | 621112 |
| playerName | Paul Blackburn |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.249 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 32.3 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 46.3 |
| sl_avg_best_speed | 73.933935316 |
| sl_avg_hyper_speed | 93.216490446 |
| Field | Value |
|---|---|
| Pitcher | Davis Martin |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1425 |
| ESPN Rank | 20 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0186 |
| Avg Velo | 90.2046 |
| Avg Spin | 2457.5995 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 3.3061 |
| Season WHIP | 1.1878 |
| Role Avg IP | 5.8330 |
| Recent Avg IP | 5.1330 |
| Last Start IP | 3.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"opponent": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"edges": {
"quality_edge": -0.1306,
"offense_edge": 0.048,
"opponent_offense_edge": -0.0141,
"defense_strength": 0.0078,
"opponent_defense_weakness": -0.19,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9956,
"run_prevention": 1.0035,
"strikeout": 0.9972
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663436",
"profile": {
"available": true,
"pitcher_id": "663436",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 300.0,
"k_percent": 21.6,
"bb_percent": 7.1,
"woba": 0.304,
"xwoba": 0.32,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 44.4,
"avg_best_speed": 79.817,
"avg_hyper_speed": 94.8008,
"whiff_percent": 24.6,
"swing_percent": 49.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.1693,
"command_and_miss": -0.0132,
"regression_edge": -0.4571,
"xwoba_edge": -0.2286,
"barrel_edge": 0.1778,
"hard_hit_edge": -0.9,
"whiff_edge": -0.1571,
"bb_edge": 0.45,
"pitch_design_score": 0.0186
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663436",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 90.20459506088388,
"release_spin_rate": 2457.5994529785894,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 90.20459506088388,
"release_spin_rate": 2457.5994529785894,
"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.2046,
"release_spin_rate": 2457.5995,
"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.0186,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1329,
"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.1425,
"sample_weight": 1.0,
"run_prevention_factor": 1.0121,
"strikeout_factor": 0.9894,
"walk_factor": 0.964,
"homer_factor": 1.0286,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663436",
"espn_id": 42823,
"player_name": "Davis Martin",
"team": "CHW",
"role": "pitcher",
"espn_rank": 20,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 20,
"gp_value": 21.0,
"gp_rank": 261,
"gs_value": 21.0,
"gs_rank": 22,
"qs_value": 10.0,
"qs_rank": 29,
"era_value": 3.6153,
"era_rank": 29.0,
"w_value": 9.0,
"w_rank": 20,
"l_value": 5.0,
"l_rank": 97,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 117.0,
"ip_rank": 33,
"h_value": 113.0,
"h_rank": 24,
"er_value": 47.0,
"er_rank": 62,
"hr_value": 7.0,
"hr_rank": 177,
"bb_value": 35.0,
"bb_rank": 61,
"k_value": 106.0,
"k_rank": 42,
"k_per_9_value": 8.153846,
"k_per_9_rank": 34,
"whip_value": 1.2649,
"whip_rank": 43.0,
"war_value": 3.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0121,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0121,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.964,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0286,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9894,
"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": 56.2,
"ER": 24,
"H": 58,
"BB": 14,
"SO": 64,
"HR": 4,
"ERA": 3.8117647058823527,
"WHIP": 1.2705882352941176,
"K9": 10.16470588235294,
"HR9": 0.6352941176470588,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-16T00:00:00"
}{
"available": true,
"pitcher_id": "663436",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 90.20459506088388,
"release_spin_rate": 2457.5994529785894,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 90.20459506088388,
"release_spin_rate": 2457.5994529785894,
"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.2046,
"release_spin_rate": 2457.5995,
"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.0186,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1329,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"role": "pitcher",
"player_id": "663436",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 7.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.2,
"ER": 20.0,
"R": 20.0,
"H": 32.0,
"BB": 10.0,
"SO": 24.0,
"HR": 3.0,
"BF": 119.0,
"Pitches": 462.0
},
"per_game": {
"IP": 5.0,
"ER": 4.0,
"R": 4.0,
"H": 6.4,
"BB": 2.0,
"SO": 4.8,
"HR": 0.6,
"BF": 23.8,
"Pitches": 92.4
},
"rates": {
"ERA": 7.013,
"WHIP": 1.6364,
"ER_per_IP": 0.77922,
"H_per_IP": 1.24675,
"BB_per_IP": 0.38961,
"SO_per_IP": 0.93506,
"HR_per_IP": 0.11688
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.2,
"ER": 24.0,
"R": 24.0,
"H": 58.0,
"BB": 14.0,
"SO": 64.0,
"HR": 4.0,
"BF": 240.0,
"Pitches": 938.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4,
"R": 2.4,
"H": 5.8,
"BB": 1.4,
"SO": 6.4,
"HR": 0.4,
"BF": 24.0,
"Pitches": 93.8
},
"rates": {
"ERA": 3.8118,
"WHIP": 1.2706,
"ER_per_IP": 0.42353,
"H_per_IP": 1.02353,
"BB_per_IP": 0.24706,
"SO_per_IP": 1.12941,
"HR_per_IP": 0.07059
}
},
"season": {
"games": 14,
"totals": {
"IP": 81.2,
"ER": 30.0,
"R": 30.0,
"H": 77.0,
"BB": 20.0,
"SO": 83.0,
"HR": 6.0,
"BF": 334.0,
"Pitches": 1286.0
},
"per_game": {
"IP": 6.0,
"ER": 2.1429,
"R": 2.1429,
"H": 5.5,
"BB": 1.4286,
"SO": 5.9286,
"HR": 0.4286,
"BF": 23.8571,
"Pitches": 91.8571
},
"rates": {
"ERA": 3.3061,
"WHIP": 1.1878,
"ER_per_IP": 0.36735,
"H_per_IP": 0.94286,
"BB_per_IP": 0.2449,
"SO_per_IP": 1.01633,
"HR_per_IP": 0.07347
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 3.244,
"predicted_H": 6.273,
"predicted_BB": 1.886,
"predicted_SO": 5.866,
"predicted_HR": 0.629,
"predicted_ERA": 4.9942,
"predicted_WHIP": 1.3959
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4612,
"form_weight": 0.5388,
"form_reliability": 0.7368,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"applied_metrics": {
"predicted_IP": {
"model": 7.0,
"form": 6.0,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 3.244,
"final": 2.6703,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 6.273,
"final": 5.6859,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.886,
"final": 1.4774,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.866,
"final": 5.9278,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.629,
"final": 0.8001,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.9942,
"final": 4.9942,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3959,
"final": 1.3959,
"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 | Bryan Hudson |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1603 |
| ESPN Rank | 95 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0569 |
| Avg Velo | 88.8567 |
| Avg Spin | 2148.5033 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 3 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 1.5652 |
| Season WHIP | 1.3478 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"opponent": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"edges": {
"quality_edge": -0.1306,
"offense_edge": 0.048,
"opponent_offense_edge": -0.0141,
"defense_strength": 0.0078,
"opponent_defense_weakness": -0.19,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9956,
"run_prevention": 1.0035,
"strikeout": 0.9972
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663542",
"profile": {
"available": true,
"pitcher_id": "663542",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 92.0,
"k_percent": 22.9,
"bb_percent": 8.9,
"woba": 0.294,
"xwoba": 0.283,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 36.5,
"avg_best_speed": 77.3816,
"avg_hyper_speed": 93.3339,
"whiff_percent": 24.5,
"swing_percent": 46.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.5994,
"command_and_miss": -0.0246,
"regression_edge": 0.3143,
"xwoba_edge": 0.8286,
"barrel_edge": 0.6889,
"hard_hit_edge": 0.2286,
"whiff_edge": -0.1714,
"bb_edge": 0.0,
"pitch_design_score": -0.0569
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663542",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.8567,
"release_spin_rate": 2148.5033,
"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.0569,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4063,
"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.1603,
"sample_weight": 0.45,
"run_prevention_factor": 0.9864,
"strikeout_factor": 0.9983,
"walk_factor": 1.0,
"homer_factor": 0.9599,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663542",
"espn_id": 4991171,
"player_name": "Bryan Hudson",
"team": "CHW",
"role": "pitcher",
"espn_rank": 95,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 95,
"gp_value": 47.0,
"gp_rank": 27,
"gs_value": 6.0,
"gs_rank": 186,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.9562,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 4.0,
"sv_rank": 43,
"hld_value": 6.0,
"hld_rank": 109,
"ip_value": 45.2,
"ip_rank": 227,
"h_value": 42.0,
"h_rank": 219,
"er_value": 15.0,
"er_rank": 322,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 17.0,
"bb_rank": 254,
"k_value": 44.0,
"k_rank": 245,
"k_per_9_value": 8.671533,
"k_per_9_rank": 29,
"whip_value": 1.2919,
"whip_rank": null,
"war_value": 1.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9939,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9939,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.982,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9992,
"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": 2,
"H": 10,
"BB": 2,
"SO": 7,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.2,
"K9": 6.3,
"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-05-19T00:00:00"
}{
"available": true,
"pitcher_id": "663542",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.8567,
"release_spin_rate": 2148.5033,
"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.0569,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4063,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 4.584,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4783,
"prior_weight": 0.5217
},
"role": "pitcher",
"player_id": "663542",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 2.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 0.4,
"HR": 0.0,
"BF": 4.4,
"Pitches": 13.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.2,
"ER_per_IP": 0.4,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 0.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 0.7,
"HR": 0.0,
"BF": 4.2,
"Pitches": 14.7
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 0.7,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 23.0,
"ER": 4.0,
"R": 5.0,
"H": 21.0,
"BB": 10.0,
"SO": 23.0,
"HR": 0.0,
"BF": 99.0,
"Pitches": 402.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.2083,
"H": 0.875,
"BB": 0.4167,
"SO": 0.9583,
"HR": 0.0,
"BF": 4.125,
"Pitches": 16.75
},
"rates": {
"ERA": 1.5652,
"WHIP": 1.3478,
"ER_per_IP": 0.17391,
"H_per_IP": 0.91304,
"BB_per_IP": 0.43478,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.4,
"predicted_H": 0.979,
"predicted_BB": 0.304,
"predicted_SO": 0.799,
"predicted_HR": 0.079,
"predicted_ERA": 3.602,
"predicted_WHIP": 1.283
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5704,
"form_weight": 0.4296,
"form_reliability": 0.4783,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.584,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4783,
"prior_weight": 0.5217
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.4,
"final": 1.8831,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.979,
"final": 1.5614,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.304,
"final": 0.701,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.799,
"final": 0.3432,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.079,
"final": 0.6044,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.602,
"final": 3.602,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.283,
"final": 1.283,
"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 | Grant Taylor |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4633 |
| ESPN Rank | 72 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2673 |
| Avg Velo | 94.6463 |
| Avg Spin | 2483.6036 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.4211 |
| Season WHIP | 1.2632 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"opponent": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"edges": {
"quality_edge": -0.1306,
"offense_edge": 0.048,
"opponent_offense_edge": -0.0141,
"defense_strength": 0.0078,
"opponent_defense_weakness": -0.19,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9956,
"run_prevention": 1.0035,
"strikeout": 0.9972
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "691799",
"profile": {
"available": true,
"pitcher_id": "691799",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 21.0,
"k_percent": 34.9,
"bb_percent": 8.5,
"woba": 0.254,
"xwoba": 0.233,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 40.0,
"avg_best_speed": 78.9108,
"avg_hyper_speed": 93.9077,
"whiff_percent": 30.4,
"swing_percent": 47.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.2003,
"command_and_miss": 1.0618,
"regression_edge": 0.6,
"xwoba_edge": 2.2571,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.2714,
"whiff_edge": 0.6714,
"bb_edge": 0.1,
"pitch_design_score": 0.2673
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "691799",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.64628205128204,
"release_spin_rate": 2483.6036324786323,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 94.64628205128204,
"release_spin_rate": 2483.6036324786323,
"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": 94.6463,
"release_spin_rate": 2483.6036,
"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.2673,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9095,
"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.4633,
"sample_weight": 0.45,
"run_prevention_factor": 0.9606,
"strikeout_factor": 1.0444,
"walk_factor": 0.9964,
"homer_factor": 0.9712,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691799",
"espn_id": 4927630,
"player_name": "Grant Taylor",
"team": "CHW",
"role": "pitcher",
"espn_rank": 72,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 72,
"gp_value": 40.0,
"gp_rank": 93,
"gs_value": 4.0,
"gs_rank": 202,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.4695,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 5.0,
"sv_rank": 35,
"hld_value": 7.0,
"hld_rank": 89,
"ip_value": 54.2,
"ip_rank": 176,
"h_value": 38.0,
"h_rank": 248,
"er_value": 15.0,
"er_rank": 322,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 18.0,
"bb_rank": 235,
"k_value": 75.0,
"k_rank": 110,
"k_per_9_value": 12.347561,
"k_per_9_rank": 16,
"whip_value": 1.0243,
"whip_rank": null,
"war_value": 1.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9823,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9823,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9984,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.02,
"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": 6.1,
"ER": 1,
"H": 6,
"BB": 2,
"SO": 8,
"HR": 0,
"ERA": 1.4210526315789473,
"WHIP": 1.2631578947368423,
"K9": 11.368421052631579,
"HR9": 0.0,
"games_pitched": 6,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 6,
"error_prone": false
},
"games_count": 6,
"latest_game_date": "2026-04-09T00:00:00"
}{
"available": true,
"pitcher_id": "691799",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.64628205128204,
"release_spin_rate": 2483.6036324786323,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 94.64628205128204,
"release_spin_rate": 2483.6036324786323,
"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": 94.6463,
"release_spin_rate": 2483.6036,
"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.2673,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9095,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.8653846153846154,
"last_10": 0.1346153846153846
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.262,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2016,
"prior_weight": 0.7984
},
"role": "pitcher",
"player_id": "691799",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 6,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9375,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 6,
"totals": {
"IP": 6.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 106.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1667,
"H": 1.0,
"BB": 0.3333,
"SO": 1.3333,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.6667
},
"rates": {
"ERA": 1.4211,
"WHIP": 1.2632,
"ER_per_IP": 0.15789,
"H_per_IP": 0.94737,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.26316,
"HR_per_IP": 0.0
}
},
"season": {
"games": 6,
"totals": {
"IP": 6.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 106.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1667,
"H": 1.0,
"BB": 0.3333,
"SO": 1.3333,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.6667
},
"rates": {
"ERA": 1.4211,
"WHIP": 1.2632,
"ER_per_IP": 0.15789,
"H_per_IP": 0.94737,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.26316,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.408,
"predicted_H": 0.936,
"predicted_BB": 0.325,
"predicted_SO": 1.029,
"predicted_HR": 0.121,
"predicted_ERA": 3.675,
"predicted_WHIP": 1.2613
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6873,
"form_weight": 0.3127,
"form_reliability": 0.2016,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.262,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2016,
"prior_weight": 0.7984
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.408,
"final": 0.1276,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.936,
"final": 0.2927,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.325,
"final": 0.1016,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.029,
"final": 0.3217,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.121,
"final": 0.0378,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.675,
"final": 3.675,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2613,
"final": 1.2613,
"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 | Sean Newcomb |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0253 |
| ESPN Rank | 78 |
| 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 | 1 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 7.7143 |
| Season WHIP | 1.7143 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 545.0,
"runs_allowed": 516.0,
"run_differential": 29.0,
"run_differential_per_game": 0.2522,
"avg_runs_scored": 4.7391,
"avg_runs_allowed": 4.487,
"offense_index": 1.048,
"defense_index": 1.0078,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.8,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.027
},
"opponent": {
"team": "NYY",
"games": 120,
"wins": 66,
"losses": 54,
"win_pct": 0.55,
"runs_scored": 535.0,
"runs_allowed": 456.0,
"run_differential": 79.0,
"run_differential_per_game": 0.6583,
"avg_runs_scored": 4.4583,
"avg_runs_allowed": 3.8,
"offense_index": 0.9859,
"defense_index": 1.19,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.5,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.1576
},
"edges": {
"quality_edge": -0.1306,
"offense_edge": 0.048,
"opponent_offense_edge": -0.0141,
"defense_strength": 0.0078,
"opponent_defense_weakness": -0.19,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9956,
"run_prevention": 1.0035,
"strikeout": 0.9972
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656794",
"profile": {
"available": true,
"pitcher_id": "656794",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.8,
"bb_percent": 8.9,
"woba": 0.308,
"xwoba": 0.308,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5157,
"avg_hyper_speed": 93.8953,
"whiff_percent": 26.1,
"swing_percent": 47.7
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.0777,
"command_and_miss": 0.0489,
"regression_edge": 0.0,
"xwoba_edge": 0.1143,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0571,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656794",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0253,
"sample_weight": 0.45,
"run_prevention_factor": 0.9978,
"strikeout_factor": 1.0022,
"walk_factor": 1.0,
"homer_factor": 0.9985,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656794",
"espn_id": 33856,
"player_name": "Sean Newcomb",
"team": "CHW",
"role": "pitcher",
"espn_rank": 78,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 78,
"gp_value": 39.0,
"gp_rank": 99,
"gs_value": 1.0,
"gs_rank": 274,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.9653,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 3.0,
"sv_rank": 53,
"hld_value": 8.0,
"hld_rank": 76,
"ip_value": 57.2,
"ip_rank": 165,
"h_value": 46.0,
"h_rank": 193,
"er_value": 19.0,
"er_rank": 248,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 21.0,
"bb_rank": 185,
"k_value": 55.0,
"k_rank": 170,
"k_per_9_value": 8.583816,
"k_per_9_rank": 27,
"whip_value": 1.1618,
"whip_rank": null,
"war_value": 1.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.999,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.999,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9993,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.001,
"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": 2.1,
"ER": 2,
"H": 3,
"BB": 1,
"SO": 1,
"HR": 0,
"ERA": 7.7142857142857135,
"WHIP": 1.7142857142857142,
"K9": 3.8571428571428568,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-26T00:00:00"
}{
"available": false,
"pitcher_id": "656794",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.465,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0851,
"prior_weight": 0.9149
},
"role": "pitcher",
"player_id": "656794",
"report_date": "20260730_N",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"per_game": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.7143,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"per_game": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.7143,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"per_game": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.7143,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.27,
"predicted_H": 0.505,
"predicted_BB": 0.182,
"predicted_SO": 0.46,
"predicted_HR": 0.07,
"predicted_ERA": 4.8235,
"predicted_WHIP": 1.3646
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7365,
"form_weight": 0.2635,
"form_reliability": 0.0851,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.465,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0851,
"prior_weight": 0.9149
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.27,
"final": 0.8077,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.505,
"final": 0.8696,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.182,
"final": 0.0479,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.46,
"final": 2.3308,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0184,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8235,
"final": 4.8235,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3646,
"final": 1.3646,
"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.176 | 0.000 | 0.000 | Hitting_2B | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.662 | 5.000 | 4.000 | Hitting_AB | 3.765 | 4.000 | 1.235 | 1.000 |
| predicted_AVG | 0.218 | 0.400 | 0.250 | Hitting_AVG | 0.220 | 0.000 | 0.180 | 0.400 |
| predicted_BB | 0.378 | 0.000 | 0.000 | Hitting_BB | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.797 | 2.000 | 1.000 | Hitting_H | 0.830 | 0.000 | 1.170 | 2.000 |
| predicted_HR | 0.270 | 1.000 | 0.000 | Hitting_HR | 0.278 | 0.000 | 0.722 | 1.000 |
| predicted_OBP | 0.291 | 0.400 | 0.250 | Hitting_OBP | 0.315 | 0.000 | 0.085 | 0.400 |
| predicted_R | 0.486 | 1.000 | 0.000 | Hitting_R | 0.523 | 0.000 | 0.477 | 1.000 |
| predicted_RBI | 0.608 | 2.000 | 1.000 | Hitting_RBI | 0.641 | 0.000 | 1.359 | 2.000 |
| predicted_SLG | 0.487 | 1.000 | 0.250 | Hitting_SLG | 0.493 | 0.000 | 0.507 | 1.000 |
| predicted_SO | 1.311 | 0.000 | 1.000 | Hitting_SO | 1.369 | 4.000 | -1.369 | -4.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.6080 -> 2.0000 (boost 1.3920, better) |
| Biggest Deboost | predicted_SO: 1.3110 -> 0.0000 (deboost -1.3110, 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.4870 -> 0.4722 (deboost -0.0148, 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.2851 -> 0.2763 (deboost -0.0088, 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 | 4 | 4 | predicted_RBI: 0.5615 -> 1.0000 (boost 0.4385, better) | predicted_BB: 0.3688 -> 0.0000 (deboost -0.3688, worse) | AB rounded to 4 (raw=3.66), rates preserved: AVG=0.203 HR/AB=0.072 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4514 -> 0.0000 (deboost -0.4514, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2032 -> 0.2500 (boost 0.0468, better) | predicted_SLG: 0.4639 -> 0.2500 (deboost -0.2139, worse) | 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_AB: 4.0000 -> 5.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.4639 (boost 0.2139, better) | predicted_AVG: 0.2500 -> 0.2032 (deboost -0.0468, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "DH",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.0,
"predicted_AB": 3.662,
"predicted_AVG": 0.218,
"predicted_BB": 0.378,
"predicted_H": 0.797,
"predicted_HR": 0.27,
"predicted_OBP": 0.291,
"predicted_R": 0.486,
"predicted_RBI": 0.608,
"predicted_SLG": 0.487,
"predicted_SO": 1.311
},
"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.1565,
"predicted_3B": 0.0004,
"predicted_AB": 3.6501,
"predicted_AVG": 0.2072,
"predicted_BB": 0.3695,
"predicted_H": 0.7559,
"predicted_HBP": 0.069,
"predicted_HR": 0.27,
"predicted_OBP": 0.2851,
"predicted_R": 0.4656,
"predicted_RBI": 0.5792,
"predicted_SLG": 0.4722,
"predicted_SO": 1.3555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1565,
"delta": -0.0195,
"percent_delta": -0.1108,
"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.662,
"after": 3.6501,
"delta": -0.0119,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2072,
"delta": -0.0108,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.3695,
"delta": -0.0085,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.797,
"after": 0.7559,
"delta": -0.0411,
"percent_delta": -0.0516,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.27,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2851,
"delta": -0.0059,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 0.4656,
"delta": -0.0204,
"percent_delta": -0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.608,
"after": 0.5792,
"delta": -0.0288,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.4722,
"delta": -0.0148,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.311,
"after": 1.3555,
"delta": 0.0445,
"percent_delta": 0.0339,
"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.487,
"after": 0.4722,
"delta": -0.0148,
"percent_delta": -0.0304,
"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": 74
}
},
{
"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.1565,
"predicted_3B": 0.0004,
"predicted_AB": 3.6501,
"predicted_AVG": 0.2032,
"predicted_BB": 0.3688,
"predicted_H": 0.7418,
"predicted_HBP": 0.069,
"predicted_HR": 0.2647,
"predicted_OBP": 0.2763,
"predicted_R": 0.4514,
"predicted_RBI": 0.5615,
"predicted_SLG": 0.4639,
"predicted_SO": 1.3582
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1565,
"after": 0.1565,
"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.6501,
"after": 3.6501,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2072,
"after": 0.2032,
"delta": -0.004,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3695,
"after": 0.3688,
"delta": -0.0007,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7559,
"after": 0.7418,
"delta": -0.0141,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.069,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.2647,
"delta": -0.0053,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2851,
"after": 0.2763,
"delta": -0.0088,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4656,
"after": 0.4514,
"delta": -0.0142,
"percent_delta": -0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5792,
"after": 0.5615,
"delta": -0.0177,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4722,
"after": 0.4639,
"delta": -0.0083,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3555,
"after": 1.3582,
"delta": 0.0027,
"percent_delta": 0.002,
"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.2851,
"after": 0.2763,
"delta": -0.0088,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.203 HR/AB=0.072",
"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.1565,
"after": 0.0,
"delta": -0.1565,
"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.6501,
"after": 4.0,
"delta": 0.3499,
"percent_delta": 0.0959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3688,
"after": 0.0,
"delta": -0.3688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7418,
"after": 1.0,
"delta": 0.2582,
"percent_delta": 0.3481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2647,
"after": 0.0,
"delta": -0.2647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5615,
"after": 1.0,
"delta": 0.4385,
"percent_delta": 0.7809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3582,
"after": 1.0,
"delta": -0.3582,
"percent_delta": -0.2637,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5615,
"after": 1.0,
"delta": 0.4385,
"percent_delta": 0.7809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3688,
"after": 0.0,
"delta": -0.3688,
"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.4514,
"after": 0.0,
"delta": -0.4514,
"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.4514,
"after": 0.0,
"delta": -0.4514,
"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.2032,
"after": 0.25,
"delta": 0.0468,
"percent_delta": 0.2303,
"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.2763,
"after": 0.25,
"delta": -0.0263,
"percent_delta": -0.0952,
"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.4639,
"after": 0.25,
"delta": -0.2139,
"percent_delta": -0.4611,
"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.2032,
"after": 0.25,
"delta": 0.0468,
"percent_delta": 0.2303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4639,
"after": 0.25,
"delta": -0.2139,
"percent_delta": -0.4611,
"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": 2.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": 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": 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": 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": 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_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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": 5.0,
"predicted_AVG": 0.2032,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2763,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4639,
"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.2032,
"delta": -0.0468,
"percent_delta": -0.187,
"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": 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.2763,
"delta": 0.0263,
"percent_delta": 0.1054,
"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.4639,
"delta": 0.2139,
"percent_delta": 0.8554,
"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.4639,
"delta": 0.2139,
"percent_delta": 0.8554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2032,
"delta": -0.0468,
"percent_delta": -0.187,
"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.176,
"after": 0.0,
"delta": -0.176,
"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.662,
"after": 5.0,
"delta": 1.338,
"percent_delta": 0.3654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2032,
"delta": -0.0148,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.0,
"delta": -0.378,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.797,
"after": 2.0,
"delta": 1.203,
"percent_delta": 1.5094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 1.0,
"delta": 0.73,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2763,
"delta": -0.0147,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 1.0,
"delta": 0.514,
"percent_delta": 1.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.608,
"after": 2.0,
"delta": 1.392,
"percent_delta": 2.2895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.4639,
"delta": -0.0231,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.311,
"after": 0.0,
"delta": -1.311,
"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.608,
"after": 2.0,
"delta": 1.392,
"percent_delta": 2.2895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.311,
"after": 0.0,
"delta": -1.311,
"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.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.662 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.378 | - |
| predicted_H | 0.797 | - |
| predicted_HR | 0.270 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.486 | - |
| predicted_RBI | 0.608 | - |
| predicted_SLG | 0.487 | - |
| predicted_SO | 1.311 | - |
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.157 | -0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.650 | -0.012 |
| predicted_AVG | 0.207 | -0.011 |
| predicted_BB | 0.369 | -0.009 |
| predicted_H | 0.756 | -0.041 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.270 | 0.000 |
| predicted_OBP | 0.285 | -0.006 |
| predicted_R | 0.466 | -0.020 |
| predicted_RBI | 0.579 | -0.029 |
| predicted_SLG | 0.472 | -0.015 |
| predicted_SO | 1.355 | 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.157 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.650 | 0.000 |
| predicted_AVG | 0.203 | -0.004 |
| predicted_BB | 0.369 | -0.001 |
| predicted_H | 0.742 | -0.014 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.265 | -0.005 |
| predicted_OBP | 0.276 | -0.009 |
| predicted_R | 0.451 | -0.014 |
| predicted_RBI | 0.561 | -0.018 |
| predicted_SLG | 0.464 | -0.008 |
| predicted_SO | 1.358 | 0.003 |
AB rounded to 4 (raw=3.66), rates preserved: AVG=0.203 HR/AB=0.072
| 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.157 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.350 |
| predicted_AVG | 0.250 | 0.047 |
| predicted_BB | 0.000 | -0.369 |
| predicted_H | 1.000 | 0.258 |
| predicted_HR | 0.000 | -0.265 |
| predicted_OBP | 0.250 | -0.026 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 1.000 | 0.439 |
| predicted_SLG | 0.250 | -0.214 |
| predicted_SO | 1.000 | -0.358 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.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 | - | 18.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 10.000 | 0.1111 | 0.2000 | 0.2778 | 0.1111 | 0.0556 | 0.0556 | 0.1111 | 0.5556 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 1.000 | 0.000 | 4.000 | 7.000 | 5.000 | 3.000 | 14.000 | 0.1714 | 0.2368 | 0.5429 | 0.1714 | 0.1143 | 0.2000 | 0.0857 | 0.4000 |
| season | 0.60 | 74 | - | 271.000 | 59.000 | 13.000 | 0.000 | 20.000 | 45.000 | 36.000 | 28.000 | 97.000 | 0.2177 | 0.3117 | 0.4871 | 0.2177 | 0.0738 | 0.1661 | 0.1033 | 0.3579 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1300 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6340 |
| predicted_AVG | 0.1925 |
| predicted_BB | 0.3580 |
| predicted_H | 0.7000 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.2700 |
| predicted_OBP | 0.2771 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.5400 |
| predicted_SLG | 0.4522 |
| predicted_SO | 1.4160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1300 | 0.1565 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6620 | 3.6340 | 3.6501 | model_form_blend |
| predicted_AVG | 0.2180 | 0.1925 | 0.2072 | model_form_blend |
| predicted_BB | 0.3780 | 0.3580 | 0.3695 | model_form_blend |
| predicted_H | 0.7970 | 0.7000 | 0.7559 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.2700 | 0.2700 | 0.2700 | model_form_blend |
| predicted_OBP | 0.2910 | 0.2771 | 0.2851 | model_form_blend |
| predicted_R | 0.4860 | 0.4380 | 0.4656 | model_form_blend |
| predicted_RBI | 0.6080 | 0.5400 | 0.5792 | model_form_blend |
| predicted_SLG | 0.4870 | 0.4522 | 0.4722 | model_form_blend |
| predicted_SO | 1.3110 | 1.4160 | 1.3555 | 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 | 306 |
| Season rows before report date | 306 |
| Report year | 2026 |
| Profile rows used | 74 |
| 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 | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.218 |
| 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 | 4 |
| 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 | 3B |
| gameID | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 695657 |
| playerID | 695657 |
| playerName | Colson Montgomery |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| game_pk | 824585.0 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.328 |
| sl_xwoba | 0.317 |
| sl_xba | 0.218 |
| sl_xslg | 0.432 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 42.4 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 23.4 |
| sl_whiff_percent | 37.7 |
| sl_swing_percent | 51.9 |
| at_bat_number | 68.0 |
| ab_pitcher | 671922.0 |
| ab_pitcher_name | Smith, Cade |
| ab_home_team | CWS |
| ab_away_team | CLE |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Colson Montgomery called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 4.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 91.7 |
| ab_release_spin_rate_avg | 1968.4 |
| ab_effective_speed_avg | 93.64 |
| ab_delta_run_exp_avg | -0.052 |
| ab_delta_home_win_exp_avg | -0.0016 |
| ab_delta_pitcher_run_exp_avg | 0.052 |
| ab_release_speed_max | 96.8 |
| ab_release_spin_rate_max | 2476.0 |
| ab_release_speed_min | 84.0 |
| ab_release_spin_rate_min | 590.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.008 |
| ab_delta_pitcher_run_exp_sum | 0.26 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| 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.189 | 0.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.797 | 4.000 | 4.000 | Hitting_AB | 3.851 | 4.000 | 0.149 | 0.000 |
| predicted_AVG | 0.270 | 0.250 | 0.250 | Hitting_AVG | 0.267 | 0.250 | -0.017 | 0.000 |
| predicted_BB | 0.351 | 0.000 | 0.000 | Hitting_BB | 0.373 | 0.000 | -0.373 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_H | 1.027 | 1.000 | 1.000 | Hitting_H | 1.028 | 1.000 | -0.028 | 0.000 |
| predicted_HR | 0.081 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.332 | 0.250 | 0.250 | Hitting_OBP | 0.334 | 0.250 | -0.084 | 0.000 |
| predicted_R | 0.595 | 0.000 | 1.000 | Hitting_R | 0.623 | 1.000 | -0.623 | -1.000 |
| predicted_RBI | 0.338 | 0.000 | 0.000 | Hitting_RBI | 0.367 | 0.000 | -0.367 | 0.000 |
| predicted_SLG | 0.384 | 0.250 | 0.250 | Hitting_SLG | 0.385 | 0.250 | -0.135 | 0.000 |
| predicted_SO | 1.041 | 1.000 | 1.000 | Hitting_SO | 1.038 | 1.000 | -0.038 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.7970 -> 4.0000 (boost 0.2030, better) |
| Biggest Deboost | predicted_R: 0.5950 -> 0.0000 (deboost -0.5950, 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 | 0 | 6 | predicted_SO: 1.0410 -> 1.1399 (boost 0.0989, worse) | predicted_BB: 0.3510 -> 0.2997 (deboost -0.0513, 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.3664 -> 0.3606 (deboost -0.0058, 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 | 2 | 4 | predicted_AB: 3.7669 -> 4.0000 (boost 0.2331, better) | predicted_RBI: 0.3117 -> 0.0000 (deboost -0.3117, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.253 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5278 -> 1.0000 (boost 0.4722, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3606 -> 0.2500 (deboost -0.1106, 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_R: 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.3606 (boost 0.1106, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "C",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.0,
"predicted_AB": 3.797,
"predicted_AVG": 0.27,
"predicted_BB": 0.351,
"predicted_H": 1.027,
"predicted_HR": 0.081,
"predicted_OBP": 0.332,
"predicted_R": 0.595,
"predicted_RBI": 0.338,
"predicted_SLG": 0.384,
"predicted_SO": 1.041
},
"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.1665,
"predicted_3B": 0.0004,
"predicted_AB": 3.7669,
"predicted_AVG": 0.2598,
"predicted_BB": 0.2997,
"predicted_H": 0.9799,
"predicted_HBP": 0.036,
"predicted_HR": 0.078,
"predicted_OBP": 0.3155,
"predicted_R": 0.5445,
"predicted_RBI": 0.3215,
"predicted_SLG": 0.3664,
"predicted_SO": 1.1399
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.1665,
"delta": -0.0225,
"percent_delta": -0.119,
"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.797,
"after": 3.7669,
"delta": -0.0301,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2598,
"delta": -0.0102,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.2997,
"delta": -0.0513,
"percent_delta": -0.1462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.027,
"after": 0.9799,
"delta": -0.0471,
"percent_delta": -0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.081,
"after": 0.078,
"delta": -0.003,
"percent_delta": -0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3155,
"delta": -0.0165,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.5445,
"delta": -0.0505,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.338,
"after": 0.3215,
"delta": -0.0165,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3664,
"delta": -0.0176,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.041,
"after": 1.1399,
"delta": 0.0989,
"percent_delta": 0.095,
"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": 1.041,
"after": 1.1399,
"delta": 0.0989,
"percent_delta": 0.095,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.351,
"after": 0.2997,
"delta": -0.0513,
"percent_delta": -0.1462,
"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": 74
}
},
{
"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.1665,
"predicted_3B": 0.0004,
"predicted_AB": 3.7669,
"predicted_AVG": 0.2553,
"predicted_BB": 0.2991,
"predicted_H": 0.9617,
"predicted_HBP": 0.036,
"predicted_HR": 0.0765,
"predicted_OBP": 0.3101,
"predicted_R": 0.5278,
"predicted_RBI": 0.3117,
"predicted_SLG": 0.3606,
"predicted_SO": 1.1422
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1665,
"after": 0.1665,
"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.7669,
"after": 3.7669,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2598,
"after": 0.2553,
"delta": -0.0045,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2997,
"after": 0.2991,
"delta": -0.0006,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9799,
"after": 0.9617,
"delta": -0.0182,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.078,
"after": 0.0765,
"delta": -0.0015,
"percent_delta": -0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3155,
"after": 0.3101,
"delta": -0.0054,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5445,
"after": 0.5278,
"delta": -0.0167,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3215,
"after": 0.3117,
"delta": -0.0098,
"percent_delta": -0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3664,
"after": 0.3606,
"delta": -0.0058,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1399,
"after": 1.1422,
"delta": 0.0023,
"percent_delta": 0.002,
"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.3664,
"after": 0.3606,
"delta": -0.0058,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.80), rates preserved: AVG=0.253 HR/AB=0.020",
"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.1665,
"after": 0.0,
"delta": -0.1665,
"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.7669,
"after": 4.0,
"delta": 0.2331,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2991,
"after": 0.0,
"delta": -0.2991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9617,
"after": 1.0,
"delta": 0.0383,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0765,
"after": 0.0,
"delta": -0.0765,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3117,
"after": 0.0,
"delta": -0.3117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1422,
"after": 1.0,
"delta": -0.1422,
"percent_delta": -0.1245,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7669,
"after": 4.0,
"delta": 0.2331,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3117,
"after": 0.0,
"delta": -0.3117,
"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.5278,
"after": 1.0,
"delta": 0.4722,
"percent_delta": 0.8947,
"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.5278,
"after": 1.0,
"delta": 0.4722,
"percent_delta": 0.8947,
"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.2553,
"after": 0.25,
"delta": -0.0053,
"percent_delta": -0.0208,
"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.3101,
"after": 0.25,
"delta": -0.0601,
"percent_delta": -0.1938,
"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.3606,
"after": 0.25,
"delta": -0.1106,
"percent_delta": -0.3067,
"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.3606,
"after": 0.25,
"delta": -0.1106,
"percent_delta": -0.3067,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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_R",
"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.2553,
"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.3101,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3606,
"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.2553,
"delta": 0.0053,
"percent_delta": 0.0212,
"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.3101,
"delta": 0.0601,
"percent_delta": 0.2403,
"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.3606,
"delta": 0.1106,
"percent_delta": 0.4424,
"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.3606,
"delta": 0.1106,
"percent_delta": 0.4424,
"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.189,
"after": 0.0,
"delta": -0.189,
"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.797,
"after": 4.0,
"delta": 0.203,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2553,
"delta": -0.0147,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.0,
"delta": -0.351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.027,
"after": 1.0,
"delta": -0.027,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3101,
"delta": -0.0219,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.0,
"delta": -0.595,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3606,
"delta": -0.0234,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.041,
"after": 1.0,
"delta": -0.041,
"percent_delta": -0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.797,
"after": 4.0,
"delta": 0.203,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.595,
"after": 0.0,
"delta": -0.595,
"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.189 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.797 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.351 | - |
| predicted_H | 1.027 | - |
| predicted_HR | 0.081 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.338 | - |
| predicted_SLG | 0.384 | - |
| predicted_SO | 1.041 | - |
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.167 | -0.022 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.767 | -0.030 |
| predicted_AVG | 0.260 | -0.010 |
| predicted_BB | 0.300 | -0.051 |
| predicted_H | 0.980 | -0.047 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.078 | -0.003 |
| predicted_OBP | 0.316 | -0.017 |
| predicted_R | 0.544 | -0.050 |
| predicted_RBI | 0.322 | -0.017 |
| predicted_SLG | 0.366 | -0.018 |
| predicted_SO | 1.140 | 0.099 |
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.167 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.767 | 0.000 |
| predicted_AVG | 0.255 | -0.004 |
| predicted_BB | 0.299 | -0.001 |
| predicted_H | 0.962 | -0.018 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.076 | -0.002 |
| predicted_OBP | 0.310 | -0.005 |
| predicted_R | 0.528 | -0.017 |
| predicted_RBI | 0.312 | -0.010 |
| predicted_SLG | 0.361 | -0.006 |
| predicted_SO | 1.142 | 0.002 |
AB rounded to 4 (raw=3.80), rates preserved: AVG=0.253 HR/AB=0.020
| 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.167 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.233 |
| predicted_AVG | 0.250 | -0.005 |
| predicted_BB | 0.000 | -0.299 |
| predicted_H | 1.000 | 0.038 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.250 | -0.060 |
| predicted_R | 1.000 | 0.472 |
| predicted_RBI | 0.000 | -0.312 |
| predicted_SLG | 0.250 | -0.111 |
| predicted_SO | 1.000 | -0.142 |
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 | -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 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 9.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.0000 | 0.5000 |
| last_10 | 0.20 | 10 | - | 36.000 | 9.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 16.000 | 0.2500 | 0.2895 | 0.3611 | 0.2500 | 0.0278 | 0.1111 | 0.0278 | 0.4444 |
| season | 0.60 | 74 | - | 281.000 | 76.000 | 14.000 | 0.000 | 6.000 | 25.000 | 44.000 | 26.000 | 77.000 | 0.2705 | 0.3344 | 0.3843 | 0.2705 | 0.0214 | 0.0890 | 0.0925 | 0.2740 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7260 |
| predicted_AVG | 0.2459 |
| predicted_BB | 0.2300 |
| predicted_H | 0.9160 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.2931 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.2990 |
| predicted_SLG | 0.3426 |
| predicted_SO | 1.2740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1360 | 0.1665 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7970 | 3.7260 | 3.7669 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2459 | 0.2598 | model_form_blend |
| predicted_BB | 0.3510 | 0.2300 | 0.2997 | model_form_blend |
| predicted_H | 1.0270 | 0.9160 | 0.9799 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.0810 | 0.0740 | 0.0780 | model_form_blend |
| predicted_OBP | 0.3320 | 0.2931 | 0.3155 | model_form_blend |
| predicted_R | 0.5950 | 0.4760 | 0.5445 | model_form_blend |
| predicted_RBI | 0.3380 | 0.2990 | 0.3215 | model_form_blend |
| predicted_SLG | 0.3840 | 0.3426 | 0.3664 | model_form_blend |
| predicted_SO | 1.0410 | 1.2740 | 1.1399 | 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 | 316 |
| Season rows before report date | 316 |
| Report year | 2026 |
| Profile rows used | 74 |
| 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.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 | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| 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 |
| gameID | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 805367 |
| playerID | 805367 |
| playerName | Chase Meidroth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| game_pk | 824585.0 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.329 |
| sl_xwoba | 0.29 |
| sl_xba | 0.233 |
| sl_xslg | 0.331 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 35.3 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 8.4 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 41.6 |
| at_bat_number | 75.0 |
| ab_pitcher | 671922.0 |
| ab_pitcher_name | Smith, Cade |
| ab_home_team | CWS |
| ab_away_team | CLE |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 5.0 |
| ab_event | field_out |
| ab_event_description | Chase Meidroth flies out to right fielder Petey Halpin in foul territory. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 80.8 |
| ab_launch_angle_last | 53.0 |
| ab_hit_distance_last | 215.0 |
| ab_estimated_ba_last | 0.026 |
| ab_estimated_woba_last | 0.023 |
| ab_estimated_slg_last | 0.029 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 90.93333333333334 |
| ab_release_spin_rate_avg | 2283.333333333333 |
| ab_effective_speed_avg | 92.9 |
| ab_launch_speed_avg | 75.25 |
| ab_launch_angle_avg | 60.5 |
| ab_delta_run_exp_avg | -0.088 |
| ab_delta_home_win_exp_avg | -0.0296666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.088 |
| ab_bat_speed_avg | 65.6 |
| ab_swing_length_avg | 6.7 |
| ab_launch_speed_max | 80.8 |
| ab_hit_distance_sc_max | 215.0 |
| ab_release_speed_max | 95.3 |
| ab_release_spin_rate_max | 2386.0 |
| ab_release_speed_min | 83.0 |
| ab_release_spin_rate_min | 2197.0 |
| ab_delta_run_exp_sum | -0.264 |
| ab_delta_home_win_exp_sum | -0.089 |
| ab_delta_pitcher_run_exp_sum | 0.264 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| 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.148 | 1.000 | 0.000 | Hitting_2B | 0.157 | 0.000 | 0.843 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.333 | 3.000 | 3.000 | Hitting_AB | 3.324 | 4.000 | -0.324 | -1.000 |
| predicted_AVG | 0.144 | 0.333 | 0.000 | Hitting_AVG | 0.147 | 0.000 | 0.186 | 0.333 |
| predicted_BB | 0.333 | 1.000 | 0.000 | Hitting_BB | 0.373 | 0.000 | 0.627 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.481 | 1.000 | 0.000 | Hitting_H | 0.490 | 0.000 | 0.510 | 1.000 |
| predicted_HR | 0.185 | 0.000 | 0.000 | Hitting_HR | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_OBP | 0.222 | 0.500 | 0.000 | Hitting_OBP | 0.239 | 0.000 | 0.261 | 0.500 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_RBI | 0.407 | 0.000 | 0.000 | Hitting_RBI | 0.402 | 0.000 | -0.402 | 0.000 |
| predicted_SLG | 0.356 | 0.667 | 0.000 | Hitting_SLG | 0.354 | 0.000 | 0.313 | 0.667 |
| predicted_SO | 0.963 | 0.000 | 1.000 | Hitting_SO | 0.941 | 1.000 | -0.941 | -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_2B: 0.1480 -> 1.0000 (boost 0.8520, better) |
| Biggest Deboost | predicted_SO: 0.9630 -> 0.0000 (deboost -0.9630, 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 | 1 | 1 | 1 | 1 | predicted_AB: 3.3330 -> 3.3882 (boost 0.0552, better) | predicted_SLG: 0.3560 -> 0.3305 (deboost -0.0255, 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.3305 -> 0.3236 (deboost -0.0069, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 0.4819 -> 0.0000 (deboost -0.4819, worse) | AB rounded to 3 (raw=3.39), rates preserved: AVG=0.142 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3210 -> 0.0000 (deboost -0.3210, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3236 -> 0.0000 (deboost -0.3236, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.0000 -> 0.3236 (boost 0.3236, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691011",
"player_name": "Drew Romo",
"position": "1B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.148,
"predicted_3B": 0.0,
"predicted_AB": 3.333,
"predicted_AVG": 0.144,
"predicted_BB": 0.333,
"predicted_H": 0.481,
"predicted_HR": 0.185,
"predicted_OBP": 0.222,
"predicted_R": 0.333,
"predicted_RBI": 0.407,
"predicted_SLG": 0.356,
"predicted_SO": 0.963
},
"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.1449,
"predicted_3B": 0.0011,
"predicted_AB": 3.3882,
"predicted_AVG": 0.1447,
"predicted_BB": 0.3062,
"predicted_H": 0.491,
"predicted_HBP": 0.025,
"predicted_HR": 0.159,
"predicted_OBP": 0.2171,
"predicted_R": 0.3311,
"predicted_RBI": 0.371,
"predicted_SLG": 0.3305,
"predicted_SO": 0.9538
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.1449,
"delta": -0.0031,
"percent_delta": -0.0209,
"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": 3.333,
"after": 3.3882,
"delta": 0.0552,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.144,
"after": 0.1447,
"delta": 0.0007,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3062,
"delta": -0.0268,
"percent_delta": -0.0805,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.481,
"after": 0.491,
"delta": 0.01,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.185,
"after": 0.159,
"delta": -0.026,
"percent_delta": -0.1405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.222,
"after": 0.2171,
"delta": -0.0049,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3311,
"delta": -0.0019,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.407,
"after": 0.371,
"delta": -0.036,
"percent_delta": -0.0885,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3305,
"delta": -0.0255,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.963,
"after": 0.9538,
"delta": -0.0092,
"percent_delta": -0.0096,
"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.333,
"after": 3.3882,
"delta": 0.0552,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3305,
"delta": -0.0255,
"percent_delta": -0.0716,
"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": 27
}
},
{
"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.1449,
"predicted_3B": 0.0011,
"predicted_AB": 3.3882,
"predicted_AVG": 0.1422,
"predicted_BB": 0.3056,
"predicted_H": 0.4819,
"predicted_HBP": 0.025,
"predicted_HR": 0.1559,
"predicted_OBP": 0.2132,
"predicted_R": 0.321,
"predicted_RBI": 0.3596,
"predicted_SLG": 0.3236,
"predicted_SO": 0.9557
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1449,
"after": 0.1449,
"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": 3.3882,
"after": 3.3882,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1447,
"after": 0.1422,
"delta": -0.0025,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3062,
"after": 0.3056,
"delta": -0.0006,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.491,
"after": 0.4819,
"delta": -0.0091,
"percent_delta": -0.0185,
"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.159,
"after": 0.1559,
"delta": -0.0031,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2171,
"after": 0.2132,
"delta": -0.0039,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3311,
"after": 0.321,
"delta": -0.0101,
"percent_delta": -0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.371,
"after": 0.3596,
"delta": -0.0114,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3305,
"after": 0.3236,
"delta": -0.0069,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9538,
"after": 0.9557,
"delta": 0.0019,
"percent_delta": 0.002,
"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.3305,
"after": 0.3236,
"delta": -0.0069,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.39), rates preserved: AVG=0.142 HR/AB=0.046",
"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.1449,
"after": 0.0,
"delta": -0.1449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3.3882,
"after": 3.0,
"delta": -0.3882,
"percent_delta": -0.1146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3056,
"after": 0.0,
"delta": -0.3056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4819,
"after": 0.0,
"delta": -0.4819,
"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.1559,
"after": 0.0,
"delta": -0.1559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3596,
"after": 0.0,
"delta": -0.3596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9557,
"after": 1.0,
"delta": 0.0443,
"percent_delta": 0.0464,
"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.4819,
"after": 0.0,
"delta": -0.4819,
"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": 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": 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.321,
"after": 0.0,
"delta": -0.321,
"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.321,
"after": 0.0,
"delta": -0.321,
"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.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.0,
"predicted_R": 0.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": 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.1422,
"after": 0.0,
"delta": -0.1422,
"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.2132,
"after": 0.0,
"delta": -0.2132,
"percent_delta": -1.0,
"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.3236,
"after": 0.0,
"delta": -0.3236,
"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.3236,
"after": 0.0,
"delta": -0.3236,
"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": 1.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": 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": 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": 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.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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"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": {
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1422,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2132,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3236,
"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": 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.0,
"after": 0.1422,
"delta": 0.1422,
"percent_delta": null,
"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": 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.2132,
"delta": 0.2132,
"percent_delta": null,
"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.0,
"after": 0.3236,
"delta": 0.3236,
"percent_delta": null,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.3236,
"delta": 0.3236,
"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.148,
"after": 1.0,
"delta": 0.852,
"percent_delta": 5.7568,
"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.333,
"after": 3.0,
"delta": -0.333,
"percent_delta": -0.0999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.144,
"after": 0.1422,
"delta": -0.0018,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.481,
"after": 1.0,
"delta": 0.519,
"percent_delta": 1.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.222,
"after": 0.2132,
"delta": -0.0088,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3236,
"delta": -0.0324,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.963,
"after": 0.0,
"delta": -0.963,
"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_2B",
"before": 0.148,
"after": 1.0,
"delta": 0.852,
"percent_delta": 5.7568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.963,
"after": 0.0,
"delta": -0.963,
"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.148 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.144 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.481 | - |
| predicted_HR | 0.185 | - |
| predicted_OBP | 0.222 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.407 | - |
| predicted_SLG | 0.356 | - |
| predicted_SO | 0.963 | - |
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.145 | -0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.388 | 0.055 |
| predicted_AVG | 0.145 | 0.001 |
| predicted_BB | 0.306 | -0.027 |
| predicted_H | 0.491 | 0.010 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.159 | -0.026 |
| predicted_OBP | 0.217 | -0.005 |
| predicted_R | 0.331 | -0.002 |
| predicted_RBI | 0.371 | -0.036 |
| predicted_SLG | 0.331 | -0.025 |
| predicted_SO | 0.954 | -0.009 |
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.145 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.388 | 0.000 |
| predicted_AVG | 0.142 | -0.003 |
| predicted_BB | 0.306 | -0.001 |
| predicted_H | 0.482 | -0.009 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.156 | -0.003 |
| predicted_OBP | 0.213 | -0.004 |
| predicted_R | 0.321 | -0.010 |
| predicted_RBI | 0.360 | -0.011 |
| predicted_SLG | 0.324 | -0.007 |
| predicted_SO | 0.956 | 0.002 |
AB rounded to 3 (raw=3.39), rates preserved: AVG=0.142 HR/AB=0.046
| 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 | 0.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.145 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.388 |
| predicted_AVG | 0.000 | -0.142 |
| predicted_BB | 0.000 | -0.306 |
| predicted_H | 0.000 | -0.482 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.000 | -0.213 |
| predicted_R | 0.000 | -0.321 |
| predicted_RBI | 0.000 | -0.360 |
| predicted_SLG | 0.000 | -0.324 |
| predicted_SO | 1.000 | 0.044 |
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 | 1.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 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 0.0588 | 0.1111 | 0.0588 | 0.0588 | 0.0000 | 0.0000 | 0.0588 | 0.2941 |
| last_10 | 0.20 | 10 | - | 35.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 9.000 | 0.0857 | 0.1081 | 0.1429 | 0.0857 | 0.0000 | 0.0286 | 0.0286 | 0.2571 |
| season | 0.60 | 27 | - | 90.000 | 13.000 | 4.000 | 0.000 | 5.000 | 11.000 | 9.000 | 9.000 | 26.000 | 0.1444 | 0.2277 | 0.3556 | 0.1444 | 0.0556 | 0.1222 | 0.1000 | 0.2889 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1400 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.4770 |
| predicted_AVG | 0.1459 |
| predicted_BB | 0.2630 |
| predicted_H | 0.5070 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.2091 |
| predicted_R | 0.3280 |
| predicted_RBI | 0.3130 |
| predicted_SLG | 0.2893 |
| predicted_SO | 0.9390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.1400 | 0.1449 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 3.3330 | 3.4770 | 3.3882 | model_form_blend |
| predicted_AVG | 0.1440 | 0.1459 | 0.1447 | model_form_blend |
| predicted_BB | 0.3330 | 0.2630 | 0.3062 | model_form_blend |
| predicted_H | 0.4810 | 0.5070 | 0.4910 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1850 | 0.1170 | 0.1590 | model_form_blend |
| predicted_OBP | 0.2220 | 0.2091 | 0.2171 | model_form_blend |
| predicted_R | 0.3330 | 0.3280 | 0.3311 | model_form_blend |
| predicted_RBI | 0.4070 | 0.3130 | 0.3710 | model_form_blend |
| predicted_SLG | 0.3560 | 0.2893 | 0.3305 | model_form_blend |
| predicted_SO | 0.9630 | 0.9390 | 0.9538 | 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 | 102 |
| Season rows before report date | 102 |
| Report year | 2026 |
| Profile rows used | 27 |
| 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.144 |
| 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 | 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 | 20260620_CHW@DET |
| game_type | full |
| mlbID | 691011 |
| playerID | 691011 |
| playerName | Drew Romo |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-20 |
| game_pk | 824263.0 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.238 |
| sl_xwoba | 0.248 |
| sl_xba | 0.174 |
| sl_xslg | 0.281 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 25.3 |
| sl_exit_velocity_avg | 83.5 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 49.1 |
| at_bat_number | 72.0 |
| ab_pitcher | 445276.0 |
| ab_pitcher_name | Jansen, Kenley |
| ab_home_team | DET |
| ab_away_team | CWS |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 678577.0 |
| ab_on_2b_start | 805367.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Drew Romo lines out to center fielder James Outman. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 98.3 |
| ab_launch_angle_last | 21.0 |
| ab_hit_distance_last | 367.0 |
| ab_estimated_ba_last | 0.294 |
| ab_estimated_woba_last | 0.371 |
| ab_estimated_slg_last | 0.594 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 92.3 |
| ab_release_spin_rate_avg | 2664.0 |
| ab_effective_speed_avg | 93.4 |
| ab_launch_speed_avg | 98.3 |
| ab_launch_angle_avg | 21.0 |
| ab_delta_run_exp_avg | -0.285 |
| ab_delta_home_win_exp_avg | 0.036 |
| ab_delta_pitcher_run_exp_avg | 0.285 |
| ab_bat_speed_avg | 71.7 |
| ab_swing_length_avg | 6.8 |
| ab_launch_speed_max | 98.3 |
| ab_hit_distance_sc_max | 367.0 |
| ab_release_speed_max | 92.3 |
| ab_release_spin_rate_max | 2664.0 |
| ab_release_speed_min | 92.3 |
| ab_release_spin_rate_min | 2664.0 |
| ab_delta_run_exp_sum | -0.285 |
| ab_delta_home_win_exp_sum | 0.036 |
| ab_delta_pitcher_run_exp_sum | 0.285 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| 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.250 | 1.000 | 0.000 | Hitting_2B | 0.288 | 1.000 | 0.712 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 2.853 | 5.000 | 3.000 | Hitting_AB | 3.055 | 4.000 | 1.945 | 1.000 |
| predicted_AVG | 0.289 | 0.200 | 0.333 | Hitting_AVG | 0.303 | 0.250 | -0.103 | -0.050 |
| predicted_BB | 0.221 | 0.000 | 0.000 | Hitting_BB | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 0.824 | 1.000 | 1.000 | Hitting_H | 0.927 | 1.000 | 0.073 | 0.000 |
| predicted_HR | 0.044 | 0.000 | 0.000 | Hitting_HR | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_OBP | 0.340 | 0.200 | 0.333 | Hitting_OBP | 0.359 | 0.250 | -0.159 | -0.050 |
| predicted_R | 0.353 | 0.000 | 0.000 | Hitting_R | 0.379 | 1.000 | -0.379 | -1.000 |
| predicted_RBI | 0.353 | 0.000 | 0.000 | Hitting_RBI | 0.420 | 0.000 | -0.420 | 0.000 |
| predicted_SLG | 0.443 | 0.400 | 0.333 | Hitting_SLG | 0.465 | 0.500 | -0.065 | -0.100 |
| predicted_SO | 0.588 | 2.000 | 1.000 | Hitting_SO | 0.575 | 0.000 | 1.425 | 2.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_AB: 2.8530 -> 5.0000 (boost 2.1470, better) |
| Biggest Deboost | predicted_R: 0.3530 -> 0.0000 (deboost -0.3530, 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_AVG: 0.2890 -> 0.2755 (deboost -0.0135, 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.3310 -> 0.3213 (deboost -0.0097, 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.6037 -> 1.0000 (boost 0.3963, worse) | predicted_RBI: 0.3848 -> 0.0000 (deboost -0.3848, worse) | AB rounded to 3 (raw=2.90), rates preserved: AVG=0.270 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3855 -> 0.0000 (deboost -0.3855, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2699 -> 0.3330 (boost 0.0631, better) | predicted_SLG: 0.4293 -> 0.3330 (deboost -0.0963, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4293 (boost 0.0963, better) | predicted_AVG: 0.3330 -> 0.2699 (deboost -0.0631, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671976",
"player_name": "Tristan Peters",
"position": "2B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.029,
"predicted_AB": 2.853,
"predicted_AVG": 0.289,
"predicted_BB": 0.221,
"predicted_H": 0.824,
"predicted_HR": 0.044,
"predicted_OBP": 0.34,
"predicted_R": 0.353,
"predicted_RBI": 0.353,
"predicted_SLG": 0.443,
"predicted_SO": 0.588
},
"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.2558,
"predicted_3B": 0.0319,
"predicted_AB": 2.9014,
"predicted_AVG": 0.2755,
"predicted_BB": 0.2202,
"predicted_H": 0.7979,
"predicted_HBP": 0.074,
"predicted_HR": 0.0486,
"predicted_OBP": 0.331,
"predicted_R": 0.3977,
"predicted_RBI": 0.3969,
"predicted_SLG": 0.4355,
"predicted_SO": 0.6025
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2558,
"delta": 0.0058,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0319,
"delta": 0.0029,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.853,
"after": 2.9014,
"delta": 0.0484,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2755,
"delta": -0.0135,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.2202,
"delta": -0.0008,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.824,
"after": 0.7979,
"delta": -0.0261,
"percent_delta": -0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.044,
"after": 0.0486,
"delta": 0.0046,
"percent_delta": 0.1045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.331,
"delta": -0.009,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 0.3977,
"delta": 0.0447,
"percent_delta": 0.1266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.353,
"after": 0.3969,
"delta": 0.0439,
"percent_delta": 0.1244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4355,
"delta": -0.0075,
"percent_delta": -0.0169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 0.6025,
"delta": 0.0145,
"percent_delta": 0.0247,
"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.289,
"after": 0.2755,
"delta": -0.0135,
"percent_delta": -0.0467,
"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": 68
}
},
{
"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.2558,
"predicted_3B": 0.0319,
"predicted_AB": 2.9014,
"predicted_AVG": 0.2699,
"predicted_BB": 0.2198,
"predicted_H": 0.7831,
"predicted_HBP": 0.074,
"predicted_HR": 0.0476,
"predicted_OBP": 0.3213,
"predicted_R": 0.3855,
"predicted_RBI": 0.3848,
"predicted_SLG": 0.4293,
"predicted_SO": 0.6037
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2558,
"after": 0.2558,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0319,
"after": 0.0319,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9014,
"after": 2.9014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2755,
"after": 0.2699,
"delta": -0.0056,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2202,
"after": 0.2198,
"delta": -0.0004,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7979,
"after": 0.7831,
"delta": -0.0148,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.074,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0486,
"after": 0.0476,
"delta": -0.001,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3213,
"delta": -0.0097,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3977,
"after": 0.3855,
"delta": -0.0122,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3969,
"after": 0.3848,
"delta": -0.0121,
"percent_delta": -0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4355,
"after": 0.4293,
"delta": -0.0062,
"percent_delta": -0.0142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6025,
"after": 0.6037,
"delta": 0.0012,
"percent_delta": 0.002,
"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.331,
"after": 0.3213,
"delta": -0.0097,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.90), rates preserved: AVG=0.270 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.2558,
"after": 0.0,
"delta": -0.2558,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0319,
"after": 0.0,
"delta": -0.0319,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9014,
"after": 3.0,
"delta": 0.0986,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2198,
"after": 0.0,
"delta": -0.2198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7831,
"after": 1.0,
"delta": 0.2169,
"percent_delta": 0.277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0476,
"after": 0.0,
"delta": -0.0476,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3848,
"after": 0.0,
"delta": -0.3848,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6037,
"after": 1.0,
"delta": 0.3963,
"percent_delta": 0.6565,
"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.6037,
"after": 1.0,
"delta": 0.3963,
"percent_delta": 0.6565,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3848,
"after": 0.0,
"delta": -0.3848,
"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.3855,
"after": 0.0,
"delta": -0.3855,
"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.3855,
"after": 0.0,
"delta": -0.3855,
"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.2699,
"after": 0.333,
"delta": 0.0631,
"percent_delta": 0.2338,
"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.3213,
"after": 0.333,
"delta": 0.0117,
"percent_delta": 0.0364,
"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.4293,
"after": 0.333,
"delta": -0.0963,
"percent_delta": -0.2243,
"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.2699,
"after": 0.333,
"delta": 0.0631,
"percent_delta": 0.2338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4293,
"after": 0.333,
"delta": -0.0963,
"percent_delta": -0.2243,
"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": 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": 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": 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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"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.2699,
"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.3213,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4293,
"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.2699,
"delta": -0.0631,
"percent_delta": -0.1895,
"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.3213,
"delta": -0.0117,
"percent_delta": -0.0351,
"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.4293,
"delta": 0.0963,
"percent_delta": 0.2892,
"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.4293,
"delta": 0.0963,
"percent_delta": 0.2892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2699,
"delta": -0.0631,
"percent_delta": -0.1895,
"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.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"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": 2.853,
"after": 5.0,
"delta": 2.147,
"percent_delta": 0.7525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2699,
"delta": -0.0191,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.824,
"after": 1.0,
"delta": 0.176,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3213,
"delta": -0.0187,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4293,
"delta": -0.0137,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 2.0,
"delta": 1.412,
"percent_delta": 2.4014,
"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_AB",
"before": 2.853,
"after": 5.0,
"delta": 2.147,
"percent_delta": 0.7525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"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.250 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 2.853 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.221 | - |
| predicted_H | 0.824 | - |
| predicted_HR | 0.044 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.353 | - |
| predicted_RBI | 0.353 | - |
| predicted_SLG | 0.443 | - |
| predicted_SO | 0.588 | - |
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.256 | 0.006 |
| predicted_3B | 0.032 | 0.003 |
| predicted_AB | 2.901 | 0.048 |
| predicted_AVG | 0.276 | -0.013 |
| predicted_BB | 0.220 | -0.001 |
| predicted_H | 0.798 | -0.026 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.049 | 0.005 |
| predicted_OBP | 0.331 | -0.009 |
| predicted_R | 0.398 | 0.045 |
| predicted_RBI | 0.397 | 0.044 |
| predicted_SLG | 0.435 | -0.008 |
| predicted_SO | 0.603 | 0.015 |
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.256 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 2.901 | 0.000 |
| predicted_AVG | 0.270 | -0.006 |
| predicted_BB | 0.220 | -0.000 |
| predicted_H | 0.783 | -0.015 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.048 | -0.001 |
| predicted_OBP | 0.321 | -0.010 |
| predicted_R | 0.386 | -0.012 |
| predicted_RBI | 0.385 | -0.012 |
| predicted_SLG | 0.429 | -0.006 |
| predicted_SO | 0.604 | 0.001 |
AB rounded to 3 (raw=2.90), rates preserved: AVG=0.270 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.256 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 3.000 | 0.099 |
| predicted_AVG | 0.333 | 0.063 |
| predicted_BB | 0.000 | -0.220 |
| predicted_H | 1.000 | 0.217 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.333 | 0.012 |
| predicted_R | 0.000 | -0.386 |
| predicted_RBI | 0.000 | -0.385 |
| predicted_SLG | 0.333 | -0.096 |
| predicted_SO | 1.000 | 0.396 |
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 | 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 | 3.000 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 3.000 | 0.2143 | 0.2941 | 0.3571 | 0.2143 | 0.0000 | 0.2143 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 2.000 | 1.000 | 1.000 | 6.000 | 6.000 | 2.000 | 6.000 | 0.2069 | 0.2727 | 0.4483 | 0.2069 | 0.0345 | 0.2069 | 0.0690 | 0.2069 |
| season | 0.60 | 68 | - | 194.000 | 56.000 | 17.000 | 2.000 | 3.000 | 24.000 | 24.000 | 15.000 | 40.000 | 0.2887 | 0.3443 | 0.4433 | 0.2887 | 0.0155 | 0.1237 | 0.0773 | 0.2062 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2640 |
| predicted_3B | 0.0360 |
| predicted_AB | 2.9700 |
| predicted_AVG | 0.2563 |
| predicted_BB | 0.2190 |
| predicted_H | 0.7610 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.0550 |
| predicted_OBP | 0.3182 |
| predicted_R | 0.4610 |
| predicted_RBI | 0.4590 |
| predicted_SLG | 0.4249 |
| predicted_SO | 0.6230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2640 | 0.2558 | model_form_blend |
| predicted_3B | 0.0290 | 0.0360 | 0.0319 | model_form_blend |
| predicted_AB | 2.8530 | 2.9700 | 2.9014 | model_form_blend |
| predicted_AVG | 0.2890 | 0.2563 | 0.2755 | model_form_blend |
| predicted_BB | 0.2210 | 0.2190 | 0.2202 | model_form_blend |
| predicted_H | 0.8240 | 0.7610 | 0.7979 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.0440 | 0.0550 | 0.0486 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3182 | 0.3310 | model_form_blend |
| predicted_R | 0.3530 | 0.4610 | 0.3977 | model_form_blend |
| predicted_RBI | 0.3530 | 0.4590 | 0.3969 | model_form_blend |
| predicted_SLG | 0.4430 | 0.4249 | 0.4355 | model_form_blend |
| predicted_SO | 0.5880 | 0.6230 | 0.6025 | 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 | 219 |
| Season rows before report date | 219 |
| Report year | 2026 |
| Profile rows used | 68 |
| 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 | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| 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 | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| 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 | CF |
| gameID | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 671976 |
| playerID | 671976 |
| playerName | Tristan Peters |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| game_pk | 824585.0 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.335 |
| sl_xwoba | 0.303 |
| sl_xba | 0.25 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 31.3 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 22.4 |
| sl_swing_percent | 55.8 |
| at_bat_number | 77.0 |
| ab_pitcher | 671922.0 |
| ab_pitcher_name | Smith, Cade |
| ab_home_team | CWS |
| ab_away_team | CLE |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 695731.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 5.0 |
| ab_event | double |
| ab_event_description | Tristan Peters doubles (17) on a line drive to left fielder Steven Kwan. Braden Montgomery to 3rd. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 59.7 |
| ab_launch_angle_last | 11.0 |
| ab_hit_distance_last | 94.0 |
| ab_estimated_ba_last | 0.18 |
| ab_estimated_woba_last | 0.169 |
| ab_estimated_slg_last | 0.215 |
| ab_woba_value | 1.25 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 1.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 84.6 |
| ab_release_spin_rate_avg | 2149.0 |
| ab_effective_speed_avg | 86.2 |
| ab_launch_speed_avg | 59.7 |
| ab_launch_angle_avg | 11.0 |
| ab_delta_run_exp_avg | 0.792 |
| ab_delta_home_win_exp_avg | 0.334 |
| ab_delta_pitcher_run_exp_avg | -0.792 |
| ab_launch_speed_max | 59.7 |
| ab_hit_distance_sc_max | 94.0 |
| ab_release_speed_max | 84.6 |
| ab_release_spin_rate_max | 2149.0 |
| ab_release_speed_min | 84.6 |
| ab_release_spin_rate_min | 2149.0 |
| ab_delta_run_exp_sum | 0.792 |
| ab_delta_home_win_exp_sum | 0.334 |
| ab_delta_pitcher_run_exp_sum | -0.792 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| 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.071 | 0.000 | 0.000 | Hitting_2B | 0.079 | 1.000 | -0.079 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.536 | 4.000 | 4.000 | Hitting_AB | 3.625 | 2.000 | 0.375 | 2.000 |
| predicted_AVG | 0.242 | 0.000 | 0.250 | Hitting_AVG | 0.248 | 0.500 | -0.248 | -0.500 |
| predicted_BB | 0.786 | 0.000 | 1.000 | Hitting_BB | 0.829 | 2.000 | -0.829 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 1.000 | -0.054 | -1.000 |
| predicted_H | 0.857 | 0.000 | 1.000 | Hitting_H | 0.900 | 1.000 | -0.900 | -1.000 |
| predicted_HR | 0.357 | 0.000 | 0.000 | Hitting_HR | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_OBP | 0.380 | 0.000 | 0.400 | Hitting_OBP | 0.390 | 0.750 | -0.390 | -0.750 |
| predicted_R | 0.768 | 0.000 | 1.000 | Hitting_R | 0.846 | 1.000 | -0.846 | -1.000 |
| predicted_RBI | 0.732 | 0.000 | 1.000 | Hitting_RBI | 0.779 | 1.000 | -0.779 | -1.000 |
| predicted_SLG | 0.566 | 0.000 | 0.250 | Hitting_SLG | 0.591 | 1.000 | -0.591 | -1.000 |
| predicted_SO | 1.411 | 1.000 | 2.000 | Hitting_SO | 1.421 | 1.000 | -0.421 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.5360 -> 4.0000 (boost 0.4640, better) |
| Biggest Deboost | predicted_H: 0.8570 -> 0.0000 (deboost -0.8570, 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 | 2 | 2 | 0 | 2 | 0 | predicted_R: 0.7680 -> 0.8332 (boost 0.0652, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5767 -> 0.5658 (deboost -0.0109, 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_SO: 1.3665 -> 2.0000 (boost 0.6335, worse) | predicted_HR: 0.3532 -> 0.0000 (deboost -0.3532, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.242 HR/AB=0.099 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8077 -> 1.0000 (boost 0.1923, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3758 -> 0.4000 (boost 0.0242, better) | predicted_SLG: 0.5658 -> 0.2500 (deboost -0.3158, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | 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.5658 (boost 0.3158, better) | predicted_OBP: 0.4000 -> 0.3758 (deboost -0.0242, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "3B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.071,
"predicted_3B": 0.0,
"predicted_AB": 3.536,
"predicted_AVG": 0.242,
"predicted_BB": 0.786,
"predicted_H": 0.857,
"predicted_HR": 0.357,
"predicted_OBP": 0.38,
"predicted_R": 0.768,
"predicted_RBI": 0.732,
"predicted_SLG": 0.566,
"predicted_SO": 1.411
},
"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.0948,
"predicted_3B": 0.0008,
"predicted_AB": 3.5728,
"predicted_AVG": 0.2466,
"predicted_BB": 0.7655,
"predicted_H": 0.8821,
"predicted_HBP": 0.031,
"predicted_HR": 0.3603,
"predicted_OBP": 0.3808,
"predicted_R": 0.8332,
"predicted_RBI": 0.7533,
"predicted_SLG": 0.5767,
"predicted_SO": 1.3638
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.071,
"after": 0.0948,
"delta": 0.0238,
"percent_delta": 0.3352,
"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.536,
"after": 3.5728,
"delta": 0.0368,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2466,
"delta": 0.0046,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.786,
"after": 0.7655,
"delta": -0.0205,
"percent_delta": -0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.857,
"after": 0.8821,
"delta": 0.0251,
"percent_delta": 0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.357,
"after": 0.3603,
"delta": 0.0033,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.38,
"after": 0.3808,
"delta": 0.0008,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.768,
"after": 0.8332,
"delta": 0.0652,
"percent_delta": 0.0849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.732,
"after": 0.7533,
"delta": 0.0213,
"percent_delta": 0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.566,
"after": 0.5767,
"delta": 0.0107,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.411,
"after": 1.3638,
"delta": -0.0472,
"percent_delta": -0.0335,
"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_R",
"before": 0.768,
"after": 0.8332,
"delta": 0.0652,
"percent_delta": 0.0849,
"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": 56
}
},
{
"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.0948,
"predicted_3B": 0.0008,
"predicted_AB": 3.5728,
"predicted_AVG": 0.2423,
"predicted_BB": 0.764,
"predicted_H": 0.8657,
"predicted_HBP": 0.031,
"predicted_HR": 0.3532,
"predicted_OBP": 0.3758,
"predicted_R": 0.8077,
"predicted_RBI": 0.7302,
"predicted_SLG": 0.5658,
"predicted_SO": 1.3665
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0948,
"after": 0.0948,
"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.5728,
"after": 3.5728,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2466,
"after": 0.2423,
"delta": -0.0043,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7655,
"after": 0.764,
"delta": -0.0015,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8821,
"after": 0.8657,
"delta": -0.0164,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3603,
"after": 0.3532,
"delta": -0.0071,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3808,
"after": 0.3758,
"delta": -0.005,
"percent_delta": -0.0131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8332,
"after": 0.8077,
"delta": -0.0255,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7533,
"after": 0.7302,
"delta": -0.0231,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5767,
"after": 0.5658,
"delta": -0.0109,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3638,
"after": 1.3665,
"delta": 0.0027,
"percent_delta": 0.002,
"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.5767,
"after": 0.5658,
"delta": -0.0109,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.57), rates preserved: AVG=0.242 HR/AB=0.099",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0948,
"after": 0.0,
"delta": -0.0948,
"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.5728,
"after": 4.0,
"delta": 0.4272,
"percent_delta": 0.1196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.764,
"after": 1.0,
"delta": 0.236,
"percent_delta": 0.3089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8657,
"after": 1.0,
"delta": 0.1343,
"percent_delta": 0.1551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3532,
"after": 0.0,
"delta": -0.3532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7302,
"after": 1.0,
"delta": 0.2698,
"percent_delta": 0.3695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3665,
"after": 2.0,
"delta": 0.6335,
"percent_delta": 0.4636,
"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_SO",
"before": 1.3665,
"after": 2.0,
"delta": 0.6335,
"percent_delta": 0.4636,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3532,
"after": 0.0,
"delta": -0.3532,
"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": 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": 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.8077,
"after": 1.0,
"delta": 0.1923,
"percent_delta": 0.2381,
"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": 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_R",
"before": 0.8077,
"after": 1.0,
"delta": 0.1923,
"percent_delta": 0.2381,
"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": 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.2423,
"after": 0.25,
"delta": 0.0077,
"percent_delta": 0.0318,
"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.3758,
"after": 0.4,
"delta": 0.0242,
"percent_delta": 0.0644,
"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.5658,
"after": 0.25,
"delta": -0.3158,
"percent_delta": -0.5581,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3758,
"after": 0.4,
"delta": 0.0242,
"percent_delta": 0.0644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5658,
"after": 0.25,
"delta": -0.3158,
"percent_delta": -0.5581,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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_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.2423,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3758,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5658,
"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.2423,
"delta": -0.0077,
"percent_delta": -0.0308,
"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.3758,
"delta": -0.0242,
"percent_delta": -0.0606,
"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.5658,
"delta": 0.3158,
"percent_delta": 1.2633,
"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.5658,
"delta": 0.3158,
"percent_delta": 1.2633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3758,
"delta": -0.0242,
"percent_delta": -0.0606,
"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.071,
"after": 0.0,
"delta": -0.071,
"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.536,
"after": 4.0,
"delta": 0.464,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2423,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.786,
"after": 0.0,
"delta": -0.786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.38,
"after": 0.3758,
"delta": -0.0042,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.768,
"after": 0.0,
"delta": -0.768,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.732,
"after": 0.0,
"delta": -0.732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.566,
"after": 0.5658,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.411,
"after": 1.0,
"delta": -0.411,
"percent_delta": -0.2913,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.536,
"after": 4.0,
"delta": 0.464,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"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.071 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.536 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.786 | - |
| predicted_H | 0.857 | - |
| predicted_HR | 0.357 | - |
| predicted_OBP | 0.380 | - |
| predicted_R | 0.768 | - |
| predicted_RBI | 0.732 | - |
| predicted_SLG | 0.566 | - |
| predicted_SO | 1.411 | - |
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.095 | 0.024 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.573 | 0.037 |
| predicted_AVG | 0.247 | 0.005 |
| predicted_BB | 0.765 | -0.021 |
| predicted_H | 0.882 | 0.025 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.360 | 0.003 |
| predicted_OBP | 0.381 | 0.001 |
| predicted_R | 0.833 | 0.065 |
| predicted_RBI | 0.753 | 0.021 |
| predicted_SLG | 0.577 | 0.011 |
| predicted_SO | 1.364 | -0.047 |
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.095 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.573 | 0.000 |
| predicted_AVG | 0.242 | -0.004 |
| predicted_BB | 0.764 | -0.001 |
| predicted_H | 0.866 | -0.016 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.353 | -0.007 |
| predicted_OBP | 0.376 | -0.005 |
| predicted_R | 0.808 | -0.026 |
| predicted_RBI | 0.730 | -0.023 |
| predicted_SLG | 0.566 | -0.011 |
| predicted_SO | 1.367 | 0.003 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.242 HR/AB=0.099
| 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 | 2.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 | 2.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.095 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.427 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 1.000 | 0.236 |
| predicted_H | 1.000 | 0.134 |
| predicted_HR | 0.000 | -0.353 |
| predicted_OBP | 0.400 | 0.024 |
| predicted_R | 1.000 | 0.192 |
| predicted_RBI | 1.000 | 0.270 |
| predicted_SLG | 0.250 | -0.316 |
| predicted_SO | 2.000 | 0.633 |
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 | -1.000 |
| RBI | 0.000 | -1.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 | - | 19.000 | 5.000 | 1.000 | 0.000 | 3.000 | 5.000 | 8.000 | 4.000 | 6.000 | 0.2632 | 0.3913 | 0.7895 | 0.2632 | 0.1579 | 0.2632 | 0.2105 | 0.3158 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 3.000 | 9.000 | 10.000 | 8.000 | 13.000 | 0.2778 | 0.4222 | 0.5833 | 0.2778 | 0.0833 | 0.2500 | 0.2222 | 0.3611 |
| season | 0.60 | 56 | - | 198.000 | 48.000 | 4.000 | 0.000 | 20.000 | 41.000 | 43.000 | 44.000 | 79.000 | 0.2424 | 0.3811 | 0.5657 | 0.2424 | 0.1010 | 0.2071 | 0.2222 | 0.3990 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1280 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6240 |
| predicted_AVG | 0.2530 |
| predicted_BB | 0.7370 |
| predicted_H | 0.9170 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.3650 |
| predicted_OBP | 0.3820 |
| predicted_R | 0.9240 |
| predicted_RBI | 0.7830 |
| predicted_SLG | 0.5916 |
| predicted_SO | 1.2980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0710 | 0.1280 | 0.0948 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.5360 | 3.6240 | 3.5728 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2530 | 0.2466 | model_form_blend |
| predicted_BB | 0.7860 | 0.7370 | 0.7655 | model_form_blend |
| predicted_H | 0.8570 | 0.9170 | 0.8821 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.3570 | 0.3650 | 0.3603 | model_form_blend |
| predicted_OBP | 0.3800 | 0.3820 | 0.3808 | model_form_blend |
| predicted_R | 0.7680 | 0.9240 | 0.8332 | model_form_blend |
| predicted_RBI | 0.7320 | 0.7830 | 0.7533 | model_form_blend |
| predicted_SLG | 0.5660 | 0.5916 | 0.5767 | model_form_blend |
| predicted_SO | 1.4110 | 1.2980 | 1.3638 | 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 | 240 |
| Season rows before report date | 240 |
| Report year | 2026 |
| Profile rows used | 56 |
| 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.242 |
| 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 | 1 |
| 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 | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| 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 | 1B |
| gameID | 20260528_MIN@CHW |
| game_type | full |
| mlbID | 808959 |
| playerID | 808959 |
| playerName | Munetaka Murakami |
| pos | IF |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-28 |
| game_pk | 824595.0 |
| sl_k_percent | 32.5 |
| sl_bb_percent | 18.2 |
| sl_woba | 0.391 |
| sl_xwoba | 0.375 |
| sl_xba | 0.223 |
| sl_xslg | 0.515 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 19.9 |
| sl_hard_hit_percent | 59.6 |
| sl_exit_velocity_avg | 94.1 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 42.7 |
| sl_swing_percent | 41.3 |
| at_bat_number | 55.0 |
| ab_pitcher | 607455.0 |
| ab_pitcher_name | Banda, Anthony |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 6.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 2.0 |
| ab_event | walk |
| ab_event_description | Munetaka Murakami walks. |
| ab_event_type | B |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 84.9 |
| ab_launch_angle_last | 67.0 |
| ab_hit_distance_last | 188.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 6.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 90.35 |
| ab_release_spin_rate_avg | 2010.6666666666667 |
| ab_effective_speed_avg | 90.28333333333336 |
| ab_launch_speed_avg | 84.9 |
| ab_launch_angle_avg | 67.0 |
| ab_delta_run_exp_avg | 0.0748333333333333 |
| ab_delta_home_win_exp_avg | 0.0006666666666666 |
| ab_delta_pitcher_run_exp_avg | -0.0748333333333333 |
| ab_bat_speed_avg | 70.7 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 84.9 |
| ab_hit_distance_sc_max | 188.0 |
| ab_release_speed_max | 96.4 |
| ab_release_spin_rate_max | 2216.0 |
| ab_release_speed_min | 84.4 |
| ab_release_spin_rate_min | 1814.0 |
| ab_delta_run_exp_sum | 0.449 |
| ab_delta_home_win_exp_sum | 0.004 |
| ab_delta_pitcher_run_exp_sum | -0.449 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| 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.160 | 0.000 | 0.000 | Hitting_2B | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.667 | 3.000 | 4.000 | Hitting_AB | 3.754 | 4.000 | -0.754 | -1.000 |
| predicted_AVG | 0.236 | 0.000 | 0.250 | Hitting_AVG | 0.240 | 0.250 | -0.240 | -0.250 |
| predicted_BB | 0.587 | 0.000 | 1.000 | Hitting_BB | 0.629 | 0.000 | -0.629 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_H | 0.867 | 0.000 | 1.000 | Hitting_H | 0.903 | 1.000 | -0.903 | -1.000 |
| predicted_HR | 0.213 | 0.000 | 0.000 | Hitting_HR | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_OBP | 0.342 | 0.250 | 0.400 | Hitting_OBP | 0.357 | 0.250 | -0.107 | 0.000 |
| predicted_R | 0.680 | 0.000 | 1.000 | Hitting_R | 0.733 | 0.000 | -0.733 | 0.000 |
| predicted_RBI | 0.587 | 0.000 | 1.000 | Hitting_RBI | 0.626 | 0.000 | -0.626 | 0.000 |
| predicted_SLG | 0.462 | 0.000 | 0.250 | Hitting_SLG | 0.473 | 0.250 | -0.473 | -0.250 |
| predicted_SO | 0.760 | 1.000 | 1.000 | Hitting_SO | 0.760 | 2.000 | 0.240 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.7600 -> 1.0000 (boost 0.2400, worse) |
| Biggest Deboost | predicted_H: 0.8670 -> 0.0000 (deboost -0.8670, 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_R: 0.6800 -> 0.5805 (deboost -0.0995, 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.4167 -> 0.4095 (deboost -0.0072, 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.4816 -> 1.0000 (boost 0.5184, better) | predicted_HR: 0.1725 -> 0.0000 (deboost -0.1725, worse) | AB rounded to 4 (raw=3.67), rates preserved: AVG=0.219 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5627 -> 1.0000 (boost 0.4373, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3124 -> 0.4000 (boost 0.0876, better) | predicted_SLG: 0.4095 -> 0.2500 (deboost -0.1595, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 1 | 5 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.4095 (boost 0.1595, better) | predicted_OBP: 0.4000 -> 0.3124 (deboost -0.0876, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "SS",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.013,
"predicted_AB": 3.667,
"predicted_AVG": 0.236,
"predicted_BB": 0.587,
"predicted_H": 0.867,
"predicted_HR": 0.213,
"predicted_OBP": 0.342,
"predicted_R": 0.68,
"predicted_RBI": 0.587,
"predicted_SLG": 0.462,
"predicted_SO": 0.76
},
"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.1506,
"predicted_3B": 0.0109,
"predicted_AB": 3.6457,
"predicted_AVG": 0.224,
"predicted_BB": 0.4896,
"predicted_H": 0.8181,
"predicted_HBP": 0.039,
"predicted_HR": 0.176,
"predicted_OBP": 0.3152,
"predicted_R": 0.5805,
"predicted_RBI": 0.4968,
"predicted_SLG": 0.4167,
"predicted_SO": 0.803
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1506,
"delta": -0.0094,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.667,
"after": 3.6457,
"delta": -0.0213,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.224,
"delta": -0.012,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.587,
"after": 0.4896,
"delta": -0.0974,
"percent_delta": -0.1659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.867,
"after": 0.8181,
"delta": -0.0489,
"percent_delta": -0.0564,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.213,
"after": 0.176,
"delta": -0.037,
"percent_delta": -0.1737,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3152,
"delta": -0.0268,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.68,
"after": 0.5805,
"delta": -0.0995,
"percent_delta": -0.1463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.587,
"after": 0.4968,
"delta": -0.0902,
"percent_delta": -0.1537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4167,
"delta": -0.0453,
"percent_delta": -0.0981,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.76,
"after": 0.803,
"delta": 0.043,
"percent_delta": 0.0566,
"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_R",
"before": 0.68,
"after": 0.5805,
"delta": -0.0995,
"percent_delta": -0.1463,
"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": 75
}
},
{
"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.1506,
"predicted_3B": 0.0109,
"predicted_AB": 3.6457,
"predicted_AVG": 0.2202,
"predicted_BB": 0.4886,
"predicted_H": 0.8029,
"predicted_HBP": 0.039,
"predicted_HR": 0.1725,
"predicted_OBP": 0.3124,
"predicted_R": 0.5627,
"predicted_RBI": 0.4816,
"predicted_SLG": 0.4095,
"predicted_SO": 0.8046
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1506,
"after": 0.1506,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6457,
"after": 3.6457,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2202,
"delta": -0.0038,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4896,
"after": 0.4886,
"delta": -0.001,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8181,
"after": 0.8029,
"delta": -0.0152,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.176,
"after": 0.1725,
"delta": -0.0035,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3152,
"after": 0.3124,
"delta": -0.0028,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5805,
"after": 0.5627,
"delta": -0.0178,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4968,
"after": 0.4816,
"delta": -0.0152,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4167,
"after": 0.4095,
"delta": -0.0072,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.803,
"after": 0.8046,
"delta": 0.0016,
"percent_delta": 0.002,
"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.4167,
"after": 0.4095,
"delta": -0.0072,
"percent_delta": -0.0173,
"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.219 HR/AB=0.047",
"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.1506,
"after": 0.0,
"delta": -0.1506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6457,
"after": 4.0,
"delta": 0.3543,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4886,
"after": 1.0,
"delta": 0.5114,
"percent_delta": 1.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8029,
"after": 1.0,
"delta": 0.1971,
"percent_delta": 0.2455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1725,
"after": 0.0,
"delta": -0.1725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4816,
"after": 1.0,
"delta": 0.5184,
"percent_delta": 1.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8046,
"after": 1.0,
"delta": 0.1954,
"percent_delta": 0.2429,
"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.4816,
"after": 1.0,
"delta": 0.5184,
"percent_delta": 1.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1725,
"after": 0.0,
"delta": -0.1725,
"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.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"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.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"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.2202,
"after": 0.25,
"delta": 0.0298,
"percent_delta": 0.1353,
"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.3124,
"after": 0.4,
"delta": 0.0876,
"percent_delta": 0.2804,
"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.4095,
"after": 0.25,
"delta": -0.1595,
"percent_delta": -0.3895,
"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.3124,
"after": 0.4,
"delta": 0.0876,
"percent_delta": 0.2804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4095,
"after": 0.25,
"delta": -0.1595,
"percent_delta": -0.3895,
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"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": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2202,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.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.4095,
"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.25,
"after": 0.2202,
"delta": -0.0298,
"percent_delta": -0.1191,
"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": 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.4,
"after": 0.3124,
"delta": -0.0876,
"percent_delta": -0.219,
"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.4095,
"delta": 0.1595,
"percent_delta": 0.6379,
"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.4095,
"delta": 0.1595,
"percent_delta": 0.6379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3124,
"delta": -0.0876,
"percent_delta": -0.219,
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.667,
"after": 3.0,
"delta": -0.667,
"percent_delta": -0.1819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2202,
"delta": -0.0158,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.587,
"after": 0.0,
"delta": -0.587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.867,
"after": 0.0,
"delta": -0.867,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3124,
"delta": -0.0296,
"percent_delta": -0.0865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.587,
"after": 0.0,
"delta": -0.587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4095,
"delta": -0.0525,
"percent_delta": -0.1136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.867,
"after": 0.0,
"delta": -0.867,
"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.160 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.667 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.587 | - |
| predicted_H | 0.867 | - |
| predicted_HR | 0.213 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.680 | - |
| predicted_RBI | 0.587 | - |
| predicted_SLG | 0.462 | - |
| predicted_SO | 0.760 | - |
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.151 | -0.009 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.646 | -0.021 |
| predicted_AVG | 0.224 | -0.012 |
| predicted_BB | 0.490 | -0.097 |
| predicted_H | 0.818 | -0.049 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.176 | -0.037 |
| predicted_OBP | 0.315 | -0.027 |
| predicted_R | 0.581 | -0.100 |
| predicted_RBI | 0.497 | -0.090 |
| predicted_SLG | 0.417 | -0.045 |
| predicted_SO | 0.803 | 0.043 |
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.151 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.646 | 0.000 |
| predicted_AVG | 0.220 | -0.004 |
| predicted_BB | 0.489 | -0.001 |
| predicted_H | 0.803 | -0.015 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.172 | -0.004 |
| predicted_OBP | 0.312 | -0.003 |
| predicted_R | 0.563 | -0.018 |
| predicted_RBI | 0.482 | -0.015 |
| predicted_SLG | 0.409 | -0.007 |
| predicted_SO | 0.805 | 0.002 |
AB rounded to 4 (raw=3.67), rates preserved: AVG=0.219 HR/AB=0.047
| 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.151 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.354 |
| predicted_AVG | 0.250 | 0.030 |
| predicted_BB | 1.000 | 0.511 |
| predicted_H | 1.000 | 0.197 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.400 | 0.088 |
| predicted_R | 1.000 | 0.437 |
| predicted_RBI | 1.000 | 0.518 |
| predicted_SLG | 0.250 | -0.159 |
| predicted_SO | 1.000 | 0.195 |
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 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.1176 | 0.1176 | 0.1176 | 0.1177 | 0.0000 | 0.0000 | 0.0000 | 0.3529 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.1944 | 0.2162 | 0.2500 | 0.1944 | 0.0000 | 0.0278 | 0.0278 | 0.2222 |
| season | 0.60 | 75 | - | 275.000 | 65.000 | 12.000 | 1.000 | 16.000 | 44.000 | 51.000 | 44.000 | 57.000 | 0.2364 | 0.3497 | 0.4618 | 0.2364 | 0.0582 | 0.1600 | 0.1600 | 0.2073 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6170 |
| predicted_AVG | 0.2079 |
| predicted_BB | 0.3580 |
| predicted_H | 0.7520 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1260 |
| predicted_OBP | 0.2790 |
| predicted_R | 0.4460 |
| predicted_RBI | 0.3750 |
| predicted_SLG | 0.3555 |
| predicted_SO | 0.8610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1380 | 0.1506 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 3.6670 | 3.6170 | 3.6457 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2079 | 0.2240 | model_form_blend |
| predicted_BB | 0.5870 | 0.3580 | 0.4896 | model_form_blend |
| predicted_H | 0.8670 | 0.7520 | 0.8181 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.2130 | 0.1260 | 0.1760 | model_form_blend |
| predicted_OBP | 0.3420 | 0.2790 | 0.3152 | model_form_blend |
| predicted_R | 0.6800 | 0.4460 | 0.5805 | model_form_blend |
| predicted_RBI | 0.5870 | 0.3750 | 0.4968 | model_form_blend |
| predicted_SLG | 0.4620 | 0.3555 | 0.4167 | model_form_blend |
| predicted_SO | 0.7600 | 0.8610 | 0.8030 | 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 | 329 |
| Season rows before report date | 329 |
| Report year | 2026 |
| Profile rows used | 75 |
| 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 | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.236 |
| 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 | 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 | 2 |
| 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 | 1B |
| gameID | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 678246 |
| playerID | 678246 |
| playerName | Miguel Vargas |
| pos | 3B |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| game_pk | 824585.0 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.358 |
| sl_xwoba | 0.39 |
| sl_xba | 0.27 |
| sl_xslg | 0.525 |
| sl_sweet_spot_percent | 40.4 |
| sl_barrel_batted_rate | 14.7 |
| sl_hard_hit_percent | 47.0 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 45.4 |
| at_bat_number | 61.0 |
| ab_pitcher | 542888.0 |
| ab_pitcher_name | Armstrong, Shawn |
| ab_home_team | CWS |
| ab_away_team | CLE |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 803011.0 |
| ab_on_2b_start | 803011.0 |
| ab_on_3b_start | 803011.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Miguel Vargas strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 76.2 |
| ab_launch_angle_last | 50.0 |
| ab_hit_distance_last | 222.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 91.61666666666667 |
| ab_release_spin_rate_avg | 2425.6666666666665 |
| ab_effective_speed_avg | 92.55 |
| ab_launch_speed_avg | 76.2 |
| ab_launch_angle_avg | 50.0 |
| ab_delta_run_exp_avg | -0.0568333333333333 |
| ab_delta_home_win_exp_avg | -0.0033333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0568333333333333 |
| ab_bat_speed_avg | 73.96666666666667 |
| ab_swing_length_avg | 7.833333333333333 |
| ab_launch_speed_max | 76.2 |
| ab_hit_distance_sc_max | 222.0 |
| ab_release_speed_max | 94.8 |
| ab_release_spin_rate_max | 2647.0 |
| ab_release_speed_min | 85.4 |
| ab_release_spin_rate_min | 2272.0 |
| ab_delta_run_exp_sum | -0.341 |
| ab_delta_home_win_exp_sum | -0.02 |
| ab_delta_pitcher_run_exp_sum | 0.341 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| 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.417 | 1.000 | 0.000 | Hitting_2B | 0.435 | 2.000 | 0.565 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.500 | 3.000 | 4.000 | Hitting_AB | 3.630 | 3.000 | -0.630 | 0.000 |
| predicted_AVG | 0.262 | 0.667 | 0.250 | Hitting_AVG | 0.275 | 0.667 | 0.391 | 0.000 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.261 | 1.000 | -0.261 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.917 | 2.000 | 1.000 | Hitting_H | 1.000 | 2.000 | 1.000 | 0.000 |
| predicted_HR | 0.083 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.311 | 0.750 | 0.250 | Hitting_OBP | 0.324 | 0.750 | 0.426 | 0.000 |
| predicted_R | 0.583 | 1.000 | 1.000 | Hitting_R | 0.630 | 2.000 | 0.370 | -1.000 |
| predicted_RBI | 0.417 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_SLG | 0.452 | 1.000 | 0.250 | Hitting_SLG | 0.485 | 1.333 | 0.515 | -0.333 |
| predicted_SO | 0.917 | 1.000 | 1.000 | Hitting_SO | 0.978 | 1.000 | 0.022 | 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.9170 -> 2.0000 (boost 1.0830, better) |
| Biggest Deboost | predicted_AB: 3.5000 -> 3.0000 (deboost -0.5000, 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 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4520 -> 0.4436 (deboost -0.0084, 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.4436 -> 0.4375 (deboost -0.0061, 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.5123 -> 4.0000 (boost 0.4877, better) | predicted_RBI: 0.3943 -> 0.0000 (deboost -0.3943, worse) | AB rounded to 4 (raw=3.51), rates preserved: AVG=0.256 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5538 -> 1.0000 (boost 0.4462, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4375 -> 0.2500 (deboost -0.1875, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.4375 (boost 0.1875, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695731",
"player_name": "Braden Montgomery",
"position": "LF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.417,
"predicted_3B": 0.0,
"predicted_AB": 3.5,
"predicted_AVG": 0.262,
"predicted_BB": 0.25,
"predicted_H": 0.917,
"predicted_HR": 0.083,
"predicted_OBP": 0.311,
"predicted_R": 0.583,
"predicted_RBI": 0.417,
"predicted_SLG": 0.452,
"predicted_SO": 0.917
},
"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.392,
"predicted_3B": 0.002,
"predicted_AB": 3.5123,
"predicted_AVG": 0.261,
"predicted_BB": 0.2613,
"predicted_H": 0.9167,
"predicted_HBP": 0.012,
"predicted_HR": 0.082,
"predicted_OBP": 0.313,
"predicted_R": 0.5713,
"predicted_RBI": 0.4067,
"predicted_SLG": 0.4436,
"predicted_SO": 0.895
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.417,
"after": 0.392,
"delta": -0.025,
"percent_delta": -0.06,
"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": 3.5,
"after": 3.5123,
"delta": 0.0123,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.261,
"delta": -0.001,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.2613,
"delta": 0.0113,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.917,
"after": 0.9167,
"delta": -0.0003,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.083,
"after": 0.082,
"delta": -0.001,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.313,
"delta": 0.002,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.5713,
"delta": -0.0117,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.417,
"after": 0.4067,
"delta": -0.0103,
"percent_delta": -0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.452,
"after": 0.4436,
"delta": -0.0084,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 0.895,
"delta": -0.022,
"percent_delta": -0.024,
"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.452,
"after": 0.4436,
"delta": -0.0084,
"percent_delta": -0.0186,
"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": 12
}
},
{
"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.392,
"predicted_3B": 0.002,
"predicted_AB": 3.5123,
"predicted_AVG": 0.2561,
"predicted_BB": 0.2608,
"predicted_H": 0.8996,
"predicted_HBP": 0.012,
"predicted_HR": 0.0804,
"predicted_OBP": 0.3076,
"predicted_R": 0.5538,
"predicted_RBI": 0.3943,
"predicted_SLG": 0.4375,
"predicted_SO": 0.8968
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.392,
"after": 0.392,
"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": 3.5123,
"after": 3.5123,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2561,
"delta": -0.0049,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2613,
"after": 0.2608,
"delta": -0.0005,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9167,
"after": 0.8996,
"delta": -0.0171,
"percent_delta": -0.0187,
"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.082,
"after": 0.0804,
"delta": -0.0016,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3076,
"delta": -0.0054,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5713,
"after": 0.5538,
"delta": -0.0175,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4067,
"after": 0.3943,
"delta": -0.0124,
"percent_delta": -0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4436,
"after": 0.4375,
"delta": -0.0061,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 0.8968,
"delta": 0.0018,
"percent_delta": 0.002,
"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.4436,
"after": 0.4375,
"delta": -0.0061,
"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 4 (raw=3.51), rates preserved: AVG=0.256 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.392,
"after": 0.0,
"delta": -0.392,
"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": 3.5123,
"after": 4.0,
"delta": 0.4877,
"percent_delta": 0.1389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2608,
"after": 0.0,
"delta": -0.2608,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8996,
"after": 1.0,
"delta": 0.1004,
"percent_delta": 0.1116,
"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.0804,
"after": 0.0,
"delta": -0.0804,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3943,
"after": 0.0,
"delta": -0.3943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8968,
"after": 1.0,
"delta": 0.1032,
"percent_delta": 0.1151,
"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.5123,
"after": 4.0,
"delta": 0.4877,
"percent_delta": 0.1389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3943,
"after": 0.0,
"delta": -0.3943,
"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.5538,
"after": 1.0,
"delta": 0.4462,
"percent_delta": 0.8057,
"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.5538,
"after": 1.0,
"delta": 0.4462,
"percent_delta": 0.8057,
"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.2561,
"after": 0.25,
"delta": -0.0061,
"percent_delta": -0.0238,
"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.3076,
"after": 0.25,
"delta": -0.0576,
"percent_delta": -0.1873,
"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.4375,
"after": 0.25,
"delta": -0.1875,
"percent_delta": -0.4286,
"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.4375,
"after": 0.25,
"delta": -0.1875,
"percent_delta": -0.4286,
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"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_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2561,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3076,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4375,
"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": 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.25,
"after": 0.2561,
"delta": 0.0061,
"percent_delta": 0.0246,
"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": 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.25,
"after": 0.3076,
"delta": 0.0576,
"percent_delta": 0.2302,
"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.25,
"after": 0.4375,
"delta": 0.1875,
"percent_delta": 0.7502,
"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.4375,
"delta": 0.1875,
"percent_delta": 0.7502,
"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.417,
"after": 1.0,
"delta": 0.583,
"percent_delta": 1.3981,
"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.5,
"after": 3.0,
"delta": -0.5,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2561,
"delta": -0.0059,
"percent_delta": -0.0225,
"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.917,
"after": 2.0,
"delta": 1.083,
"percent_delta": 1.181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3076,
"delta": -0.0034,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 1.0,
"delta": 0.417,
"percent_delta": 0.7153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.417,
"after": 0.0,
"delta": -0.417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.452,
"after": 0.4375,
"delta": -0.0145,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"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.917,
"after": 2.0,
"delta": 1.083,
"percent_delta": 1.181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 3.0,
"delta": -0.5,
"percent_delta": -0.1429,
"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.417 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.917 | - |
| predicted_HR | 0.083 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.583 | - |
| predicted_RBI | 0.417 | - |
| predicted_SLG | 0.452 | - |
| predicted_SO | 0.917 | - |
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.392 | -0.025 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.512 | 0.012 |
| predicted_AVG | 0.261 | -0.001 |
| predicted_BB | 0.261 | 0.011 |
| predicted_H | 0.917 | -0.000 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.082 | -0.001 |
| predicted_OBP | 0.313 | 0.002 |
| predicted_R | 0.571 | -0.012 |
| predicted_RBI | 0.407 | -0.010 |
| predicted_SLG | 0.444 | -0.008 |
| predicted_SO | 0.895 | -0.022 |
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.392 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.512 | 0.000 |
| predicted_AVG | 0.256 | -0.005 |
| predicted_BB | 0.261 | -0.001 |
| predicted_H | 0.900 | -0.017 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.080 | -0.002 |
| predicted_OBP | 0.308 | -0.005 |
| predicted_R | 0.554 | -0.018 |
| predicted_RBI | 0.394 | -0.012 |
| predicted_SLG | 0.438 | -0.006 |
| predicted_SO | 0.897 | 0.002 |
AB rounded to 4 (raw=3.51), rates preserved: AVG=0.256 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 | 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.392 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.488 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 0.000 | -0.261 |
| predicted_H | 1.000 | 0.100 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.250 | -0.058 |
| predicted_R | 1.000 | 0.446 |
| predicted_RBI | 0.000 | -0.394 |
| predicted_SLG | 0.250 | -0.188 |
| predicted_SO | 1.000 | 0.103 |
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 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.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 | 5.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 0.3333 | 0.4118 | 0.5333 | 0.3333 | 0.0000 | 0.0667 | 0.1333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 3.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 9.000 | 0.2121 | 0.2778 | 0.3030 | 0.2121 | 0.0000 | 0.0606 | 0.0909 | 0.2727 |
| season | 0.60 | 12 | - | 42.000 | 11.000 | 5.000 | 0.000 | 1.000 | 5.000 | 7.000 | 3.000 | 11.000 | 0.2619 | 0.3111 | 0.4524 | 0.2619 | 0.0238 | 0.1191 | 0.0714 | 0.2619 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3420 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.5370 |
| predicted_AVG | 0.2590 |
| predicted_BB | 0.2840 |
| predicted_H | 0.9160 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.3170 |
| predicted_R | 0.5480 |
| predicted_RBI | 0.3860 |
| predicted_SLG | 0.4269 |
| predicted_SO | 0.8510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.4170 | 0.3420 | 0.3920 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0020 | model_form_blend |
| predicted_AB | 3.5000 | 3.5370 | 3.5123 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2590 | 0.2610 | model_form_blend |
| predicted_BB | 0.2500 | 0.2840 | 0.2613 | model_form_blend |
| predicted_H | 0.9170 | 0.9160 | 0.9167 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0830 | 0.0800 | 0.0820 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3170 | 0.3130 | model_form_blend |
| predicted_R | 0.5830 | 0.5480 | 0.5713 | model_form_blend |
| predicted_RBI | 0.4170 | 0.3860 | 0.4067 | model_form_blend |
| predicted_SLG | 0.4520 | 0.4269 | 0.4436 | model_form_blend |
| predicted_SO | 0.9170 | 0.8510 | 0.8950 | 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 | 46 |
| Season rows before report date | 46 |
| Report year | 2026 |
| Profile rows used | 12 |
| 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 | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.262 |
| 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 | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| 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 | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 695731 |
| playerID | 695731 |
| playerName | Braden Montgomery |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| game_pk | 824585.0 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.329 |
| sl_xwoba | 0.311 |
| sl_xba | 0.25 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 40.7 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 7.6 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 52.3 |
| at_bat_number | 76.0 |
| ab_pitcher | 671922.0 |
| ab_pitcher_name | Smith, Cade |
| ab_home_team | CWS |
| ab_away_team | CLE |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 5.0 |
| ab_event | walk |
| ab_event_description | Braden Montgomery walks. |
| ab_event_type | B |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 1.0 |
| ab_estimated_woba_last | 0.698289 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.06 |
| ab_release_spin_rate_avg | 1737.6 |
| ab_effective_speed_avg | 93.84 |
| ab_delta_run_exp_avg | 0.0848 |
| ab_delta_home_win_exp_avg | 0.0197999999999999 |
| ab_delta_pitcher_run_exp_avg | -0.0848 |
| ab_release_speed_max | 96.4 |
| ab_release_spin_rate_max | 2455.0 |
| ab_release_speed_min | 85.9 |
| ab_release_spin_rate_min | 600.0 |
| ab_delta_run_exp_sum | 0.424 |
| ab_delta_home_win_exp_sum | 0.0989999999999999 |
| ab_delta_pitcher_run_exp_sum | -0.424 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| 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 | 0.000 | 0.000 | Hitting_2B | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_AB | 3.431 | 4.000 | 3.000 | Hitting_AB | 3.576 | 4.000 | 0.424 | 0.000 |
| predicted_AVG | 0.291 | 0.000 | 0.333 | Hitting_AVG | 0.287 | 0.500 | -0.287 | -0.500 |
| predicted_BB | 0.293 | 0.000 | 0.000 | Hitting_BB | 0.331 | 1.000 | -0.331 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.025 | 2.000 | -1.025 | -2.000 |
| predicted_HR | 0.069 | 0.000 | 0.000 | Hitting_HR | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_OBP | 0.347 | 0.000 | 0.333 | Hitting_OBP | 0.395 | 0.600 | -0.395 | -0.600 |
| predicted_R | 0.638 | 0.000 | 1.000 | Hitting_R | 0.686 | 1.000 | -0.686 | -1.000 |
| predicted_RBI | 0.379 | 0.000 | 0.000 | Hitting_RBI | 0.432 | 3.000 | -0.432 | -3.000 |
| predicted_SLG | 0.422 | 0.000 | 0.333 | Hitting_SLG | 0.418 | 0.500 | -0.418 | -0.500 |
| predicted_SO | 0.638 | 0.000 | 1.000 | Hitting_SO | 0.669 | 1.000 | -0.669 | -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_AB: 3.4310 -> 4.0000 (boost 0.5690, better) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, 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 | 4 | 0 | 4 | 0 | predicted_RBI: 0.3790 -> 0.4411 (boost 0.0621, 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_OBP: 0.3726 -> 0.3548 (deboost -0.0178, 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 | 0 | 7 | predicted_SO: 0.6422 -> 1.0000 (boost 0.3578, worse) | predicted_AB: 3.4293 -> 3.0000 (deboost -0.4293, worse) | AB rounded to 3 (raw=3.43), rates preserved: AVG=0.297 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6302 -> 1.0000 (boost 0.3698, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2969 -> 0.3330 (boost 0.0361, better) | predicted_SLG: 0.4548 -> 0.3330 (deboost -0.1218, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4548 (boost 0.1218, better) | predicted_AVG: 0.3330 -> 0.2969 (deboost -0.0361, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "803011",
"player_name": "Sam Antonacci",
"position": "CF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.034,
"predicted_AB": 3.431,
"predicted_AVG": 0.291,
"predicted_BB": 0.293,
"predicted_H": 1.0,
"predicted_HR": 0.069,
"predicted_OBP": 0.347,
"predicted_R": 0.638,
"predicted_RBI": 0.379,
"predicted_SLG": 0.422,
"predicted_SO": 0.638
},
"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.1928,
"predicted_3B": 0.0282,
"predicted_AB": 3.4293,
"predicted_AVG": 0.3023,
"predicted_BB": 0.3084,
"predicted_H": 1.0375,
"predicted_HBP": 0.206,
"predicted_HR": 0.0994,
"predicted_OBP": 0.3726,
"predicted_R": 0.6501,
"predicted_RBI": 0.4411,
"predicted_SLG": 0.4622,
"predicted_SO": 0.6409
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1928,
"delta": 0.0208,
"percent_delta": 0.1209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0282,
"delta": -0.0058,
"percent_delta": -0.1706,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.431,
"after": 3.4293,
"delta": -0.0017,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.3023,
"delta": 0.0113,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.293,
"after": 0.3084,
"delta": 0.0154,
"percent_delta": 0.0526,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0375,
"delta": 0.0375,
"percent_delta": 0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.069,
"after": 0.0994,
"delta": 0.0304,
"percent_delta": 0.4406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3726,
"delta": 0.0256,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.638,
"after": 0.6501,
"delta": 0.0121,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.379,
"after": 0.4411,
"delta": 0.0621,
"percent_delta": 0.1639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4622,
"delta": 0.0402,
"percent_delta": 0.0953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.638,
"after": 0.6409,
"delta": 0.0029,
"percent_delta": 0.0045,
"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.379,
"after": 0.4411,
"delta": 0.0621,
"percent_delta": 0.1639,
"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.1928,
"predicted_3B": 0.0282,
"predicted_AB": 3.4293,
"predicted_AVG": 0.2969,
"predicted_BB": 0.3078,
"predicted_H": 1.0182,
"predicted_HBP": 0.206,
"predicted_HR": 0.0974,
"predicted_OBP": 0.3548,
"predicted_R": 0.6302,
"predicted_RBI": 0.4276,
"predicted_SLG": 0.4548,
"predicted_SO": 0.6422
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1928,
"after": 0.1928,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0282,
"after": 0.0282,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4293,
"after": 3.4293,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3023,
"after": 0.2969,
"delta": -0.0054,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3084,
"after": 0.3078,
"delta": -0.0006,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0375,
"after": 1.0182,
"delta": -0.0193,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.206,
"after": 0.206,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0994,
"after": 0.0974,
"delta": -0.002,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3726,
"after": 0.3548,
"delta": -0.0178,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6501,
"after": 0.6302,
"delta": -0.0199,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4411,
"after": 0.4276,
"delta": -0.0135,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4622,
"after": 0.4548,
"delta": -0.0074,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6409,
"after": 0.6422,
"delta": 0.0013,
"percent_delta": 0.002,
"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.3726,
"after": 0.3548,
"delta": -0.0178,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.43), rates preserved: AVG=0.297 HR/AB=0.028",
"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.1928,
"after": 0.0,
"delta": -0.1928,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0282,
"after": 0.0,
"delta": -0.0282,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4293,
"after": 3.0,
"delta": -0.4293,
"percent_delta": -0.1252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3078,
"after": 0.0,
"delta": -0.3078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0182,
"after": 1.0,
"delta": -0.0182,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.206,
"after": 0.0,
"delta": -0.206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0974,
"after": 0.0,
"delta": -0.0974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4276,
"after": 0.0,
"delta": -0.4276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6422,
"after": 1.0,
"delta": 0.3578,
"percent_delta": 0.5571,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6422,
"after": 1.0,
"delta": 0.3578,
"percent_delta": 0.5571,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4293,
"after": 3.0,
"delta": -0.4293,
"percent_delta": -0.1252,
"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": 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": 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.6302,
"after": 1.0,
"delta": 0.3698,
"percent_delta": 0.5868,
"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.6302,
"after": 1.0,
"delta": 0.3698,
"percent_delta": 0.5868,
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.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.2969,
"after": 0.333,
"delta": 0.0361,
"percent_delta": 0.1216,
"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.3548,
"after": 0.333,
"delta": -0.0218,
"percent_delta": -0.0614,
"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.4548,
"after": 0.333,
"delta": -0.1218,
"percent_delta": -0.2678,
"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.2969,
"after": 0.333,
"delta": 0.0361,
"percent_delta": 0.1216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4548,
"after": 0.333,
"delta": -0.1218,
"percent_delta": -0.2678,
"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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"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.2969,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3548,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4548,
"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.2969,
"delta": -0.0361,
"percent_delta": -0.1084,
"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.3548,
"delta": 0.0218,
"percent_delta": 0.0655,
"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.333,
"after": 0.4548,
"delta": 0.1218,
"percent_delta": 0.3658,
"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.4548,
"delta": 0.1218,
"percent_delta": 0.3658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2969,
"delta": -0.0361,
"percent_delta": -0.1084,
"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": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.431,
"after": 4.0,
"delta": 0.569,
"percent_delta": 0.1658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2969,
"delta": 0.0059,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3548,
"delta": 0.0078,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.638,
"after": 0.0,
"delta": -0.638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4548,
"delta": 0.0328,
"percent_delta": 0.0777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.638,
"after": 0.0,
"delta": -0.638,
"percent_delta": -1.0,
"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_AB",
"before": 3.431,
"after": 4.0,
"delta": 0.569,
"percent_delta": 0.1658,
"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
},
"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.172 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 3.431 | - |
| predicted_AVG | 0.291 | - |
| predicted_BB | 0.293 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.069 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.638 | - |
| predicted_RBI | 0.379 | - |
| predicted_SLG | 0.422 | - |
| predicted_SO | 0.638 | - |
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.193 | 0.021 |
| predicted_3B | 0.028 | -0.006 |
| predicted_AB | 3.429 | -0.002 |
| predicted_AVG | 0.302 | 0.011 |
| predicted_BB | 0.308 | 0.015 |
| predicted_H | 1.038 | 0.038 |
| predicted_HBP | 0.206 | - |
| predicted_HR | 0.099 | 0.030 |
| predicted_OBP | 0.373 | 0.026 |
| predicted_R | 0.650 | 0.012 |
| predicted_RBI | 0.441 | 0.062 |
| predicted_SLG | 0.462 | 0.040 |
| predicted_SO | 0.641 | 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.193 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 3.429 | 0.000 |
| predicted_AVG | 0.297 | -0.005 |
| predicted_BB | 0.308 | -0.001 |
| predicted_H | 1.018 | -0.019 |
| predicted_HBP | 0.206 | 0.000 |
| predicted_HR | 0.097 | -0.002 |
| predicted_OBP | 0.355 | -0.018 |
| predicted_R | 0.630 | -0.020 |
| predicted_RBI | 0.428 | -0.014 |
| predicted_SLG | 0.455 | -0.007 |
| predicted_SO | 0.642 | 0.001 |
AB rounded to 3 (raw=3.43), rates preserved: AVG=0.297 HR/AB=0.028
| 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 | 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.193 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 3.000 | -0.429 |
| predicted_AVG | 0.333 | 0.036 |
| predicted_BB | 0.000 | -0.308 |
| predicted_H | 1.000 | -0.018 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.333 | -0.022 |
| predicted_R | 1.000 | 0.370 |
| predicted_RBI | 0.000 | -0.428 |
| predicted_SLG | 0.333 | -0.122 |
| predicted_SO | 1.000 | 0.358 |
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 | -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 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 2.000 | 0.4375 | 0.5263 | 0.7500 | 0.4375 | 0.0625 | 0.2500 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 2.000 | 0.000 | 3.000 | 7.000 | 7.000 | 4.000 | 8.000 | 0.3235 | 0.4103 | 0.6471 | 0.3235 | 0.0882 | 0.2059 | 0.1177 | 0.2353 |
| season | 0.60 | 58 | - | 199.000 | 58.000 | 10.000 | 2.000 | 4.000 | 22.000 | 37.000 | 17.000 | 37.000 | 0.2915 | 0.3906 | 0.4221 | 0.2915 | 0.0201 | 0.1105 | 0.0854 | 0.1859 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2220 |
| predicted_3B | 0.0200 |
| predicted_AB | 3.4270 |
| predicted_AVG | 0.3181 |
| predicted_BB | 0.3300 |
| predicted_H | 1.0900 |
| predicted_HBP | 0.2060 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.4084 |
| predicted_R | 0.6670 |
| predicted_RBI | 0.5280 |
| predicted_SLG | 0.5186 |
| predicted_SO | 0.6450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.2220 | 0.1928 | model_form_blend |
| predicted_3B | 0.0340 | 0.0200 | 0.0282 | model_form_blend |
| predicted_AB | 3.4310 | 3.4270 | 3.4293 | model_form_blend |
| predicted_AVG | 0.2910 | 0.3181 | 0.3023 | model_form_blend |
| predicted_BB | 0.2930 | 0.3300 | 0.3084 | model_form_blend |
| predicted_H | 1.0000 | 1.0900 | 1.0375 | model_form_blend |
| predicted_HBP | - | 0.2060 | 0.2060 | form_only |
| predicted_HR | 0.0690 | 0.1420 | 0.0994 | model_form_blend |
| predicted_OBP | 0.3470 | 0.4084 | 0.3726 | model_form_blend |
| predicted_R | 0.6380 | 0.6670 | 0.6501 | model_form_blend |
| predicted_RBI | 0.3790 | 0.5280 | 0.4411 | model_form_blend |
| predicted_SLG | 0.4220 | 0.5186 | 0.4622 | model_form_blend |
| predicted_SO | 0.6380 | 0.6450 | 0.6409 | 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 | 236 |
| Season rows before report date | 236 |
| 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 | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| 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 | 2 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| 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 | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 803011 |
| playerID | 803011 |
| playerName | Sam Antonacci |
| pos | SS |
| started | True |
| startingPosition | LF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| game_pk | 824585.0 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.349 |
| sl_xwoba | 0.357 |
| sl_xba | 0.287 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 36.3 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 14.8 |
| sl_swing_percent | 42.6 |
| at_bat_number | 79.0 |
| ab_pitcher | 671922.0 |
| ab_pitcher_name | Smith, Cade |
| ab_home_team | CWS |
| ab_away_team | CLE |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 671976.0 |
| ab_on_3b_start | 695731.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 5.0 |
| ab_event | single |
| ab_event_description | Guardians challenged (tag play), call on the field was upheld: Sam Antonacci singles on a line drive to center fielder Daniel Schneemann. Braden Montgomery scores. Tristan Peters scores. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 98.4 |
| ab_launch_angle_last | 9.0 |
| ab_hit_distance_last | 147.0 |
| ab_estimated_ba_last | 0.64 |
| ab_estimated_woba_last | 0.59 |
| ab_estimated_slg_last | 0.703 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 6.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 95.1 |
| ab_release_spin_rate_avg | 2222.0 |
| ab_effective_speed_avg | 97.2 |
| ab_launch_speed_avg | 98.4 |
| ab_launch_angle_avg | 9.0 |
| ab_delta_run_exp_avg | 0.767 |
| ab_delta_home_win_exp_avg | 0.758 |
| ab_delta_pitcher_run_exp_avg | -0.767 |
| ab_bat_speed_avg | 68.4 |
| ab_swing_length_avg | 6.3 |
| ab_launch_speed_max | 98.4 |
| ab_hit_distance_sc_max | 147.0 |
| ab_release_speed_max | 95.1 |
| ab_release_spin_rate_max | 2222.0 |
| ab_release_speed_min | 95.1 |
| ab_release_spin_rate_min | 2222.0 |
| ab_delta_run_exp_sum | 0.767 |
| ab_delta_home_win_exp_sum | 0.758 |
| ab_delta_pitcher_run_exp_sum | -0.767 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| 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.187 | 0.000 | -0.187 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 3.101 | 4.000 | 3.000 | Hitting_AB | 3.587 | 3.000 | 0.413 | 1.000 |
| predicted_AVG | 0.217 | 0.250 | 0.333 | Hitting_AVG | 0.257 | 0.000 | -0.007 | 0.250 |
| predicted_BB | 0.275 | 0.000 | 0.000 | Hitting_BB | 0.328 | 0.000 | -0.328 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.650 | 1.000 | 1.000 | Hitting_H | 0.923 | 0.000 | 0.077 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_OBP | 0.244 | 0.250 | 0.333 | Hitting_OBP | 0.315 | 0.000 | -0.065 | 0.250 |
| predicted_R | 0.435 | 1.000 | 0.000 | Hitting_R | 0.545 | 0.000 | 0.455 | 1.000 |
| predicted_RBI | 0.590 | 1.000 | 1.000 | Hitting_RBI | 0.630 | 0.000 | 0.370 | 1.000 |
| predicted_SLG | 0.426 | 0.250 | 0.333 | Hitting_SLG | 0.464 | 0.000 | -0.214 | 0.250 |
| predicted_SO | 0.899 | 0.000 | 1.000 | Hitting_SO | 0.991 | 0.000 | -0.991 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 3.1010 -> 4.0000 (boost 0.8990, better) |
| Biggest Deboost | predicted_SO: 0.8990 -> 0.0000 (deboost -0.8990, 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.4260 -> 0.4431 (boost 0.0171, better) | predicted_AB: 3.1010 -> 2.9784 (deboost -0.1226, 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 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2505 -> 0.2658 (boost 0.0153, better) | predicted_SLG: 0.4431 -> 0.4312 (deboost -0.0119, 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_RBI: 0.6051 -> 1.0000 (boost 0.3949, better) | predicted_BB: 0.2424 -> 0.0000 (deboost -0.2424, worse) | AB rounded to 3 (raw=3.10), rates preserved: AVG=0.198 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4047 -> 0.0000 (deboost -0.4047, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2061 -> 0.3330 (boost 0.1269, better) | predicted_SLG: 0.4312 -> 0.3330 (deboost -0.0982, worse) | 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4312 (boost 0.0982, better) | predicted_AVG: 0.3330 -> 0.2061 (deboost -0.1269, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"position": "RF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.029,
"predicted_AB": 3.101,
"predicted_AVG": 0.217,
"predicted_BB": 0.275,
"predicted_H": 0.65,
"predicted_HR": 0.15,
"predicted_OBP": 0.244,
"predicted_R": 0.435,
"predicted_RBI": 0.59,
"predicted_SLG": 0.426,
"predicted_SO": 0.899
},
"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.1292,
"predicted_3B": 0.0232,
"predicted_AB": 2.9784,
"predicted_AVG": 0.2143,
"predicted_BB": 0.2429,
"predicted_H": 0.6254,
"predicted_HBP": 0.003,
"predicted_HR": 0.1683,
"predicted_OBP": 0.2505,
"predicted_R": 0.4175,
"predicted_RBI": 0.6242,
"predicted_SLG": 0.4431,
"predicted_SO": 0.7935
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1292,
"delta": -0.0158,
"percent_delta": -0.109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0232,
"delta": -0.0058,
"percent_delta": -0.2,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.101,
"after": 2.9784,
"delta": -0.1226,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2143,
"delta": -0.0027,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.2429,
"delta": -0.0321,
"percent_delta": -0.1167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.6254,
"delta": -0.0246,
"percent_delta": -0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1683,
"delta": 0.0183,
"percent_delta": 0.122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.244,
"after": 0.2505,
"delta": 0.0065,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.4175,
"delta": -0.0175,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6242,
"delta": 0.0342,
"percent_delta": 0.058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.4431,
"delta": 0.0171,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 0.7935,
"delta": -0.1055,
"percent_delta": -0.1174,
"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.426,
"after": 0.4431,
"delta": 0.0171,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.101,
"after": 2.9784,
"delta": -0.1226,
"percent_delta": -0.0395,
"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.1292,
"predicted_3B": 0.0232,
"predicted_AB": 2.9784,
"predicted_AVG": 0.2061,
"predicted_BB": 0.2424,
"predicted_H": 0.6138,
"predicted_HBP": 0.003,
"predicted_HR": 0.165,
"predicted_OBP": 0.2658,
"predicted_R": 0.4047,
"predicted_RBI": 0.6051,
"predicted_SLG": 0.4312,
"predicted_SO": 0.7951
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1292,
"after": 0.1292,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9784,
"after": 2.9784,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2143,
"after": 0.2061,
"delta": -0.0082,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2429,
"after": 0.2424,
"delta": -0.0005,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6254,
"after": 0.6138,
"delta": -0.0116,
"percent_delta": -0.0185,
"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.1683,
"after": 0.165,
"delta": -0.0033,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2505,
"after": 0.2658,
"delta": 0.0153,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4175,
"after": 0.4047,
"delta": -0.0128,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6242,
"after": 0.6051,
"delta": -0.0191,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4431,
"after": 0.4312,
"delta": -0.0119,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7935,
"after": 0.7951,
"delta": 0.0016,
"percent_delta": 0.002,
"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.2505,
"after": 0.2658,
"delta": 0.0153,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4431,
"after": 0.4312,
"delta": -0.0119,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.10), rates preserved: AVG=0.198 HR/AB=0.053",
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1292,
"after": 0.0,
"delta": -0.1292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0,
"delta": -0.0232,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9784,
"after": 3.0,
"delta": 0.0216,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2424,
"after": 0.0,
"delta": -0.2424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6138,
"after": 1.0,
"delta": 0.3862,
"percent_delta": 0.6292,
"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.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6051,
"after": 1.0,
"delta": 0.3949,
"percent_delta": 0.6526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7951,
"after": 1.0,
"delta": 0.2049,
"percent_delta": 0.2577,
"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_RBI",
"before": 0.6051,
"after": 1.0,
"delta": 0.3949,
"percent_delta": 0.6526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2424,
"after": 0.0,
"delta": -0.2424,
"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": 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": 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.4047,
"after": 0.0,
"delta": -0.4047,
"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.4047,
"after": 0.0,
"delta": -0.4047,
"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": 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.2061,
"after": 0.333,
"delta": 0.1269,
"percent_delta": 0.6157,
"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.2658,
"after": 0.333,
"delta": 0.0672,
"percent_delta": 0.2528,
"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": 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.4312,
"after": 0.333,
"delta": -0.0982,
"percent_delta": -0.2277,
"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.2061,
"after": 0.333,
"delta": 0.1269,
"percent_delta": 0.6157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4312,
"after": 0.333,
"delta": -0.0982,
"percent_delta": -0.2277,
"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": 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": 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": 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.2061,
"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.2658,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4312,
"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.2061,
"delta": -0.1269,
"percent_delta": -0.3812,
"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.2658,
"delta": -0.0672,
"percent_delta": -0.2017,
"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.4312,
"delta": 0.0982,
"percent_delta": 0.2949,
"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.4312,
"delta": 0.0982,
"percent_delta": 0.2949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2061,
"delta": -0.1269,
"percent_delta": -0.3812,
"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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.101,
"after": 4.0,
"delta": 0.899,
"percent_delta": 0.2899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2061,
"delta": -0.0109,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.0,
"delta": -0.275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"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.244,
"after": 0.2658,
"delta": 0.0218,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 1.0,
"delta": 0.565,
"percent_delta": 1.2989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.4312,
"delta": 0.0052,
"percent_delta": 0.0122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 0.0,
"delta": -0.899,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.101,
"after": 4.0,
"delta": 0.899,
"percent_delta": 0.2899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.899,
"after": 0.0,
"delta": -0.899,
"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.145 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.101 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.275 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.244 | - |
| predicted_R | 0.435 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.426 | - |
| predicted_SO | 0.899 | - |
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.129 | -0.016 |
| predicted_3B | 0.023 | -0.006 |
| predicted_AB | 2.978 | -0.123 |
| predicted_AVG | 0.214 | -0.003 |
| predicted_BB | 0.243 | -0.032 |
| predicted_H | 0.625 | -0.025 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.168 | 0.018 |
| predicted_OBP | 0.251 | 0.007 |
| predicted_R | 0.417 | -0.018 |
| predicted_RBI | 0.624 | 0.034 |
| predicted_SLG | 0.443 | 0.017 |
| predicted_SO | 0.793 | -0.106 |
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.129 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 2.978 | 0.000 |
| predicted_AVG | 0.206 | -0.008 |
| predicted_BB | 0.242 | -0.001 |
| predicted_H | 0.614 | -0.012 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.165 | -0.003 |
| predicted_OBP | 0.266 | 0.015 |
| predicted_R | 0.405 | -0.013 |
| predicted_RBI | 0.605 | -0.019 |
| predicted_SLG | 0.431 | -0.012 |
| predicted_SO | 0.795 | 0.002 |
AB rounded to 3 (raw=3.10), rates preserved: AVG=0.198 HR/AB=0.053
| 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 | 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 | 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.129 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | 0.022 |
| predicted_AVG | 0.333 | 0.127 |
| predicted_BB | 0.000 | -0.242 |
| predicted_H | 1.000 | 0.386 |
| predicted_HR | 0.000 | -0.165 |
| predicted_OBP | 0.333 | 0.067 |
| predicted_R | 0.000 | -0.405 |
| predicted_RBI | 1.000 | 0.395 |
| predicted_SLG | 0.333 | -0.098 |
| 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 | 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 | - | 9.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 1.000 | 0.1111 | 0.1111 | 0.4444 | 0.1111 | 0.1111 | 0.4444 | 0.0000 | 0.1111 |
| last_10 | 0.20 | 10 | - | 23.000 | 5.000 | 1.000 | 0.000 | 3.000 | 7.000 | 4.000 | 2.000 | 4.000 | 0.2174 | 0.2800 | 0.6522 | 0.2174 | 0.1304 | 0.3044 | 0.0870 | 0.1739 |
| season | 0.60 | 69 | - | 214.000 | 50.000 | 10.000 | 2.000 | 9.000 | 37.000 | 30.000 | 19.000 | 62.000 | 0.2336 | 0.2924 | 0.4252 | 0.2336 | 0.0421 | 0.1729 | 0.0888 | 0.2897 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.8070 |
| predicted_AVG | 0.2106 |
| predicted_BB | 0.1980 |
| predicted_H | 0.5910 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1940 |
| predicted_OBP | 0.2595 |
| predicted_R | 0.3930 |
| predicted_RBI | 0.6720 |
| predicted_SLG | 0.4671 |
| predicted_SO | 0.6460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.1070 | 0.1292 | model_form_blend |
| predicted_3B | 0.0290 | 0.0150 | 0.0232 | model_form_blend |
| predicted_AB | 3.1010 | 2.8070 | 2.9784 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2106 | 0.2143 | model_form_blend |
| predicted_BB | 0.2750 | 0.1980 | 0.2429 | model_form_blend |
| predicted_H | 0.6500 | 0.5910 | 0.6254 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1500 | 0.1940 | 0.1683 | model_form_blend |
| predicted_OBP | 0.2440 | 0.2595 | 0.2505 | model_form_blend |
| predicted_R | 0.4350 | 0.3930 | 0.4175 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6720 | 0.6242 | model_form_blend |
| predicted_SLG | 0.4260 | 0.4671 | 0.4431 | model_form_blend |
| predicted_SO | 0.8990 | 0.6460 | 0.7935 | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| 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 | 0 |
| 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 | DH |
| gameID | 20260621_CHW@DET |
| game_type | full |
| mlbID | 643217 |
| playerID | 643217 |
| playerName | Andrew Benintendi |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-21 |
| game_pk | 824260.0 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.309 |
| sl_xwoba | 0.317 |
| sl_xba | 0.251 |
| sl_xslg | 0.415 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 51.9 |
| at_bat_number | 39.0 |
| ab_pitcher | 672456.0 |
| ab_pitcher_name | Montero, Keider |
| ab_home_team | DET |
| ab_away_team | CWS |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Andrew Benintendi grounds out, second baseman Zach McKinstry to first baseman Spencer Torkelson. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 75.1 |
| ab_launch_angle_last | -45.0 |
| ab_hit_distance_last | 2.0 |
| ab_estimated_ba_last | 0.174 |
| ab_estimated_woba_last | 0.157 |
| ab_estimated_slg_last | 0.175 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 1.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 95.75 |
| ab_release_spin_rate_avg | 2277.0 |
| ab_effective_speed_avg | 96.1 |
| ab_launch_speed_avg | 75.1 |
| ab_launch_angle_avg | -45.0 |
| ab_delta_run_exp_avg | -0.132 |
| ab_delta_home_win_exp_avg | 0.0095 |
| ab_delta_pitcher_run_exp_avg | 0.132 |
| ab_bat_speed_avg | 70.5 |
| ab_swing_length_avg | 6.8 |
| ab_launch_speed_max | 75.1 |
| ab_hit_distance_sc_max | 2.0 |
| ab_release_speed_max | 95.8 |
| ab_release_spin_rate_max | 2278.0 |
| ab_release_speed_min | 95.7 |
| ab_release_spin_rate_min | 2276.0 |
| ab_delta_run_exp_sum | -0.264 |
| ab_delta_home_win_exp_sum | 0.019 |
| ab_delta_pitcher_run_exp_sum | 0.264 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| 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.429 | 3.000 | -0.429 | -2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.143 | 9.000 | -0.143 | -7.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.500 | 8.000 | -0.500 | -3.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.700 | 3.100 | 0.300 | 2.900 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.929 | 4.000 | 0.071 | 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: 7.0000 -> 6.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 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 7.0000 -> 6.0000 (deboost -1.0000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 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": "663436",
"player_name": "Davis Martin",
"position": "Starter",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 7.0,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 2.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"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 | 2.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 7.000 | - |
| predicted_SO | 6.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | -1.000 |
| predicted_SO | 6.000 | 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 | 25.200 | 20.000 | 32.000 | 10.000 | 24.000 | 3.000 | 7.0130 | 1.6364 | 0.7792 | 1.2468 | 0.3896 | 0.9351 | 0.1169 |
| last_10 | 0.35 | 10 | 56.200 | 24.000 | 58.000 | 14.000 | 64.000 | 4.000 | 3.8118 | 1.2706 | 0.4235 | 1.0235 | 0.2471 | 1.1294 | 0.0706 |
| season | 0.20 | 14 | 81.200 | 30.000 | 77.000 | 20.000 | 83.000 | 6.000 | 3.3061 | 1.1878 | 0.3674 | 0.9429 | 0.2449 | 1.0163 | 0.0735 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8860 |
| predicted_ER | 3.2440 |
| predicted_ERA | 4.9942 |
| predicted_H | 6.2730 |
| predicted_HR | 0.6290 |
| predicted_IP | 6.0000 |
| predicted_SO | 5.8660 |
| predicted_WHIP | 1.3959 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.8860 | 1.4774 | model_form_blend |
| predicted_ER | 2.0000 | 3.2440 | 2.6703 | model_form_blend |
| predicted_ERA | - | 4.9942 | 4.9942 | form_only |
| predicted_H | 5.0000 | 6.2730 | 5.6859 | model_form_blend |
| predicted_HR | 1.0000 | 0.6290 | 0.8001 | model_form_blend |
| predicted_IP | 7.0000 | 6.0000 | 6.1000 | model_form_blend |
| predicted_SO | 6.0000 | 5.8660 | 5.9278 | model_form_blend |
| predicted_WHIP | - | 1.3959 | 1.3959 | 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 | 6.0 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 6 |
| HR | 1 |
| BF | 24 |
| Pitches | 96 |
| 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 | 21 |
| Pitching_ER | 9 |
| Pitching_ERA | 3.31 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 1 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.1 |
| Pitching_Pitches | 88 |
| Pitching_R | 9 |
| Pitching_SO | 4 |
| Pitching_Strikes | 51 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260616_CHW@NYY |
| game_type | full |
| mlbID | 663436 |
| playerID | 663436 |
| playerName | Davis Martin |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-16 |
| game_pk | 823535.0 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.304 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 44.4 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 49.3 |
| sv_pitch_count | 88.0 |
| sv_outs_recorded_est | 10.0 |
| sv_release_speed | 89.27894736842104 |
| sv_release_spin_rate | 2540.964912280702 |
| sv_effective_speed | 89.41578947368421 |
| sv_launch_speed | 87.97222222222223 |
| sv_launch_angle | 8.444444444444445 |
| sv_woba_value | 12.95 |
| sv_woba_denom | 19.0 |
| sv_delta_run_exp | 5.472 |
| sv_delta_home_win_exp | 0.404 |
| sl_avg_best_speed | 79.816989557 |
| sl_avg_hyper_speed | 94.800848667 |
| 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 | 0.417 | 0.000 | 0.583 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.167 | 0.000 | 2.833 | 3.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.875 | 0.000 | 1.125 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.871 | 1.000 | 0.129 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.958 | 1.000 | -0.958 | -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": "663542",
"player_name": "Bryan Hudson",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 1.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": 1.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 3.0,
"predicted_SO": 0.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": 2.0,
"after": 2.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.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": 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": 2.0,
"after": 2.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.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 | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.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 | 5.000 | 2.000 | 5.000 | 1.000 | 2.000 | 0.000 | 3.6000 | 1.2000 | 0.4000 | 1.0000 | 0.2000 | 0.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 10.000 | 2.000 | 7.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 1.0000 | 0.2000 | 0.7000 | 0.0000 |
| season | 0.20 | 24 | 23.000 | 4.000 | 21.000 | 10.000 | 23.000 | 0.000 | 1.5652 | 1.3478 | 0.1739 | 0.9130 | 0.4348 | 1.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3040 |
| predicted_ER | 0.4000 |
| predicted_ERA | 3.6020 |
| predicted_H | 0.9790 |
| predicted_HR | 0.0790 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7990 |
| predicted_WHIP | 1.2830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3040 | 0.7010 | model_form_blend |
| predicted_ER | 3.0000 | 0.4000 | 1.8831 | model_form_blend |
| predicted_ERA | - | 3.6020 | 3.6020 | form_only |
| predicted_H | 2.0000 | 0.9790 | 1.5614 | model_form_blend |
| predicted_HR | 1.0000 | 0.0790 | 0.6044 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7990 | 0.3432 | model_form_blend |
| predicted_WHIP | - | 1.2830 | 1.2830 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 0 |
| HR | 1 |
| BF | 6 |
| Pitches | 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 | 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 | 1.57 |
| 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 | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260519_CHW@SEA |
| game_type | full |
| mlbID | 663542 |
| playerID | 663542 |
| playerName | Bryan Hudson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-19 |
| game_pk | 823136.0 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.294 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 36.5 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 46.6 |
| sv_pitch_count | 11.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 89.7090909090909 |
| sv_release_spin_rate | 2132.5454545454545 |
| sv_effective_speed | 91.4090909090909 |
| sv_launch_speed | 87.175 |
| sv_launch_angle | 6.75 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.774 |
| sv_delta_home_win_exp | -0.032 |
| sl_avg_best_speed | 77.38159082 |
| sl_avg_hyper_speed | 93.333918512 |
| 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.333 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 2.000 | -1.000 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.017 | 1.100 | -0.017 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.333 | 1.000 | -1.333 | -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": "691799",
"player_name": "Grant Taylor",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.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": 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": 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": 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": 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 | 0.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 | 5.100 | 0.000 | 4.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.7500 | 0.1875 | 1.3125 | 0.0000 |
| last_10 | 0.35 | 6 | 6.100 | 1.000 | 6.000 | 2.000 | 8.000 | 0.000 | 1.4211 | 1.2632 | 0.1579 | 0.9474 | 0.3158 | 1.2632 | 0.0000 |
| season | 0.20 | 6 | 6.100 | 1.000 | 6.000 | 2.000 | 8.000 | 0.000 | 1.4211 | 1.2632 | 0.1579 | 0.9474 | 0.3158 | 1.2632 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3250 |
| predicted_ER | 0.4080 |
| predicted_ERA | 3.6750 |
| predicted_H | 0.9360 |
| predicted_HR | 0.1210 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0290 |
| predicted_WHIP | 1.2613 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3250 | 0.1016 | model_form_blend |
| predicted_ER | 0.0000 | 0.4080 | 0.1276 | model_form_blend |
| predicted_ERA | - | 3.6750 | 3.6750 | form_only |
| predicted_H | 0.0000 | 0.9360 | 0.2927 | model_form_blend |
| predicted_HR | 0.0000 | 0.1210 | 0.0378 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0290 | 0.3217 | model_form_blend |
| predicted_WHIP | - | 1.2613 | 1.2613 | 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 | 6 |
| 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 | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.42 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260409_CHW@KC |
| game_type | full |
| mlbID | 691799 |
| playerID | 691799 |
| playerName | Grant Taylor |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-04-09 |
| game_pk | 824130.0 |
| sl_k_percent | 34.9 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.254 |
| sl_xwoba | 0.233 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 47.1 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 94.2909090909091 |
| sv_release_spin_rate | 2537.5454545454545 |
| sv_effective_speed | 95.62272727272726 |
| sv_launch_speed | 84.075 |
| sv_launch_angle | 12.625 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | -0.404 |
| sv_delta_home_win_exp | -0.161 |
| sl_avg_best_speed | 78.910777627 |
| sl_avg_hyper_speed | 93.907674915 |
| 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.000 | 1.000 | -1.000 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.000 | 2.000 | -1.000 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 3.000 | 3.000 | -2.000 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 2.100 | 2.100 | -1.100 | -1.100 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.000 | 1.000 | 2.000 | 2.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.1000 -> 1.0000 (boost 0.9000, 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.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656794",
"player_name": "Sean Newcomb",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"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 | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| 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 | 1 | 2.100 | 2.000 | 3.000 | 1.000 | 1.000 | 0.000 | 7.7143 | 1.7143 | 0.8571 | 1.2857 | 0.4286 | 0.4286 | 0.0000 |
| last_10 | 0.35 | 1 | 2.100 | 2.000 | 3.000 | 1.000 | 1.000 | 0.000 | 7.7143 | 1.7143 | 0.8571 | 1.2857 | 0.4286 | 0.4286 | 0.0000 |
| season | 0.20 | 1 | 2.100 | 2.000 | 3.000 | 1.000 | 1.000 | 0.000 | 7.7143 | 1.7143 | 0.8571 | 1.2857 | 0.4286 | 0.4286 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1820 |
| predicted_ER | 0.2700 |
| predicted_ERA | 4.8235 |
| predicted_H | 0.5050 |
| predicted_HR | 0.0700 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.4600 |
| predicted_WHIP | 1.3646 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1820 | 0.0479 | model_form_blend |
| predicted_ER | 1.0000 | 0.2700 | 0.8077 | model_form_blend |
| predicted_ERA | - | 4.8235 | 4.8235 | form_only |
| predicted_H | 1.0000 | 0.5050 | 0.8696 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0184 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 3.0000 | 0.4600 | 2.3308 | model_form_blend |
| predicted_WHIP | - | 1.3646 | 1.3646 | 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 | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 3 |
| HR | 0 |
| BF | 4 |
| Pitches | 33 |
| 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 | 10 |
| Pitching_ER | 2 |
| Pitching_ERA | 7.71 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 5 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.1 |
| Pitching_Pitches | 33 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 26 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260326_CHW@MIL |
| game_type | full |
| mlbID | 656794 |
| playerID | 656794 |
| playerName | Sean Newcomb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-03-26 |
| game_pk | 823812.0 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.282 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 36.3 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 44.0 |
| sv_pitch_count | 37.0 |
| sv_outs_recorded_est | 6.0 |
| sv_release_speed | 90.8030303030303 |
| sv_release_spin_rate | 2396.818181818182 |
| sv_effective_speed | 89.39393939393939 |
| sv_launch_speed | 79.68571428571428 |
| sv_launch_angle | 4.428571428571429 |
| sv_woba_value | 3.3 |
| sv_woba_denom | 8.0 |
| sv_delta_run_exp | 0.0589999999999999 |
| sv_delta_home_win_exp | 0.0319999999999999 |
| sl_avg_best_speed | 75.576188421 |
| sl_avg_hyper_speed | 93.630472368 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | PIT 4 - 3 CIN | PIT | 0.560 | scoring_simulation.final_score | True |
| Simulation draw | PIT 4 - 3 CIN | PIT | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5600 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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 | 5.618 | 4.815 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 3 | 0.5600 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 4 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 4 | 3 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 3 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4454300996523754,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.019010632676709105,
"confidence": 0.6222909999999999,
"factors": {
"environmental": 0.9496199999999999,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.044582
},
"prediction": "normal_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 7,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 153,
"near_bucket_sample_size": 153,
"medium_bucket_sample_size": 195,
"wide_bucket_sample_size": 319,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.4902,
"bayesian_hit_rate": 0.4912,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8947,
"confidence_cap": 0.78,
"raw_pick_probability": 0.551,
"calibrated_pick_probability": 0.5136,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "CIN",
"games": 107,
"wins": 50,
"losses": 57,
"win_pct": 0.4672897196261682,
"runs_scored": 440,
"runs_allowed": 510,
"run_differential": -70,
"run_differential_per_game": -0.6542056074766355,
"available": true
},
"away": {
"team": "PIT",
"games": 109,
"wins": 55,
"losses": 54,
"win_pct": 0.5045871559633027,
"runs_scored": 563,
"runs_allowed": 526,
"run_differential": 37,
"run_differential_per_game": 0.3394495412844037,
"available": true
},
"run_differential_edge_per_game": -0.9937,
"win_pct_edge": -0.0373,
"quality_edge": -1.0496,
"margin_adjustment": -0.4408,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 6.255,
"home_runs": 2.823,
"home_win_probability": 0.2083
}
}{
"applied": true,
"confidence_cap": 0.56,
"winner_flipped": false,
"reasons": [
"recent head-to-head is split and volatile",
"a prior same-side pick already missed against the actual result"
],
"signals": {
"predicted_team": "PIT",
"opponent_team": "CIN",
"h2h_net_margin": 1,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-06-28",
"predicted_team_runs": 9,
"opponent_runs": 4,
"margin_for_predicted_team": 5,
"winner": "PIT"
},
{
"date": "2026-06-27",
"predicted_team_runs": 7,
"opponent_runs": 9,
"margin_for_predicted_team": -2,
"winner": "CIN"
},
{
"date": "2026-06-26",
"predicted_team_runs": 4,
"opponent_runs": 6,
"margin_for_predicted_team": -2,
"winner": "CIN"
}
],
"prediction_memory": {
"available": true,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "2026-06-28",
"predicted_team": "CIN",
"confidence": 0.51,
"actual_winner": "PIT",
"actual_margin": 5,
"path": "20260628_CIN@PIT.json"
},
{
"date": "2026-06-27",
"predicted_team": "CIN",
"confidence": 0.51,
"actual_winner": "CIN",
"actual_margin": 2,
"path": "20260627_CIN@PIT.json"
},
{
"date": "2026-06-26",
"predicted_team": "PIT",
"confidence": 0.525,
"actual_winner": "CIN",
"actual_margin": 2,
"path": "20260626_CIN@PIT.json"
}
]
},
"guardrail_predicted_team": "PIT",
"guardrail_opponent_team": "CIN",
"output_pre_simulation_winner": "PIT",
"output_opponent_team": "CIN",
"final_score_winner": "PIT",
"pre_simulation_winner": "PIT",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 CIN",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 CIN",
"winner": "PIT"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 1.0496,
"winner": "PIT",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "CIN",
"games": 107,
"wins": 50,
"losses": 57,
"win_pct": 0.4672897196261682,
"runs_scored": 440,
"runs_allowed": 510,
"run_differential": -70,
"run_differential_per_game": -0.6542056074766355,
"available": true
},
"away": {
"team": "PIT",
"games": 109,
"wins": 55,
"losses": 54,
"win_pct": 0.5045871559633027,
"runs_scored": 563,
"runs_allowed": 526,
"run_differential": 37,
"run_differential_per_game": 0.3394495412844037,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.6,
"final_margin": -0.6,
"margin_cap": 2.0,
"season_quality_edge": 1.0496,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.513623,
"final_confidence": 0.513623,
"confidence_cap": 0.66,
"score_gap": 0.6,
"calibration_sample_size": 153,
"calibration_empirical_hit_rate": 0.4902,
"calibration_bayesian_hit_rate": 0.4912,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.0496,
"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": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 CIN",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 CIN",
"winner": "PIT"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 1.0496,
"winner": "PIT",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 3,
"confidence": 0.56,
"home_win_probability": 0.43999999999999995,
"away_win_probability": 0.56,
"predicted_score_text": "PIT 4 - 3 CIN",
"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": "PIT",
"original_runs": 4,
"run_delta": 0.489,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 37.0,
"quality": 0.09400146930381473,
"contact": 0.21125376150547218,
"power": 0.24358316376820735,
"discipline": -0.0335152893305194,
"xwoba": 0.32870270270270274,
"recent_xwoba": 0.32870270270270274,
"barrel": 8.997297297297298,
"ab_hard_contact": 0.029577338874194933,
"ab_bat_speed": 70.05776283098129,
"ab_strikeout_rate": 0.2526115804268105,
"available_players": 9,
"top_players": [
{
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "CF",
"weight": 5.0,
"quality": -0.8134819842115887,
"contact": -0.5858758206421096,
"power": -1.1971090349661135,
"discipline": -0.1873940439592613,
"xwoba": 0.284,
"recent_xwoba": 0.284,
"barrel": 1.3,
"ab_hard_contact": -1.2865616517032206,
"ab_bat_speed": 65.12024304117782,
"ab_strikeout_rate": 0.18132045088566828,
"available": 1.0
},
{
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "RF",
"weight": 3.0,
"quality": 0.523323144008005,
"contact": 0.6391032167320428,
"power": 2.0,
"discipline": -0.5974967881580784,
"xwoba": 0.372,
"recent_xwoba": 0.372,
"barrel": 28.0,
"ab_hard_contact": 1.144559164242983,
"ab_bat_speed": 73.36641897081414,
"ab_strikeout_rate": 0.4106374807987711,
"available": 1.0
},
{
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"weight": 4.0,
"quality": 0.6655659826024283,
"contact": 0.6897285059064283,
"power": 0.8213943914573695,
"discipline": 0.4978030303030303,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 11.6,
"ab_hard_contact": 0.6576021148616706,
"ab_bat_speed": 71.10269941478275,
"ab_strikeout_rate": 0.22662337662337664,
"available": 1.0
},
{
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "2B",
"weight": 5.0,
"quality": 0.43630597269939936,
"contact": 0.36416498409754977,
"power": 0.8815395992352615,
"discipline": -0.4074582084582084,
"xwoba": 0.339,
"recent_xwoba": 0.339,
"barrel": 12.1,
"ab_hard_contact": 0.28983960375284934,
"ab_bat_speed": 71.68632940868656,
"ab_strikeout_rate": 0.2760989010989011,
"available": 1.0
},
{
"player_id": "682848",
"player_name": "Endy Rodríguez",
"position": "C",
"weight": 4.0,
"quality": 0.32112248145805644,
"contact": 0.6277226310696244,
"power": 0.7508267215902953,
"discipline": 0.794551948051948,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 11.8,
"ab_hard_contact": 0.0772963365678189,
"ab_bat_speed": 70.77269528619529,
"ab_strikeout_rate": 0.2803030303030303,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "695076",
"player_name": "Rhett Lowder",
"quality": -0.6525323386045258,
"contact": -0.7692429447820872,
"command": -0.6263905643738976,
"movement": -0.4260548040214687,
"xwoba": 0.359,
"whiff": 20.8,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "CIN",
"original_runs": 3,
"run_delta": 0.1062,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.298860880210156,
"contact": 0.19555086686453413,
"power": 0.455825615766291,
"discipline": -0.06301857448413994,
"xwoba": 0.3304375,
"recent_xwoba": 0.3304375,
"barrel": 10.165625000000002,
"ab_hard_contact": 0.2972266010401058,
"ab_bat_speed": 70.96159873645249,
"ab_strikeout_rate": 0.2647239992676897,
"available_players": 9,
"top_players": [
{
"player_id": "682829",
"player_name": "Elly De La Cruz",
"position": "SS",
"weight": 5.0,
"quality": 1.1477756501292082,
"contact": 1.2067501571003403,
"power": 1.6123512012455696,
"discipline": -0.12788708513708505,
"xwoba": 0.367,
"recent_xwoba": 0.367,
"barrel": 15.300000000000002,
"ab_hard_contact": 1.453119263006636,
"ab_bat_speed": 74.47477141203703,
"ab_strikeout_rate": 0.2725992063492063,
"available": 1.0
},
{
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "3B",
"weight": 4.0,
"quality": 0.6222235967157839,
"contact": 0.45319464766414125,
"power": 1.0328914780088245,
"discipline": 0.19135401635401633,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 14.4,
"ab_hard_contact": 0.4044962268431627,
"ab_bat_speed": 70.98287598204264,
"ab_strikeout_rate": 0.21557239057239058,
"available": 1.0
},
{
"player_id": "663886",
"player_name": "Tyler Stephenson",
"position": "C",
"weight": 3.0,
"quality": 0.6499008891502333,
"contact": 0.5809233776785713,
"power": 0.9214859055187246,
"discipline": 0.01475974025974032,
"xwoba": 0.345,
"recent_xwoba": 0.345,
"barrel": 11.7,
"ab_hard_contact": 0.5135276341840219,
"ab_bat_speed": 69.92116761904762,
"ab_strikeout_rate": 0.23866666666666664,
"available": 1.0
},
{
"player_id": "668709",
"player_name": "JJ Bleday",
"position": "LF",
"weight": 4.0,
"quality": 0.6454035420721491,
"contact": 0.6516849058699419,
"power": 0.7074427016167939,
"discipline": 0.5985883787573929,
"xwoba": 0.366,
"recent_xwoba": 0.366,
"barrel": 10.8,
"ab_hard_contact": 0.2726635561453942,
"ab_bat_speed": 72.08824713093375,
"ab_strikeout_rate": 0.2063380281690141,
"available": 1.0
},
{
"player_id": "553993",
"player_name": "Eugenio Suárez",
"position": "DH",
"weight": 4.0,
"quality": -0.770623524601119,
"contact": -1.2905935750153696,
"power": -0.20908335684954363,
"discipline": -0.836604444850924,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 10.6,
"ab_hard_contact": -0.19576237508611644,
"ab_bat_speed": 68.97014894925107,
"ab_strikeout_rate": 0.3511737089201878,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "670990",
"player_name": "Yohan Ramírez",
"quality": 0.24070830152635445,
"contact": 0.5397620054433094,
"command": -0.13596199294532618,
"movement": 0.32756354930039877,
"xwoba": 0.302,
"whiff": 26.1,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 3,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 3,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -1.0496,
"recent_form_edge_home_minus_away": 0.158,
"pitcher_matchup_edge_home_minus_away": -0.2706,
"composite_home_edge": -1.3131,
"existing_home_win_probability": 0.4864,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 1.3131
},
"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": 4,
"home_runs": 3,
"predicted_score_text": "PIT 4 - 3 CIN",
"confidence": 0.56,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 CIN",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 CIN",
"winner": "PIT"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 1.0496,
"winner": "PIT",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "PIT",
"display_confidence": 0.56,
"internal_signal_score": 0.6124,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.56,
"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": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 1.0496,
"winner_recent_form_edge": -0.228,
"winner_pitcher_matchup_edge": 0.2706,
"winner_simulation_draw_rate": 0.5714,
"blowout_draw_rate_margin_4_plus": 0.2857,
"high_total_draw_rate_11_plus": 0.2143,
"low_total_draw_rate_6_or_less": 0.2857,
"total_runs_spread": {
"min": 3,
"median": 8,
"max": 12,
"range": 9
}
},
"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 PIT | True | 1.0239 | 1.0239 | 1 | 9 | 0 |
| Home CIN | True | 1.0386 | 1.0386 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Esmerlyn Valdez | 107 | 1.0534 | 0.7118 | negative_batter_regression | 0.3720 | 0.2270 | 0.5480 | 28 | 54.70 | 92.90 | 21.40 | 40.30 | 37.10 | 12.60 | -1.9714 |
| 1B | Ryan O'Hearn | 256 | 1.0256 | 0.3416 | neutral | 0.3240 | 0.2560 | 0.4150 | 7.50 | 44.20 | 89.40 | 14 | 22 | 22.10 | 7.80 | -0.7429 |
| 3B | Nick Gonzales | 77 | 1.0052 | 0.0688 | neutral | 0.3230 | 0.2810 | 0.3880 | 3.20 | 36.40 | 86.10 | 6.30 | 24 | 17.80 | 6.60 | -0.6857 |
| CF | Jake Mangum | 166 | 0.9447 | -0.7370 | negative_batter_regression | 0.2840 | 0.2590 | 0.3280 | 1.30 | 25.10 | 84.80 | 3 | 21 | 17.40 | 4.70 | -1.0286 |
| 2B | Brandon Lowe | 29 | 1.0564 | 0.7524 | neutral | 0.3390 | 0.2500 | 0.4560 | 12.10 | 45.20 | 91 | 17.20 | 34.60 | 26.50 | 9.30 | -0.2286 |
| LF | Bryan Reynolds | 24 | 1.0687 | 0.9165 | neutral | 0.3580 | 0.2510 | 0.4450 | 11.60 | 47.20 | 90.90 | 7.40 | 28.80 | 23.80 | 14 | -0.3143 |
| C | Endy Rodríguez | 211 | 1.0335 | 0.4473 | neutral | 0.3530 | 0.2500 | 0.4200 | 11.80 | 46.10 | 92.10 | 19.40 | 26 | 24.60 | 16.20 | -0.4286 |
| DH | Marcell Ozuna | 608 | 1.0183 | 0.2444 | neutral | 0.3070 | 0.2220 | 0.3940 | 8.10 | 37.80 | 89.40 | 19.70 | 30.30 | 29.30 | 9.90 | 0.8286 |
| SS | Jacob Gonzalez | 298 | 1.0091 | 0.1212 | neutral | 0.3160 | 0.2610 | 0.3980 | 3.30 | 39.60 | 88.50 | 17.70 | 18.80 | 20.30 | 6.30 | 0.4000 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Sal Stewart | 118 | 1.0696 | 0.9282 | neutral | 0.3490 | 0.2510 | 0.4740 | 14.40 | 40 | 90.50 | 13.50 | 27.10 | 21.40 | 10.50 | 0.0857 |
| 1B | Nathaniel Lowe | 274 | 1.0661 | 0.8809 | neutral | 0.3520 | 0.2710 | 0.4660 | 10.70 | 39.60 | 88.80 | 14.60 | 21.50 | 25.80 | 10.20 | 0.0857 |
| DH | Eugenio Suárez | 595 | 0.9492 | -0.6769 | neutral | 0.2630 | 0.1870 | 0.3320 | 10.60 | 32.50 | 88.40 | 20.70 | 35.10 | 36.20 | 8.60 | -0.8571 |
| SS | Elly De La Cruz | 31 | 1.1049 | 1.3986 | neutral | 0.3670 | 0.2760 | 0.4900 | 15.30 | 53.10 | 94.30 | 10.30 | 28.20 | 27.70 | 10 | 0 |
| C | Tyler Stephenson | 131 | 1.0766 | 1.0215 | neutral | 0.3450 | 0.2550 | 0.4640 | 11.70 | 46.20 | 91 | 17.80 | 26.10 | 25.30 | 9.80 | 0.7714 |
| DH_695490 | Edwin Arroyo | 532 | 1.0062 | 0.0828 | positive_batter_regression | 0.3100 | 0.2930 | 0.3660 | 1 | 25.70 | 87.50 | 17.80 | 24.70 | 21 | 3.60 | 1.4857 |
| LF | JJ Bleday | 149 | 1.0839 | 1.1191 | neutral | 0.3660 | 0.2600 | 0.4680 | 10.80 | 42.10 | 89 | 21 | 26.30 | 20.60 | 13.30 | 0.4571 |
| RF | Noelvi Marte | 609 | 0.9671 | -0.4385 | neutral | 0.2640 | 0.2130 | 0.3390 | 5.60 | 28.80 | 87.70 | 8.60 | 25.10 | 23.60 | 5.70 | 0.2000 |
| CF | Dane Myers | 210 | 1.0240 | 0.3195 | neutral | 0.3380 | 0.2530 | 0.4050 | 6.20 | 35.30 | 89.80 | 15.30 | 19.20 | 26.50 | 12.40 | 0.1143 |
{
"home": {
"applied": true,
"offense_factor": 1.0386,
"raw_average_factor": 1.0386,
"team_espn_average_rank": 294.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "701398",
"player_name": "Sal Stewart",
"offense_factor": 1.0696,
"quality_score": 0.9282,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701398",
"espn_id": 5080771,
"player_name": "Sal Stewart",
"team": "CIN",
"role": "batter",
"espn_rank": 118,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 118,
"gp_value": 107.0,
"gp_rank": 20,
"ab_value": 407.0,
"ab_rank": 22,
"r_value": 56.0,
"r_rank": 49,
"h_value": 103.0,
"h_rank": 42,
"avg_value": 0.2530712,
"avg_rank": 79.0,
"2b_value": 23.0,
"2b_rank": 17,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 22.0,
"hr_rank": 17,
"rbi_value": 79.0,
"rbi_rank": 3,
"tb_value": 192.0,
"tb_rank": 608,
"bb_value": 48.0,
"bb_rank": 38,
"so_value": 101.0,
"so_rank": 48,
"sb_value": 12.0,
"sb_rank": 51,
"obp_value": 0.3304535,
"obp_rank": "78",
"slg_value": 0.4717444,
"slg_rank": "37",
"ops_value": 0.8021979,
"ops_rank": 41.0,
"war_value": 1.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 420.0,
"k_percent": 21.4,
"bb_percent": 10.5,
"woba": 0.346,
"xwoba": 0.349,
"xba": 0.251,
"xslg": 0.474,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 14.4,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 13.5,
"whiff_percent": 27.1,
"swing_percent": 47.8
},
"components": {
"expected_quality": 1.0654,
"regression_edge": 0.0857,
"xwoba_edge": 1.3286,
"xba_edge": 0.3571,
"xslg_edge": 1.4643,
"barrel_edge": 1.6889,
"hard_hit_edge": 0.2714,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"offense_factor": 1.0661,
"quality_score": 0.8809,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663993",
"espn_id": 40538,
"player_name": "Nathaniel Lowe",
"team": "CIN",
"role": "batter",
"espn_rank": 274,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 274,
"gp_value": 79.0,
"gp_rank": 195,
"ab_value": 231.0,
"ab_rank": 220,
"r_value": 24.0,
"r_rank": 251,
"h_value": 59.0,
"h_rank": 205,
"avg_value": 0.2554112,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 12.0,
"hr_rank": 105,
"rbi_value": 33.0,
"rbi_rank": 184,
"tb_value": 109.0,
"tb_rank": 1152,
"bb_value": 26.0,
"bb_rank": 165,
"so_value": 67.0,
"so_rank": 157,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3307392,
"obp_rank": "-",
"slg_value": 0.4718614,
"slg_rank": "-",
"ops_value": 0.8026006,
"ops_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 226.0,
"k_percent": 25.8,
"bb_percent": 10.2,
"woba": 0.349,
"xwoba": 0.352,
"xba": 0.271,
"xslg": 0.466,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 39.6,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 14.6,
"whiff_percent": 21.5,
"swing_percent": 45.7
},
"components": {
"expected_quality": 1.0104,
"regression_edge": 0.0857,
"xwoba_edge": 1.4143,
"xba_edge": 0.9286,
"xslg_edge": 1.35,
"barrel_edge": 0.8667,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 1.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"offense_factor": 0.9492,
"quality_score": -0.6769,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "553993",
"espn_id": 32367,
"player_name": "Eugenio Suarez",
"team": "CIN",
"role": "batter",
"espn_rank": 595,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 595,
"gp_value": 77.0,
"gp_rank": 212,
"ab_value": 279.0,
"ab_rank": 167,
"r_value": 27.0,
"r_rank": 230,
"h_value": 57.0,
"h_rank": 211,
"avg_value": 0.204301,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 14.0,
"hr_rank": 81,
"rbi_value": 39.0,
"rbi_rank": 135,
"tb_value": 110.0,
"tb_rank": 1141,
"bb_value": 26.0,
"bb_rank": 165,
"so_value": 113.0,
"so_rank": 24,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.275974,
"obp_rank": "-",
"slg_value": 0.3942652,
"slg_rank": "-",
"ops_value": 0.6702392,
"ops_rank": null,
"war_value": -0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 281.0,
"k_percent": 36.2,
"bb_percent": 8.6,
"woba": 0.293,
"xwoba": 0.263,
"xba": 0.187,
"xslg": 0.332,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 32.5,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 20.7,
"whiff_percent": 35.1,
"swing_percent": 47.0
},
"components": {
"expected_quality": -0.6476,
"regression_edge": -0.8571,
"xwoba_edge": -1.1286,
"xba_edge": -1.4714,
"xslg_edge": -0.5643,
"barrel_edge": 0.8444,
"hard_hit_edge": -0.8,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "682829",
"player_name": "Elly De La Cruz",
"offense_factor": 1.1049,
"quality_score": 1.3986,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682829",
"espn_id": 4917694,
"player_name": "Elly De La Cruz",
"team": "CIN",
"role": "batter",
"espn_rank": 31,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 31,
"gp_value": 88.0,
"gp_rank": 160,
"ab_value": 351.0,
"ab_rank": 99,
"r_value": 59.0,
"r_rank": 36,
"h_value": 96.0,
"h_rank": 72,
"avg_value": 0.2735042,
"avg_rank": 41.0,
"2b_value": 15.0,
"2b_rank": 120,
"3b_value": 4.0,
"3b_rank": 12,
"hr_value": 18.0,
"hr_rank": 39,
"rbi_value": 47.0,
"rbi_rank": 89,
"tb_value": 173.0,
"tb_rank": 333,
"bb_value": 40.0,
"bb_rank": 66,
"so_value": 109.0,
"so_rank": 33,
"sb_value": 18.0,
"sb_rank": 20,
"obp_value": 0.349367,
"obp_rank": "49",
"slg_value": 0.4928774,
"slg_rank": "22",
"ops_value": 0.8422444,
"ops_rank": 71.0,
"war_value": 3.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 355.0,
"k_percent": 27.7,
"bb_percent": 10.0,
"woba": 0.367,
"xwoba": 0.367,
"xba": 0.276,
"xslg": 0.49,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 15.3,
"hard_hit_percent": 53.1,
"exit_velocity_avg": 94.3,
"launch_angle_avg": 10.3,
"whiff_percent": 28.2,
"swing_percent": 41.3
},
"components": {
"expected_quality": 1.6263,
"regression_edge": 0.0,
"xwoba_edge": 1.8429,
"xba_edge": 1.0714,
"xslg_edge": 1.6929,
"barrel_edge": 1.8889,
"hard_hit_edge": 2.1429,
"exit_velocity_edge": 2.24,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "663886",
"player_name": "Tyler Stephenson",
"offense_factor": 1.0766,
"quality_score": 1.0215,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663886",
"espn_id": 34975,
"player_name": "Tyler Stephenson",
"team": "CIN",
"role": "batter",
"espn_rank": 131,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 131,
"gp_value": 82.0,
"gp_rank": 184,
"ab_value": 257.0,
"ab_rank": 187,
"r_value": 23.0,
"r_rank": 264,
"h_value": 64.0,
"h_rank": 181,
"avg_value": 0.2490272,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 29.0,
"rbi_rank": 208,
"tb_value": 102.0,
"tb_rank": 1323,
"bb_value": 29.0,
"bb_rank": 139,
"so_value": 73.0,
"so_rank": 136,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3252595,
"obp_rank": "-",
"slg_value": 0.3968871,
"slg_rank": "-",
"ops_value": 0.7221466,
"ops_rank": null,
"war_value": 1.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 267.0,
"k_percent": 25.3,
"bb_percent": 9.8,
"woba": 0.318,
"xwoba": 0.345,
"xba": 0.255,
"xslg": 0.464,
"sweet_spot_percent": 40.8,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 46.2,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 17.8,
"whiff_percent": 26.1,
"swing_percent": 45.2
},
"components": {
"expected_quality": 1.0622,
"regression_edge": 0.7714,
"xwoba_edge": 1.2143,
"xba_edge": 0.4714,
"xslg_edge": 1.3214,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.1571,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 1.25,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_695490",
"player_id": "695490",
"player_name": "Edwin Arroyo",
"offense_factor": 1.0062,
"quality_score": 0.0828,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695490",
"espn_id": 4919919,
"player_name": "Edwin Arroyo",
"team": "CIN",
"role": "batter",
"espn_rank": 532,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 532,
"gp_value": 44.0,
"gp_rank": 358,
"ab_value": 131.0,
"ab_rank": 339,
"r_value": 13.0,
"r_rank": 372,
"h_value": 32.0,
"h_rank": 326,
"avg_value": 0.2442748,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 408,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 0.0,
"hr_rank": 493,
"rbi_value": 5.0,
"rbi_rank": 457,
"tb_value": 37.0,
"tb_rank": 2425,
"bb_value": 5.0,
"bb_rank": 432,
"so_value": 31.0,
"so_rank": 346,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.2857142,
"obp_rank": "-",
"slg_value": 0.2824427,
"slg_rank": "-",
"ops_value": 0.5681569,
"ops_rank": null,
"war_value": -0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 120.0,
"k_percent": 21.0,
"bb_percent": 3.6,
"woba": 0.258,
"xwoba": 0.31,
"xba": 0.293,
"xslg": 0.366,
"sweet_spot_percent": 41.6,
"barrel_batted_rate": 1.0,
"hard_hit_percent": 25.7,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 17.8,
"whiff_percent": 24.7,
"swing_percent": 59.3
},
"components": {
"expected_quality": -0.0653,
"regression_edge": 1.4857,
"xwoba_edge": 0.2143,
"xba_edge": 1.5571,
"xslg_edge": -0.0786,
"barrel_edge": -1.2889,
"hard_hit_edge": -1.7714,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 1.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "668709",
"player_name": "JJ Bleday",
"offense_factor": 1.0839,
"quality_score": 1.1191,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668709",
"espn_id": 42410,
"player_name": "JJ Bleday",
"team": "CIN",
"role": "batter",
"espn_rank": 149,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 149,
"gp_value": 79.0,
"gp_rank": 195,
"ab_value": 281.0,
"ab_rank": 163,
"r_value": 40.0,
"r_rank": 145,
"h_value": 65.0,
"h_rank": 174,
"avg_value": 0.2313167,
"avg_rank": 130.0,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 18.0,
"hr_rank": 39,
"rbi_value": 45.0,
"rbi_rank": 104,
"tb_value": 132.0,
"tb_rank": 692,
"bb_value": 45.0,
"bb_rank": 44,
"so_value": 68.0,
"so_rank": 154,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3393939,
"obp_rank": "63",
"slg_value": 0.4697508,
"slg_rank": "38",
"ops_value": 0.8091447,
"ops_rank": 25.0,
"war_value": 1.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 300.0,
"k_percent": 20.6,
"bb_percent": 13.3,
"woba": 0.35,
"xwoba": 0.366,
"xba": 0.26,
"xslg": 0.468,
"sweet_spot_percent": 42.8,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 21.0,
"whiff_percent": 26.3,
"swing_percent": 45.9
},
"components": {
"expected_quality": 1.2269,
"regression_edge": 0.4571,
"xwoba_edge": 1.8143,
"xba_edge": 0.6143,
"xslg_edge": 1.3786,
"barrel_edge": 0.8889,
"hard_hit_edge": 0.5714,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 1.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "682622",
"player_name": "Noelvi Marte",
"offense_factor": 0.9671,
"quality_score": -0.4385,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682622",
"espn_id": 41307,
"player_name": "Noelvi Marte",
"team": "CIN",
"role": "batter",
"espn_rank": 609,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 609,
"gp_value": 49.0,
"gp_rank": 343,
"ab_value": 152.0,
"ab_rank": 313,
"r_value": 16.0,
"r_rank": 340,
"h_value": 29.0,
"h_rank": 346,
"avg_value": 0.1907894,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 14.0,
"rbi_rank": 339,
"tb_value": 53.0,
"tb_rank": 1834,
"bb_value": 9.0,
"bb_rank": 367,
"so_value": 38.0,
"so_rank": 295,
"sb_value": 5.0,
"sb_rank": 143,
"obp_value": 0.2360248,
"obp_rank": "-",
"slg_value": 0.3486842,
"slg_rank": "-",
"ops_value": 0.584709,
"ops_rank": null,
"war_value": -1.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 142.0,
"k_percent": 23.6,
"bb_percent": 5.7,
"woba": 0.257,
"xwoba": 0.264,
"xba": 0.213,
"xslg": 0.339,
"sweet_spot_percent": 20.7,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 28.8,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 8.6,
"whiff_percent": 25.1,
"swing_percent": 50.9
},
"components": {
"expected_quality": -0.8225,
"regression_edge": 0.2,
"xwoba_edge": -1.1,
"xba_edge": -0.7286,
"xslg_edge": -0.4643,
"barrel_edge": -0.2667,
"hard_hit_edge": -1.3286,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": -2.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "667472",
"player_name": "Dane Myers",
"offense_factor": 1.024,
"quality_score": 0.3195,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "667472",
"espn_id": 40048,
"player_name": "Dane Myers",
"team": "CIN",
"role": "batter",
"espn_rank": 210,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 210,
"gp_value": 74.0,
"gp_rank": 217,
"ab_value": 148.0,
"ab_rank": 317,
"r_value": 21.0,
"r_rank": 287,
"h_value": 40.0,
"h_rank": 279,
"avg_value": 0.2702702,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 285,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 15.0,
"rbi_rank": 332,
"tb_value": 56.0,
"tb_rank": 2022,
"bb_value": 22.0,
"bb_rank": 203,
"so_value": 45.0,
"so_rank": 256,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.3735632,
"obp_rank": "-",
"slg_value": 0.3783783,
"slg_rank": "-",
"ops_value": 0.7519415,
"ops_rank": null,
"war_value": 0.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 145.0,
"k_percent": 26.5,
"bb_percent": 12.4,
"woba": 0.334,
"xwoba": 0.338,
"xba": 0.253,
"xslg": 0.405,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 35.3,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 15.3,
"whiff_percent": 19.2,
"swing_percent": 40.9
},
"components": {
"expected_quality": 0.545,
"regression_edge": 0.1143,
"xwoba_edge": 1.0143,
"xba_edge": 0.4143,
"xslg_edge": 0.4786,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.4,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.9833,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0239,
"raw_average_factor": 1.0239,
"team_espn_average_rank": 197.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"offense_factor": 1.0534,
"quality_score": 0.7118,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "699013",
"espn_id": 5137200,
"player_name": "Esmerlyn Valdez",
"team": "PIT",
"role": "batter",
"espn_rank": 107,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 107,
"gp_value": 40.0,
"gp_rank": 377,
"ab_value": 133.0,
"ab_rank": 337,
"r_value": 26.0,
"r_rank": 238,
"h_value": 37.0,
"h_rank": 298,
"avg_value": 0.2781954,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 14.0,
"hr_rank": 81,
"rbi_value": 36.0,
"rbi_rank": 160,
"tb_value": 89.0,
"tb_rank": 1013,
"bb_value": 20.0,
"bb_rank": 219,
"so_value": 56.0,
"so_rank": 211,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3741935,
"obp_rank": "-",
"slg_value": 0.6691729,
"slg_rank": "-",
"ops_value": 1.0433664,
"ops_rank": null,
"war_value": 1.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 129.0,
"k_percent": 37.1,
"bb_percent": 12.6,
"woba": 0.441,
"xwoba": 0.372,
"xba": 0.227,
"xslg": 0.548,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 28.0,
"hard_hit_percent": 54.7,
"exit_velocity_avg": 92.9,
"launch_angle_avg": 21.4,
"whiff_percent": 40.3,
"swing_percent": 43.7
},
"components": {
"expected_quality": 1.7326,
"regression_edge": -1.9714,
"xwoba_edge": 1.9857,
"xba_edge": -0.3286,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.3714,
"exit_velocity_edge": 1.68,
"sweet_spot_edge": 0.9,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"offense_factor": 1.0256,
"quality_score": 0.3416,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656811",
"espn_id": 35183,
"player_name": "Ryan O'Hearn",
"team": "PIT",
"role": "batter",
"espn_rank": 256,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 256,
"gp_value": 94.0,
"gp_rank": 132,
"ab_value": 351.0,
"ab_rank": 99,
"r_value": 54.0,
"r_rank": 59,
"h_value": 96.0,
"h_rank": 72,
"avg_value": 0.2735042,
"avg_rank": 41.0,
"2b_value": 15.0,
"2b_rank": 120,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 17.0,
"hr_rank": 51,
"rbi_value": 69.0,
"rbi_rank": 10,
"tb_value": 162.0,
"tb_rank": 843,
"bb_value": 30.0,
"bb_rank": 131,
"so_value": 85.0,
"so_rank": 82,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3367609,
"obp_rank": "67",
"slg_value": 0.4615384,
"slg_rank": "42",
"ops_value": 0.7982993,
"ops_rank": 25.0,
"war_value": 0.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 360.0,
"k_percent": 22.1,
"bb_percent": 7.8,
"woba": 0.35,
"xwoba": 0.324,
"xba": 0.256,
"xslg": 0.415,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 44.2,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 14.0,
"whiff_percent": 22.0,
"swing_percent": 47.0
},
"components": {
"expected_quality": 0.5181,
"regression_edge": -0.7429,
"xwoba_edge": 0.6143,
"xba_edge": 0.5,
"xslg_edge": 0.6214,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.8714,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "693304",
"player_name": "Nick Gonzales",
"offense_factor": 1.0052,
"quality_score": 0.0688,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693304",
"espn_id": 4311634,
"player_name": "Nick Gonzales",
"team": "PIT",
"role": "batter",
"espn_rank": 77,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 77,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 391.0,
"ab_rank": 50,
"r_value": 59.0,
"r_rank": 36,
"h_value": 123.0,
"h_rank": 4,
"avg_value": 0.314578,
"avg_rank": 4.0,
"2b_value": 17.0,
"2b_rank": 93,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 47.0,
"rbi_rank": 89,
"tb_value": 160.0,
"tb_rank": 985,
"bb_value": 28.0,
"bb_rank": 146,
"so_value": 75.0,
"so_rank": 119,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3685446,
"obp_rank": "22",
"slg_value": 0.4092071,
"slg_rank": "94",
"ops_value": 0.7777517,
"ops_rank": 116.0,
"war_value": 2.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 391.0,
"k_percent": 17.8,
"bb_percent": 6.6,
"woba": 0.347,
"xwoba": 0.323,
"xba": 0.281,
"xslg": 0.388,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 6.3,
"whiff_percent": 24.0,
"swing_percent": 53.5
},
"components": {
"expected_quality": 0.1916,
"regression_edge": -0.6857,
"xwoba_edge": 0.5857,
"xba_edge": 1.2143,
"xslg_edge": 0.2357,
"barrel_edge": -0.8,
"hard_hit_edge": -0.2429,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "663968",
"player_name": "Jake Mangum",
"offense_factor": 0.9447,
"quality_score": -0.737,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663968",
"espn_id": 42664,
"player_name": "Jake Mangum",
"team": "PIT",
"role": "batter",
"espn_rank": 166,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 166,
"gp_value": 86.0,
"gp_rank": 167,
"ab_value": 275.0,
"ab_rank": 172,
"r_value": 37.0,
"r_rank": 161,
"h_value": 83.0,
"h_rank": 116,
"avg_value": 0.3018181,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 2.0,
"hr_rank": 372,
"rbi_value": 21.0,
"rbi_rank": 271,
"tb_value": 102.0,
"tb_rank": 1633,
"bb_value": 14.0,
"bb_rank": 290,
"so_value": 52.0,
"so_rank": 229,
"sb_value": 19.0,
"sb_rank": 17,
"obp_value": 0.3479729,
"obp_rank": "-",
"slg_value": 0.370909,
"slg_rank": "-",
"ops_value": 0.7188819,
"ops_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 256.0,
"k_percent": 17.4,
"bb_percent": 4.7,
"woba": 0.32,
"xwoba": 0.284,
"xba": 0.259,
"xslg": 0.328,
"sweet_spot_percent": 25.6,
"barrel_batted_rate": 1.3,
"hard_hit_percent": 25.1,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 3.0,
"whiff_percent": 21.0,
"swing_percent": 59.6
},
"components": {
"expected_quality": -0.6895,
"regression_edge": -1.0286,
"xwoba_edge": -0.5286,
"xba_edge": 0.5857,
"xslg_edge": -0.6214,
"barrel_edge": -1.2222,
"hard_hit_edge": -1.8571,
"exit_velocity_edge": -1.56,
"sweet_spot_edge": -1.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "664040",
"player_name": "Brandon Lowe",
"offense_factor": 1.0564,
"quality_score": 0.7524,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664040",
"espn_id": 39961,
"player_name": "Brandon Lowe",
"team": "PIT",
"role": "batter",
"espn_rank": 29,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 29,
"gp_value": 100.0,
"gp_rank": 94,
"ab_value": 396.0,
"ab_rank": 40,
"r_value": 65.0,
"r_rank": 20,
"h_value": 100.0,
"h_rank": 54,
"avg_value": 0.2525252,
"avg_rank": 79.0,
"2b_value": 24.0,
"2b_rank": 13,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 22.0,
"hr_rank": 17,
"rbi_value": 69.0,
"rbi_rank": 10,
"tb_value": 192.0,
"tb_rank": 330,
"bb_value": 41.0,
"bb_rank": 60,
"so_value": 120.0,
"so_rank": 16,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3206278,
"obp_rank": "94",
"slg_value": 0.4848484,
"slg_rank": "30",
"ops_value": 0.8054762,
"ops_rank": 124.0,
"war_value": 3.32,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 418.0,
"k_percent": 26.5,
"bb_percent": 9.3,
"woba": 0.347,
"xwoba": 0.339,
"xba": 0.25,
"xslg": 0.456,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 17.2,
"whiff_percent": 34.6,
"swing_percent": 50.8
},
"components": {
"expected_quality": 0.9121,
"regression_edge": -0.2286,
"xwoba_edge": 1.0429,
"xba_edge": 0.3286,
"xslg_edge": 1.2071,
"barrel_edge": 1.1778,
"hard_hit_edge": 1.0143,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"offense_factor": 1.0687,
"quality_score": 0.9165,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668804",
"espn_id": 38980,
"player_name": "Bryan Reynolds",
"team": "PIT",
"role": "batter",
"espn_rank": 24,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 24,
"gp_value": 109.0,
"gp_rank": 1,
"ab_value": 397.0,
"ab_rank": 38,
"r_value": 74.0,
"r_rank": 2,
"h_value": 107.0,
"h_rank": 30,
"avg_value": 0.2695214,
"avg_rank": 52.0,
"2b_value": 26.0,
"2b_rank": 5,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 61.0,
"rbi_rank": 32,
"tb_value": 182.0,
"tb_rank": 328,
"bb_value": 67.0,
"bb_rank": 7,
"so_value": 113.0,
"so_rank": 24,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.3839662,
"obp_rank": "10",
"slg_value": 0.4584382,
"slg_rank": "49",
"ops_value": 0.8424044,
"ops_rank": 59.0,
"war_value": 3.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 439.0,
"k_percent": 23.8,
"bb_percent": 14.0,
"woba": 0.369,
"xwoba": 0.358,
"xba": 0.251,
"xslg": 0.445,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 7.4,
"whiff_percent": 28.8,
"swing_percent": 45.8
},
"components": {
"expected_quality": 1.1169,
"regression_edge": -0.3143,
"xwoba_edge": 1.5857,
"xba_edge": 0.3571,
"xslg_edge": 1.05,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.3,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "682848",
"player_name": "Endy Rodríguez",
"offense_factor": 1.0335,
"quality_score": 0.4473,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682848",
"espn_id": 4712767,
"player_name": "Endy Rodriguez",
"team": "PIT",
"role": "batter",
"espn_rank": 211,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 211,
"gp_value": 37.0,
"gp_rank": 395,
"ab_value": 108.0,
"ab_rank": 381,
"r_value": 16.0,
"r_rank": 340,
"h_value": 28.0,
"h_rank": 352,
"avg_value": 0.2592592,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 5.0,
"hr_rank": 249,
"rbi_value": 17.0,
"rbi_rank": 314,
"tb_value": 49.0,
"tb_rank": 1903,
"bb_value": 21.0,
"bb_rank": 212,
"so_value": 32.0,
"so_rank": 339,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3798449,
"obp_rank": "-",
"slg_value": 0.4537037,
"slg_rank": "-",
"ops_value": 0.8335486,
"ops_rank": null,
"war_value": 0.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 24.6,
"bb_percent": 16.2,
"woba": 0.368,
"xwoba": 0.353,
"xba": 0.25,
"xslg": 0.42,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 19.4,
"whiff_percent": 26.0,
"swing_percent": 44.2
},
"components": {
"expected_quality": 1.0823,
"regression_edge": -0.4286,
"xwoba_edge": 1.4429,
"xba_edge": 0.3286,
"xslg_edge": 0.6929,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.1429,
"exit_velocity_edge": 1.36,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "542303",
"player_name": "Marcell Ozuna",
"offense_factor": 1.0183,
"quality_score": 0.2444,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "542303",
"espn_id": 31668,
"player_name": "Marcell Ozuna",
"team": "PIT",
"role": "batter",
"espn_rank": 608,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 608,
"gp_value": 69.0,
"gp_rank": 247,
"ab_value": 247.0,
"ab_rank": 200,
"r_value": 21.0,
"r_rank": 287,
"h_value": 50.0,
"h_rank": 239,
"avg_value": 0.2024291,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 29.0,
"rbi_rank": 208,
"tb_value": 80.0,
"tb_rank": 1553,
"bb_value": 27.0,
"bb_rank": 156,
"so_value": 80.0,
"so_rank": 102,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.2862318,
"obp_rank": "-",
"slg_value": 0.3238866,
"slg_rank": "-",
"ops_value": 0.6101184,
"ops_rank": null,
"war_value": -1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 257.0,
"k_percent": 29.3,
"bb_percent": 9.9,
"woba": 0.278,
"xwoba": 0.307,
"xba": 0.222,
"xslg": 0.394,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 37.8,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 19.7,
"whiff_percent": 30.3,
"swing_percent": 42.4
},
"components": {
"expected_quality": 0.1493,
"regression_edge": 0.8286,
"xwoba_edge": 0.1286,
"xba_edge": -0.4714,
"xslg_edge": 0.3214,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.0429,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.95,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"offense_factor": 1.0091,
"quality_score": 0.1212,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694378",
"espn_id": 4720990,
"player_name": "Jacob Gonzalez",
"team": "PIT",
"role": "batter",
"espn_rank": 298,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 298,
"gp_value": 41.0,
"gp_rank": 371,
"ab_value": 117.0,
"ab_rank": 362,
"r_value": 14.0,
"r_rank": 358,
"h_value": 28.0,
"h_rank": 352,
"avg_value": 0.2393162,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 339,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 22.0,
"rbi_rank": 263,
"tb_value": 45.0,
"tb_rank": 2026,
"bb_value": 8.0,
"bb_rank": 380,
"so_value": 26.0,
"so_rank": 384,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.2992125,
"obp_rank": "-",
"slg_value": 0.3846153,
"slg_rank": "-",
"ops_value": 0.6838278,
"ops_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 112.0,
"k_percent": 20.3,
"bb_percent": 6.3,
"woba": 0.302,
"xwoba": 0.316,
"xba": 0.261,
"xslg": 0.398,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 39.6,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 17.7,
"whiff_percent": 18.8,
"swing_percent": 56.4
},
"components": {
"expected_quality": 0.2118,
"regression_edge": 0.4,
"xwoba_edge": 0.3857,
"xba_edge": 0.6429,
"xslg_edge": 0.3786,
"barrel_edge": -0.7778,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.6167,
"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 PIT | True | 85 | 0.2081 | 0.8840 | 0.9823 | 1.0154 | 1.0778 | 0.9320 | neutral | 0.3020 | 0.3050 | 25 | 13.30 | 26.10 | 5.60 | 30.80 | |
| Home CIN | True | 338 | -0.6902 | 1 | 1.0587 | 0.9494 | 1.0320 | 1.0985 | neutral | 0.3590 | 0.3450 | 18.40 | 10.50 | 20.80 | 9.70 | 40.20 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away PIT | True | None | 19 | 90.37 | 2443 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0277 | |
| Home CIN | True | None | 48 | 89.29 | 2322 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0329 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0587 |
| home_runs_vs_away_pitcher | 0.9844 |
| home_pitcher_quality_edge | -0.8983 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "695076",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 324.0,
"k_percent": 18.4,
"bb_percent": 10.5,
"woba": 0.345,
"xwoba": 0.359,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 40.2,
"avg_best_speed": 80.6821,
"avg_hyper_speed": 94.7531,
"whiff_percent": 20.8,
"swing_percent": 44.0
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.8876,
"command_and_miss": -0.5789,
"regression_edge": -0.4,
"xwoba_edge": -1.3429,
"barrel_edge": -0.5778,
"hard_hit_edge": -0.3,
"whiff_edge": -0.7,
"bb_edge": -0.4,
"pitch_design_score": -0.0329
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695076",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 48,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 48,
"pitch_usage": 0.0,
"release_speed": 89.2855644458459,
"release_spin_rate": 2322.167066243701,
"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": 48,
"pitch_usage": 0.0,
"release_speed": 89.2855644458459,
"release_spin_rate": 2322.167066243701,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2856,
"release_spin_rate": 2322.1671,
"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.0329,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2348,
"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.6902,
"sample_weight": 1.0,
"run_prevention_factor": 1.0587,
"strikeout_factor": 0.9494,
"walk_factor": 1.032,
"homer_factor": 1.0985,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695076",
"espn_id": 4758873,
"player_name": "Rhett Lowder",
"team": "CIN",
"role": "pitcher",
"espn_rank": 338,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 338,
"gp_value": 18.0,
"gp_rank": 347,
"gs_value": 15.0,
"gs_rank": 103,
"qs_value": 3.0,
"qs_rank": 119,
"era_value": 5.6103,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 77.0,
"ip_rank": 122,
"h_value": 84.0,
"h_rank": 92,
"er_value": 48.0,
"er_rank": 59,
"hr_value": 9.0,
"hr_rank": 133,
"bb_value": 37.0,
"bb_rank": 49,
"k_value": 65.0,
"k_rank": 134,
"k_per_9_value": 7.5974026,
"k_per_9_rank": 29,
"whip_value": 1.5714,
"whip_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "670990",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 221.0,
"k_percent": 25.0,
"bb_percent": 13.3,
"woba": 0.305,
"xwoba": 0.302,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 30.8,
"avg_best_speed": 72.1248,
"avg_hyper_speed": 92.5996,
"whiff_percent": 26.1,
"swing_percent": 45.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.4148,
"command_and_miss": -0.0296,
"regression_edge": 0.0857,
"xwoba_edge": 0.2857,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.0429,
"whiff_edge": 0.0571,
"bb_edge": -1.1,
"pitch_design_score": 0.0277
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670990",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.3671622669396,
"release_spin_rate": 2442.9640529442495,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 90.3671622669396,
"release_spin_rate": 2442.9640529442495,
"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.3672,
"release_spin_rate": 2442.9641,
"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.0277,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1979,
"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.2081,
"sample_weight": 0.884,
"run_prevention_factor": 0.9823,
"strikeout_factor": 1.0154,
"walk_factor": 1.0778,
"homer_factor": 0.932,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670990",
"espn_id": 41893,
"player_name": "Yohan Ramirez",
"team": "PIT",
"role": "pitcher",
"espn_rank": 85,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 85,
"gp_value": 44.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.2142,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 6.0,
"hld_rank": 109,
"ip_value": 56.0,
"ip_rank": 173,
"h_value": 44.0,
"h_rank": 205,
"er_value": 20.0,
"er_rank": 237,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 33.0,
"bb_rank": 73,
"k_value": 62.0,
"k_rank": 145,
"k_per_9_value": 9.964286,
"k_per_9_rank": 22,
"whip_value": 1.375,
"whip_rank": null,
"war_value": 1.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0587,
"home_runs_vs_away_pitcher": 0.9844,
"home_pitcher_quality_edge": -0.8983
},
"score_before": {
"away_runs": 4.9706,
"home_runs": 3.4511
},
"score_after": {
"away_runs": 5.2624,
"home_runs": 3.3971,
"home_win_probability": 0.3253
},
"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 PIT | 4-6 | 0.400 | 3.70 | 4.80 | -11 | 2L | average | average |
| Home CIN | 6-4 | 0.600 | 3.50 | 4.30 | -8 | 1L | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away PIT | 55-54 | 0.505 | 37 | 0.339 | True |
| Home CIN | 50-57 | 0.467 | -70 | -0.654 | True |
| Signal | - | - | -0.994 | -1.050 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-06-28 | CIN @ PIT | 4 - 9 | PIT | 5 | blowout |
| 2026-06-27 | CIN @ PIT | 9 - 7 | CIN | 2 | close |
| 2026-06-26 | CIN @ PIT | 6 - 4 | CIN | 2 | close |
| 2026-05-03 | CIN @ PIT | 0 - 1 | PIT | 1 | close |
| 2026-05-02 | CIN @ PIT | 7 - 17 | PIT | 10 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target PIT | - | - | 4 | - | - | - | - |
| Game target CIN | - | - | 3 | - | - | - | - |
| Player finalized PIT | 37 | 9 | 5 | 0 | 5 | 2 | 9 |
| Player finalized CIN | 32 | 9 | 2 | 0 | 2 | 2 | 10 |
| Player model fractional PIT | 34.63 | 9.17 | 4.56 | 1.27 | 4.75 | 3.28 | 8.35 |
| Player model fractional CIN | 31.31 | 7.14 | 3.63 | 1.23 | 3.59 | 2.98 | 9.01 |
| Simulation box PIT | 36 | 9 | 4 | 1 | 4 | 3 | 9 |
| Simulation box CIN | 31 | 4 | 3 | 1 | 3 | 4 | 11 |
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 PIT | Starter | Yohan Ramírez | 5 | 1 | 8 | 1 | 3 | 2.56 | 1.55 | True |
| Away PIT | Middle Reliever | Carmen Mlodzinski | 1.10 | 0 | 1 | 1 | 0 | 3.06 | 1.22 | True |
| Away PIT | Middle Reliever | Gregory Soto | 1.20 | 0 | 1 | 0 | 0 | 2.61 | 0.98 | True |
| Away PIT | Middle Reliever | Mason Montgomery | 1 | 2 | 1 | 2 | 1 | 3.49 | 1.01 | True |
| Home CIN | Starter | Rhett Lowder | 4 | 4 | 5 | 9 | 2 | 5.89 | 1.60 | True |
| Home CIN | Middle Reliever | Brock Burke | 1.10 | 0 | 0 | 0 | 0 | 2.07 | 1.10 | True |
| Home CIN | Middle Reliever | Emilio Pagán | 1.10 | 0 | 2 | 0 | 0 | 4.26 | 1.15 | True |
| Home CIN | Middle Reliever | Tejay Antone | 1 | 0 | 1 | 0 | 1 | 2.82 | 1.13 | True |
| Home CIN | Middle Reliever | Caleb Ferguson | 1.10 | 0 | 1 | 0 | 0 | 5.42 | 1.58 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | CIN | batter | C | Tyler Stephenson | worse | 9 | 3 | 6 | 2 | 7 | predicted_SO | 3.0880 | boost | worse |
| away | PIT | batter | LF | Bryan Reynolds | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.9910 | boost | worse |
| home | CIN | batter | LF | JJ Bleday | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -1.6100 | deboost | worse |
| home | CIN | batter | SS | Elly De La Cruz | worse | 11 | 4 | 7 | 5 | 6 | predicted_RBI | 1.5200 | boost | better |
| home | CIN | batter | DH | Eugenio Suárez | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.5130 | boost | worse |
| home | CIN | batter | CF | Dane Myers | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | 1.5000 | boost | better |
| away | PIT | batter | 2B | Brandon Lowe | worse | 8 | 1 | 7 | 2 | 6 | predicted_H | -1.4700 | deboost | worse |
| away | PIT | batter | 1B | Ryan O'Hearn | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.2360 | boost | better |
| home | CIN | batter | 2B | Edwin Arroyo | better | 7 | 5 | 2 | 6 | 1 | predicted_H | 1.2000 | boost | better |
| away | PIT | batter | CF | Jake Mangum | worse | 9 | 5 | 4 | 4 | 5 | predicted_AB | -1.1800 | deboost | worse |
| away | PIT | batter | SS | Jacob Gonzalez | worse | 9 | 3 | 6 | 2 | 7 | predicted_AB | 1.1800 | boost | better |
| home | CIN | batter | 3B | Sal Stewart | worse | 8 | 1 | 7 | 2 | 6 | predicted_H | -0.9720 | deboost | worse |
| home | CIN | batter | 1B | Nathaniel Lowe | worse | 9 | 2 | 7 | 3 | 6 | predicted_SO | -0.8920 | deboost | better |
| away | PIT | batter | C | Endy Rodríguez | worse | 9 | 3 | 6 | 4 | 5 | predicted_SO | -0.8890 | deboost | better |
| away | PIT | batter | RF | Esmerlyn Valdez | worse | 9 | 2 | 7 | 3 | 6 | predicted_RBI | -0.7570 | deboost | worse |
| away | PIT | batter | 3B | Nick Gonzales | worse | 9 | 4 | 5 | 3 | 6 | predicted_H | 0.7500 | boost | better |
| away | PIT | batter | DH | Marcell Ozuna | better | 11 | 5 | 6 | 6 | 5 | predicted_R | 0.6820 | boost | better |
| away | PIT | pitcher | Starter | Yohan Ramírez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.6667 | deboost | worse |
| home | CIN | pitcher | Starter | Rhett Lowder | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.6667 | deboost | worse |
| home | CIN | batter | RF | Noelvi Marte | worse | 9 | 1 | 8 | 0 | 9 | predicted_H | -0.6300 | deboost | worse |
| home | CIN | pitcher | Middle Reliever | Caleb Ferguson | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.4333 | boost | better |
| away | PIT | pitcher | Middle Reliever | Carmen Mlodzinski | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | PIT | pitcher | Middle Reliever | Gregory Soto | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| home | CIN | pitcher | Middle Reliever | Brock Burke | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | CIN | pitcher | Middle Reliever | Emilio Pagán | 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 | Yohan Ramírez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2081 |
| ESPN Rank | 85 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0277 |
| Avg Velo | 90.3672 |
| Avg Spin | 2442.9641 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 3 |
| Pre SO | 8 |
| Season ERA | 3.2143 |
| Season WHIP | 1.3750 |
| Role Avg IP | 3 |
| Recent Avg IP | 3 |
| Last Start IP | 3 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"opponent": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"edges": {
"quality_edge": 0.0811,
"offense_edge": 0.0905,
"opponent_offense_edge": -0.1061,
"defense_strength": -0.0367,
"opponent_defense_weakness": 0.0534,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9826,
"strikeout": 1.0109
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670990",
"profile": {
"available": true,
"pitcher_id": "670990",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 221.0,
"k_percent": 25.0,
"bb_percent": 13.3,
"woba": 0.305,
"xwoba": 0.302,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 30.8,
"avg_best_speed": 72.1248,
"avg_hyper_speed": 92.5996,
"whiff_percent": 26.1,
"swing_percent": 45.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.4148,
"command_and_miss": -0.0296,
"regression_edge": 0.0857,
"xwoba_edge": 0.2857,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.0429,
"whiff_edge": 0.0571,
"bb_edge": -1.1,
"pitch_design_score": 0.0277
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670990",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.3671622669396,
"release_spin_rate": 2442.9640529442495,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 90.3671622669396,
"release_spin_rate": 2442.9640529442495,
"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.3672,
"release_spin_rate": 2442.9641,
"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.0277,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1979,
"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.2081,
"sample_weight": 0.884,
"run_prevention_factor": 0.9823,
"strikeout_factor": 1.0154,
"walk_factor": 1.0778,
"homer_factor": 0.932,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670990",
"espn_id": 41893,
"player_name": "Yohan Ramirez",
"team": "PIT",
"role": "pitcher",
"espn_rank": 85,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 85,
"gp_value": 44.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.2142,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 6.0,
"hld_rank": 109,
"ip_value": 56.0,
"ip_rank": 173,
"h_value": 44.0,
"h_rank": 205,
"er_value": 20.0,
"er_rank": 237,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 33.0,
"bb_rank": 73,
"k_value": 62.0,
"k_rank": 145,
"k_per_9_value": 9.964286,
"k_per_9_rank": 22,
"whip_value": 1.375,
"whip_rank": null,
"war_value": 1.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9844,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 0.9844,
"adjusted": 6
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0688,
"adjusted": 3
},
"predicted_HR": {
"original": 2.0,
"factor": 0.9399,
"adjusted": 2
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0136,
"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": 1,
"H": 13,
"BB": 8,
"SO": 14,
"HR": 0,
"ERA": 0.7499999999999999,
"WHIP": 1.7499999999999998,
"K9": 10.499999999999998,
"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-07-27T00:00:00"
}{
"available": true,
"pitcher_id": "670990",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.3671622669396,
"release_spin_rate": 2442.9640529442495,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 90.3671622669396,
"release_spin_rate": 2442.9640529442495,
"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.3672,
"release_spin_rate": 2442.9641,
"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.0277,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1979,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.16,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6906,
"prior_weight": 0.3094
},
"role": "pitcher",
"player_id": "670990",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 44,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 2.0,
"H": 7.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 94.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 1.4,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 5.0,
"Pitches": 18.8
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.6875,
"ER_per_IP": 0.1875,
"H_per_IP": 1.3125,
"BB_per_IP": 0.375,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 1.0,
"R": 2.0,
"H": 13.0,
"BB": 8.0,
"SO": 14.0,
"HR": 0.0,
"BF": 56.0,
"Pitches": 230.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.2,
"H": 1.3,
"BB": 0.8,
"SO": 1.4,
"HR": 0.0,
"BF": 5.6,
"Pitches": 23.0
},
"rates": {
"ERA": 0.75,
"WHIP": 1.75,
"ER_per_IP": 0.08333,
"H_per_IP": 1.08333,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.0
}
},
"season": {
"games": 44,
"totals": {
"IP": 56.0,
"ER": 20.0,
"R": 24.0,
"H": 44.0,
"BB": 33.0,
"SO": 62.0,
"HR": 4.0,
"BF": 248.0,
"Pitches": 933.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4545,
"R": 0.5455,
"H": 1.0,
"BB": 0.75,
"SO": 1.4091,
"HR": 0.0909,
"BF": 5.6364,
"Pitches": 21.2045
},
"rates": {
"ERA": 3.2143,
"WHIP": 1.375,
"ER_per_IP": 0.35714,
"H_per_IP": 0.78571,
"BB_per_IP": 0.58929,
"SO_per_IP": 1.10714,
"HR_per_IP": 0.07143
}
}
},
"weighted_prediction": {
"predicted_IP": 2.2,
"predicted_ER": 0.731,
"predicted_H": 2.777,
"predicted_BB": 1.206,
"predicted_SO": 2.48,
"predicted_HR": 0.146,
"predicted_ERA": 2.5589,
"predicted_WHIP": 1.5495
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4807,
"form_weight": 0.5193,
"form_reliability": 0.6906,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.16,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6906,
"prior_weight": 0.3094
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 2.2,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.731,
"final": 0.8603,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 2.777,
"final": 1.9228,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.206,
"final": 2.0684,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 2.48,
"final": 5.1336,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.146,
"final": 0.0758,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5589,
"final": 2.5589,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5495,
"final": 1.5495,
"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 | Carmen Mlodzinski |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.4528 |
| ESPN Rank | 86 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0114 |
| Avg Velo | 89.6682 |
| Avg Spin | 2106.7654 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.2518 |
| Season WHIP | 1.3358 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"opponent": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"edges": {
"quality_edge": 0.0811,
"offense_edge": 0.0905,
"opponent_offense_edge": -0.1061,
"defense_strength": -0.0367,
"opponent_defense_weakness": 0.0534,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9826,
"strikeout": 1.0109
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669387",
"profile": {
"available": true,
"pitcher_id": "669387",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 353.0,
"k_percent": 18.6,
"bb_percent": 7.9,
"woba": 0.311,
"xwoba": 0.339,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 46.2,
"avg_best_speed": 79.9623,
"avg_hyper_speed": 94.7493,
"whiff_percent": 21.2,
"swing_percent": 45.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.471,
"command_and_miss": -0.4161,
"regression_edge": -0.8,
"xwoba_edge": -0.7714,
"barrel_edge": -0.0222,
"hard_hit_edge": -1.1571,
"whiff_edge": -0.6429,
"bb_edge": 0.25,
"pitch_design_score": -0.0114
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669387",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 43,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 43,
"pitch_usage": 0.0,
"release_speed": 89.6682328934374,
"release_spin_rate": 2106.7654338527955,
"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": 43,
"pitch_usage": 0.0,
"release_speed": 89.6682328934374,
"release_spin_rate": 2106.7654338527955,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.6682,
"release_spin_rate": 2106.7654,
"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.0114,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0817,
"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.4528,
"sample_weight": 1.0,
"run_prevention_factor": 1.0385,
"strikeout_factor": 0.9529,
"walk_factor": 0.98,
"homer_factor": 1.0712,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669387",
"espn_id": 4298378,
"player_name": "Carmen Mlodzinski",
"team": "PIT",
"role": "pitcher",
"espn_rank": 86,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 86,
"gp_value": 24.0,
"gp_rank": 209,
"gs_value": 9.0,
"gs_rank": 154,
"qs_value": 1.0,
"qs_rank": 159,
"era_value": 3.2518,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 2.0,
"hld_rank": 199,
"ip_value": 91.1,
"ip_rank": 100,
"h_value": 92.0,
"h_rank": 77,
"er_value": 33.0,
"er_rank": 127,
"hr_value": 7.0,
"hr_rank": 177,
"bb_value": 30.0,
"bb_rank": 87,
"k_value": 72.0,
"k_rank": 114,
"k_per_9_value": 7.09489,
"k_per_9_rank": 30,
"whip_value": 1.3357,
"whip_rank": null,
"war_value": 1.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0385,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0385,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.98,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0712,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9529,
"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": 25.2,
"ER": 5,
"H": 21,
"BB": 6,
"SO": 18,
"HR": 1,
"ERA": 1.7532467532467535,
"WHIP": 1.051948051948052,
"K9": 6.311688311688313,
"HR9": 0.35064935064935066,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "669387",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 43,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 43,
"pitch_usage": 0.0,
"release_speed": 89.6682328934374,
"release_spin_rate": 2106.7654338527955,
"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": 43,
"pitch_usage": 0.0,
"release_speed": 89.6682328934374,
"release_spin_rate": 2106.7654338527955,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.6682,
"release_spin_rate": 2106.7654,
"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.0114,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0817,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 24.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8276,
"prior_weight": 0.1724
},
"role": "pitcher",
"player_id": "669387",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 13.2,
"ER": 5.0,
"R": 5.0,
"H": 13.0,
"BB": 4.0,
"SO": 10.0,
"HR": 1.0,
"BF": 57.0,
"Pitches": 211.0
},
"per_game": {
"IP": 2.2,
"ER": 1.0,
"R": 1.0,
"H": 2.6,
"BB": 0.8,
"SO": 2.0,
"HR": 0.2,
"BF": 11.4,
"Pitches": 42.2
},
"rates": {
"ERA": 3.2927,
"WHIP": 1.2439,
"ER_per_IP": 0.36585,
"H_per_IP": 0.95122,
"BB_per_IP": 0.29268,
"SO_per_IP": 0.73171,
"HR_per_IP": 0.07317
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 25.2,
"ER": 5.0,
"R": 5.0,
"H": 21.0,
"BB": 6.0,
"SO": 18.0,
"HR": 1.0,
"BF": 103.0,
"Pitches": 383.0
},
"per_game": {
"IP": 2.2,
"ER": 0.5,
"R": 0.5,
"H": 2.1,
"BB": 0.6,
"SO": 1.8,
"HR": 0.1,
"BF": 10.3,
"Pitches": 38.3
},
"rates": {
"ERA": 1.7532,
"WHIP": 1.0519,
"ER_per_IP": 0.19481,
"H_per_IP": 0.81818,
"BB_per_IP": 0.23377,
"SO_per_IP": 0.7013,
"HR_per_IP": 0.03896
}
},
"season": {
"games": 24,
"totals": {
"IP": 91.1,
"ER": 33.0,
"R": 40.0,
"H": 92.0,
"BB": 30.0,
"SO": 72.0,
"HR": 7.0,
"BF": 391.0,
"Pitches": 1526.0
},
"per_game": {
"IP": 3.2,
"ER": 1.375,
"R": 1.6667,
"H": 3.8333,
"BB": 1.25,
"SO": 3.0,
"HR": 0.2917,
"BF": 16.2917,
"Pitches": 63.5833
},
"rates": {
"ERA": 3.2518,
"WHIP": 1.3358,
"ER_per_IP": 0.36131,
"H_per_IP": 1.0073,
"BB_per_IP": 0.32847,
"SO_per_IP": 0.78832,
"HR_per_IP": 0.07664
}
}
},
"weighted_prediction": {
"predicted_IP": 2.2,
"predicted_ER": 0.884,
"predicted_H": 2.41,
"predicted_BB": 0.761,
"predicted_SO": 2.008,
"predicted_HR": 0.201,
"predicted_ERA": 3.0576,
"predicted_WHIP": 1.2187
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4228,
"form_weight": 0.5772,
"form_reliability": 0.8276,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 24.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8276,
"prior_weight": 0.1724
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 2.2,
"final": 2.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.884,
"final": 0.5102,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 2.41,
"final": 1.8138,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.761,
"final": 0.4392,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 2.008,
"final": 1.5818,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.201,
"final": 0.116,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0576,
"final": 3.0576,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2187,
"final": 1.2187,
"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 | Gregory Soto |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3968 |
| ESPN Rank | 200 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0473 |
| Avg Velo | 90.7171 |
| Avg Spin | 2429.2906 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.0224 |
| Season WHIP | 0.9403 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"opponent": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"edges": {
"quality_edge": 0.0811,
"offense_edge": 0.0905,
"opponent_offense_edge": -0.1061,
"defense_strength": -0.0367,
"opponent_defense_weakness": 0.0534,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9826,
"strikeout": 1.0109
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642397",
"profile": {
"available": true,
"pitcher_id": "642397",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 170.0,
"k_percent": 27.9,
"bb_percent": 9.8,
"woba": 0.263,
"xwoba": 0.274,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 33.6,
"avg_best_speed": 73.4934,
"avg_hyper_speed": 93.0955,
"whiff_percent": 27.5,
"swing_percent": 43.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.9048,
"command_and_miss": 0.4018,
"regression_edge": -0.3143,
"xwoba_edge": 1.0857,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.6429,
"whiff_edge": 0.2571,
"bb_edge": -0.225,
"pitch_design_score": 0.0473
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642397",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 90.71714693268639,
"release_spin_rate": 2429.290555857523,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 90.71714693268639,
"release_spin_rate": 2429.290555857523,
"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.7171,
"release_spin_rate": 2429.2906,
"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.0473,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3379,
"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.3968,
"sample_weight": 0.68,
"run_prevention_factor": 0.9663,
"strikeout_factor": 1.0286,
"walk_factor": 1.0122,
"homer_factor": 0.941,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642397",
"espn_id": 39804,
"player_name": "Gregory Soto",
"team": "PIT",
"role": "pitcher",
"espn_rank": 200,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 200,
"gp_value": 45.0,
"gp_rank": 41,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.6268,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 13.0,
"sv_rank": 18,
"hld_value": 7.0,
"hld_rank": 89,
"ip_value": 44.2,
"ip_rank": 239,
"h_value": 28.0,
"h_rank": 349,
"er_value": 18.0,
"er_rank": 268,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 18.0,
"bb_rank": 235,
"k_value": 51.0,
"k_rank": 193,
"k_per_9_value": 10.276119,
"k_per_9_rank": 21,
"whip_value": 1.0298,
"whip_rank": null,
"war_value": 0.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9771,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9771,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0083,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9599,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0194,
"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": 6,
"BB": 3,
"SO": 11,
"HR": 2,
"ERA": 2.612903225806452,
"WHIP": 0.870967741935484,
"K9": 9.580645161290324,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "642397",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 90.71714693268639,
"release_spin_rate": 2429.290555857523,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 90.71714693268639,
"release_spin_rate": 2429.290555857523,
"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.7171,
"release_spin_rate": 2429.2906,
"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.0473,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3379,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.901,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6403,
"prior_weight": 0.3597
},
"role": "pitcher",
"player_id": "642397",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 44,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 1.0,
"H": 2.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 4.0,
"Pitches": 19.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6429,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 4.0,
"H": 6.0,
"BB": 3.0,
"SO": 11.0,
"HR": 2.0,
"BF": 43.0,
"Pitches": 182.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.6,
"BB": 0.3,
"SO": 1.1,
"HR": 0.2,
"BF": 4.3,
"Pitches": 18.2
},
"rates": {
"ERA": 2.6129,
"WHIP": 0.871,
"ER_per_IP": 0.29032,
"H_per_IP": 0.58065,
"BB_per_IP": 0.29032,
"SO_per_IP": 1.06452,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 44,
"totals": {
"IP": 44.2,
"ER": 15.0,
"R": 18.0,
"H": 25.0,
"BB": 17.0,
"SO": 51.0,
"HR": 5.0,
"BF": 179.0,
"Pitches": 740.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3409,
"R": 0.4091,
"H": 0.5682,
"BB": 0.3864,
"SO": 1.1591,
"HR": 0.1136,
"BF": 4.0682,
"Pitches": 16.8182
},
"rates": {
"ERA": 3.0224,
"WHIP": 0.9403,
"ER_per_IP": 0.33582,
"H_per_IP": 0.5597,
"BB_per_IP": 0.3806,
"SO_per_IP": 1.14179,
"HR_per_IP": 0.11194
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.29,
"predicted_H": 0.676,
"predicted_BB": 0.304,
"predicted_SO": 1.162,
"predicted_HR": 0.112,
"predicted_ERA": 2.6109,
"predicted_WHIP": 0.98
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.502,
"form_weight": 0.498,
"form_reliability": 0.6403,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.901,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6403,
"prior_weight": 0.3597
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.29,
"final": 0.1444,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.676,
"final": 0.3367,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.304,
"final": 0.1514,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.162,
"final": 1.0807,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.112,
"final": 0.0558,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6109,
"final": 2.6109,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.98,
"final": 0.98,
"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 | Mason Montgomery |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4665 |
| ESPN Rank | 191 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2704 |
| Avg Velo | 94.7013 |
| Avg Spin | 2339.4210 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.5308 |
| Season WHIP | 1.1769 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"opponent": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"edges": {
"quality_edge": 0.0811,
"offense_edge": 0.0905,
"opponent_offense_edge": -0.1061,
"defense_strength": -0.0367,
"opponent_defense_weakness": 0.0534,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9826,
"strikeout": 1.0109
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682254",
"profile": {
"available": true,
"pitcher_id": "682254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 170.0,
"k_percent": 36.1,
"bb_percent": 10.9,
"woba": 0.28,
"xwoba": 0.273,
"sweet_spot_percent": 23.7,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 42.3,
"avg_best_speed": 74.4165,
"avg_hyper_speed": 94.7975,
"whiff_percent": 30.5,
"swing_percent": 48.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.6753,
"command_and_miss": 1.0239,
"regression_edge": 0.2,
"xwoba_edge": 1.1143,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.6,
"whiff_edge": 0.6857,
"bb_edge": -0.5,
"pitch_design_score": 0.2704
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 94.70126819864298,
"release_spin_rate": 2339.420982276818,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 94.70126819864298,
"release_spin_rate": 2339.420982276818,
"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": 94.7013,
"release_spin_rate": 2339.421,
"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.2704,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9315,
"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.4665,
"sample_weight": 0.68,
"run_prevention_factor": 0.9603,
"strikeout_factor": 1.0721,
"walk_factor": 1.0272,
"homer_factor": 1.0202,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682254",
"espn_id": 4424112,
"player_name": "Mason Montgomery",
"team": "PIT",
"role": "pitcher",
"espn_rank": 191,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 191,
"gp_value": 44.0,
"gp_rank": 49,
"gs_value": 5.0,
"gs_rank": 193,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.9461,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 9.0,
"hld_rank": 65,
"ip_value": 43.1,
"ip_rank": 253,
"h_value": 33.0,
"h_rank": 299,
"er_value": 19.0,
"er_rank": 248,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 20.0,
"bb_rank": 203,
"k_value": 66.0,
"k_rank": 131,
"k_per_9_value": 13.707691,
"k_per_9_rank": 13,
"whip_value": 1.223,
"whip_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.973,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.973,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0185,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0137,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.049,
"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": 2,
"H": 3,
"BB": 4,
"SO": 17,
"HR": 1,
"ERA": 1.8620689655172415,
"WHIP": 0.7241379310344828,
"K9": 15.827586206896553,
"HR9": 0.9310344827586208,
"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-07-27T00:00:00"
}{
"available": true,
"pitcher_id": "682254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 94.70126819864298,
"release_spin_rate": 2339.420982276818,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 94.70126819864298,
"release_spin_rate": 2339.420982276818,
"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": 94.7013,
"release_spin_rate": 2339.421,
"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.2704,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9315,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.636,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6333,
"prior_weight": 0.3667
},
"role": "pitcher",
"player_id": "682254",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 93.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 2.0,
"HR": 0.2,
"BF": 4.2,
"Pitches": 18.6
},
"rates": {
"ERA": 3.375,
"WHIP": 0.75,
"ER_per_IP": 0.375,
"H_per_IP": 0.375,
"BB_per_IP": 0.375,
"SO_per_IP": 1.875,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 4.0,
"SO": 17.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.3,
"BB": 0.4,
"SO": 1.7,
"HR": 0.1,
"BF": 3.7,
"Pitches": 17.0
},
"rates": {
"ERA": 1.8621,
"WHIP": 0.7241,
"ER_per_IP": 0.2069,
"H_per_IP": 0.31034,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.75862,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 43,
"totals": {
"IP": 43.1,
"ER": 17.0,
"R": 17.0,
"H": 31.0,
"BB": 20.0,
"SO": 66.0,
"HR": 4.0,
"BF": 181.0,
"Pitches": 767.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3953,
"R": 0.3953,
"H": 0.7209,
"BB": 0.4651,
"SO": 1.5349,
"HR": 0.093,
"BF": 4.2093,
"Pitches": 17.8372
},
"rates": {
"ERA": 3.5308,
"WHIP": 1.1769,
"ER_per_IP": 0.39231,
"H_per_IP": 0.71538,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.52308,
"HR_per_IP": 0.09231
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.388,
"predicted_H": 0.624,
"predicted_BB": 0.388,
"predicted_SO": 1.469,
"predicted_HR": 0.144,
"predicted_ERA": 3.492,
"predicted_WHIP": 1.0118
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5049,
"form_weight": 0.4951,
"form_reliability": 0.6333,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.636,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6333,
"prior_weight": 0.3667
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.388,
"final": 1.2019,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.624,
"final": 1.3188,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.388,
"final": 0.697,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.469,
"final": 1.2322,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.144,
"final": 0.5762,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.492,
"final": 3.492,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0118,
"final": 1.0118,
"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.216 | 0.000 | 0.000 | Hitting_2B | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_AB | 3.270 | 3.000 | 3.000 | Hitting_AB | 3.474 | 3.000 | -0.474 | 0.000 |
| predicted_AVG | 0.273 | 0.333 | 0.333 | Hitting_AVG | 0.288 | 0.000 | 0.046 | 0.333 |
| predicted_BB | 0.514 | 1.000 | 0.000 | Hitting_BB | 0.672 | 1.000 | 0.328 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_H | 0.892 | 1.000 | 1.000 | Hitting_H | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_HR | 0.297 | 0.000 | 0.000 | Hitting_HR | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_OBP | 0.371 | 0.500 | 0.333 | Hitting_OBP | 0.401 | 0.250 | 0.099 | 0.250 |
| predicted_R | 0.622 | 0.000 | 1.000 | Hitting_R | 0.715 | 0.000 | -0.715 | 0.000 |
| predicted_RBI | 0.757 | 0.000 | 1.000 | Hitting_RBI | 0.927 | 0.000 | -0.927 | 0.000 |
| predicted_SLG | 0.628 | 0.333 | 0.333 | Hitting_SLG | 0.672 | 0.000 | -0.339 | 0.333 |
| predicted_SO | 1.351 | 1.000 | 1.000 | Hitting_SO | 1.489 | 0.000 | -0.489 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.5140 -> 1.0000 (boost 0.4860, better) |
| Biggest Deboost | predicted_RBI: 0.7570 -> 0.0000 (deboost -0.7570, 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 | 1 | 2 | - | predicted_SO: 1.3510 -> 1.2955 (deboost -0.0555, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.6012 -> 0.6087 (boost 0.0075, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_RBI: 0.7255 -> 1.0000 (boost 0.2745, better) | predicted_BB: 0.5361 -> 0.0000 (deboost -0.5361, worse) | AB rounded to 3 (raw=3.29), rates preserved: AVG=0.269 HR/AB=0.087 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5951 -> 1.0000 (boost 0.4049, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2692 -> 0.3330 (boost 0.0638, better) | predicted_SLG: 0.6087 -> 0.3330 (deboost -0.2757, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 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.3330 -> 0.6087 (boost 0.2757, better) | predicted_AVG: 0.3330 -> 0.2692 (deboost -0.0638, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "RF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.216,
"predicted_3B": 0.027,
"predicted_AB": 3.27,
"predicted_AVG": 0.273,
"predicted_BB": 0.514,
"predicted_H": 0.892,
"predicted_HR": 0.297,
"predicted_OBP": 0.371,
"predicted_R": 0.622,
"predicted_RBI": 0.757,
"predicted_SLG": 0.628,
"predicted_SO": 1.351
},
"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.212,
"predicted_3B": 0.0226,
"predicted_AB": 3.2915,
"predicted_AVG": 0.2666,
"predicted_BB": 0.5328,
"predicted_H": 0.8768,
"predicted_HBP": 0.071,
"predicted_HR": 0.281,
"predicted_OBP": 0.3717,
"predicted_R": 0.5849,
"predicted_RBI": 0.7131,
"predicted_SLG": 0.6012,
"predicted_SO": 1.2955
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.216,
"after": 0.212,
"delta": -0.004,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0226,
"delta": -0.0044,
"percent_delta": -0.163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.27,
"after": 3.2915,
"delta": 0.0215,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2666,
"delta": -0.0064,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.514,
"after": 0.5328,
"delta": 0.0188,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.892,
"after": 0.8768,
"delta": -0.0152,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.297,
"after": 0.281,
"delta": -0.016,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3717,
"delta": 0.0007,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.622,
"after": 0.5849,
"delta": -0.0371,
"percent_delta": -0.0596,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.757,
"after": 0.7131,
"delta": -0.0439,
"percent_delta": -0.058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.628,
"after": 0.6012,
"delta": -0.0268,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.351,
"after": 1.2955,
"delta": -0.0555,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.351,
"after": 1.2955,
"delta": -0.0555,
"percent_delta": -0.0411,
"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": 37
}
},
{
"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.212,
"predicted_3B": 0.0226,
"predicted_AB": 3.2915,
"predicted_AVG": 0.2692,
"predicted_BB": 0.5361,
"predicted_H": 0.8861,
"predicted_HBP": 0.071,
"predicted_HR": 0.2867,
"predicted_OBP": 0.3716,
"predicted_R": 0.5951,
"predicted_RBI": 0.7255,
"predicted_SLG": 0.6087,
"predicted_SO": 1.2876
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0226,
"after": 0.0226,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2915,
"after": 3.2915,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2666,
"after": 0.2692,
"delta": 0.0026,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5328,
"after": 0.5361,
"delta": 0.0033,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8768,
"after": 0.8861,
"delta": 0.0093,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.281,
"after": 0.2867,
"delta": 0.0057,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3717,
"after": 0.3716,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5849,
"after": 0.5951,
"delta": 0.0102,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7131,
"after": 0.7255,
"delta": 0.0124,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6012,
"after": 0.6087,
"delta": 0.0075,
"percent_delta": 0.0125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2955,
"after": 1.2876,
"delta": -0.0079,
"percent_delta": -0.0061,
"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_SLG",
"before": 0.6012,
"after": 0.6087,
"delta": 0.0075,
"percent_delta": 0.0125,
"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.29), rates preserved: AVG=0.269 HR/AB=0.087",
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0226,
"after": 0.0,
"delta": -0.0226,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2915,
"after": 3.0,
"delta": -0.2915,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5361,
"after": 0.0,
"delta": -0.5361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8861,
"after": 1.0,
"delta": 0.1139,
"percent_delta": 0.1285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2867,
"after": 0.0,
"delta": -0.2867,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7255,
"after": 1.0,
"delta": 0.2745,
"percent_delta": 0.3784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2876,
"after": 1.0,
"delta": -0.2876,
"percent_delta": -0.2234,
"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_RBI",
"before": 0.7255,
"after": 1.0,
"delta": 0.2745,
"percent_delta": 0.3784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5361,
"after": 0.0,
"delta": -0.5361,
"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": 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": 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.5951,
"after": 1.0,
"delta": 0.4049,
"percent_delta": 0.6804,
"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.5951,
"after": 1.0,
"delta": 0.4049,
"percent_delta": 0.6804,
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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.2692,
"after": 0.333,
"delta": 0.0638,
"percent_delta": 0.237,
"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.3716,
"after": 0.333,
"delta": -0.0386,
"percent_delta": -0.1039,
"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.6087,
"after": 0.333,
"delta": -0.2757,
"percent_delta": -0.4529,
"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.2692,
"after": 0.333,
"delta": 0.0638,
"percent_delta": 0.237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6087,
"after": 0.333,
"delta": -0.2757,
"percent_delta": -0.4529,
"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": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"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_R",
"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.2692,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3716,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6087,
"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.2692,
"delta": -0.0638,
"percent_delta": -0.1916,
"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": 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.3716,
"delta": 0.0386,
"percent_delta": 0.1158,
"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.333,
"after": 0.6087,
"delta": 0.2757,
"percent_delta": 0.8278,
"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.6087,
"delta": 0.2757,
"percent_delta": 0.8278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2692,
"delta": -0.0638,
"percent_delta": -0.1916,
"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.216,
"after": 0.0,
"delta": -0.216,
"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.27,
"after": 3.0,
"delta": -0.27,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2692,
"delta": -0.0038,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.514,
"after": 1.0,
"delta": 0.486,
"percent_delta": 0.9455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.892,
"after": 1.0,
"delta": 0.108,
"percent_delta": 0.1211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.297,
"after": 0.0,
"delta": -0.297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3716,
"delta": 0.0006,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.622,
"after": 0.0,
"delta": -0.622,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.757,
"after": 0.0,
"delta": -0.757,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.628,
"after": 0.6087,
"delta": -0.0193,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.351,
"after": 1.0,
"delta": -0.351,
"percent_delta": -0.2598,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.514,
"after": 1.0,
"delta": 0.486,
"percent_delta": 0.9455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.757,
"after": 0.0,
"delta": -0.757,
"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.216 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.270 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.514 | - |
| predicted_H | 0.892 | - |
| predicted_HR | 0.297 | - |
| predicted_OBP | 0.371 | - |
| predicted_R | 0.622 | - |
| predicted_RBI | 0.757 | - |
| predicted_SLG | 0.628 | - |
| predicted_SO | 1.351 | - |
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.212 | -0.004 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.292 | 0.022 |
| predicted_AVG | 0.267 | -0.006 |
| predicted_BB | 0.533 | 0.019 |
| predicted_H | 0.877 | -0.015 |
| predicted_HBP | 0.071 | - |
| predicted_HR | 0.281 | -0.016 |
| predicted_OBP | 0.372 | 0.001 |
| predicted_R | 0.585 | -0.037 |
| predicted_RBI | 0.713 | -0.044 |
| predicted_SLG | 0.601 | -0.027 |
| predicted_SO | 1.296 | -0.055 |
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.212 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.292 | 0.000 |
| predicted_AVG | 0.269 | 0.003 |
| predicted_BB | 0.536 | 0.003 |
| predicted_H | 0.886 | 0.009 |
| predicted_HBP | 0.071 | 0.000 |
| predicted_HR | 0.287 | 0.006 |
| predicted_OBP | 0.372 | -0.000 |
| predicted_R | 0.595 | 0.010 |
| predicted_RBI | 0.726 | 0.012 |
| predicted_SLG | 0.609 | 0.008 |
| predicted_SO | 1.288 | -0.008 |
AB rounded to 3 (raw=3.29), rates preserved: AVG=0.269 HR/AB=0.087
| 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 | 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 | 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.212 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.292 |
| predicted_AVG | 0.333 | 0.064 |
| predicted_BB | 0.000 | -0.536 |
| predicted_H | 1.000 | 0.114 |
| predicted_HR | 0.000 | -0.287 |
| predicted_OBP | 0.333 | -0.039 |
| predicted_R | 1.000 | 0.405 |
| predicted_RBI | 1.000 | 0.274 |
| predicted_SLG | 0.333 | -0.276 |
| predicted_SO | 1.000 | -0.288 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.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 | - | 16.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 3.000 | 5.000 | 0.2500 | 0.4000 | 0.5000 | 0.2500 | 0.0625 | 0.1250 | 0.1875 | 0.3125 |
| last_10 | 0.20 | 10 | - | 31.000 | 7.000 | 2.000 | 0.000 | 3.000 | 7.000 | 4.000 | 9.000 | 13.000 | 0.2258 | 0.4146 | 0.5806 | 0.2258 | 0.0968 | 0.2258 | 0.2903 | 0.4194 |
| season | 0.60 | 37 | - | 121.000 | 33.000 | 8.000 | 1.000 | 11.000 | 28.000 | 23.000 | 19.000 | 50.000 | 0.2727 | 0.3732 | 0.6281 | 0.2727 | 0.0909 | 0.2314 | 0.1570 | 0.4132 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.3240 |
| predicted_AVG | 0.2569 |
| predicted_BB | 0.5610 |
| predicted_H | 0.8540 |
| predicted_HBP | 0.0710 |
| predicted_HR | 0.2570 |
| predicted_OBP | 0.3727 |
| predicted_R | 0.5290 |
| predicted_RBI | 0.6470 |
| predicted_SLG | 0.5609 |
| predicted_SO | 1.2120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2160 | 0.2060 | 0.2120 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0226 | model_form_blend |
| predicted_AB | 3.2700 | 3.3240 | 3.2915 | model_form_blend |
| predicted_AVG | 0.2730 | 0.2569 | 0.2666 | model_form_blend |
| predicted_BB | 0.5140 | 0.5610 | 0.5328 | model_form_blend |
| predicted_H | 0.8920 | 0.8540 | 0.8768 | model_form_blend |
| predicted_HBP | - | 0.0710 | 0.0710 | form_only |
| predicted_HR | 0.2970 | 0.2570 | 0.2810 | model_form_blend |
| predicted_OBP | 0.3710 | 0.3727 | 0.3717 | model_form_blend |
| predicted_R | 0.6220 | 0.5290 | 0.5849 | model_form_blend |
| predicted_RBI | 0.7570 | 0.6470 | 0.7131 | model_form_blend |
| predicted_SLG | 0.6280 | 0.5609 | 0.6012 | model_form_blend |
| predicted_SO | 1.3510 | 1.2120 | 1.2955 | 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 | 137 |
| Season rows before report date | 137 |
| Report year | 2026 |
| Profile rows used | 37 |
| 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 | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.273 |
| 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 | 1 |
| 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 | 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 | 20260729_ARI@PIT |
| game_type | full |
| mlbID | 699013 |
| playerID | 699013 |
| playerName | Esmerlyn Valdez |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-29 |
| sl_k_percent | 37.1 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.441 |
| sl_xwoba | 0.372 |
| sl_xba | 0.227 |
| sl_xslg | 0.548 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 28.0 |
| sl_hard_hit_percent | 54.7 |
| sl_exit_velocity_avg | 92.9 |
| sl_launch_angle_avg | 21.4 |
| sl_whiff_percent | 40.3 |
| 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.169 | 0.000 | 0.000 | Hitting_2B | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.831 | 4.000 | 4.000 | Hitting_AB | 3.954 | 4.000 | 0.046 | 0.000 |
| predicted_AVG | 0.282 | 0.500 | 0.250 | Hitting_AVG | 0.282 | 0.000 | 0.218 | 0.500 |
| predicted_BB | 0.326 | 0.000 | 0.000 | Hitting_BB | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.079 | 2.000 | 1.000 | Hitting_H | 1.113 | 0.000 | 0.887 | 2.000 |
| predicted_HR | 0.191 | 1.000 | 0.000 | Hitting_HR | 0.194 | 0.000 | 0.806 | 1.000 |
| predicted_OBP | 0.338 | 0.500 | 0.250 | Hitting_OBP | 0.345 | 0.000 | 0.155 | 0.500 |
| predicted_R | 0.607 | 1.000 | 1.000 | Hitting_R | 0.647 | 0.000 | 0.353 | 1.000 |
| predicted_RBI | 0.764 | 2.000 | 1.000 | Hitting_RBI | 0.798 | 0.000 | 1.202 | 2.000 |
| predicted_SLG | 0.475 | 1.250 | 0.250 | Hitting_SLG | 0.472 | 0.000 | 0.778 | 1.250 |
| predicted_SO | 0.865 | 0.000 | 1.000 | Hitting_SO | 0.911 | 0.000 | -0.911 | 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.7640 -> 2.0000 (boost 1.2360, better) |
| Biggest Deboost | predicted_SO: 0.8650 -> 0.0000 (deboost -0.8650, 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 | 0 | 4 | 1 | 3 | - | predicted_SO: 0.8650 -> 0.7746 (deboost -0.0904, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4623 -> 0.4680 (boost 0.0057, better) | - | 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_RBI: 0.7660 -> 1.0000 (boost 0.2340, better) | predicted_BB: 0.3379 -> 0.0000 (deboost -0.3379, worse) | AB rounded to 4 (raw=3.83), rates preserved: AVG=0.272 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6049 -> 1.0000 (boost 0.3951, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4680 -> 0.2500 (deboost -0.2180, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_H: 1.0000 -> 2.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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4680 (boost 0.2180, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"position": "1B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.0,
"predicted_AB": 3.831,
"predicted_AVG": 0.282,
"predicted_BB": 0.326,
"predicted_H": 1.079,
"predicted_HR": 0.191,
"predicted_OBP": 0.338,
"predicted_R": 0.607,
"predicted_RBI": 0.764,
"predicted_SLG": 0.475,
"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.19,
"predicted_3B": 0.0004,
"predicted_AB": 3.8254,
"predicted_AVG": 0.2695,
"predicted_BB": 0.3359,
"predicted_H": 1.0302,
"predicted_HBP": 0.021,
"predicted_HR": 0.1824,
"predicted_OBP": 0.3295,
"predicted_R": 0.5946,
"predicted_RBI": 0.7529,
"predicted_SLG": 0.4623,
"predicted_SO": 0.7746
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.19,
"delta": 0.021,
"percent_delta": 0.1243,
"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.831,
"after": 3.8254,
"delta": -0.0056,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2695,
"delta": -0.0125,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.3359,
"delta": 0.0099,
"percent_delta": 0.0304,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.079,
"after": 1.0302,
"delta": -0.0488,
"percent_delta": -0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.191,
"after": 0.1824,
"delta": -0.0086,
"percent_delta": -0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3295,
"delta": -0.0085,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.607,
"after": 0.5946,
"delta": -0.0124,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.764,
"after": 0.7529,
"delta": -0.0111,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4623,
"delta": -0.0127,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 0.7746,
"delta": -0.0904,
"percent_delta": -0.1045,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.865,
"after": 0.7746,
"delta": -0.0904,
"percent_delta": -0.1045,
"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": 89
}
},
{
"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.19,
"predicted_3B": 0.0004,
"predicted_AB": 3.8254,
"predicted_AVG": 0.2722,
"predicted_BB": 0.3379,
"predicted_H": 1.0411,
"predicted_HBP": 0.021,
"predicted_HR": 0.1861,
"predicted_OBP": 0.3312,
"predicted_R": 0.6049,
"predicted_RBI": 0.766,
"predicted_SLG": 0.468,
"predicted_SO": 0.7699
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.19,
"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.8254,
"after": 3.8254,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2695,
"after": 0.2722,
"delta": 0.0027,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3359,
"after": 0.3379,
"delta": 0.002,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0302,
"after": 1.0411,
"delta": 0.0109,
"percent_delta": 0.0106,
"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.1824,
"after": 0.1861,
"delta": 0.0037,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3295,
"after": 0.3312,
"delta": 0.0017,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5946,
"after": 0.6049,
"delta": 0.0103,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7529,
"after": 0.766,
"delta": 0.0131,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4623,
"after": 0.468,
"delta": 0.0057,
"percent_delta": 0.0123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7746,
"after": 0.7699,
"delta": -0.0047,
"percent_delta": -0.0061,
"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_SLG",
"before": 0.4623,
"after": 0.468,
"delta": 0.0057,
"percent_delta": 0.0123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.83), rates preserved: AVG=0.272 HR/AB=0.049",
"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.19,
"after": 0.0,
"delta": -0.19,
"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.8254,
"after": 4.0,
"delta": 0.1746,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3379,
"after": 0.0,
"delta": -0.3379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0411,
"after": 1.0,
"delta": -0.0411,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1861,
"after": 0.0,
"delta": -0.1861,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.766,
"after": 1.0,
"delta": 0.234,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "better",
"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_RBI",
"before": 0.766,
"after": 1.0,
"delta": 0.234,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3379,
"after": 0.0,
"delta": -0.3379,
"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.6049,
"after": 1.0,
"delta": 0.3951,
"percent_delta": 0.6532,
"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.6049,
"after": 1.0,
"delta": 0.3951,
"percent_delta": 0.6532,
"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.2722,
"after": 0.25,
"delta": -0.0222,
"percent_delta": -0.0816,
"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.3312,
"after": 0.25,
"delta": -0.0812,
"percent_delta": -0.2452,
"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.468,
"after": 0.25,
"delta": -0.218,
"percent_delta": -0.4658,
"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.468,
"after": 0.25,
"delta": -0.218,
"percent_delta": -0.4658,
"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": 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": 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": 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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"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_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.2722,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3312,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.468,
"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.2722,
"delta": 0.0222,
"percent_delta": 0.0886,
"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": 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": 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.3312,
"delta": 0.0812,
"percent_delta": 0.325,
"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.468,
"delta": 0.218,
"percent_delta": 0.8719,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.468,
"delta": 0.218,
"percent_delta": 0.8719,
"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.169,
"after": 0.0,
"delta": -0.169,
"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.831,
"after": 4.0,
"delta": 0.169,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2722,
"delta": -0.0098,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.079,
"after": 2.0,
"delta": 0.921,
"percent_delta": 0.8536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.191,
"after": 1.0,
"delta": 0.809,
"percent_delta": 4.2356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3312,
"delta": -0.0068,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.607,
"after": 1.0,
"delta": 0.393,
"percent_delta": 0.6474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.764,
"after": 2.0,
"delta": 1.236,
"percent_delta": 1.6178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.468,
"delta": -0.007,
"percent_delta": -0.0147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 0.0,
"delta": -0.865,
"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.764,
"after": 2.0,
"delta": 1.236,
"percent_delta": 1.6178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.865,
"after": 0.0,
"delta": -0.865,
"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.169 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.831 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.326 | - |
| predicted_H | 1.079 | - |
| predicted_HR | 0.191 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.607 | - |
| predicted_RBI | 0.764 | - |
| predicted_SLG | 0.475 | - |
| 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.190 | 0.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.825 | -0.006 |
| predicted_AVG | 0.270 | -0.012 |
| predicted_BB | 0.336 | 0.010 |
| predicted_H | 1.030 | -0.049 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.182 | -0.009 |
| predicted_OBP | 0.330 | -0.009 |
| predicted_R | 0.595 | -0.012 |
| predicted_RBI | 0.753 | -0.011 |
| predicted_SLG | 0.462 | -0.013 |
| predicted_SO | 0.775 | -0.090 |
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.190 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.825 | 0.000 |
| predicted_AVG | 0.272 | 0.003 |
| predicted_BB | 0.338 | 0.002 |
| predicted_H | 1.041 | 0.011 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.186 | 0.004 |
| predicted_OBP | 0.331 | 0.002 |
| predicted_R | 0.605 | 0.010 |
| predicted_RBI | 0.766 | 0.013 |
| predicted_SLG | 0.468 | 0.006 |
| predicted_SO | 0.770 | -0.005 |
AB rounded to 4 (raw=3.83), rates preserved: AVG=0.272 HR/AB=0.049
| 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.190 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.175 |
| predicted_AVG | 0.250 | -0.022 |
| predicted_BB | 0.000 | -0.338 |
| predicted_H | 1.000 | -0.041 |
| predicted_HR | 0.000 | -0.186 |
| predicted_OBP | 0.250 | -0.081 |
| predicted_R | 1.000 | 0.395 |
| predicted_RBI | 1.000 | 0.234 |
| predicted_SLG | 0.250 | -0.218 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.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 | - | 19.000 | 4.000 | 2.000 | 0.000 | 1.000 | 5.000 | 3.000 | 2.000 | 0.000 | 0.2105 | 0.2857 | 0.4737 | 0.2105 | 0.0526 | 0.2632 | 0.1053 | 0.0000 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 4.000 | 6.000 | 0.2105 | 0.2857 | 0.3421 | 0.2105 | 0.0263 | 0.1316 | 0.1053 | 0.1579 |
| season | 0.60 | 89 | - | 341.000 | 96.000 | 15.000 | 0.000 | 17.000 | 68.000 | 54.000 | 29.000 | 77.000 | 0.2815 | 0.3413 | 0.4751 | 0.2815 | 0.0498 | 0.1994 | 0.0850 | 0.2258 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2180 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8180 |
| predicted_AVG | 0.2527 |
| predicted_BB | 0.3490 |
| predicted_H | 0.9650 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.1710 |
| predicted_OBP | 0.3181 |
| predicted_R | 0.5780 |
| predicted_RBI | 0.7380 |
| predicted_SLG | 0.4453 |
| predicted_SO | 0.6540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.2180 | 0.1900 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8310 | 3.8180 | 3.8254 | model_form_blend |
| predicted_AVG | 0.2820 | 0.2527 | 0.2695 | model_form_blend |
| predicted_BB | 0.3260 | 0.3490 | 0.3359 | model_form_blend |
| predicted_H | 1.0790 | 0.9650 | 1.0302 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.1910 | 0.1710 | 0.1824 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3181 | 0.3295 | model_form_blend |
| predicted_R | 0.6070 | 0.5780 | 0.5946 | model_form_blend |
| predicted_RBI | 0.7640 | 0.7380 | 0.7529 | model_form_blend |
| predicted_SLG | 0.4750 | 0.4453 | 0.4623 | model_form_blend |
| predicted_SO | 0.8650 | 0.6540 | 0.7746 | 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 | 371 |
| Season rows before report date | 371 |
| Report year | 2026 |
| Profile rows used | 89 |
| 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 | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| 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 | 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 | 1B |
| gameID | 20260729_ARI@PIT |
| game_type | full |
| mlbID | 656811 |
| playerID | 656811 |
| playerName | Ryan O'Hearn |
| pos | RF |
| started | True |
| startingPosition | 1B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.35 |
| sl_xwoba | 0.324 |
| sl_xba | 0.256 |
| sl_xslg | 0.415 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 44.2 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 22.0 |
| 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.172 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 4.650 | 4.000 | 5.000 | Hitting_AB | 3.995 | 4.000 | 0.005 | 0.000 |
| predicted_AVG | 0.269 | 0.500 | 0.200 | Hitting_AVG | 0.320 | 0.250 | 0.180 | 0.250 |
| predicted_BB | 0.263 | 0.000 | 0.000 | Hitting_BB | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 1.250 | 2.000 | 1.000 | Hitting_H | 1.279 | 1.000 | 0.721 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.324 | 0.500 | 0.200 | Hitting_OBP | 0.376 | 0.250 | 0.124 | 0.250 |
| predicted_R | 0.556 | 1.000 | 1.000 | Hitting_R | 0.618 | 0.000 | 0.382 | 1.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.489 | 0.000 | -0.489 | 0.000 |
| predicted_SLG | 0.369 | 0.500 | 0.200 | Hitting_SLG | 0.410 | 0.250 | 0.090 | 0.250 |
| predicted_SO | 0.727 | 1.000 | 1.000 | Hitting_SO | 0.756 | 0.000 | 0.244 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 1.2500 -> 2.0000 (boost 0.7500, better) |
| Biggest Deboost | predicted_AB: 4.6500 -> 4.0000 (deboost -0.6500, 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 | 3 | 1 | predicted_AVG: 0.2690 -> 0.2911 (boost 0.0221, better) | predicted_AB: 4.6500 -> 4.3979 (deboost -0.2521, 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.3368 -> 0.3270 (deboost -0.0098, 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: 4.3979 -> 5.0000 (boost 0.6021, better) | predicted_RBI: 0.3334 -> 0.0000 (deboost -0.3334, worse) | AB rounded to 5 (raw=4.65), rates preserved: AVG=0.277 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5267 -> 1.0000 (boost 0.4733, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3687 -> 0.2000 (deboost -0.1687, 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_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 |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3687 (boost 0.1687, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693304",
"player_name": "Nick Gonzales",
"position": "3B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.01,
"predicted_AB": 4.65,
"predicted_AVG": 0.269,
"predicted_BB": 0.263,
"predicted_H": 1.25,
"predicted_HR": 0.06,
"predicted_OBP": 0.324,
"predicted_R": 0.556,
"predicted_RBI": 0.32,
"predicted_SLG": 0.369,
"predicted_SO": 0.727
},
"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.169,
"predicted_3B": 0.0087,
"predicted_AB": 4.3979,
"predicted_AVG": 0.2911,
"predicted_BB": 0.2251,
"predicted_H": 1.2724,
"predicted_HBP": 0.038,
"predicted_HR": 0.0488,
"predicted_OBP": 0.3368,
"predicted_R": 0.5177,
"predicted_RBI": 0.3277,
"predicted_SLG": 0.3778,
"predicted_SO": 0.7214
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.169,
"delta": -0.003,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.65,
"after": 4.3979,
"delta": -0.2521,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2911,
"delta": 0.0221,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.2251,
"delta": -0.0379,
"percent_delta": -0.1441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.25,
"after": 1.2724,
"delta": 0.0224,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0488,
"delta": -0.0112,
"percent_delta": -0.1867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3368,
"delta": 0.0128,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.5177,
"delta": -0.0383,
"percent_delta": -0.0689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3277,
"delta": 0.0077,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3778,
"delta": 0.0088,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.727,
"after": 0.7214,
"delta": -0.0056,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2911,
"delta": 0.0221,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 4.3979,
"delta": -0.2521,
"percent_delta": -0.0542,
"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": 99
}
},
{
"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.169,
"predicted_3B": 0.0087,
"predicted_AB": 4.3979,
"predicted_AVG": 0.2924,
"predicted_BB": 0.2265,
"predicted_H": 1.2859,
"predicted_HBP": 0.038,
"predicted_HR": 0.0498,
"predicted_OBP": 0.327,
"predicted_R": 0.5267,
"predicted_RBI": 0.3334,
"predicted_SLG": 0.3687,
"predicted_SO": 0.717
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3979,
"after": 4.3979,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2911,
"after": 0.2924,
"delta": 0.0013,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2251,
"after": 0.2265,
"delta": 0.0014,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2724,
"after": 1.2859,
"delta": 0.0135,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0488,
"after": 0.0498,
"delta": 0.001,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3368,
"after": 0.327,
"delta": -0.0098,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5177,
"after": 0.5267,
"delta": 0.009,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3277,
"after": 0.3334,
"delta": 0.0057,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3778,
"after": 0.3687,
"delta": -0.0091,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7214,
"after": 0.717,
"delta": -0.0044,
"percent_delta": -0.0061,
"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.3368,
"after": 0.327,
"delta": -0.0098,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.65), rates preserved: AVG=0.277 HR/AB=0.011",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3979,
"after": 5.0,
"delta": 0.6021,
"percent_delta": 0.1369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2265,
"after": 0.0,
"delta": -0.2265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2859,
"after": 1.0,
"delta": -0.2859,
"percent_delta": -0.2223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"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.3334,
"after": 0.0,
"delta": -0.3334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.717,
"after": 1.0,
"delta": 0.283,
"percent_delta": 0.3947,
"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": 4.3979,
"after": 5.0,
"delta": 0.6021,
"percent_delta": 0.1369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3334,
"after": 0.0,
"delta": -0.3334,
"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": 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": 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.5267,
"after": 1.0,
"delta": 0.4733,
"percent_delta": 0.8986,
"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.5267,
"after": 1.0,
"delta": 0.4733,
"percent_delta": 0.8986,
"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": 0.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.2924,
"after": 0.2,
"delta": -0.0924,
"percent_delta": -0.316,
"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.327,
"after": 0.2,
"delta": -0.127,
"percent_delta": -0.3884,
"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.3687,
"after": 0.2,
"delta": -0.1687,
"percent_delta": -0.4576,
"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.3687,
"after": 0.2,
"delta": -0.1687,
"percent_delta": -0.4576,
"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": 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": 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": 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": 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_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": 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.2924,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.327,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3687,
"predicted_SO": 1.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.2,
"after": 0.2924,
"delta": 0.0924,
"percent_delta": 0.4619,
"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": 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.327,
"delta": 0.127,
"percent_delta": 0.6352,
"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.3687,
"delta": 0.1687,
"percent_delta": 0.8437,
"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.3687,
"delta": 0.1687,
"percent_delta": 0.8437,
"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.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.65,
"after": 4.0,
"delta": -0.65,
"percent_delta": -0.1398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2924,
"delta": 0.0234,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.25,
"after": 2.0,
"delta": 0.75,
"percent_delta": 0.6,
"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.324,
"after": 0.327,
"delta": 0.003,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3687,
"delta": -0.0003,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.727,
"after": 1.0,
"delta": 0.273,
"percent_delta": 0.3755,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.25,
"after": 2.0,
"delta": 0.75,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 4.0,
"delta": -0.65,
"percent_delta": -0.1398,
"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.172 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.650 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.263 | - |
| predicted_H | 1.250 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.727 | - |
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.169 | -0.003 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 4.398 | -0.252 |
| predicted_AVG | 0.291 | 0.022 |
| predicted_BB | 0.225 | -0.038 |
| predicted_H | 1.272 | 0.022 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.049 | -0.011 |
| predicted_OBP | 0.337 | 0.013 |
| predicted_R | 0.518 | -0.038 |
| predicted_RBI | 0.328 | 0.008 |
| predicted_SLG | 0.378 | 0.009 |
| predicted_SO | 0.721 | -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.169 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.398 | 0.000 |
| predicted_AVG | 0.292 | 0.001 |
| predicted_BB | 0.227 | 0.001 |
| predicted_H | 1.286 | 0.014 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.050 | 0.001 |
| predicted_OBP | 0.327 | -0.010 |
| predicted_R | 0.527 | 0.009 |
| predicted_RBI | 0.333 | 0.006 |
| predicted_SLG | 0.369 | -0.009 |
| predicted_SO | 0.717 | -0.004 |
AB rounded to 5 (raw=4.65), rates preserved: AVG=0.277 HR/AB=0.011
| 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 | 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 | 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 | 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.169 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 5.000 | 0.602 |
| predicted_AVG | 0.200 | -0.092 |
| predicted_BB | 0.000 | -0.227 |
| predicted_H | 1.000 | -0.286 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.200 | -0.127 |
| predicted_R | 1.000 | 0.473 |
| predicted_RBI | 0.000 | -0.333 |
| predicted_SLG | 0.200 | -0.169 |
| predicted_SO | 1.000 | 0.283 |
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 | 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 | - | 22.000 | 8.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 0.3636 | 0.3636 | 0.3636 | 0.3636 | 0.0000 | 0.0000 | 0.0000 | 0.1364 |
| last_10 | 0.20 | 10 | - | 45.000 | 15.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.000 | 7.000 | 0.3333 | 0.3333 | 0.4000 | 0.3333 | 0.0000 | 0.0444 | 0.0000 | 0.1556 |
| season | 0.60 | 99 | - | 380.000 | 118.000 | 17.000 | 1.000 | 4.000 | 45.000 | 55.000 | 26.000 | 72.000 | 0.3105 | 0.3632 | 0.3921 | 0.3105 | 0.0105 | 0.1184 | 0.0684 | 0.1895 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1650 |
| predicted_3B | 0.0070 |
| predicted_AB | 4.0640 |
| predicted_AVG | 0.3204 |
| predicted_BB | 0.1750 |
| predicted_H | 1.3020 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.3538 |
| predicted_R | 0.4670 |
| predicted_RBI | 0.3380 |
| predicted_SLG | 0.3894 |
| predicted_SO | 0.7140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1650 | 0.1690 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 4.6500 | 4.0640 | 4.3979 | model_form_blend |
| predicted_AVG | 0.2690 | 0.3204 | 0.2911 | model_form_blend |
| predicted_BB | 0.2630 | 0.1750 | 0.2251 | model_form_blend |
| predicted_H | 1.2500 | 1.3020 | 1.2724 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.0600 | 0.0340 | 0.0488 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3538 | 0.3368 | model_form_blend |
| predicted_R | 0.5560 | 0.4670 | 0.5177 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3380 | 0.3277 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3894 | 0.3778 | model_form_blend |
| predicted_SO | 0.7270 | 0.7140 | 0.7214 | 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 | 401 |
| Season rows before report date | 401 |
| Report year | 2026 |
| Profile rows used | 99 |
| 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 | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.311 |
| 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 | 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 | 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 | 20260729_ARI@PIT |
| game_type | full |
| mlbID | 693304 |
| playerID | 693304 |
| playerName | Nick Gonzales |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.347 |
| sl_xwoba | 0.323 |
| sl_xba | 0.281 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 33.2 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 6.3 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 53.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.147 | 0.000 | 0.000 | Hitting_2B | 0.159 | 1.000 | -0.159 | -1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 5.180 | 4.000 | 5.000 | Hitting_AB | 3.763 | 6.000 | 0.237 | -2.000 |
| predicted_AVG | 0.292 | 0.500 | 0.200 | Hitting_AVG | 0.316 | 0.333 | 0.184 | 0.167 |
| predicted_BB | 0.173 | 1.000 | 0.000 | Hitting_BB | 0.205 | 0.000 | 0.795 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_H | 1.510 | 2.000 | 1.000 | Hitting_H | 1.191 | 2.000 | 0.809 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_OBP | 0.321 | 0.600 | 0.200 | Hitting_OBP | 0.361 | 0.333 | 0.239 | 0.267 |
| predicted_R | 0.453 | 1.000 | 0.000 | Hitting_R | 0.498 | 1.000 | 0.502 | 0.000 |
| predicted_RBI | 0.330 | 1.000 | 0.000 | Hitting_RBI | 0.283 | 0.000 | 0.717 | 1.000 |
| predicted_SLG | 0.376 | 0.500 | 0.200 | Hitting_SLG | 0.396 | 0.500 | 0.104 | 0.000 |
| predicted_SO | 0.680 | 1.000 | 1.000 | Hitting_SO | 0.714 | 1.000 | 0.286 | 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_BB: 0.1730 -> 1.0000 (boost 0.8270, better) |
| Biggest Deboost | predicted_AB: 5.1800 -> 4.0000 (deboost -1.1800, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 5.1800 -> 4.6726 (deboost -0.5074, 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 | 2 | 5 | 1 | 6 | predicted_AB: 4.6726 -> 5.0000 (boost 0.3274, better) | predicted_H: 1.3831 -> 1.0000 (deboost -0.3831, worse) | AB rounded to 5 (raw=5.18), rates preserved: AVG=0.267 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4523 -> 0.0000 (deboost -0.4523, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3704 -> 0.2000 (deboost -0.1704, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 4 | 1 | predicted_BB: 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.3704 (boost 0.1704, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "CF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.013,
"predicted_AB": 5.18,
"predicted_AVG": 0.292,
"predicted_BB": 0.173,
"predicted_H": 1.51,
"predicted_HR": 0.07,
"predicted_OBP": 0.321,
"predicted_R": 0.453,
"predicted_RBI": 0.33,
"predicted_SLG": 0.376,
"predicted_SO": 0.68
},
"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.1495,
"predicted_3B": 0.0185,
"predicted_AB": 4.6726,
"predicted_AVG": 0.2934,
"predicted_BB": 0.162,
"predicted_H": 1.3686,
"predicted_HBP": 0.036,
"predicted_HR": 0.0527,
"predicted_OBP": 0.3229,
"predicted_R": 0.4446,
"predicted_RBI": 0.303,
"predicted_SLG": 0.373,
"predicted_SO": 0.7269
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1495,
"delta": 0.0025,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0185,
"delta": 0.0055,
"percent_delta": 0.4231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.18,
"after": 4.6726,
"delta": -0.5074,
"percent_delta": -0.098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.2934,
"delta": 0.0014,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.173,
"after": 0.162,
"delta": -0.011,
"percent_delta": -0.0636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.51,
"after": 1.3686,
"delta": -0.1414,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0527,
"delta": -0.0173,
"percent_delta": -0.2471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3229,
"delta": 0.0019,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 0.4446,
"delta": -0.0084,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.303,
"delta": -0.027,
"percent_delta": -0.0818,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.373,
"delta": -0.003,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.68,
"after": 0.7269,
"delta": 0.0469,
"percent_delta": 0.069,
"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_AB",
"before": 5.18,
"after": 4.6726,
"delta": -0.5074,
"percent_delta": -0.098,
"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": 75
}
},
{
"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.1495,
"predicted_3B": 0.0185,
"predicted_AB": 4.6726,
"predicted_AVG": 0.296,
"predicted_BB": 0.163,
"predicted_H": 1.3831,
"predicted_HBP": 0.036,
"predicted_HR": 0.0538,
"predicted_OBP": 0.3197,
"predicted_R": 0.4523,
"predicted_RBI": 0.3083,
"predicted_SLG": 0.3704,
"predicted_SO": 0.7225
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1495,
"after": 0.1495,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0185,
"after": 0.0185,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6726,
"after": 4.6726,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2934,
"after": 0.296,
"delta": 0.0026,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.163,
"delta": 0.001,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3686,
"after": 1.3831,
"delta": 0.0145,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0527,
"after": 0.0538,
"delta": 0.0011,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3229,
"after": 0.3197,
"delta": -0.0032,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4446,
"after": 0.4523,
"delta": 0.0077,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.303,
"after": 0.3083,
"delta": 0.0053,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3704,
"delta": -0.0026,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7269,
"after": 0.7225,
"delta": -0.0044,
"percent_delta": -0.0061,
"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 5 (raw=5.18), rates preserved: AVG=0.267 HR/AB=0.010",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1495,
"after": 0.0,
"delta": -0.1495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0185,
"after": 0.0,
"delta": -0.0185,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6726,
"after": 5.0,
"delta": 0.3274,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3831,
"after": 1.0,
"delta": -0.3831,
"percent_delta": -0.277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0538,
"after": 0.0,
"delta": -0.0538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3083,
"after": 0.0,
"delta": -0.3083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7225,
"after": 1.0,
"delta": 0.2775,
"percent_delta": 0.3841,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.6726,
"after": 5.0,
"delta": 0.3274,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3831,
"after": 1.0,
"delta": -0.3831,
"percent_delta": -0.277,
"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": 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": 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.4523,
"after": 0.0,
"delta": -0.4523,
"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.4523,
"after": 0.0,
"delta": -0.4523,
"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": 0.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.296,
"after": 0.2,
"delta": -0.096,
"percent_delta": -0.3243,
"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.3197,
"after": 0.2,
"delta": -0.1197,
"percent_delta": -0.3744,
"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.3704,
"after": 0.2,
"delta": -0.1704,
"percent_delta": -0.46,
"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.3704,
"after": 0.2,
"delta": -0.1704,
"percent_delta": -0.46,
"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": 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": 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": 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": 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": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.296,
"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.3197,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3704,
"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.296,
"delta": 0.096,
"percent_delta": 0.48,
"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.3197,
"delta": 0.1197,
"percent_delta": 0.5987,
"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.3704,
"delta": 0.1704,
"percent_delta": 0.8522,
"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.3704,
"delta": 0.1704,
"percent_delta": 0.8522,
"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.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.18,
"after": 4.0,
"delta": -1.18,
"percent_delta": -0.2278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.296,
"delta": 0.004,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.173,
"after": 1.0,
"delta": 0.827,
"percent_delta": 4.7803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.51,
"after": 2.0,
"delta": 0.49,
"percent_delta": 0.3245,
"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.321,
"after": 0.3197,
"delta": -0.0013,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 1.0,
"delta": 0.547,
"percent_delta": 1.2075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3704,
"delta": -0.0056,
"percent_delta": -0.0149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"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_BB",
"before": 0.173,
"after": 1.0,
"delta": 0.827,
"percent_delta": 4.7803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.18,
"after": 4.0,
"delta": -1.18,
"percent_delta": -0.2278,
"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.147 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 5.180 | - |
| predicted_AVG | 0.292 | - |
| predicted_BB | 0.173 | - |
| predicted_H | 1.510 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.453 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.680 | - |
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.149 | 0.003 |
| predicted_3B | 0.018 | 0.005 |
| predicted_AB | 4.673 | -0.507 |
| predicted_AVG | 0.293 | 0.001 |
| predicted_BB | 0.162 | -0.011 |
| predicted_H | 1.369 | -0.141 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.053 | -0.017 |
| predicted_OBP | 0.323 | 0.002 |
| predicted_R | 0.445 | -0.008 |
| predicted_RBI | 0.303 | -0.027 |
| predicted_SLG | 0.373 | -0.003 |
| predicted_SO | 0.727 | 0.047 |
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.149 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 4.673 | 0.000 |
| predicted_AVG | 0.296 | 0.003 |
| predicted_BB | 0.163 | 0.001 |
| predicted_H | 1.383 | 0.014 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.054 | 0.001 |
| predicted_OBP | 0.320 | -0.003 |
| predicted_R | 0.452 | 0.008 |
| predicted_RBI | 0.308 | 0.005 |
| predicted_SLG | 0.370 | -0.003 |
| predicted_SO | 0.723 | -0.004 |
AB rounded to 5 (raw=5.18), rates preserved: AVG=0.267 HR/AB=0.010
| 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 | 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 | 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 | 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.149 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 5.000 | 0.327 |
| predicted_AVG | 0.200 | -0.096 |
| predicted_BB | 0.000 | -0.163 |
| predicted_H | 1.000 | -0.383 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.200 | -0.120 |
| predicted_R | 0.000 | -0.452 |
| predicted_RBI | 0.000 | -0.308 |
| predicted_SLG | 0.200 | -0.170 |
| predicted_SO | 1.000 | 0.277 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.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 | - | 24.000 | 7.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 5.000 | 0.2917 | 0.2917 | 0.3333 | 0.2917 | 0.0000 | 0.0000 | 0.0000 | 0.2083 |
| last_10 | 0.20 | 10 | - | 45.000 | 13.000 | 1.000 | 1.000 | 0.000 | 3.000 | 3.000 | 1.000 | 9.000 | 0.2889 | 0.3043 | 0.3556 | 0.2889 | 0.0000 | 0.0667 | 0.0222 | 0.2000 |
| season | 0.60 | 75 | - | 267.000 | 82.000 | 11.000 | 1.000 | 2.000 | 21.000 | 34.000 | 13.000 | 51.000 | 0.3071 | 0.3474 | 0.3783 | 0.3071 | 0.0075 | 0.0786 | 0.0487 | 0.1910 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1530 |
| predicted_3B | 0.0260 |
| predicted_AB | 3.9780 |
| predicted_AVG | 0.2954 |
| predicted_BB | 0.1470 |
| predicted_H | 1.1750 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.0290 |
| predicted_OBP | 0.3255 |
| predicted_R | 0.4330 |
| predicted_RBI | 0.2660 |
| predicted_SLG | 0.3690 |
| predicted_SO | 0.7910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.1530 | 0.1495 | model_form_blend |
| predicted_3B | 0.0130 | 0.0260 | 0.0185 | model_form_blend |
| predicted_AB | 5.1800 | 3.9780 | 4.6726 | model_form_blend |
| predicted_AVG | 0.2920 | 0.2954 | 0.2934 | model_form_blend |
| predicted_BB | 0.1730 | 0.1470 | 0.1620 | model_form_blend |
| predicted_H | 1.5100 | 1.1750 | 1.3686 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.0700 | 0.0290 | 0.0527 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3255 | 0.3229 | model_form_blend |
| predicted_R | 0.4530 | 0.4330 | 0.4446 | model_form_blend |
| predicted_RBI | 0.3300 | 0.2660 | 0.3030 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3690 | 0.3730 | model_form_blend |
| predicted_SO | 0.6800 | 0.7910 | 0.7269 | 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 | 283 |
| Season rows before report date | 283 |
| Report year | 2026 |
| Profile rows used | 75 |
| 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 | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.307 |
| 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 | 6 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| 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 | 3 |
| 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 | CF |
| gameID | 20260728_ARI@PIT |
| game_type | full |
| mlbID | 663968 |
| playerID | 663968 |
| playerName | Jake Mangum |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-28 |
| sl_k_percent | 17.4 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.32 |
| sl_xwoba | 0.284 |
| sl_xba | 0.259 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 25.6 |
| sl_barrel_batted_rate | 1.3 |
| sl_hard_hit_percent | 25.1 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 3.0 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 59.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.247 | 0.000 | 0.000 | Hitting_2B | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 5.030 | 4.000 | 5.000 | Hitting_AB | 4.035 | 4.000 | -0.035 | 0.000 |
| predicted_AVG | 0.292 | 0.000 | 0.200 | Hitting_AVG | 0.242 | 0.250 | -0.242 | -0.250 |
| predicted_BB | 0.412 | 1.000 | 0.000 | Hitting_BB | 0.442 | 0.000 | 0.558 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.470 | 0.000 | 1.000 | Hitting_H | 0.976 | 1.000 | -0.976 | -1.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_OBP | 0.351 | 0.200 | 0.200 | Hitting_OBP | 0.314 | 0.250 | -0.114 | -0.050 |
| predicted_R | 0.649 | 0.000 | 1.000 | Hitting_R | 0.692 | 0.000 | -0.692 | 0.000 |
| predicted_RBI | 0.850 | 0.000 | 1.000 | Hitting_RBI | 0.769 | 0.000 | -0.769 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_SLG | 0.506 | 0.000 | 0.200 | Hitting_SLG | 0.478 | 0.250 | -0.478 | -0.250 |
| predicted_SO | 1.196 | 1.000 | 1.000 | Hitting_SO | 1.247 | 2.000 | -0.247 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4120 -> 1.0000 (boost 0.5880, better) |
| Biggest Deboost | predicted_H: 1.4700 -> 0.0000 (deboost -1.4700, 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_SLG: 0.5060 -> 0.5146 (boost 0.0086, better) | predicted_AB: 5.0300 -> 4.5787 (deboost -0.4513, 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.5146 -> 0.5086 (deboost -0.0060, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.5787 -> 5.0000 (boost 0.4213, better) | predicted_BB: 0.4002 -> 0.0000 (deboost -0.4002, worse) | AB rounded to 5 (raw=5.03), rates preserved: AVG=0.269 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6721 -> 1.0000 (boost 0.3279, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5086 -> 0.2000 (deboost -0.3086, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_BB: 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.5086 (boost 0.3086, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "2B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.247,
"predicted_3B": 0.01,
"predicted_AB": 5.03,
"predicted_AVG": 0.292,
"predicted_BB": 0.412,
"predicted_H": 1.47,
"predicted_HR": 0.24,
"predicted_OBP": 0.351,
"predicted_R": 0.649,
"predicted_RBI": 0.85,
"predicted_SLG": 0.506,
"predicted_SO": 1.196
},
"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.2849,
"predicted_3B": 0.0087,
"predicted_AB": 4.5787,
"predicted_AVG": 0.2929,
"predicted_BB": 0.3978,
"predicted_H": 1.3411,
"predicted_HBP": 0.014,
"predicted_HR": 0.2193,
"predicted_OBP": 0.352,
"predicted_R": 0.6606,
"predicted_RBI": 0.7733,
"predicted_SLG": 0.5146,
"predicted_SO": 1.1882
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.2849,
"delta": 0.0379,
"percent_delta": 0.1534,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.03,
"after": 4.5787,
"delta": -0.4513,
"percent_delta": -0.0897,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.2929,
"delta": 0.0009,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.3978,
"delta": -0.0142,
"percent_delta": -0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.47,
"after": 1.3411,
"delta": -0.1289,
"percent_delta": -0.0877,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2193,
"delta": -0.0207,
"percent_delta": -0.0862,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.352,
"delta": 0.001,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.649,
"after": 0.6606,
"delta": 0.0116,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.85,
"after": 0.7733,
"delta": -0.0767,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.5146,
"delta": 0.0086,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 1.1882,
"delta": -0.0078,
"percent_delta": -0.0065,
"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_SLG",
"before": 0.506,
"after": 0.5146,
"delta": 0.0086,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.03,
"after": 4.5787,
"delta": -0.4513,
"percent_delta": -0.0897,
"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": 97
}
},
{
"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.2849,
"predicted_3B": 0.0087,
"predicted_AB": 4.5787,
"predicted_AVG": 0.296,
"predicted_BB": 0.4002,
"predicted_H": 1.3553,
"predicted_HBP": 0.014,
"predicted_HR": 0.2238,
"predicted_OBP": 0.3526,
"predicted_R": 0.6721,
"predicted_RBI": 0.7868,
"predicted_SLG": 0.5086,
"predicted_SO": 1.181
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2849,
"after": 0.2849,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5787,
"after": 4.5787,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2929,
"after": 0.296,
"delta": 0.0031,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3978,
"after": 0.4002,
"delta": 0.0024,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3411,
"after": 1.3553,
"delta": 0.0142,
"percent_delta": 0.0106,
"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.2193,
"after": 0.2238,
"delta": 0.0045,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3526,
"delta": 0.0006,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6606,
"after": 0.6721,
"delta": 0.0115,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7733,
"after": 0.7868,
"delta": 0.0135,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5146,
"after": 0.5086,
"delta": -0.006,
"percent_delta": -0.0117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1882,
"after": 1.181,
"delta": -0.0072,
"percent_delta": -0.0061,
"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.5146,
"after": 0.5086,
"delta": -0.006,
"percent_delta": -0.0117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.03), rates preserved: AVG=0.269 HR/AB=0.044",
"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.2849,
"after": 0.0,
"delta": -0.2849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5787,
"after": 5.0,
"delta": 0.4213,
"percent_delta": 0.092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4002,
"after": 0.0,
"delta": -0.4002,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3553,
"after": 1.0,
"delta": -0.3553,
"percent_delta": -0.2622,
"direction": "deboost",
"projection_effect": "worse",
"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.2238,
"after": 0.0,
"delta": -0.2238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7868,
"after": 1.0,
"delta": 0.2132,
"percent_delta": 0.271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.181,
"after": 1.0,
"delta": -0.181,
"percent_delta": -0.1533,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.5787,
"after": 5.0,
"delta": 0.4213,
"percent_delta": 0.092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4002,
"after": 0.0,
"delta": -0.4002,
"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.6721,
"after": 1.0,
"delta": 0.3279,
"percent_delta": 0.4879,
"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.6721,
"after": 1.0,
"delta": 0.3279,
"percent_delta": 0.4879,
"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.296,
"after": 0.2,
"delta": -0.096,
"percent_delta": -0.3243,
"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.3526,
"after": 0.2,
"delta": -0.1526,
"percent_delta": -0.4328,
"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.5086,
"after": 0.2,
"delta": -0.3086,
"percent_delta": -0.6068,
"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.5086,
"after": 0.2,
"delta": -0.3086,
"percent_delta": -0.6068,
"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": 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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"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": 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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.296,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3526,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5086,
"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.296,
"delta": 0.096,
"percent_delta": 0.48,
"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.3526,
"delta": 0.1526,
"percent_delta": 0.763,
"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.5086,
"delta": 0.3086,
"percent_delta": 1.5432,
"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.5086,
"delta": 0.3086,
"percent_delta": 1.5432,
"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.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.03,
"after": 4.0,
"delta": -1.03,
"percent_delta": -0.2048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.296,
"delta": 0.004,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.47,
"after": 0.0,
"delta": -1.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.351,
"after": 0.3526,
"delta": 0.0016,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.649,
"after": 0.0,
"delta": -0.649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.5086,
"delta": 0.0026,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 1.0,
"delta": -0.196,
"percent_delta": -0.1639,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.47,
"after": 0.0,
"delta": -1.47,
"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.247 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 5.030 | - |
| predicted_AVG | 0.292 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 1.470 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.649 | - |
| predicted_RBI | 0.850 | - |
| predicted_SLG | 0.506 | - |
| predicted_SO | 1.196 | - |
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.285 | 0.038 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 4.579 | -0.451 |
| predicted_AVG | 0.293 | 0.001 |
| predicted_BB | 0.398 | -0.014 |
| predicted_H | 1.341 | -0.129 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.219 | -0.021 |
| predicted_OBP | 0.352 | 0.001 |
| predicted_R | 0.661 | 0.012 |
| predicted_RBI | 0.773 | -0.077 |
| predicted_SLG | 0.515 | 0.009 |
| predicted_SO | 1.188 | -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.285 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.579 | 0.000 |
| predicted_AVG | 0.296 | 0.003 |
| predicted_BB | 0.400 | 0.002 |
| predicted_H | 1.355 | 0.014 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.224 | 0.005 |
| predicted_OBP | 0.353 | 0.001 |
| predicted_R | 0.672 | 0.012 |
| predicted_RBI | 0.787 | 0.014 |
| predicted_SLG | 0.509 | -0.006 |
| predicted_SO | 1.181 | -0.007 |
AB rounded to 5 (raw=5.03), rates preserved: AVG=0.269 HR/AB=0.044
| 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.285 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 5.000 | 0.421 |
| predicted_AVG | 0.200 | -0.096 |
| predicted_BB | 0.000 | -0.400 |
| predicted_H | 1.000 | -0.355 |
| predicted_HR | 0.000 | -0.224 |
| predicted_OBP | 0.200 | -0.153 |
| predicted_R | 1.000 | 0.328 |
| predicted_RBI | 1.000 | 0.213 |
| predicted_SLG | 0.200 | -0.309 |
| predicted_SO | 1.000 | -0.181 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.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 | - | 21.000 | 9.000 | 3.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 5.000 | 0.4286 | 0.4783 | 0.7143 | 0.4286 | 0.0476 | 0.1905 | 0.0952 | 0.2381 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 4.000 | 0.000 | 1.000 | 5.000 | 7.000 | 3.000 | 14.000 | 0.3077 | 0.3488 | 0.4872 | 0.3077 | 0.0256 | 0.1282 | 0.0769 | 0.3590 |
| season | 0.60 | 97 | - | 384.000 | 96.000 | 24.000 | 1.000 | 22.000 | 69.000 | 63.000 | 40.000 | 116.000 | 0.2500 | 0.3187 | 0.4896 | 0.2500 | 0.0573 | 0.1797 | 0.1042 | 0.3021 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3350 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.9830 |
| predicted_AVG | 0.2941 |
| predicted_BB | 0.3790 |
| predicted_H | 1.1710 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.1920 |
| predicted_OBP | 0.3533 |
| predicted_R | 0.6760 |
| predicted_RBI | 0.6720 |
| predicted_SLG | 0.5260 |
| predicted_SO | 1.1780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2470 | 0.3350 | 0.2849 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 5.0300 | 3.9830 | 4.5787 | model_form_blend |
| predicted_AVG | 0.2920 | 0.2941 | 0.2929 | model_form_blend |
| predicted_BB | 0.4120 | 0.3790 | 0.3978 | model_form_blend |
| predicted_H | 1.4700 | 1.1710 | 1.3411 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.2400 | 0.1920 | 0.2193 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3533 | 0.3520 | model_form_blend |
| predicted_R | 0.6490 | 0.6760 | 0.6606 | model_form_blend |
| predicted_RBI | 0.8500 | 0.6720 | 0.7733 | model_form_blend |
| predicted_SLG | 0.5060 | 0.5260 | 0.5146 | model_form_blend |
| predicted_SO | 1.1960 | 1.1780 | 1.1882 | 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 | 425 |
| Season rows before report date | 425 |
| Report year | 2026 |
| Profile rows used | 97 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| 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.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| 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 | 2 |
| 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 | 2B |
| gameID | 20260729_ARI@PIT |
| game_type | full |
| mlbID | 664040 |
| playerID | 664040 |
| playerName | Brandon Lowe |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.347 |
| sl_xwoba | 0.339 |
| sl_xba | 0.25 |
| sl_xslg | 0.456 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 34.6 |
| sl_swing_percent | 50.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.236 | 0.000 | 0.000 | Hitting_2B | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.910 | 5.000 | 4.000 | Hitting_AB | 3.716 | 3.000 | 1.284 | 2.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.281 | 0.333 | -0.281 | -0.333 |
| predicted_BB | 0.632 | 0.000 | 1.000 | Hitting_BB | 0.676 | 1.000 | -0.676 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.044 | 1.000 | -1.044 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_OBP | 0.347 | 0.000 | 0.400 | Hitting_OBP | 0.400 | 0.500 | -0.400 | -0.500 |
| predicted_R | 0.670 | 0.000 | 1.000 | Hitting_R | 0.722 | 0.000 | -0.722 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.598 | 0.000 | -0.598 | 0.000 |
| predicted_SLG | 0.449 | 0.000 | 0.250 | Hitting_SLG | 0.480 | 0.333 | -0.480 | -0.333 |
| predicted_SO | 1.009 | 3.000 | 1.000 | Hitting_SO | 1.071 | 1.000 | 1.929 | 2.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_SO: 1.0090 -> 3.0000 (boost 1.9910, worse) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, 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: 3.9100 -> 3.8054 (deboost -0.1046, 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_SLG: 0.4452 -> 0.4549 (boost 0.0097, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 0.5067 -> 1.0000 (boost 0.4933, better) | predicted_2B: 0.2533 -> 0.0000 (deboost -0.2533, worse) | AB rounded to 4 (raw=3.91), rates preserved: AVG=0.245 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6500 -> 1.0000 (boost 0.3500, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3558 -> 0.4000 (boost 0.0442, better) | predicted_SLG: 0.4549 -> 0.2500 (deboost -0.2049, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 2 | 4 | 1 | 5 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4549 (boost 0.2049, better) | predicted_OBP: 0.4000 -> 0.3558 (deboost -0.0442, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.236,
"predicted_3B": 0.019,
"predicted_AB": 3.91,
"predicted_AVG": 0.256,
"predicted_BB": 0.632,
"predicted_H": 1.0,
"predicted_HR": 0.17,
"predicted_OBP": 0.347,
"predicted_R": 0.67,
"predicted_RBI": 0.52,
"predicted_SLG": 0.449,
"predicted_SO": 1.009
},
"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.2533,
"predicted_3B": 0.016,
"predicted_AB": 3.8054,
"predicted_AVG": 0.2492,
"predicted_BB": 0.61,
"predicted_H": 0.9486,
"predicted_HBP": 0.04,
"predicted_HR": 0.1592,
"predicted_OBP": 0.3474,
"predicted_R": 0.6389,
"predicted_RBI": 0.498,
"predicted_SLG": 0.4452,
"predicted_SO": 1.0263
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.236,
"after": 0.2533,
"delta": 0.0173,
"percent_delta": 0.0733,
"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.91,
"after": 3.8054,
"delta": -0.1046,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2492,
"delta": -0.0068,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.632,
"after": 0.61,
"delta": -0.022,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9486,
"delta": -0.0514,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1592,
"delta": -0.0108,
"percent_delta": -0.0635,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3474,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.67,
"after": 0.6389,
"delta": -0.0311,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.498,
"delta": -0.022,
"percent_delta": -0.0423,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4452,
"delta": -0.0038,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.009,
"after": 1.0263,
"delta": 0.0173,
"percent_delta": 0.0171,
"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": 3.91,
"after": 3.8054,
"delta": -0.1046,
"percent_delta": -0.0268,
"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": 106
}
},
{
"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.2533,
"predicted_3B": 0.016,
"predicted_AB": 3.8054,
"predicted_AVG": 0.2519,
"predicted_BB": 0.6137,
"predicted_H": 0.9587,
"predicted_HBP": 0.04,
"predicted_HR": 0.1624,
"predicted_OBP": 0.3558,
"predicted_R": 0.65,
"predicted_RBI": 0.5067,
"predicted_SLG": 0.4549,
"predicted_SO": 1.02
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2533,
"after": 0.2533,
"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.8054,
"after": 3.8054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2492,
"after": 0.2519,
"delta": 0.0027,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.61,
"after": 0.6137,
"delta": 0.0037,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9486,
"after": 0.9587,
"delta": 0.0101,
"percent_delta": 0.0106,
"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.1592,
"after": 0.1624,
"delta": 0.0032,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3474,
"after": 0.3558,
"delta": 0.0084,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6389,
"after": 0.65,
"delta": 0.0111,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.498,
"after": 0.5067,
"delta": 0.0087,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4452,
"after": 0.4549,
"delta": 0.0097,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0263,
"after": 1.02,
"delta": -0.0063,
"percent_delta": -0.0061,
"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_SLG",
"before": 0.4452,
"after": 0.4549,
"delta": 0.0097,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.91), rates preserved: AVG=0.245 HR/AB=0.042",
"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.2533,
"after": 0.0,
"delta": -0.2533,
"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.8054,
"after": 4.0,
"delta": 0.1946,
"percent_delta": 0.0511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6137,
"after": 1.0,
"delta": 0.3863,
"percent_delta": 0.6295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9587,
"after": 1.0,
"delta": 0.0413,
"percent_delta": 0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1624,
"after": 0.0,
"delta": -0.1624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5067,
"after": 1.0,
"delta": 0.4933,
"percent_delta": 0.9736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.02,
"after": 1.0,
"delta": -0.02,
"percent_delta": -0.0196,
"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_RBI",
"before": 0.5067,
"after": 1.0,
"delta": 0.4933,
"percent_delta": 0.9736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2533,
"after": 0.0,
"delta": -0.2533,
"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.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"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.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"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.2519,
"after": 0.25,
"delta": -0.0019,
"percent_delta": -0.0075,
"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_OBP",
"before": 0.3558,
"after": 0.4,
"delta": 0.0442,
"percent_delta": 0.1242,
"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.4549,
"after": 0.25,
"delta": -0.2049,
"percent_delta": -0.4504,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3558,
"after": 0.4,
"delta": 0.0442,
"percent_delta": 0.1242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4549,
"after": 0.25,
"delta": -0.2049,
"percent_delta": -0.4504,
"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": 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": 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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"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": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"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.2519,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3558,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4549,
"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": 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.2519,
"delta": 0.0019,
"percent_delta": 0.0077,
"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": 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.3558,
"delta": -0.0442,
"percent_delta": -0.1105,
"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.4549,
"delta": 0.2049,
"percent_delta": 0.8198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4549,
"delta": 0.2049,
"percent_delta": 0.8198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3558,
"delta": -0.0442,
"percent_delta": -0.1105,
"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.236,
"after": 0.0,
"delta": -0.236,
"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.91,
"after": 5.0,
"delta": 1.09,
"percent_delta": 0.2788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2519,
"delta": -0.0041,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.632,
"after": 0.0,
"delta": -0.632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3558,
"delta": 0.0088,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4549,
"delta": 0.0059,
"percent_delta": 0.0131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.009,
"after": 3.0,
"delta": 1.991,
"percent_delta": 1.9732,
"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_SO",
"before": 1.009,
"after": 3.0,
"delta": 1.991,
"percent_delta": 1.9732,
"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
},
"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.236 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.910 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.632 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.670 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.449 | - |
| predicted_SO | 1.009 | - |
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.253 | 0.017 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 3.805 | -0.105 |
| predicted_AVG | 0.249 | -0.007 |
| predicted_BB | 0.610 | -0.022 |
| predicted_H | 0.949 | -0.051 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.159 | -0.011 |
| predicted_OBP | 0.347 | 0.000 |
| predicted_R | 0.639 | -0.031 |
| predicted_RBI | 0.498 | -0.022 |
| predicted_SLG | 0.445 | -0.004 |
| predicted_SO | 1.026 | 0.017 |
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.253 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 3.805 | 0.000 |
| predicted_AVG | 0.252 | 0.003 |
| predicted_BB | 0.614 | 0.004 |
| predicted_H | 0.959 | 0.010 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.162 | 0.003 |
| predicted_OBP | 0.356 | 0.008 |
| predicted_R | 0.650 | 0.011 |
| predicted_RBI | 0.507 | 0.009 |
| predicted_SLG | 0.455 | 0.010 |
| predicted_SO | 1.020 | -0.006 |
AB rounded to 4 (raw=3.91), rates preserved: AVG=0.245 HR/AB=0.042
| 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.253 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | 0.195 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 1.000 | 0.386 |
| predicted_H | 1.000 | 0.041 |
| predicted_HR | 0.000 | -0.162 |
| predicted_OBP | 0.400 | 0.044 |
| predicted_R | 1.000 | 0.350 |
| predicted_RBI | 1.000 | 0.493 |
| predicted_SLG | 0.250 | -0.205 |
| predicted_SO | 1.000 | -0.020 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.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 | - | 18.000 | 4.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 4.000 | 0.2222 | 0.3333 | 0.5000 | 0.2222 | 0.0556 | 0.1111 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 3.000 | 0.000 | 1.000 | 2.000 | 4.000 | 5.000 | 15.000 | 0.1579 | 0.2558 | 0.3158 | 0.1579 | 0.0263 | 0.0526 | 0.1316 | 0.3947 |
| season | 0.60 | 106 | - | 385.000 | 105.000 | 25.000 | 2.000 | 15.000 | 61.000 | 71.000 | 67.000 | 107.000 | 0.2727 | 0.3883 | 0.4649 | 0.2727 | 0.0390 | 0.1584 | 0.1740 | 0.2779 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2760 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.6680 |
| predicted_AVG | 0.2402 |
| predicted_BB | 0.5810 |
| predicted_H | 0.8810 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.3480 |
| predicted_R | 0.5980 |
| predicted_RBI | 0.4690 |
| predicted_SLG | 0.4401 |
| predicted_SO | 1.0490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2360 | 0.2760 | 0.2533 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0160 | model_form_blend |
| predicted_AB | 3.9100 | 3.6680 | 3.8054 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2402 | 0.2492 | model_form_blend |
| predicted_BB | 0.6320 | 0.5810 | 0.6100 | model_form_blend |
| predicted_H | 1.0000 | 0.8810 | 0.9486 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.1700 | 0.1450 | 0.1592 | model_form_blend |
| predicted_OBP | 0.3470 | 0.3480 | 0.3474 | model_form_blend |
| predicted_R | 0.6700 | 0.5980 | 0.6389 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4690 | 0.4980 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4401 | 0.4452 | model_form_blend |
| predicted_SO | 1.0090 | 1.0490 | 1.0263 | 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 | 450 |
| Season rows before report date | 450 |
| Report year | 2026 |
| Profile rows used | 106 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.273 |
| 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 | 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 | LF |
| gameID | 20260729_ARI@PIT |
| game_type | full |
| mlbID | 668804 |
| playerID | 668804 |
| playerName | Bryan Reynolds |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.369 |
| sl_xwoba | 0.358 |
| sl_xba | 0.251 |
| sl_xslg | 0.445 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 7.4 |
| sl_whiff_percent | 28.8 |
| 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.167 | 0.000 | 0.000 | Hitting_2B | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.570 | 4.000 | 4.000 | Hitting_AB | 3.233 | 6.000 | 0.767 | -2.000 |
| predicted_AVG | 0.245 | 0.250 | 0.250 | Hitting_AVG | 0.271 | 0.167 | -0.021 | 0.083 |
| predicted_BB | 0.472 | 0.000 | 1.000 | Hitting_BB | 0.708 | 0.000 | -0.708 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.875 | 1.000 | 0.125 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_OBP | 0.333 | 0.250 | 0.400 | Hitting_OBP | 0.402 | 0.167 | -0.152 | 0.083 |
| predicted_R | 0.417 | 0.000 | 0.000 | Hitting_R | 0.542 | 1.000 | -0.542 | -1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.633 | 1.000 | -0.633 | -1.000 |
| predicted_SLG | 0.421 | 0.250 | 0.250 | Hitting_SLG | 0.515 | 0.167 | -0.265 | 0.083 |
| predicted_SO | 0.889 | 0.000 | 1.000 | Hitting_SO | 0.917 | 3.000 | -0.917 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.5700 -> 4.0000 (boost 0.4300, better) |
| Biggest Deboost | predicted_SO: 0.8890 -> 0.0000 (deboost -0.8890, 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 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4210 -> 0.4280 (boost 0.0070, better) | predicted_AB: 3.5700 -> 3.4956 (deboost -0.0744, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4280 -> 0.4358 (boost 0.0078, better) | - | 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_BB: 0.4606 -> 1.0000 (boost 0.5394, better) | predicted_HR: 0.1624 -> 0.0000 (deboost -0.1624, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.244 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4363 -> 0.0000 (deboost -0.4363, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3370 -> 0.4000 (boost 0.0630, better) | predicted_SLG: 0.4358 -> 0.2500 (deboost -0.1858, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4358 (boost 0.1858, better) | predicted_OBP: 0.4000 -> 0.3370 (deboost -0.0630, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682848",
"player_name": "Endy Rodríguez",
"position": "C",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 3.57,
"predicted_AVG": 0.245,
"predicted_BB": 0.472,
"predicted_H": 0.87,
"predicted_HR": 0.16,
"predicted_OBP": 0.333,
"predicted_R": 0.417,
"predicted_RBI": 0.57,
"predicted_SLG": 0.421,
"predicted_SO": 0.889
},
"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.1611,
"predicted_3B": 0.0012,
"predicted_AB": 3.4956,
"predicted_AVG": 0.2479,
"predicted_BB": 0.4578,
"predicted_H": 0.8633,
"predicted_HBP": 0.006,
"predicted_HR": 0.1592,
"predicted_OBP": 0.3351,
"predicted_R": 0.4288,
"predicted_RBI": 0.5562,
"predicted_SLG": 0.428,
"predicted_SO": 0.915
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1611,
"delta": -0.0059,
"percent_delta": -0.0353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.57,
"after": 3.4956,
"delta": -0.0744,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2479,
"delta": 0.0029,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.472,
"after": 0.4578,
"delta": -0.0142,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8633,
"delta": -0.0067,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1592,
"delta": -0.0008,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3351,
"delta": 0.0021,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.4288,
"delta": 0.0118,
"percent_delta": 0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5562,
"delta": -0.0138,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.428,
"delta": 0.007,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 0.915,
"delta": 0.026,
"percent_delta": 0.0292,
"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_SLG",
"before": 0.421,
"after": 0.428,
"delta": 0.007,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.57,
"after": 3.4956,
"delta": -0.0744,
"percent_delta": -0.0208,
"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": 36
}
},
{
"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.1611,
"predicted_3B": 0.0012,
"predicted_AB": 3.4956,
"predicted_AVG": 0.2496,
"predicted_BB": 0.4606,
"predicted_H": 0.8725,
"predicted_HBP": 0.006,
"predicted_HR": 0.1624,
"predicted_OBP": 0.337,
"predicted_R": 0.4363,
"predicted_RBI": 0.5659,
"predicted_SLG": 0.4358,
"predicted_SO": 0.9094
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1611,
"after": 0.1611,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4956,
"after": 3.4956,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2479,
"after": 0.2496,
"delta": 0.0017,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4578,
"after": 0.4606,
"delta": 0.0028,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8633,
"after": 0.8725,
"delta": 0.0092,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1592,
"after": 0.1624,
"delta": 0.0032,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3351,
"after": 0.337,
"delta": 0.0019,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4288,
"after": 0.4363,
"delta": 0.0075,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5562,
"after": 0.5659,
"delta": 0.0097,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4358,
"delta": 0.0078,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.915,
"after": 0.9094,
"delta": -0.0056,
"percent_delta": -0.0061,
"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_SLG",
"before": 0.428,
"after": 0.4358,
"delta": 0.0078,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.57), rates preserved: AVG=0.244 HR/AB=0.045",
"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.1611,
"after": 0.0,
"delta": -0.1611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4956,
"after": 4.0,
"delta": 0.5044,
"percent_delta": 0.1443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4606,
"after": 1.0,
"delta": 0.5394,
"percent_delta": 1.1711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8725,
"after": 1.0,
"delta": 0.1275,
"percent_delta": 0.1461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1624,
"after": 0.0,
"delta": -0.1624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5659,
"after": 1.0,
"delta": 0.4341,
"percent_delta": 0.7671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9094,
"after": 1.0,
"delta": 0.0906,
"percent_delta": 0.0996,
"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_BB",
"before": 0.4606,
"after": 1.0,
"delta": 0.5394,
"percent_delta": 1.1711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1624,
"after": 0.0,
"delta": -0.1624,
"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": 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": 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.4363,
"after": 0.0,
"delta": -0.4363,
"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.4363,
"after": 0.0,
"delta": -0.4363,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"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.2496,
"after": 0.25,
"delta": 0.0004,
"percent_delta": 0.0016,
"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_OBP",
"before": 0.337,
"after": 0.4,
"delta": 0.063,
"percent_delta": 0.1869,
"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": 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.4358,
"after": 0.25,
"delta": -0.1858,
"percent_delta": -0.4263,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.4,
"delta": 0.063,
"percent_delta": 0.1869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4358,
"after": 0.25,
"delta": -0.1858,
"percent_delta": -0.4263,
"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": 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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"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": 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.2496,
"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.337,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4358,
"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.2496,
"delta": -0.0004,
"percent_delta": -0.0017,
"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_OBP",
"before": 0.4,
"after": 0.337,
"delta": -0.063,
"percent_delta": -0.1576,
"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.4358,
"delta": 0.1858,
"percent_delta": 0.743,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4358,
"delta": 0.1858,
"percent_delta": 0.743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.337,
"delta": -0.063,
"percent_delta": -0.1576,
"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.167,
"after": 0.0,
"delta": -0.167,
"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.57,
"after": 4.0,
"delta": 0.43,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2496,
"delta": 0.0046,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.337,
"delta": 0.004,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.0,
"delta": -0.417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4358,
"delta": 0.0148,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 0.0,
"delta": -0.889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.57,
"after": 4.0,
"delta": 0.43,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.889,
"after": 0.0,
"delta": -0.889,
"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.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.570 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.472 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.417 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.421 | - |
| predicted_SO | 0.889 | - |
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.161 | -0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.496 | -0.074 |
| predicted_AVG | 0.248 | 0.003 |
| predicted_BB | 0.458 | -0.014 |
| predicted_H | 0.863 | -0.007 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.159 | -0.001 |
| predicted_OBP | 0.335 | 0.002 |
| predicted_R | 0.429 | 0.012 |
| predicted_RBI | 0.556 | -0.014 |
| predicted_SLG | 0.428 | 0.007 |
| predicted_SO | 0.915 | 0.026 |
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.161 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.496 | 0.000 |
| predicted_AVG | 0.250 | 0.002 |
| predicted_BB | 0.461 | 0.003 |
| predicted_H | 0.873 | 0.009 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.162 | 0.003 |
| predicted_OBP | 0.337 | 0.002 |
| predicted_R | 0.436 | 0.008 |
| predicted_RBI | 0.566 | 0.010 |
| predicted_SLG | 0.436 | 0.008 |
| predicted_SO | 0.909 | -0.006 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.244 HR/AB=0.045
| 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 | 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.161 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.504 |
| predicted_AVG | 0.250 | 0.000 |
| predicted_BB | 1.000 | 0.539 |
| predicted_H | 1.000 | 0.127 |
| predicted_HR | 0.000 | -0.162 |
| predicted_OBP | 0.400 | 0.063 |
| predicted_R | 0.000 | -0.436 |
| predicted_RBI | 1.000 | 0.434 |
| predicted_SLG | 0.250 | -0.186 |
| predicted_SO | 1.000 | 0.091 |
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 | 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 | 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 | - | 19.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 6.000 | 0.2105 | 0.2857 | 0.3684 | 0.2105 | 0.0526 | 0.1053 | 0.1053 | 0.3158 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 2.000 | 9.000 | 5.000 | 5.000 | 10.000 | 0.2778 | 0.3659 | 0.5000 | 0.2778 | 0.0556 | 0.2500 | 0.1389 | 0.2778 |
| season | 0.60 | 36 | - | 108.000 | 28.000 | 6.000 | 0.000 | 5.000 | 17.000 | 15.000 | 17.000 | 32.000 | 0.2593 | 0.3600 | 0.4537 | 0.2593 | 0.0463 | 0.1574 | 0.1574 | 0.2963 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1520 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.3810 |
| predicted_AVG | 0.2523 |
| predicted_BB | 0.4360 |
| predicted_H | 0.8530 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.3384 |
| predicted_R | 0.4470 |
| predicted_RBI | 0.5350 |
| predicted_SLG | 0.4388 |
| predicted_SO | 0.9550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1520 | 0.1611 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.5700 | 3.3810 | 3.4956 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2523 | 0.2479 | model_form_blend |
| predicted_BB | 0.4720 | 0.4360 | 0.4578 | model_form_blend |
| predicted_H | 0.8700 | 0.8530 | 0.8633 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1600 | 0.1580 | 0.1592 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3384 | 0.3351 | model_form_blend |
| predicted_R | 0.4170 | 0.4470 | 0.4288 | model_form_blend |
| predicted_RBI | 0.5700 | 0.5350 | 0.5562 | model_form_blend |
| predicted_SLG | 0.4210 | 0.4388 | 0.4280 | model_form_blend |
| predicted_SO | 0.8890 | 0.9550 | 0.9150 | 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 | 120 |
| Season rows before report date | 120 |
| Report year | 2026 |
| Profile rows used | 36 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| 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 | 6 |
| Hitting_AVG | 0.167 |
| 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 | 3 |
| 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 | C |
| gameID | 20260728_ARI@PIT |
| game_type | full |
| mlbID | 682848 |
| playerID | 682848 |
| playerName | Endy Rodríguez |
| pos | C |
| started | True |
| startingPosition | C |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-28 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 16.2 |
| sl_woba | 0.368 |
| sl_xwoba | 0.353 |
| sl_xba | 0.25 |
| sl_xslg | 0.42 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 44.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.091 | 0.000 | 0.000 | Hitting_2B | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.742 | 4.000 | 4.000 | Hitting_AB | 3.866 | 3.000 | 0.134 | 1.000 |
| predicted_AVG | 0.214 | 0.250 | 0.250 | Hitting_AVG | 0.209 | 0.000 | 0.041 | 0.250 |
| predicted_BB | 0.379 | 0.000 | 0.000 | Hitting_BB | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.760 | 1.000 | 1.000 | Hitting_H | 0.810 | 0.000 | 0.190 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_OBP | 0.241 | 0.250 | 0.250 | Hitting_OBP | 0.295 | 0.000 | -0.045 | 0.250 |
| predicted_R | 0.318 | 1.000 | 0.000 | Hitting_R | 0.366 | 0.000 | 0.634 | 1.000 |
| predicted_RBI | 0.420 | 1.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_SLG | 0.321 | 0.250 | 0.250 | Hitting_SLG | 0.350 | 0.000 | -0.100 | 0.250 |
| predicted_SO | 1.212 | 1.000 | 1.000 | Hitting_SO | 1.310 | 0.000 | -0.310 | 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_R: 0.3180 -> 1.0000 (boost 0.6820, better) |
| Biggest Deboost | predicted_BB: 0.3790 -> 0.0000 (deboost -0.3790, 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 | 1 | 4 | 2 | 3 | predicted_OBP: 0.2410 -> 0.2501 (boost 0.0091, better) | predicted_SO: 1.2120 -> 1.0899 (deboost -0.1221, 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 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2501 -> 0.2718 (boost 0.0217, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.6776 -> 4.0000 (boost 0.3224, better) | predicted_RBI: 0.4058 -> 0.0000 (deboost -0.4058, worse) | AB rounded to 4 (raw=3.74), rates preserved: AVG=0.198 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3278 -> 0.0000 (deboost -0.3278, worse) | 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.3065 -> 0.2500 (deboost -0.0565, 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_R: 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.3065 (boost 0.0565, 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": "542303",
"player_name": "Marcell Ozuna",
"position": "DH",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.0,
"predicted_AB": 3.742,
"predicted_AVG": 0.214,
"predicted_BB": 0.379,
"predicted_H": 0.76,
"predicted_HR": 0.1,
"predicted_OBP": 0.241,
"predicted_R": 0.318,
"predicted_RBI": 0.42,
"predicted_SLG": 0.321,
"predicted_SO": 1.212
},
"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.0876,
"predicted_3B": 0.0004,
"predicted_AB": 3.6776,
"predicted_AVG": 0.2054,
"predicted_BB": 0.3537,
"predicted_H": 0.7326,
"predicted_HBP": 0.019,
"predicted_HR": 0.0975,
"predicted_OBP": 0.2501,
"predicted_R": 0.3222,
"predicted_RBI": 0.3989,
"predicted_SLG": 0.3106,
"predicted_SO": 1.0899
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0876,
"delta": -0.0034,
"percent_delta": -0.0374,
"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.742,
"after": 3.6776,
"delta": -0.0644,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2054,
"delta": -0.0086,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.3537,
"delta": -0.0253,
"percent_delta": -0.0668,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7326,
"delta": -0.0274,
"percent_delta": -0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0975,
"delta": -0.0025,
"percent_delta": -0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.241,
"after": 0.2501,
"delta": 0.0091,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 0.3222,
"delta": 0.0042,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.3989,
"delta": -0.0211,
"percent_delta": -0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.3106,
"delta": -0.0104,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.212,
"after": 1.0899,
"delta": -0.1221,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.241,
"after": 0.2501,
"delta": 0.0091,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.212,
"after": 1.0899,
"delta": -0.1221,
"percent_delta": -0.1007,
"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": 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.0876,
"predicted_3B": 0.0004,
"predicted_AB": 3.6776,
"predicted_AVG": 0.2013,
"predicted_BB": 0.3559,
"predicted_H": 0.7404,
"predicted_HBP": 0.019,
"predicted_HR": 0.0995,
"predicted_OBP": 0.2718,
"predicted_R": 0.3278,
"predicted_RBI": 0.4058,
"predicted_SLG": 0.3065,
"predicted_SO": 1.0833
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0876,
"after": 0.0876,
"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.6776,
"after": 3.6776,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2054,
"after": 0.2013,
"delta": -0.0041,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3537,
"after": 0.3559,
"delta": 0.0022,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7326,
"after": 0.7404,
"delta": 0.0078,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0975,
"after": 0.0995,
"delta": 0.002,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2501,
"after": 0.2718,
"delta": 0.0217,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3222,
"after": 0.3278,
"delta": 0.0056,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3989,
"after": 0.4058,
"delta": 0.0069,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3106,
"after": 0.3065,
"delta": -0.0041,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0899,
"after": 1.0833,
"delta": -0.0066,
"percent_delta": -0.0061,
"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_OBP",
"before": 0.2501,
"after": 0.2718,
"delta": 0.0217,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.74), rates preserved: AVG=0.198 HR/AB=0.027",
"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.0876,
"after": 0.0,
"delta": -0.0876,
"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.6776,
"after": 4.0,
"delta": 0.3224,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3559,
"after": 0.0,
"delta": -0.3559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7404,
"after": 1.0,
"delta": 0.2596,
"percent_delta": 0.3506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0995,
"after": 0.0,
"delta": -0.0995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4058,
"after": 0.0,
"delta": -0.4058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0833,
"after": 1.0,
"delta": -0.0833,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6776,
"after": 4.0,
"delta": 0.3224,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4058,
"after": 0.0,
"delta": -0.4058,
"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.3278,
"after": 0.0,
"delta": -0.3278,
"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.3278,
"after": 0.0,
"delta": -0.3278,
"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.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.2718,
"after": 0.25,
"delta": -0.0218,
"percent_delta": -0.0802,
"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.3065,
"after": 0.25,
"delta": -0.0565,
"percent_delta": -0.1843,
"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.3065,
"after": 0.25,
"delta": -0.0565,
"percent_delta": -0.1843,
"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": 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": 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_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": 4.0,
"predicted_AVG": 0.2013,
"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.2718,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3065,
"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.2013,
"delta": -0.0487,
"percent_delta": -0.1947,
"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.2718,
"delta": 0.0218,
"percent_delta": 0.0871,
"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.3065,
"delta": 0.0565,
"percent_delta": 0.226,
"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.3065,
"delta": 0.0565,
"percent_delta": 0.226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2013,
"delta": -0.0487,
"percent_delta": -0.1947,
"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.091,
"after": 0.0,
"delta": -0.091,
"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.742,
"after": 4.0,
"delta": 0.258,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2013,
"delta": -0.0127,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"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.241,
"after": 0.2718,
"delta": 0.0308,
"percent_delta": 0.1278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 1.0,
"delta": 0.682,
"percent_delta": 2.1447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.3065,
"delta": -0.0145,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.212,
"after": 1.0,
"delta": -0.212,
"percent_delta": -0.1749,
"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_R",
"before": 0.318,
"after": 1.0,
"delta": 0.682,
"percent_delta": 2.1447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"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.091 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.742 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.379 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.241 | - |
| predicted_R | 0.318 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.321 | - |
| predicted_SO | 1.212 | - |
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.088 | -0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.678 | -0.064 |
| predicted_AVG | 0.205 | -0.009 |
| predicted_BB | 0.354 | -0.025 |
| predicted_H | 0.733 | -0.027 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.098 | -0.003 |
| predicted_OBP | 0.250 | 0.009 |
| predicted_R | 0.322 | 0.004 |
| predicted_RBI | 0.399 | -0.021 |
| predicted_SLG | 0.311 | -0.010 |
| predicted_SO | 1.090 | -0.122 |
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.088 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.678 | 0.000 |
| predicted_AVG | 0.201 | -0.004 |
| predicted_BB | 0.356 | 0.002 |
| predicted_H | 0.740 | 0.008 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.100 | 0.002 |
| predicted_OBP | 0.272 | 0.022 |
| predicted_R | 0.328 | 0.006 |
| predicted_RBI | 0.406 | 0.007 |
| predicted_SLG | 0.306 | -0.004 |
| predicted_SO | 1.083 | -0.007 |
AB rounded to 4 (raw=3.74), rates preserved: AVG=0.198 HR/AB=0.027
| 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.088 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.322 |
| predicted_AVG | 0.250 | 0.049 |
| predicted_BB | 0.000 | -0.356 |
| predicted_H | 1.000 | 0.260 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.250 | -0.022 |
| predicted_R | 0.000 | -0.328 |
| predicted_RBI | 0.000 | -0.406 |
| predicted_SLG | 0.250 | -0.056 |
| predicted_SO | 1.000 | -0.083 |
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 | 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 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 0.1250 | 0.1765 | 0.1250 | 0.1250 | 0.0000 | 0.0625 | 0.0625 | 0.1250 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 3.000 | 7.000 | 0.2059 | 0.2703 | 0.3235 | 0.2059 | 0.0294 | 0.0882 | 0.0882 | 0.2059 |
| season | 0.60 | 66 | - | 247.000 | 50.000 | 6.000 | 0.000 | 8.000 | 29.000 | 21.000 | 25.000 | 80.000 | 0.2024 | 0.2810 | 0.3239 | 0.2024 | 0.0324 | 0.1174 | 0.1012 | 0.3239 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0830 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5890 |
| predicted_AVG | 0.1936 |
| predicted_BB | 0.3190 |
| predicted_H | 0.6950 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.2627 |
| predicted_R | 0.3280 |
| predicted_RBI | 0.3700 |
| predicted_SLG | 0.2964 |
| predicted_SO | 0.9220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.0830 | 0.0876 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7420 | 3.5890 | 3.6776 | model_form_blend |
| predicted_AVG | 0.2140 | 0.1936 | 0.2054 | model_form_blend |
| predicted_BB | 0.3790 | 0.3190 | 0.3537 | model_form_blend |
| predicted_H | 0.7600 | 0.6950 | 0.7326 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1000 | 0.0940 | 0.0975 | model_form_blend |
| predicted_OBP | 0.2410 | 0.2627 | 0.2501 | model_form_blend |
| predicted_R | 0.3180 | 0.3280 | 0.3222 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3700 | 0.3989 | model_form_blend |
| predicted_SLG | 0.3210 | 0.2964 | 0.3106 | model_form_blend |
| predicted_SO | 1.2120 | 0.9220 | 1.0899 | 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 | 268 |
| Season rows before report date | 268 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| 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 | 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 | 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 | DH |
| gameID | 20260729_ARI@PIT |
| game_type | full |
| mlbID | 542303 |
| playerID | 542303 |
| playerName | Marcell Ozuna |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.3 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.278 |
| sl_xwoba | 0.307 |
| sl_xba | 0.222 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 37.8 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 19.7 |
| sl_whiff_percent | 30.3 |
| sl_swing_percent | 42.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.128 | 0.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.820 | 4.000 | 3.000 | Hitting_AB | 2.143 | 3.000 | 1.857 | 1.000 |
| predicted_AVG | 0.236 | 0.000 | 0.333 | Hitting_AVG | 0.178 | 0.333 | -0.178 | -0.333 |
| predicted_BB | 0.205 | 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.660 | 0.000 | 1.000 | Hitting_H | 0.381 | 1.000 | -0.381 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.257 | 0.000 | 0.333 | Hitting_OBP | 0.178 | 0.333 | -0.178 | -0.333 |
| predicted_R | 0.308 | 0.000 | 0.000 | Hitting_R | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_SLG | 0.309 | 0.000 | 0.333 | Hitting_SLG | 0.267 | 0.333 | -0.267 | -0.333 |
| predicted_SO | 0.667 | 1.000 | 1.000 | Hitting_SO | 0.381 | 0.000 | 0.619 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.8200 -> 4.0000 (boost 1.1800, 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 | 1 | 2 | 1 | 2 | predicted_AB: 2.8200 -> 2.8841 (boost 0.0641, better) | predicted_AVG: 0.2360 -> 0.2245 (deboost -0.0115, 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.2540 -> 0.2717 (boost 0.0177, better) | - | 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.6500 -> 1.0000 (boost 0.3500, better) | predicted_RBI: 0.3551 -> 0.0000 (deboost -0.3551, worse) | AB rounded to 3 (raw=2.88), rates preserved: AVG=0.225 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2927 -> 0.0000 (deboost -0.2927, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2254 -> 0.3330 (boost 0.1076, 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.2254 (deboost -0.1076, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"position": "SS",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.0,
"predicted_AB": 2.82,
"predicted_AVG": 0.236,
"predicted_BB": 0.205,
"predicted_H": 0.66,
"predicted_HR": 0.04,
"predicted_OBP": 0.257,
"predicted_R": 0.308,
"predicted_RBI": 0.36,
"predicted_SLG": 0.309,
"predicted_SO": 0.667
},
"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.1221,
"predicted_3B": 0.0008,
"predicted_AB": 2.8841,
"predicted_AVG": 0.2245,
"predicted_BB": 0.1823,
"predicted_H": 0.6432,
"predicted_HBP": 0.031,
"predicted_HR": 0.0427,
"predicted_OBP": 0.254,
"predicted_R": 0.2877,
"predicted_RBI": 0.349,
"predicted_SLG": 0.3031,
"predicted_SO": 0.6666
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1221,
"delta": -0.0059,
"percent_delta": -0.0461,
"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.82,
"after": 2.8841,
"delta": 0.0641,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2245,
"delta": -0.0115,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.1823,
"delta": -0.0227,
"percent_delta": -0.1107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.6432,
"delta": -0.0168,
"percent_delta": -0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0427,
"delta": 0.0027,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.254,
"delta": -0.003,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.2877,
"delta": -0.0203,
"percent_delta": -0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.349,
"delta": -0.011,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.3031,
"delta": -0.0059,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.6666,
"delta": -0.0004,
"percent_delta": -0.0006,
"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_AB",
"before": 2.82,
"after": 2.8841,
"delta": 0.0641,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2245,
"delta": -0.0115,
"percent_delta": -0.0487,
"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.1221,
"predicted_3B": 0.0008,
"predicted_AB": 2.8841,
"predicted_AVG": 0.2254,
"predicted_BB": 0.1834,
"predicted_H": 0.65,
"predicted_HBP": 0.031,
"predicted_HR": 0.0436,
"predicted_OBP": 0.2717,
"predicted_R": 0.2927,
"predicted_RBI": 0.3551,
"predicted_SLG": 0.3136,
"predicted_SO": 0.6625
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1221,
"after": 0.1221,
"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.8841,
"after": 2.8841,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2245,
"after": 0.2254,
"delta": 0.0009,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1823,
"after": 0.1834,
"delta": 0.0011,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6432,
"after": 0.65,
"delta": 0.0068,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0427,
"after": 0.0436,
"delta": 0.0009,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.2717,
"delta": 0.0177,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2877,
"after": 0.2927,
"delta": 0.005,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.349,
"after": 0.3551,
"delta": 0.0061,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3031,
"after": 0.3136,
"delta": 0.0105,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6666,
"after": 0.6625,
"delta": -0.0041,
"percent_delta": -0.0062,
"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.254,
"after": 0.2717,
"delta": 0.0177,
"percent_delta": 0.0697,
"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=2.88), rates preserved: AVG=0.225 HR/AB=0.015",
"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.1221,
"after": 0.0,
"delta": -0.1221,
"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.8841,
"after": 3.0,
"delta": 0.1159,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1834,
"after": 0.0,
"delta": -0.1834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0436,
"after": 0.0,
"delta": -0.0436,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3551,
"after": 0.0,
"delta": -0.3551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6625,
"after": 1.0,
"delta": 0.3375,
"percent_delta": 0.5094,
"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.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3551,
"after": 0.0,
"delta": -0.3551,
"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.2927,
"after": 0.0,
"delta": -0.2927,
"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.2927,
"after": 0.0,
"delta": -0.2927,
"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.2254,
"after": 0.333,
"delta": 0.1076,
"percent_delta": 0.4774,
"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.2717,
"after": 0.333,
"delta": 0.0613,
"percent_delta": 0.2256,
"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.3136,
"after": 0.333,
"delta": 0.0194,
"percent_delta": 0.0619,
"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.2254,
"after": 0.333,
"delta": 0.1076,
"percent_delta": 0.4774,
"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.2254,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2717,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3136,
"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.2254,
"delta": -0.1076,
"percent_delta": -0.3232,
"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.2717,
"delta": -0.0613,
"percent_delta": -0.1841,
"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.3136,
"delta": -0.0194,
"percent_delta": -0.0583,
"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.2254,
"delta": -0.1076,
"percent_delta": -0.3232,
"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.128,
"after": 0.0,
"delta": -0.128,
"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.82,
"after": 4.0,
"delta": 1.18,
"percent_delta": 0.4184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2254,
"delta": -0.0106,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"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.257,
"after": 0.2717,
"delta": 0.0147,
"percent_delta": 0.0572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.3136,
"delta": 0.0046,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.82,
"after": 4.0,
"delta": 1.18,
"percent_delta": 0.4184,
"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.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.820 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.205 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.257 | - |
| predicted_R | 0.308 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.309 | - |
| predicted_SO | 0.667 | - |
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.122 | -0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.884 | 0.064 |
| predicted_AVG | 0.225 | -0.011 |
| predicted_BB | 0.182 | -0.023 |
| predicted_H | 0.643 | -0.017 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.043 | 0.003 |
| predicted_OBP | 0.254 | -0.003 |
| predicted_R | 0.288 | -0.020 |
| predicted_RBI | 0.349 | -0.011 |
| predicted_SLG | 0.303 | -0.006 |
| predicted_SO | 0.667 | -0.000 |
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.122 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.884 | 0.000 |
| predicted_AVG | 0.225 | 0.001 |
| predicted_BB | 0.183 | 0.001 |
| predicted_H | 0.650 | 0.007 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.044 | 0.001 |
| predicted_OBP | 0.272 | 0.018 |
| predicted_R | 0.293 | 0.005 |
| predicted_RBI | 0.355 | 0.006 |
| predicted_SLG | 0.314 | 0.011 |
| predicted_SO | 0.662 | -0.004 |
AB rounded to 3 (raw=2.88), rates preserved: AVG=0.225 HR/AB=0.015
| 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.122 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.116 |
| predicted_AVG | 0.333 | 0.108 |
| predicted_BB | 0.000 | -0.183 |
| predicted_H | 1.000 | 0.350 |
| predicted_HR | 0.000 | -0.044 |
| predicted_OBP | 0.333 | 0.061 |
| predicted_R | 0.000 | -0.293 |
| predicted_RBI | 0.000 | -0.355 |
| predicted_SLG | 0.333 | 0.019 |
| predicted_SO | 1.000 | 0.338 |
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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.1333 | 0.1333 | 0.1333 | 0.1333 | 0.0000 | 0.0000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 25.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 5.000 | 0.1600 | 0.1600 | 0.2000 | 0.1600 | 0.0000 | 0.0400 | 0.0000 | 0.2000 |
| season | 0.60 | 39 | - | 109.000 | 25.000 | 5.000 | 0.000 | 2.000 | 18.000 | 12.000 | 8.000 | 26.000 | 0.2294 | 0.2941 | 0.3303 | 0.2294 | 0.0184 | 0.1651 | 0.0734 | 0.2385 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9840 |
| predicted_AVG | 0.2067 |
| predicted_BB | 0.1470 |
| predicted_H | 0.6170 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.0470 |
| predicted_OBP | 0.2493 |
| predicted_R | 0.2560 |
| predicted_RBI | 0.3320 |
| predicted_SLG | 0.2939 |
| predicted_SO | 0.6660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.1130 | 0.1221 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8200 | 2.9840 | 2.8841 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2067 | 0.2245 | model_form_blend |
| predicted_BB | 0.2050 | 0.1470 | 0.1823 | model_form_blend |
| predicted_H | 0.6600 | 0.6170 | 0.6432 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.0400 | 0.0470 | 0.0427 | model_form_blend |
| predicted_OBP | 0.2570 | 0.2493 | 0.2540 | model_form_blend |
| predicted_R | 0.3080 | 0.2560 | 0.2877 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3320 | 0.3490 | model_form_blend |
| predicted_SLG | 0.3090 | 0.2939 | 0.3031 | model_form_blend |
| predicted_SO | 0.6670 | 0.6660 | 0.6666 | 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 | 21 |
| Season rows before report date | 21 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| 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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| 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 | SS |
| gameID | 20260728_ARI@PIT |
| game_type | full |
| mlbID | 694378 |
| playerID | 694378 |
| playerName | Jacob Gonzalez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-28 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.302 |
| sl_xwoba | 0.316 |
| sl_xba | 0.261 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 39.6 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 17.7 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 56.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 | 3.000 | 3.000 | 3.000 | Pitching_BB | 0.750 | 0.000 | 2.250 | 3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.455 | 0.000 | 0.545 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 1.145 | 1.200 | 3.855 | 3.800 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 1.409 | 1.000 | 6.591 | 7.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.0000 (deboost -0.6667, 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 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.0000 (deboost -0.6667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 4 | 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": "670990",
"player_name": "Yohan Ramírez",
"position": "Starter",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 8.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 8.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | -0.667 |
| predicted_SO | 8.000 | 0.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 | 1.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| predicted_SO | 8.000 | 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 | 5.100 | 1.000 | 7.000 | 2.000 | 4.000 | 0.000 | 1.6875 | 1.6875 | 0.1875 | 1.3125 | 0.3750 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 1.000 | 13.000 | 8.000 | 14.000 | 0.000 | 0.7500 | 1.7500 | 0.0833 | 1.0833 | 0.6667 | 1.1667 | 0.0000 |
| season | 0.20 | 44 | 56.000 | 20.000 | 44.000 | 33.000 | 62.000 | 4.000 | 3.2143 | 1.3750 | 0.3571 | 0.7857 | 0.5893 | 1.1071 | 0.0714 |
| Metric | Value |
|---|---|
| predicted_BB | 1.2060 |
| predicted_ER | 0.7310 |
| predicted_ERA | 2.5589 |
| predicted_H | 2.7770 |
| predicted_HR | 0.1460 |
| predicted_IP | 2.2000 |
| predicted_SO | 2.4800 |
| predicted_WHIP | 1.5495 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.2060 | 2.0684 | model_form_blend |
| predicted_ER | 1.0000 | 0.7310 | 0.8603 | model_form_blend |
| predicted_ERA | - | 2.5589 | 2.5589 | form_only |
| predicted_H | 1.0000 | 2.7770 | 1.9228 | model_form_blend |
| predicted_HR | 0.0000 | 0.1460 | 0.0758 | model_form_blend |
| predicted_IP | 5.2000 | 2.2000 | 4.1000 | model_form_blend |
| predicted_SO | 8.0000 | 2.4800 | 5.1336 | model_form_blend |
| predicted_WHIP | - | 1.5495 | 1.5495 | 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 | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 44 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 8 |
| HR | 0 |
| BF | 19 |
| Pitches | 78 |
| 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.21 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 26 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260727_ARI@PIT |
| game_type | full |
| mlbID | 670990 |
| playerID | 670990 |
| playerName | Yohan Ramírez |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-27 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.305 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 30.8 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 45.1 |
| sl_avg_best_speed | 72.124836479 |
| sl_avg_hyper_speed | 92.599560284 |
| 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.250 | 0.000 | -1.250 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.375 | 0.000 | -1.375 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 3.833 | 2.000 | -2.833 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 3.679 | 3.000 | -2.579 | -1.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 3.000 | 1.000 | -2.000 | 0.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": "669387",
"player_name": "Carmen Mlodzinski",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"predicted_H": 1.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": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"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": 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": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"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": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.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 | 13.200 | 5.000 | 13.000 | 4.000 | 10.000 | 1.000 | 3.2927 | 1.2439 | 0.3659 | 0.9512 | 0.2927 | 0.7317 | 0.0732 |
| last_10 | 0.35 | 10 | 25.200 | 5.000 | 21.000 | 6.000 | 18.000 | 1.000 | 1.7532 | 1.0519 | 0.1948 | 0.8182 | 0.2338 | 0.7013 | 0.0390 |
| season | 0.20 | 24 | 91.100 | 33.000 | 92.000 | 30.000 | 72.000 | 7.000 | 3.2518 | 1.3358 | 0.3613 | 1.0073 | 0.3285 | 0.7883 | 0.0766 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7610 |
| predicted_ER | 0.8840 |
| predicted_ERA | 3.0576 |
| predicted_H | 2.4100 |
| predicted_HR | 0.2010 |
| predicted_IP | 2.2000 |
| predicted_SO | 2.0080 |
| predicted_WHIP | 1.2187 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7610 | 0.4392 | model_form_blend |
| predicted_ER | 0.0000 | 0.8840 | 0.5102 | model_form_blend |
| predicted_ERA | - | 3.0576 | 3.0576 | form_only |
| predicted_H | 1.0000 | 2.4100 | 1.8138 | model_form_blend |
| predicted_HR | 0.0000 | 0.2010 | 0.1160 | model_form_blend |
| predicted_IP | 1.1000 | 2.2000 | 2.1000 | model_form_blend |
| predicted_SO | 1.0000 | 2.0080 | 1.5818 | model_form_blend |
| predicted_WHIP | - | 1.2187 | 1.2187 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 33 |
| 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 | 10 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.25 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.0 |
| Pitching_Pitches | 30 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260729_ARI@PIT |
| game_type | full |
| mlbID | 669387 |
| playerID | 669387 |
| playerName | Carmen Mlodzinski |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.311 |
| sl_xwoba | 0.339 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 46.2 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 45.4 |
| sl_avg_best_speed | 79.962306232 |
| sl_avg_hyper_speed | 94.749315782 |
| 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.400 | 0.000 | -0.400 | 0.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.622 | 0.000 | -0.622 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.936 | 1.000 | 0.264 | 0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.133 | 2.000 | -0.133 | -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.2000 (boost 0.2000, 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.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642397",
"player_name": "Gregory Soto",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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 | 4.200 | 0.000 | 2.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.4286 | 0.2143 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 6.000 | 3.000 | 11.000 | 2.000 | 2.6129 | 0.8710 | 0.2903 | 0.5806 | 0.2903 | 1.0645 | 0.1935 |
| season | 0.20 | 44 | 44.200 | 15.000 | 25.000 | 17.000 | 51.000 | 5.000 | 3.0224 | 0.9403 | 0.3358 | 0.5597 | 0.3806 | 1.1418 | 0.1119 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3040 |
| predicted_ER | 0.2900 |
| predicted_ERA | 2.6109 |
| predicted_H | 0.6760 |
| predicted_HR | 0.1120 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1620 |
| predicted_WHIP | 0.9800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3040 | 0.1514 | model_form_blend |
| predicted_ER | 0.0000 | 0.2900 | 0.1444 | model_form_blend |
| predicted_ERA | - | 2.6109 | 2.6109 | form_only |
| predicted_H | 0.0000 | 0.6760 | 0.3367 | model_form_blend |
| predicted_HR | 0.0000 | 0.1120 | 0.0558 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1620 | 1.0807 | model_form_blend |
| predicted_WHIP | - | 0.9800 | 0.9800 | 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 | 45 |
| Season rows before report date | 45 |
| Report year | 2026 |
| Profile rows used | 44 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.63 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260728_ARI@PIT |
| game_type | full |
| mlbID | 642397 |
| playerID | 642397 |
| playerName | Gregory Soto |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-28 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.263 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 33.6 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 43.1 |
| sl_avg_best_speed | 73.493432037 |
| sl_avg_hyper_speed | 93.095522336 |
| 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 | 0.455 | 1.000 | 0.545 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.432 | 0.000 | 1.568 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.750 | 0.000 | 1.250 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.836 | 1.000 | 0.164 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.500 | 1.000 | -0.500 | 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": "682254",
"player_name": "Mason Montgomery",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.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": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.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": 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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.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": 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.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 | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.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.100 | 2.000 | 2.000 | 2.000 | 10.000 | 1.000 | 3.3750 | 0.7500 | 0.3750 | 0.3750 | 0.3750 | 1.8750 | 0.1875 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 3.000 | 4.000 | 17.000 | 1.000 | 1.8621 | 0.7241 | 0.2069 | 0.3103 | 0.4138 | 1.7586 | 0.1035 |
| season | 0.20 | 43 | 43.100 | 17.000 | 31.000 | 20.000 | 66.000 | 4.000 | 3.5308 | 1.1769 | 0.3923 | 0.7154 | 0.4615 | 1.5231 | 0.0923 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3880 |
| predicted_ER | 0.3880 |
| predicted_ERA | 3.4920 |
| predicted_H | 0.6240 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.4690 |
| predicted_WHIP | 1.0118 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3880 | 0.6970 | model_form_blend |
| predicted_ER | 2.0000 | 0.3880 | 1.2019 | model_form_blend |
| predicted_ERA | - | 3.4920 | 3.4920 | form_only |
| predicted_H | 2.0000 | 0.6240 | 1.3188 | model_form_blend |
| predicted_HR | 1.0000 | 0.1440 | 0.5762 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4690 | 1.2322 | model_form_blend |
| predicted_WHIP | - | 1.0118 | 1.0118 | 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 | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 43 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 1 |
| HR | 1 |
| BF | 6 |
| Pitches | 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 | 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 | 0 |
| Pitching_ERA | 3.95 |
| 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 | 20 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260727_ARI@PIT |
| game_type | full |
| mlbID | 682254 |
| playerID | 682254 |
| playerName | Mason Montgomery |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-27 |
| sl_k_percent | 36.1 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.28 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 23.7 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 42.3 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 74.416524167 |
| sl_avg_hyper_speed | 94.797520938 |
| Field | Value |
|---|---|
| Pitcher | Rhett Lowder |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6902 |
| ESPN Rank | 338 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0329 |
| Avg Velo | 89.2856 |
| Avg Spin | 2322.1671 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 4 |
| Pre H | 9 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 5.6104 |
| Season WHIP | 1.5714 |
| Role Avg IP | 4.6670 |
| Recent Avg IP | 4.6000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"opponent": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"edges": {
"quality_edge": -0.0811,
"offense_edge": -0.1061,
"opponent_offense_edge": 0.0905,
"defense_strength": -0.0534,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9915,
"run_prevention": 1.0239,
"strikeout": 0.9903
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695076",
"profile": {
"available": true,
"pitcher_id": "695076",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 324.0,
"k_percent": 18.4,
"bb_percent": 10.5,
"woba": 0.345,
"xwoba": 0.359,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 40.2,
"avg_best_speed": 80.6821,
"avg_hyper_speed": 94.7531,
"whiff_percent": 20.8,
"swing_percent": 44.0
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.8876,
"command_and_miss": -0.5789,
"regression_edge": -0.4,
"xwoba_edge": -1.3429,
"barrel_edge": -0.5778,
"hard_hit_edge": -0.3,
"whiff_edge": -0.7,
"bb_edge": -0.4,
"pitch_design_score": -0.0329
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695076",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 48,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 48,
"pitch_usage": 0.0,
"release_speed": 89.2855644458459,
"release_spin_rate": 2322.167066243701,
"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": 48,
"pitch_usage": 0.0,
"release_speed": 89.2855644458459,
"release_spin_rate": 2322.167066243701,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2856,
"release_spin_rate": 2322.1671,
"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.0329,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2348,
"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.6902,
"sample_weight": 1.0,
"run_prevention_factor": 1.0587,
"strikeout_factor": 0.9494,
"walk_factor": 1.032,
"homer_factor": 1.0985,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695076",
"espn_id": 4758873,
"player_name": "Rhett Lowder",
"team": "CIN",
"role": "pitcher",
"espn_rank": 338,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 338,
"gp_value": 18.0,
"gp_rank": 347,
"gs_value": 15.0,
"gs_rank": 103,
"qs_value": 3.0,
"qs_rank": 119,
"era_value": 5.6103,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 77.0,
"ip_rank": 122,
"h_value": 84.0,
"h_rank": 92,
"er_value": 48.0,
"er_rank": 59,
"hr_value": 9.0,
"hr_rank": 133,
"bb_value": 37.0,
"bb_rank": 49,
"k_value": 65.0,
"k_rank": 134,
"k_per_9_value": 7.5974026,
"k_per_9_rank": 29,
"whip_value": 1.5714,
"whip_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0587,
"adjusted": 4
},
"predicted_H": {
"original": 7.0,
"factor": 1.0587,
"adjusted": 7
},
"predicted_BB": {
"original": 2.0,
"factor": 1.032,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0985,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9494,
"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": 38.2,
"ER": 25,
"H": 48,
"BB": 19,
"SO": 38,
"HR": 7,
"ERA": 5.81896551724138,
"WHIP": 1.7327586206896552,
"K9": 8.844827586206897,
"HR9": 1.6293103448275863,
"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-07-24T00:00:00"
}{
"available": true,
"pitcher_id": "695076",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 48,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 48,
"pitch_usage": 0.0,
"release_speed": 89.2855644458459,
"release_spin_rate": 2322.167066243701,
"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": 48,
"pitch_usage": 0.0,
"release_speed": 89.2855644458459,
"release_spin_rate": 2322.167066243701,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2856,
"release_spin_rate": 2322.1671,
"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.0329,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2348,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"role": "pitcher",
"player_id": "695076",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 14.1,
"ER": 11.0,
"R": 11.0,
"H": 17.0,
"BB": 7.0,
"SO": 9.0,
"HR": 1.0,
"BF": 68.0,
"Pitches": 230.0
},
"per_game": {
"IP": 3.0,
"ER": 2.2,
"R": 2.2,
"H": 3.4,
"BB": 1.4,
"SO": 1.8,
"HR": 0.2,
"BF": 13.6,
"Pitches": 46.0
},
"rates": {
"ERA": 6.907,
"WHIP": 1.6744,
"ER_per_IP": 0.76744,
"H_per_IP": 1.18605,
"BB_per_IP": 0.48837,
"SO_per_IP": 0.62791,
"HR_per_IP": 0.06977
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 38.2,
"ER": 25.0,
"R": 25.0,
"H": 48.0,
"BB": 19.0,
"SO": 38.0,
"HR": 7.0,
"BF": 187.0,
"Pitches": 673.0
},
"per_game": {
"IP": 4.0,
"ER": 2.5,
"R": 2.5,
"H": 4.8,
"BB": 1.9,
"SO": 3.8,
"HR": 0.7,
"BF": 18.7,
"Pitches": 67.3
},
"rates": {
"ERA": 5.819,
"WHIP": 1.7328,
"ER_per_IP": 0.64655,
"H_per_IP": 1.24138,
"BB_per_IP": 0.49138,
"SO_per_IP": 0.98276,
"HR_per_IP": 0.18103
}
},
"season": {
"games": 18,
"totals": {
"IP": 77.0,
"ER": 48.0,
"R": 49.0,
"H": 84.0,
"BB": 37.0,
"SO": 65.0,
"HR": 9.0,
"BF": 353.0,
"Pitches": 1324.0
},
"per_game": {
"IP": 4.1,
"ER": 2.6667,
"R": 2.7222,
"H": 4.6667,
"BB": 2.0556,
"SO": 3.6111,
"HR": 0.5,
"BF": 19.6111,
"Pitches": 73.5556
},
"rates": {
"ERA": 5.6104,
"WHIP": 1.5714,
"ER_per_IP": 0.62338,
"H_per_IP": 1.09091,
"BB_per_IP": 0.48052,
"SO_per_IP": 0.84416,
"HR_per_IP": 0.11688
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 2.518,
"predicted_H": 4.386,
"predicted_BB": 1.765,
"predicted_SO": 3.195,
"predicted_HR": 0.482,
"predicted_ERA": 5.8946,
"predicted_WHIP": 1.5998
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4419,
"form_weight": 0.5581,
"form_reliability": 0.7826,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.0,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.518,
"final": 3.1728,
"source": "model_form_blend"
},
"predicted_H": {
"model": 9.0,
"form": 4.386,
"final": 6.4247,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.765,
"final": 1.8688,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.195,
"final": 3.9925,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.482,
"final": 0.7109,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.8946,
"final": 5.8946,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5998,
"final": 1.5998,
"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 | Brock Burke |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0594 |
| ESPN Rank | 148 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0939 |
| Avg Velo | 91.5494 |
| Avg Spin | 2246.7728 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.6129 |
| Season WHIP | 1.2968 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"opponent": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"edges": {
"quality_edge": -0.0811,
"offense_edge": -0.1061,
"opponent_offense_edge": 0.0905,
"defense_strength": -0.0534,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9915,
"run_prevention": 1.0239,
"strikeout": 0.9903
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656271",
"profile": {
"available": true,
"pitcher_id": "656271",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 192.0,
"k_percent": 19.7,
"bb_percent": 13.3,
"woba": 0.293,
"xwoba": 0.319,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 29.9,
"avg_best_speed": 76.9025,
"avg_hyper_speed": 93.0621,
"whiff_percent": 28.5,
"swing_percent": 45.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.0974,
"command_and_miss": -0.2504,
"regression_edge": -0.7429,
"xwoba_edge": -0.2,
"barrel_edge": -0.2,
"hard_hit_edge": 1.1714,
"whiff_edge": 0.4,
"bb_edge": -1.1,
"pitch_design_score": 0.0939
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656271",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.54938448288996,
"release_spin_rate": 2246.7728173494465,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 91.54938448288996,
"release_spin_rate": 2246.7728173494465,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5494,
"release_spin_rate": 2246.7728,
"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.0939,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6708,
"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.0594,
"sample_weight": 0.768,
"run_prevention_factor": 1.005,
"strikeout_factor": 1.0007,
"walk_factor": 1.0676,
"homer_factor": 0.9809,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656271",
"espn_id": 39945,
"player_name": "Brock Burke",
"team": "CIN",
"role": "pitcher",
"espn_rank": 148,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 148,
"gp_value": 54.0,
"gp_rank": 3,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.6129,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 12.0,
"hld_rank": 33,
"ip_value": 51.2,
"ip_rank": 191,
"h_value": 38.0,
"h_rank": 248,
"er_value": 15.0,
"er_rank": 322,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 29.0,
"bb_rank": 98,
"k_value": 43.0,
"k_rank": 252,
"k_per_9_value": 7.4903226,
"k_per_9_rank": 35,
"whip_value": 1.2967,
"whip_rank": null,
"war_value": 0.96,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0038,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0038,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0519,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0005,
"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.1,
"ER": 1,
"H": 7,
"BB": 3,
"SO": 7,
"HR": 1,
"ERA": 0.9642857142857144,
"WHIP": 1.0714285714285716,
"K9": 6.750000000000001,
"HR9": 0.9642857142857144,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "656271",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.54938448288996,
"release_spin_rate": 2246.7728173494465,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 91.54938448288996,
"release_spin_rate": 2246.7728173494465,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5494,
"release_spin_rate": 2246.7728,
"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.0939,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6708,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.296,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6731,
"prior_weight": 0.3269
},
"role": "pitcher",
"player_id": "656271",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 54,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.7,
"BB": 0.3,
"SO": 0.7,
"HR": 0.1,
"BF": 3.7,
"Pitches": 13.2
},
"rates": {
"ERA": 0.9643,
"WHIP": 1.0714,
"ER_per_IP": 0.10714,
"H_per_IP": 0.75,
"BB_per_IP": 0.32143,
"SO_per_IP": 0.75,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 54,
"totals": {
"IP": 51.2,
"ER": 15.0,
"R": 22.0,
"H": 38.0,
"BB": 29.0,
"SO": 43.0,
"HR": 4.0,
"BF": 218.0,
"Pitches": 805.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2778,
"R": 0.4074,
"H": 0.7037,
"BB": 0.537,
"SO": 0.7963,
"HR": 0.0741,
"BF": 4.037,
"Pitches": 14.9074
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.2968,
"ER_per_IP": 0.29032,
"H_per_IP": 0.73548,
"BB_per_IP": 0.56129,
"SO_per_IP": 0.83226,
"HR_per_IP": 0.07742
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.23,
"predicted_H": 0.716,
"predicted_BB": 0.389,
"predicted_SO": 0.784,
"predicted_HR": 0.085,
"predicted_ERA": 2.0678,
"predicted_WHIP": 1.1047
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4881,
"form_weight": 0.5119,
"form_reliability": 0.6731,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.296,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6731,
"prior_weight": 0.3269
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.23,
"final": 0.1177,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.716,
"final": 0.3665,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.389,
"final": 0.1991,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.784,
"final": 0.4013,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.085,
"final": 0.0435,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0678,
"final": 2.0678,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1047,
"final": 1.1047,
"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 | Emilio Pagán |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1925 |
| ESPN Rank | 494 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0343 |
| Avg Velo | 90.4849 |
| Avg Spin | 2208.8962 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 5.0625 |
| Season WHIP | 1.2188 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"opponent": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"edges": {
"quality_edge": -0.0811,
"offense_edge": -0.1061,
"opponent_offense_edge": 0.0905,
"defense_strength": -0.0534,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9915,
"run_prevention": 1.0239,
"strikeout": 0.9903
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641941",
"profile": {
"available": true,
"pitcher_id": "641941",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 83.0,
"k_percent": 25.3,
"bb_percent": 8.8,
"woba": 0.32,
"xwoba": 0.33,
"sweet_spot_percent": 44.8,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 56.9,
"avg_best_speed": 83.0646,
"avg_hyper_speed": 95.5224,
"whiff_percent": 28.8,
"swing_percent": 50.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.8803,
"command_and_miss": 0.3496,
"regression_edge": -0.2857,
"xwoba_edge": -0.5143,
"barrel_edge": -1.1111,
"hard_hit_edge": -2.5,
"whiff_edge": 0.4429,
"bb_edge": 0.025,
"pitch_design_score": 0.0343
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 90.48492796454752,
"release_spin_rate": 2208.896173900289,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 90.48492796454752,
"release_spin_rate": 2208.896173900289,
"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.4849,
"release_spin_rate": 2208.8962,
"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.0343,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.245,
"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.1925,
"sample_weight": 0.45,
"run_prevention_factor": 1.0164,
"strikeout_factor": 1.0156,
"walk_factor": 0.9991,
"homer_factor": 1.0919,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641941",
"espn_id": 33403,
"player_name": "Emilio Pagan",
"team": "CIN",
"role": "pitcher",
"espn_rank": 494,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 494,
"gp_value": 23.0,
"gp_rank": 219,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 5.0625,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 11.0,
"sv_rank": 23,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 21.1,
"ip_rank": 440,
"h_value": 18.0,
"h_rank": 467,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 8.0,
"bb_rank": 461,
"k_value": 23.0,
"k_rank": 402,
"k_per_9_value": 9.703125,
"k_per_9_rank": 24,
"whip_value": 1.2187,
"whip_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0074,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0074,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0414,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.007,
"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": 4,
"H": 6,
"BB": 2,
"SO": 13,
"HR": 2,
"ERA": 4.5,
"WHIP": 1.0,
"K9": 14.625,
"HR9": 2.25,
"games_pitched": 9,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "641941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 90.48492796454752,
"release_spin_rate": 2208.896173900289,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 90.48492796454752,
"release_spin_rate": 2208.896173900289,
"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.4849,
"release_spin_rate": 2208.8962,
"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.0343,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.245,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 4.251,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4595,
"prior_weight": 0.5405
},
"role": "pitcher",
"player_id": "641941",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 7.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.0,
"SO": 1.4,
"HR": 0.2,
"BF": 3.6,
"Pitches": 16.2
},
"rates": {
"ERA": 1.8,
"WHIP": 0.6,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.0,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 2.0,
"SO": 13.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.2,
"SO": 1.3,
"HR": 0.2,
"BF": 3.9,
"Pitches": 16.3
},
"rates": {
"ERA": 6.0,
"WHIP": 1.2222,
"ER_per_IP": 0.66667,
"H_per_IP": 1.0,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.44444,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 22,
"totals": {
"IP": 21.1,
"ER": 12.0,
"R": 12.0,
"H": 18.0,
"BB": 8.0,
"SO": 23.0,
"HR": 4.0,
"BF": 91.0,
"Pitches": 364.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5455,
"R": 0.5455,
"H": 0.8182,
"BB": 0.3636,
"SO": 1.0455,
"HR": 0.1818,
"BF": 4.1364,
"Pitches": 16.5455
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.2188,
"ER_per_IP": 0.5625,
"H_per_IP": 0.84375,
"BB_per_IP": 0.375,
"SO_per_IP": 1.07812,
"HR_per_IP": 0.1875
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.474,
"predicted_H": 0.89,
"predicted_BB": 0.263,
"predicted_SO": 1.139,
"predicted_HR": 0.176,
"predicted_ERA": 4.2642,
"predicted_WHIP": 1.1526
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5784,
"form_weight": 0.4216,
"form_reliability": 0.4595,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.251,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4595,
"prior_weight": 0.5405
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.474,
"final": 0.1999,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.89,
"final": 0.3753,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.263,
"final": 0.1109,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.139,
"final": 1.637,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.176,
"final": 0.0742,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2642,
"final": 4.2642,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1526,
"final": 1.1526,
"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 | Tejay Antone |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1504 |
| ESPN Rank | 119 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1867 |
| Avg Velo | 86.5379 |
| Avg Spin | 2760.6154 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.1600 |
| Season WHIP | 0.9300 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"opponent": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"edges": {
"quality_edge": -0.0811,
"offense_edge": -0.1061,
"opponent_offense_edge": 0.0905,
"defense_strength": -0.0534,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9915,
"run_prevention": 1.0239,
"strikeout": 0.9903
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622088",
"profile": {
"available": true,
"pitcher_id": "622088",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 114.0,
"k_percent": 21.7,
"bb_percent": 6.5,
"woba": 0.261,
"xwoba": 0.283,
"sweet_spot_percent": 25.3,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 34.7,
"avg_best_speed": 77.6698,
"avg_hyper_speed": 93.4267,
"whiff_percent": 26.3,
"swing_percent": 48.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.6775,
"command_and_miss": 0.1082,
"regression_edge": -0.6286,
"xwoba_edge": 0.8286,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.4857,
"whiff_edge": 0.0857,
"bb_edge": 0.6,
"pitch_design_score": -0.1867
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622088",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 86.53794850652704,
"release_spin_rate": 2760.615409617734,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 86.53794850652704,
"release_spin_rate": 2760.615409617734,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.5379,
"release_spin_rate": 2760.6154,
"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.1867,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3338,
"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.1504,
"sample_weight": 0.456,
"run_prevention_factor": 0.9872,
"strikeout_factor": 0.9999,
"walk_factor": 0.9781,
"homer_factor": 0.9863,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622088",
"espn_id": 42355,
"player_name": "Tejay Antone",
"team": "CIN",
"role": "pitcher",
"espn_rank": 119,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 119,
"gp_value": 33.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.16,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 6.0,
"hld_rank": 109,
"ip_value": 33.1,
"ip_rank": 343,
"h_value": 23.0,
"h_rank": 403,
"er_value": 8.0,
"er_rank": 504,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 8.0,
"bb_rank": 461,
"k_value": 30.0,
"k_rank": 358,
"k_per_9_value": 8.1,
"k_per_9_rank": 28,
"whip_value": 0.93,
"whip_rank": null,
"war_value": 1.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9942,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9942,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.99,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9938,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0,
"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": 6,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 0.9000000000000001,
"WHIP": 0.8000000000000002,
"K9": 8.100000000000001,
"HR9": 0.9000000000000001,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "622088",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 86.53794850652704,
"release_spin_rate": 2760.615409617734,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 86.53794850652704,
"release_spin_rate": 2760.615409617734,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.5379,
"release_spin_rate": 2760.6154,
"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.1867,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3338,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.643,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5706,
"prior_weight": 0.4294
},
"role": "pitcher",
"player_id": "622088",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 4.8,
"Pitches": 20.6
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.125,
"ER_per_IP": 0.1875,
"H_per_IP": 0.9375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 165.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 4.0,
"Pitches": 16.5
},
"rates": {
"ERA": 0.9,
"WHIP": 0.8,
"ER_per_IP": 0.1,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 0.9,
"HR_per_IP": 0.1
}
},
"season": {
"games": 33,
"totals": {
"IP": 33.1,
"ER": 8.0,
"R": 10.0,
"H": 23.0,
"BB": 8.0,
"SO": 30.0,
"HR": 4.0,
"BF": 137.0,
"Pitches": 529.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2424,
"R": 0.303,
"H": 0.697,
"BB": 0.2424,
"SO": 0.9091,
"HR": 0.1212,
"BF": 4.1515,
"Pitches": 16.0303
},
"rates": {
"ERA": 2.16,
"WHIP": 0.93,
"ER_per_IP": 0.24,
"H_per_IP": 0.69,
"BB_per_IP": 0.24,
"SO_per_IP": 0.9,
"HR_per_IP": 0.12
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.313,
"predicted_H": 0.858,
"predicted_BB": 0.268,
"predicted_SO": 0.935,
"predicted_HR": 0.147,
"predicted_ERA": 2.8153,
"predicted_WHIP": 1.1267
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5314,
"form_weight": 0.4686,
"form_reliability": 0.5706,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.643,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5706,
"prior_weight": 0.4294
},
"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.1467,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.858,
"final": 0.402,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.268,
"final": 0.657,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.935,
"final": 0.9695,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.147,
"final": 0.0689,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8153,
"final": 2.8153,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1267,
"final": 1.1267,
"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 | Caleb Ferguson |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0827 |
| ESPN Rank | 233 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0523 |
| Avg Velo | 88.9389 |
| Avg Spin | 2506.5192 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.4714 |
| Season WHIP | 1.5000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 117,
"wins": 52,
"losses": 65,
"win_pct": 0.4444,
"runs_scored": 473.0,
"runs_allowed": 559.0,
"run_differential": -86.0,
"run_differential_per_game": -0.735,
"avg_runs_scored": 4.0427,
"avg_runs_allowed": 4.7778,
"offense_index": 0.8939,
"defense_index": 0.9466,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1366
},
"opponent": {
"team": "PIT",
"games": 118,
"wins": 57,
"losses": 61,
"win_pct": 0.4831,
"runs_scored": 582.0,
"runs_allowed": 554.0,
"run_differential": 28.0,
"run_differential_per_game": 0.2373,
"avg_runs_scored": 4.9322,
"avg_runs_allowed": 4.6949,
"offense_index": 1.0905,
"defense_index": 0.9633,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.7,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.0555
},
"edges": {
"quality_edge": -0.0811,
"offense_edge": -0.1061,
"opponent_offense_edge": 0.0905,
"defense_strength": -0.0534,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9915,
"run_prevention": 1.0239,
"strikeout": 0.9903
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657571",
"profile": {
"available": true,
"pitcher_id": "657571",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 20.8,
"bb_percent": 10.9,
"woba": 0.339,
"xwoba": 0.295,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 33.8,
"avg_best_speed": 74.3043,
"avg_hyper_speed": 93.2499,
"whiff_percent": 19.9,
"swing_percent": 45.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.3383,
"command_and_miss": -0.4896,
"regression_edge": 1.2571,
"xwoba_edge": 0.4857,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.6143,
"whiff_edge": -0.8286,
"bb_edge": -0.5,
"pitch_design_score": -0.0523
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657571",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 88.93891938399291,
"release_spin_rate": 2506.5192290163927,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 88.93891938399291,
"release_spin_rate": 2506.5192290163927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9389,
"release_spin_rate": 2506.5192,
"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.0523,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3734,
"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.0827,
"sample_weight": 0.45,
"run_prevention_factor": 0.993,
"strikeout_factor": 0.9811,
"walk_factor": 1.018,
"homer_factor": 0.9616,
"woba_minus_xwoba": 0.044,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "657571",
"espn_id": 41017,
"player_name": "Caleb Ferguson",
"team": "CIN",
"role": "pitcher",
"espn_rank": 233,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 233,
"gp_value": 24.0,
"gp_rank": 209,
"gs_value": 1.0,
"gs_rank": 274,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.4714,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 2.0,
"hld_rank": 199,
"ip_value": 23.1,
"ip_rank": 422,
"h_value": 24.0,
"h_rank": 391,
"er_value": 9.0,
"er_rank": 472,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 11.0,
"bb_rank": 382,
"k_value": 21.0,
"k_rank": 421,
"k_per_9_value": 8.1,
"k_per_9_rank": 26,
"whip_value": 1.5,
"whip_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0081,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9827,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9915,
"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": 6,
"H": 11,
"BB": 6,
"SO": 7,
"HR": 2,
"ERA": 6.230769230769231,
"WHIP": 1.9615384615384617,
"K9": 7.26923076923077,
"HR9": 2.076923076923077,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "657571",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 88.93891938399291,
"release_spin_rate": 2506.5192290163927,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 88.93891938399291,
"release_spin_rate": 2506.5192290163927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9389,
"release_spin_rate": 2506.5192,
"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.0523,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3734,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 4.65,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4819,
"prior_weight": 0.5181
},
"role": "pitcher",
"player_id": "657571",
"report_date": "20260730_P",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 5.0,
"BB": 4.0,
"SO": 4.0,
"HR": 2.0,
"BF": 23.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.0,
"BB": 0.8,
"SO": 0.8,
"HR": 0.4,
"BF": 4.6,
"Pitches": 16.0
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.9286,
"ER_per_IP": 0.85714,
"H_per_IP": 1.07143,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 6.0,
"R": 6.0,
"H": 11.0,
"BB": 6.0,
"SO": 7.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.1,
"BB": 0.6,
"SO": 0.7,
"HR": 0.2,
"BF": 4.1,
"Pitches": 15.4
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.9615,
"ER_per_IP": 0.69231,
"H_per_IP": 1.26923,
"BB_per_IP": 0.69231,
"SO_per_IP": 0.80769,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 24,
"totals": {
"IP": 23.1,
"ER": 9.0,
"R": 9.0,
"H": 24.0,
"BB": 11.0,
"SO": 21.0,
"HR": 3.0,
"BF": 103.0,
"Pitches": 393.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.375,
"H": 1.0,
"BB": 0.4583,
"SO": 0.875,
"HR": 0.125,
"BF": 4.2917,
"Pitches": 16.375
},
"rates": {
"ERA": 3.4714,
"WHIP": 1.5,
"ER_per_IP": 0.38571,
"H_per_IP": 1.02857,
"BB_per_IP": 0.47143,
"SO_per_IP": 0.9,
"HR_per_IP": 0.12857
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.498,
"predicted_H": 0.87,
"predicted_BB": 0.441,
"predicted_SO": 0.749,
"predicted_HR": 0.184,
"predicted_ERA": 5.4181,
"predicted_WHIP": 1.5838
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5689,
"form_weight": 0.4311,
"form_reliability": 0.4819,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.65,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4819,
"prior_weight": 0.5181
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.498,
"final": 0.2147,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.87,
"final": 0.3751,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.441,
"final": 0.1901,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.749,
"final": 0.8918,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.184,
"final": 0.0793,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4181,
"final": 5.4181,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5838,
"final": 1.5838,
"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.217 | 0.000 | 0.000 | Hitting_2B | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.802 | 3.000 | 4.000 | Hitting_AB | 3.813 | 5.000 | -0.813 | -2.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.247 | 0.200 | -0.247 | -0.200 |
| predicted_BB | 0.453 | 1.000 | 0.000 | Hitting_BB | 0.516 | 0.000 | 0.484 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 0.972 | 0.000 | 1.000 | Hitting_H | 0.944 | 1.000 | -0.944 | -1.000 |
| predicted_HR | 0.208 | 0.000 | 0.000 | Hitting_HR | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_OBP | 0.335 | 0.250 | 0.250 | Hitting_OBP | 0.335 | 0.200 | -0.085 | 0.050 |
| predicted_R | 0.528 | 0.000 | 1.000 | Hitting_R | 0.536 | 0.000 | -0.536 | 0.000 |
| predicted_RBI | 0.745 | 0.000 | 1.000 | Hitting_RBI | 0.764 | 0.000 | -0.764 | 0.000 |
| predicted_SLG | 0.476 | 0.000 | 0.250 | Hitting_SLG | 0.470 | 0.200 | -0.470 | -0.200 |
| predicted_SO | 0.925 | 0.000 | 1.000 | Hitting_SO | 0.905 | 3.000 | -0.905 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4530 -> 1.0000 (boost 0.5470, better) |
| Biggest Deboost | predicted_H: 0.9720 -> 0.0000 (deboost -0.9720, 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 | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.9250 -> 0.9911 (boost 0.0661, worse) | predicted_AB: 3.8020 -> 3.7450 (deboost -0.0570, 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 | 2 | 3 | predicted_AB: 3.7450 -> 4.0000 (boost 0.2550, better) | predicted_BB: 0.4208 -> 0.0000 (deboost -0.4208, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.254 HR/AB=0.055 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5095 -> 1.0000 (boost 0.4905, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4743 -> 0.2500 (deboost -0.2243, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.4743 (boost 0.2243, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "3B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.217,
"predicted_3B": 0.0,
"predicted_AB": 3.802,
"predicted_AVG": 0.256,
"predicted_BB": 0.453,
"predicted_H": 0.972,
"predicted_HR": 0.208,
"predicted_OBP": 0.335,
"predicted_R": 0.528,
"predicted_RBI": 0.745,
"predicted_SLG": 0.476,
"predicted_SO": 0.925
},
"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.179,
"predicted_3B": 0.0004,
"predicted_AB": 3.745,
"predicted_AVG": 0.2592,
"predicted_BB": 0.4236,
"predicted_H": 0.9698,
"predicted_HBP": 0.012,
"predicted_HR": 0.2132,
"predicted_OBP": 0.3333,
"predicted_R": 0.5142,
"predicted_RBI": 0.7813,
"predicted_SLG": 0.4771,
"predicted_SO": 0.9911
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.179,
"delta": -0.038,
"percent_delta": -0.1751,
"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.802,
"after": 3.745,
"delta": -0.057,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2592,
"delta": 0.0032,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.453,
"after": 0.4236,
"delta": -0.0294,
"percent_delta": -0.0649,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.972,
"after": 0.9698,
"delta": -0.0022,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.208,
"after": 0.2132,
"delta": 0.0052,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3333,
"delta": -0.0017,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.528,
"after": 0.5142,
"delta": -0.0138,
"percent_delta": -0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.745,
"after": 0.7813,
"delta": 0.0363,
"percent_delta": 0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4771,
"delta": 0.0011,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.925,
"after": 0.9911,
"delta": 0.0661,
"percent_delta": 0.0715,
"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": 0.925,
"after": 0.9911,
"delta": 0.0661,
"percent_delta": 0.0715,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.802,
"after": 3.745,
"delta": -0.057,
"percent_delta": -0.015,
"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": 106
}
},
{
"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.179,
"predicted_3B": 0.0004,
"predicted_AB": 3.745,
"predicted_AVG": 0.2577,
"predicted_BB": 0.4208,
"predicted_H": 0.965,
"predicted_HBP": 0.012,
"predicted_HR": 0.2104,
"predicted_OBP": 0.3327,
"predicted_R": 0.5095,
"predicted_RBI": 0.7742,
"predicted_SLG": 0.4743,
"predicted_SO": 0.9977
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.179,
"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.745,
"after": 3.745,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2592,
"after": 0.2577,
"delta": -0.0015,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4236,
"after": 0.4208,
"delta": -0.0028,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9698,
"after": 0.965,
"delta": -0.0048,
"percent_delta": -0.0049,
"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.2132,
"after": 0.2104,
"delta": -0.0028,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.3327,
"delta": -0.0006,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5142,
"after": 0.5095,
"delta": -0.0047,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7813,
"after": 0.7742,
"delta": -0.0071,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4771,
"after": 0.4743,
"delta": -0.0028,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9911,
"after": 0.9977,
"delta": 0.0066,
"percent_delta": 0.0067,
"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.80), rates preserved: AVG=0.254 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.179,
"after": 0.0,
"delta": -0.179,
"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.745,
"after": 4.0,
"delta": 0.255,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4208,
"after": 0.0,
"delta": -0.4208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.965,
"after": 1.0,
"delta": 0.035,
"percent_delta": 0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2104,
"after": 0.0,
"delta": -0.2104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7742,
"after": 1.0,
"delta": 0.2258,
"percent_delta": 0.2917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9977,
"after": 1.0,
"delta": 0.0023,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.745,
"after": 4.0,
"delta": 0.255,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4208,
"after": 0.0,
"delta": -0.4208,
"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.5095,
"after": 1.0,
"delta": 0.4905,
"percent_delta": 0.9627,
"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.5095,
"after": 1.0,
"delta": 0.4905,
"percent_delta": 0.9627,
"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.2577,
"after": 0.25,
"delta": -0.0077,
"percent_delta": -0.0299,
"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.3327,
"after": 0.25,
"delta": -0.0827,
"percent_delta": -0.2486,
"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.4743,
"after": 0.25,
"delta": -0.2243,
"percent_delta": -0.4729,
"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.4743,
"after": 0.25,
"delta": -0.2243,
"percent_delta": -0.4729,
"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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2577,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3327,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4743,
"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": 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.25,
"after": 0.2577,
"delta": 0.0077,
"percent_delta": 0.0308,
"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.25,
"after": 0.3327,
"delta": 0.0827,
"percent_delta": 0.3307,
"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.4743,
"delta": 0.2243,
"percent_delta": 0.897,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4743,
"delta": 0.2243,
"percent_delta": 0.897,
"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.217,
"after": 0.0,
"delta": -0.217,
"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.802,
"after": 3.0,
"delta": -0.802,
"percent_delta": -0.2109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2577,
"delta": 0.0017,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.453,
"after": 1.0,
"delta": 0.547,
"percent_delta": 1.2075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.972,
"after": 0.0,
"delta": -0.972,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3327,
"delta": -0.0023,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.528,
"after": 0.0,
"delta": -0.528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.745,
"after": 0.0,
"delta": -0.745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4743,
"delta": -0.0017,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.925,
"after": 0.0,
"delta": -0.925,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.453,
"after": 1.0,
"delta": 0.547,
"percent_delta": 1.2075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.972,
"after": 0.0,
"delta": -0.972,
"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.217 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.802 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.453 | - |
| predicted_H | 0.972 | - |
| predicted_HR | 0.208 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.528 | - |
| predicted_RBI | 0.745 | - |
| predicted_SLG | 0.476 | - |
| predicted_SO | 0.925 | - |
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.179 | -0.038 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.745 | -0.057 |
| predicted_AVG | 0.259 | 0.003 |
| predicted_BB | 0.424 | -0.029 |
| predicted_H | 0.970 | -0.002 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.213 | 0.005 |
| predicted_OBP | 0.333 | -0.002 |
| predicted_R | 0.514 | -0.014 |
| predicted_RBI | 0.781 | 0.036 |
| predicted_SLG | 0.477 | 0.001 |
| predicted_SO | 0.991 | 0.066 |
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.179 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.745 | 0.000 |
| predicted_AVG | 0.258 | -0.002 |
| predicted_BB | 0.421 | -0.003 |
| predicted_H | 0.965 | -0.005 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.210 | -0.003 |
| predicted_OBP | 0.333 | -0.001 |
| predicted_R | 0.509 | -0.005 |
| predicted_RBI | 0.774 | -0.007 |
| predicted_SLG | 0.474 | -0.003 |
| predicted_SO | 0.998 | 0.007 |
AB rounded to 4 (raw=3.80), rates preserved: AVG=0.254 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.179 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.255 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.421 |
| predicted_H | 1.000 | 0.035 |
| predicted_HR | 0.000 | -0.210 |
| predicted_OBP | 0.250 | -0.083 |
| predicted_R | 1.000 | 0.491 |
| predicted_RBI | 1.000 | 0.226 |
| predicted_SLG | 0.250 | -0.224 |
| predicted_SO | 1.000 | 0.002 |
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 | -1.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 | -1.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 | - | 16.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 2.000 | 7.000 | 0.3125 | 0.3889 | 0.5000 | 0.3125 | 0.0625 | 0.2500 | 0.1250 | 0.4375 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 0.000 | 0.000 | 3.000 | 12.000 | 5.000 | 2.000 | 12.000 | 0.2432 | 0.2750 | 0.4865 | 0.2432 | 0.0811 | 0.3243 | 0.0541 | 0.3243 |
| season | 0.60 | 106 | - | 403.000 | 103.000 | 23.000 | 0.000 | 22.000 | 79.000 | 56.000 | 48.000 | 98.000 | 0.2556 | 0.3333 | 0.4764 | 0.2556 | 0.0546 | 0.1960 | 0.1191 | 0.2432 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6700 |
| predicted_AVG | 0.2635 |
| predicted_BB | 0.3850 |
| predicted_H | 0.9670 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.2200 |
| predicted_OBP | 0.3311 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.8290 |
| predicted_SLG | 0.4786 |
| predicted_SO | 1.0780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.1290 | 0.1790 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8020 | 3.6700 | 3.7450 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2635 | 0.2592 | model_form_blend |
| predicted_BB | 0.4530 | 0.3850 | 0.4236 | model_form_blend |
| predicted_H | 0.9720 | 0.9670 | 0.9698 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.2080 | 0.2200 | 0.2132 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3311 | 0.3333 | model_form_blend |
| predicted_R | 0.5280 | 0.4960 | 0.5142 | model_form_blend |
| predicted_RBI | 0.7450 | 0.8290 | 0.7813 | model_form_blend |
| predicted_SLG | 0.4760 | 0.4786 | 0.4771 | model_form_blend |
| predicted_SO | 0.9250 | 1.0780 | 0.9911 | 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 | 444 |
| Season rows before report date | 444 |
| Report year | 2026 |
| Profile rows used | 106 |
| 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.256 |
| 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.2 |
| 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 | 3 |
| 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 | 1B |
| gameID | 20260729_CLE@CIN |
| game_type | full |
| mlbID | 701398 |
| playerID | 701398 |
| playerName | Sal Stewart |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.346 |
| sl_xwoba | 0.349 |
| sl_xba | 0.251 |
| sl_xslg | 0.474 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 14.4 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 47.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.189 | 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 | 3.068 | 3.000 | 3.000 | Hitting_AB | 3.273 | 1.000 | -0.273 | 2.000 |
| predicted_AVG | 0.256 | 0.000 | 0.333 | Hitting_AVG | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_BB | 0.324 | 1.000 | 0.000 | Hitting_BB | 0.416 | 0.000 | 0.584 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.784 | 0.000 | 1.000 | Hitting_H | 0.849 | 0.000 | -0.849 | 0.000 |
| predicted_HR | 0.149 | 0.000 | 0.000 | Hitting_HR | 0.212 | 0.000 | -0.212 | 0.000 |
| predicted_OBP | 0.327 | 0.250 | 0.333 | Hitting_OBP | 0.343 | 0.000 | -0.093 | 0.250 |
| predicted_R | 0.311 | 0.000 | 0.000 | Hitting_R | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_RBI | 0.432 | 0.000 | 0.000 | Hitting_RBI | 0.502 | 0.000 | -0.502 | 0.000 |
| predicted_SLG | 0.463 | 0.000 | 0.333 | Hitting_SLG | 0.509 | 0.000 | -0.509 | 0.000 |
| predicted_SO | 0.892 | 0.000 | 1.000 | Hitting_SO | 0.914 | 1.000 | -0.914 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.3240 -> 1.0000 (boost 0.6760, better) |
| Biggest Deboost | predicted_SO: 0.8920 -> 0.0000 (deboost -0.8920, 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 | 4 | 0 | 4 | 0 | predicted_AB: 3.0680 -> 3.1878 (boost 0.1198, 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 | 2 | 5 | 1 | 6 | predicted_H: 0.8602 -> 1.0000 (boost 0.1398, better) | predicted_RBI: 0.4542 -> 0.0000 (deboost -0.4542, worse) | AB rounded to 3 (raw=3.19), rates preserved: AVG=0.270 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3152 -> 0.0000 (deboost -0.3152, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2698 -> 0.3330 (boost 0.0632, better) | predicted_SLG: 0.4658 -> 0.3330 (deboost -0.1328, 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_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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4658 (boost 0.1328, better) | predicted_AVG: 0.3330 -> 0.2698 (deboost -0.0632, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.0,
"predicted_AB": 3.068,
"predicted_AVG": 0.256,
"predicted_BB": 0.324,
"predicted_H": 0.784,
"predicted_HR": 0.149,
"predicted_OBP": 0.327,
"predicted_R": 0.311,
"predicted_RBI": 0.432,
"predicted_SLG": 0.463,
"predicted_SO": 0.892
},
"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.184,
"predicted_3B": 0.0004,
"predicted_AB": 3.1878,
"predicted_AVG": 0.2706,
"predicted_BB": 0.2784,
"predicted_H": 0.8644,
"predicted_HBP": 0.003,
"predicted_HR": 0.1486,
"predicted_OBP": 0.3304,
"predicted_R": 0.3181,
"predicted_RBI": 0.4584,
"predicted_SLG": 0.4689,
"predicted_SO": 0.874
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.184,
"delta": -0.005,
"percent_delta": -0.0265,
"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.068,
"after": 3.1878,
"delta": 0.1198,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2706,
"delta": 0.0146,
"percent_delta": 0.057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.2784,
"delta": -0.0456,
"percent_delta": -0.1407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.784,
"after": 0.8644,
"delta": 0.0804,
"percent_delta": 0.1026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.149,
"after": 0.1486,
"delta": -0.0004,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3304,
"delta": 0.0034,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.311,
"after": 0.3181,
"delta": 0.0071,
"percent_delta": 0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.432,
"after": 0.4584,
"delta": 0.0264,
"percent_delta": 0.0611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.4689,
"delta": 0.0059,
"percent_delta": 0.0127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.892,
"after": 0.874,
"delta": -0.018,
"percent_delta": -0.0202,
"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_AB",
"before": 3.068,
"after": 3.1878,
"delta": 0.1198,
"percent_delta": 0.039,
"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": 74
}
},
{
"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.184,
"predicted_3B": 0.0004,
"predicted_AB": 3.1878,
"predicted_AVG": 0.2698,
"predicted_BB": 0.2765,
"predicted_H": 0.8602,
"predicted_HBP": 0.003,
"predicted_HR": 0.1467,
"predicted_OBP": 0.3281,
"predicted_R": 0.3152,
"predicted_RBI": 0.4542,
"predicted_SLG": 0.4658,
"predicted_SO": 0.8799
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.184,
"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.1878,
"after": 3.1878,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2706,
"after": 0.2698,
"delta": -0.0008,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2784,
"after": 0.2765,
"delta": -0.0019,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8644,
"after": 0.8602,
"delta": -0.0042,
"percent_delta": -0.0049,
"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.1486,
"after": 0.1467,
"delta": -0.0019,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3304,
"after": 0.3281,
"delta": -0.0023,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3181,
"after": 0.3152,
"delta": -0.0029,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4584,
"after": 0.4542,
"delta": -0.0042,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4689,
"after": 0.4658,
"delta": -0.0031,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.874,
"after": 0.8799,
"delta": 0.0059,
"percent_delta": 0.0068,
"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.19), rates preserved: AVG=0.270 HR/AB=0.046",
"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.184,
"after": 0.0,
"delta": -0.184,
"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.1878,
"after": 3.0,
"delta": -0.1878,
"percent_delta": -0.0589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2765,
"after": 0.0,
"delta": -0.2765,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8602,
"after": 1.0,
"delta": 0.1398,
"percent_delta": 0.1625,
"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.1467,
"after": 0.0,
"delta": -0.1467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4542,
"after": 0.0,
"delta": -0.4542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8799,
"after": 1.0,
"delta": 0.1201,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8602,
"after": 1.0,
"delta": 0.1398,
"percent_delta": 0.1625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4542,
"after": 0.0,
"delta": -0.4542,
"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.3152,
"after": 0.0,
"delta": -0.3152,
"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.3152,
"after": 0.0,
"delta": -0.3152,
"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.2698,
"after": 0.333,
"delta": 0.0632,
"percent_delta": 0.2342,
"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.3281,
"after": 0.333,
"delta": 0.0049,
"percent_delta": 0.0149,
"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_SLG",
"before": 0.4658,
"after": 0.333,
"delta": -0.1328,
"percent_delta": -0.2851,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2698,
"after": 0.333,
"delta": 0.0632,
"percent_delta": 0.2342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4658,
"after": 0.333,
"delta": -0.1328,
"percent_delta": -0.2851,
"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": 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.2698,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3281,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4658,
"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.2698,
"delta": -0.0632,
"percent_delta": -0.1897,
"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.3281,
"delta": -0.0049,
"percent_delta": -0.0147,
"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_SLG",
"before": 0.333,
"after": 0.4658,
"delta": 0.1328,
"percent_delta": 0.3988,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4658,
"delta": 0.1328,
"percent_delta": 0.3988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2698,
"delta": -0.0632,
"percent_delta": -0.1897,
"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.189,
"after": 0.0,
"delta": -0.189,
"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.068,
"after": 3.0,
"delta": -0.068,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2698,
"delta": 0.0138,
"percent_delta": 0.0539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 1.0,
"delta": 0.676,
"percent_delta": 2.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.784,
"after": 0.0,
"delta": -0.784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3281,
"delta": 0.0011,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.311,
"after": 0.0,
"delta": -0.311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.432,
"after": 0.0,
"delta": -0.432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.4658,
"delta": 0.0028,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.892,
"after": 0.0,
"delta": -0.892,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.324,
"after": 1.0,
"delta": 0.676,
"percent_delta": 2.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.892,
"after": 0.0,
"delta": -0.892,
"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.189 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.068 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 0.784 | - |
| predicted_HR | 0.149 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.311 | - |
| predicted_RBI | 0.432 | - |
| predicted_SLG | 0.463 | - |
| predicted_SO | 0.892 | - |
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.184 | -0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.188 | 0.120 |
| predicted_AVG | 0.271 | 0.015 |
| predicted_BB | 0.278 | -0.046 |
| predicted_H | 0.864 | 0.080 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.149 | -0.000 |
| predicted_OBP | 0.330 | 0.003 |
| predicted_R | 0.318 | 0.007 |
| predicted_RBI | 0.458 | 0.026 |
| predicted_SLG | 0.469 | 0.006 |
| predicted_SO | 0.874 | -0.018 |
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.184 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.188 | 0.000 |
| predicted_AVG | 0.270 | -0.001 |
| predicted_BB | 0.277 | -0.002 |
| predicted_H | 0.860 | -0.004 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.147 | -0.002 |
| predicted_OBP | 0.328 | -0.002 |
| predicted_R | 0.315 | -0.003 |
| predicted_RBI | 0.454 | -0.004 |
| predicted_SLG | 0.466 | -0.003 |
| predicted_SO | 0.880 | 0.006 |
AB rounded to 3 (raw=3.19), rates preserved: AVG=0.270 HR/AB=0.046
| 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.184 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.188 |
| predicted_AVG | 0.333 | 0.063 |
| predicted_BB | 0.000 | -0.277 |
| predicted_H | 1.000 | 0.140 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.333 | 0.005 |
| predicted_R | 0.000 | -0.315 |
| predicted_RBI | 0.000 | -0.454 |
| predicted_SLG | 0.333 | -0.133 |
| predicted_SO | 1.000 | 0.120 |
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 | - | 18.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 4.000 | 0.3889 | 0.3889 | 0.4444 | 0.3889 | 0.0000 | 0.1111 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 10 | - | 37.000 | 12.000 | 1.000 | 0.000 | 3.000 | 8.000 | 4.000 | 0.000 | 7.000 | 0.3243 | 0.3243 | 0.5946 | 0.3243 | 0.0811 | 0.2162 | 0.0000 | 0.1892 |
| season | 0.60 | 74 | - | 227.000 | 58.000 | 14.000 | 0.000 | 11.000 | 32.000 | 23.000 | 24.000 | 66.000 | 0.2555 | 0.3267 | 0.4626 | 0.2555 | 0.0485 | 0.1410 | 0.1057 | 0.2908 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1770 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3540 |
| predicted_AVG | 0.2908 |
| predicted_BB | 0.2150 |
| predicted_H | 0.9760 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1480 |
| predicted_OBP | 0.3351 |
| predicted_R | 0.3280 |
| predicted_RBI | 0.4950 |
| predicted_SLG | 0.4772 |
| predicted_SO | 0.8490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1770 | 0.1840 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0680 | 3.3540 | 3.1878 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2908 | 0.2706 | model_form_blend |
| predicted_BB | 0.3240 | 0.2150 | 0.2784 | model_form_blend |
| predicted_H | 0.7840 | 0.9760 | 0.8644 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1490 | 0.1480 | 0.1486 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3351 | 0.3304 | model_form_blend |
| predicted_R | 0.3110 | 0.3280 | 0.3181 | model_form_blend |
| predicted_RBI | 0.4320 | 0.4950 | 0.4584 | model_form_blend |
| predicted_SLG | 0.4630 | 0.4772 | 0.4689 | model_form_blend |
| predicted_SO | 0.8920 | 0.8490 | 0.8740 | 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 | 245 |
| Season rows before report date | 245 |
| Report year | 2026 |
| Profile rows used | 74 |
| 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.256 |
| 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 | 1 |
| 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 | PH |
| gameID | 20260729_CLE@CIN |
| game_type | ph |
| mlbID | 663993 |
| note | Struck out for Hayes in the 9th. |
| playerID | 663993 |
| playerName | Nathaniel Lowe |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.349 |
| sl_xwoba | 0.352 |
| sl_xba | 0.271 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 39.6 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 45.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.145 | 0.000 | 0.000 | Hitting_2B | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.890 | 4.000 | 4.000 | Hitting_AB | 3.692 | 4.000 | 0.308 | 0.000 |
| predicted_AVG | 0.197 | 0.000 | 0.250 | Hitting_AVG | 0.212 | 0.250 | -0.212 | -0.250 |
| predicted_BB | 0.329 | 0.000 | 0.000 | Hitting_BB | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.784 | 1.000 | -0.784 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_OBP | 0.257 | 0.000 | 0.250 | Hitting_OBP | 0.282 | 0.250 | -0.282 | -0.250 |
| predicted_R | 0.355 | 0.000 | 0.000 | Hitting_R | 0.363 | 0.000 | -0.363 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.534 | 0.000 | -0.534 | 0.000 |
| predicted_SLG | 0.389 | 0.000 | 0.250 | Hitting_SLG | 0.402 | 0.250 | -0.402 | -0.250 |
| predicted_SO | 1.487 | 3.000 | 2.000 | Hitting_SO | 1.473 | 3.000 | 1.527 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.4870 -> 3.0000 (boost 1.5130, worse) |
| Biggest Deboost | predicted_H: 0.7700 -> 0.0000 (deboost -0.7700, 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 | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.4870 -> 1.5463 (boost 0.0593, worse) | predicted_AB: 3.8900 -> 3.8391 (deboost -0.0509, 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.3884 -> 0.3766 (deboost -0.0118, 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.4952 -> 1.0000 (boost 0.5048, better) | predicted_BB: 0.3200 -> 0.0000 (deboost -0.3200, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.193 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3497 -> 0.0000 (deboost -0.3497, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1956 -> 0.2500 (boost 0.0544, better) | predicted_SLG: 0.3766 -> 0.2500 (deboost -0.1266, 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: 2.0000 -> 3.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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3766 (boost 0.1266, better) | predicted_AVG: 0.2500 -> 0.1956 (deboost -0.0544, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"position": "DH",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.0,
"predicted_AB": 3.89,
"predicted_AVG": 0.197,
"predicted_BB": 0.329,
"predicted_H": 0.77,
"predicted_HR": 0.18,
"predicted_OBP": 0.257,
"predicted_R": 0.355,
"predicted_RBI": 0.52,
"predicted_SLG": 0.389,
"predicted_SO": 1.487
},
"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.1323,
"predicted_3B": 0.0004,
"predicted_AB": 3.8391,
"predicted_AVG": 0.196,
"predicted_BB": 0.3222,
"predicted_H": 0.7547,
"predicted_HBP": 0.018,
"predicted_HR": 0.1897,
"predicted_OBP": 0.2579,
"predicted_R": 0.3529,
"predicted_RBI": 0.4997,
"predicted_SLG": 0.3884,
"predicted_SO": 1.5463
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1323,
"delta": -0.0127,
"percent_delta": -0.0876,
"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.89,
"after": 3.8391,
"delta": -0.0509,
"percent_delta": -0.0131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.196,
"delta": -0.001,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.3222,
"delta": -0.0068,
"percent_delta": -0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7547,
"delta": -0.0153,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1897,
"delta": 0.0097,
"percent_delta": 0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2579,
"delta": 0.0009,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.355,
"after": 0.3529,
"delta": -0.0021,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.4997,
"delta": -0.0203,
"percent_delta": -0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3884,
"delta": -0.0006,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.487,
"after": 1.5463,
"delta": 0.0593,
"percent_delta": 0.0399,
"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.487,
"after": 1.5463,
"delta": 0.0593,
"percent_delta": 0.0399,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.89,
"after": 3.8391,
"delta": -0.0509,
"percent_delta": -0.0131,
"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.1323,
"predicted_3B": 0.0004,
"predicted_AB": 3.8391,
"predicted_AVG": 0.1956,
"predicted_BB": 0.32,
"predicted_H": 0.751,
"predicted_HBP": 0.018,
"predicted_HR": 0.1872,
"predicted_OBP": 0.2575,
"predicted_R": 0.3497,
"predicted_RBI": 0.4952,
"predicted_SLG": 0.3766,
"predicted_SO": 1.5567
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1323,
"after": 0.1323,
"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.8391,
"after": 3.8391,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.196,
"after": 0.1956,
"delta": -0.0004,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3222,
"after": 0.32,
"delta": -0.0022,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7547,
"after": 0.751,
"delta": -0.0037,
"percent_delta": -0.0049,
"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.1897,
"after": 0.1872,
"delta": -0.0025,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2579,
"after": 0.2575,
"delta": -0.0004,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3529,
"after": 0.3497,
"delta": -0.0032,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4997,
"after": 0.4952,
"delta": -0.0045,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3884,
"after": 0.3766,
"delta": -0.0118,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5463,
"after": 1.5567,
"delta": 0.0104,
"percent_delta": 0.0067,
"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.3884,
"after": 0.3766,
"delta": -0.0118,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.89), rates preserved: AVG=0.193 HR/AB=0.048",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1323,
"after": 0.0,
"delta": -0.1323,
"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.8391,
"after": 4.0,
"delta": 0.1609,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.751,
"after": 1.0,
"delta": 0.249,
"percent_delta": 0.3316,
"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.1872,
"after": 0.0,
"delta": -0.1872,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4952,
"after": 1.0,
"delta": 0.5048,
"percent_delta": 1.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5567,
"after": 2.0,
"delta": 0.4433,
"percent_delta": 0.2848,
"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.4952,
"after": 1.0,
"delta": 0.5048,
"percent_delta": 1.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"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": 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_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.3497,
"after": 0.0,
"delta": -0.3497,
"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": 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_R",
"before": 0.3497,
"after": 0.0,
"delta": -0.3497,
"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": 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.1956,
"after": 0.25,
"delta": 0.0544,
"percent_delta": 0.2781,
"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.2575,
"after": 0.25,
"delta": -0.0075,
"percent_delta": -0.0291,
"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.3766,
"after": 0.25,
"delta": -0.1266,
"percent_delta": -0.3362,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1956,
"after": 0.25,
"delta": 0.0544,
"percent_delta": 0.2781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3766,
"after": 0.25,
"delta": -0.1266,
"percent_delta": -0.3362,
"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": 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_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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"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.1956,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2575,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3766,
"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.25,
"after": 0.1956,
"delta": -0.0544,
"percent_delta": -0.2175,
"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.2575,
"delta": 0.0075,
"percent_delta": 0.0301,
"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.3766,
"delta": 0.1266,
"percent_delta": 0.5063,
"direction": "boost",
"projection_effect": "better",
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3766,
"delta": 0.1266,
"percent_delta": 0.5063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1956,
"delta": -0.0544,
"percent_delta": -0.2175,
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.89,
"after": 4.0,
"delta": 0.11,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.1956,
"delta": -0.0014,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2575,
"delta": 0.0005,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.355,
"after": 0.0,
"delta": -0.355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3766,
"delta": -0.0124,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.487,
"after": 3.0,
"delta": 1.513,
"percent_delta": 1.0175,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.487,
"after": 3.0,
"delta": 1.513,
"percent_delta": 1.0175,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.000 | - |
| predicted_AB | 3.890 | - |
| predicted_AVG | 0.197 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.257 | - |
| predicted_R | 0.355 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.389 | - |
| predicted_SO | 1.487 | - |
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.013 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.839 | -0.051 |
| predicted_AVG | 0.196 | -0.001 |
| predicted_BB | 0.322 | -0.007 |
| predicted_H | 0.755 | -0.015 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.190 | 0.010 |
| predicted_OBP | 0.258 | 0.001 |
| predicted_R | 0.353 | -0.002 |
| predicted_RBI | 0.500 | -0.020 |
| predicted_SLG | 0.388 | -0.001 |
| predicted_SO | 1.546 | 0.059 |
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 | 3.839 | 0.000 |
| predicted_AVG | 0.196 | -0.000 |
| predicted_BB | 0.320 | -0.002 |
| predicted_H | 0.751 | -0.004 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.187 | -0.003 |
| predicted_OBP | 0.258 | -0.000 |
| predicted_R | 0.350 | -0.003 |
| predicted_RBI | 0.495 | -0.005 |
| predicted_SLG | 0.377 | -0.012 |
| predicted_SO | 1.557 | 0.010 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.193 HR/AB=0.048
| 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 | 2.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 | 2.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 | 4.000 | 0.161 |
| predicted_AVG | 0.250 | 0.054 |
| predicted_BB | 0.000 | -0.320 |
| predicted_H | 1.000 | 0.249 |
| predicted_HR | 0.000 | -0.187 |
| predicted_OBP | 0.250 | -0.008 |
| predicted_R | 0.000 | -0.350 |
| predicted_RBI | 1.000 | 0.505 |
| predicted_SLG | 0.250 | -0.127 |
| predicted_SO | 2.000 | 0.443 |
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 | 3.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 | - | 20.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 12.000 | 0.1500 | 0.2273 | 0.3000 | 0.1500 | 0.0500 | 0.1000 | 0.1000 | 0.6000 |
| last_10 | 0.20 | 10 | - | 39.000 | 7.000 | 1.000 | 0.000 | 3.000 | 4.000 | 4.000 | 2.000 | 17.000 | 0.1795 | 0.2195 | 0.4359 | 0.1795 | 0.0769 | 0.1026 | 0.0513 | 0.4359 |
| season | 0.60 | 76 | - | 277.000 | 57.000 | 11.000 | 0.000 | 14.000 | 39.000 | 27.000 | 25.000 | 113.000 | 0.2058 | 0.2754 | 0.3971 | 0.2058 | 0.0505 | 0.1408 | 0.0902 | 0.4079 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7700 |
| predicted_AVG | 0.1947 |
| predicted_BB | 0.3130 |
| predicted_H | 0.7340 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.2030 |
| predicted_OBP | 0.2592 |
| predicted_R | 0.3500 |
| predicted_RBI | 0.4720 |
| predicted_SLG | 0.3876 |
| predicted_SO | 1.6270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.1150 | 0.1323 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8900 | 3.7700 | 3.8391 | model_form_blend |
| predicted_AVG | 0.1970 | 0.1947 | 0.1960 | model_form_blend |
| predicted_BB | 0.3290 | 0.3130 | 0.3222 | model_form_blend |
| predicted_H | 0.7700 | 0.7340 | 0.7547 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1800 | 0.2030 | 0.1897 | model_form_blend |
| predicted_OBP | 0.2570 | 0.2592 | 0.2579 | model_form_blend |
| predicted_R | 0.3550 | 0.3500 | 0.3529 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4720 | 0.4997 | model_form_blend |
| predicted_SLG | 0.3890 | 0.3876 | 0.3884 | model_form_blend |
| predicted_SO | 1.4870 | 1.6270 | 1.5463 | 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 | 292 |
| Season rows before report date | 292 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.206 |
| 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 | 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 | 3 |
| 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 | DH |
| gameID | 20260729_CLE@CIN |
| game_type | full |
| mlbID | 553993 |
| playerID | 553993 |
| playerName | Eugenio Suárez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 36.2 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.293 |
| sl_xwoba | 0.263 |
| sl_xba | 0.187 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 32.5 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 20.7 |
| sl_whiff_percent | 35.1 |
| 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.172 | 0.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.046 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 4.590 | 4.000 | 5.000 | Hitting_AB | 4.027 | 4.000 | -0.027 | 0.000 |
| predicted_AVG | 0.235 | 0.250 | 0.200 | Hitting_AVG | 0.287 | 0.000 | -0.037 | 0.250 |
| predicted_BB | 0.460 | 0.000 | 1.000 | Hitting_BB | 0.491 | 1.000 | -0.491 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.084 | 0.000 | -0.084 | 0.000 |
| predicted_H | 1.080 | 1.000 | 1.000 | Hitting_H | 1.156 | 0.000 | -0.156 | 1.000 |
| predicted_HR | 0.250 | 1.000 | 0.000 | Hitting_HR | 0.243 | 0.000 | 0.757 | 1.000 |
| predicted_OBP | 0.335 | 0.250 | 0.333 | Hitting_OBP | 0.366 | 0.200 | -0.116 | 0.050 |
| predicted_R | 0.678 | 1.000 | 1.000 | Hitting_R | 0.717 | 0.000 | 0.283 | 1.000 |
| predicted_RBI | 0.480 | 2.000 | 0.000 | Hitting_RBI | 0.639 | 0.000 | 1.361 | 2.000 |
| predicted_SLG | 0.467 | 1.000 | 0.200 | Hitting_SLG | 0.536 | 0.000 | 0.464 | 1.000 |
| predicted_SO | 1.253 | 0.000 | 1.000 | Hitting_SO | 1.213 | 1.000 | -1.213 | -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.4800 -> 2.0000 (boost 1.5200, better) |
| Biggest Deboost | predicted_SO: 1.2530 -> 0.0000 (deboost -1.2530, 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_AVG: 0.2350 -> 0.2432 (boost 0.0082, better) | predicted_AB: 4.5900 -> 4.3359 (deboost -0.2541, 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.3352 -> 0.3151 (deboost -0.0201, 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.3359 -> 5.0000 (boost 0.6641, better) | predicted_RBI: 0.4463 -> 0.0000 (deboost -0.4463, worse) | AB rounded to 5 (raw=4.59), rates preserved: AVG=0.228 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6625 -> 1.0000 (boost 0.3375, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3151 -> 0.3330 (boost 0.0179, better) | predicted_SLG: 0.4483 -> 0.2000 (deboost -0.2483, 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_RBI: 0.0000 -> 2.0000 (boost 2.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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.4483 (boost 0.2483, better) | predicted_OBP: 0.3330 -> 0.3151 (deboost -0.0179, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682829",
"player_name": "Elly De La Cruz",
"position": "SS",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.046,
"predicted_AB": 4.59,
"predicted_AVG": 0.235,
"predicted_BB": 0.46,
"predicted_H": 1.08,
"predicted_HR": 0.25,
"predicted_OBP": 0.335,
"predicted_R": 0.678,
"predicted_RBI": 0.48,
"predicted_SLG": 0.467,
"predicted_SO": 1.253
},
"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.1454,
"predicted_3B": 0.0378,
"predicted_AB": 4.3359,
"predicted_AVG": 0.2432,
"predicted_BB": 0.469,
"predicted_H": 1.0525,
"predicted_HBP": 0.015,
"predicted_HR": 0.2281,
"predicted_OBP": 0.3352,
"predicted_R": 0.6686,
"predicted_RBI": 0.4504,
"predicted_SLG": 0.4573,
"predicted_SO": 1.2775
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1454,
"delta": -0.0266,
"percent_delta": -0.1547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.046,
"after": 0.0378,
"delta": -0.0082,
"percent_delta": -0.1783,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.59,
"after": 4.3359,
"delta": -0.2541,
"percent_delta": -0.0554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2432,
"delta": 0.0082,
"percent_delta": 0.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 0.469,
"delta": 0.009,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.0525,
"delta": -0.0275,
"percent_delta": -0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2281,
"delta": -0.0219,
"percent_delta": -0.0876,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3352,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.678,
"after": 0.6686,
"delta": -0.0094,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4504,
"delta": -0.0296,
"percent_delta": -0.0617,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4573,
"delta": -0.0097,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.253,
"after": 1.2775,
"delta": 0.0245,
"percent_delta": 0.0196,
"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.235,
"after": 0.2432,
"delta": 0.0082,
"percent_delta": 0.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.59,
"after": 4.3359,
"delta": -0.2541,
"percent_delta": -0.0554,
"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": 87
}
},
{
"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.1454,
"predicted_3B": 0.0378,
"predicted_AB": 4.3359,
"predicted_AVG": 0.2416,
"predicted_BB": 0.4659,
"predicted_H": 1.0473,
"predicted_HBP": 0.015,
"predicted_HR": 0.2251,
"predicted_OBP": 0.3151,
"predicted_R": 0.6625,
"predicted_RBI": 0.4463,
"predicted_SLG": 0.4483,
"predicted_SO": 1.2861
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.1454,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0378,
"after": 0.0378,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3359,
"after": 4.3359,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2432,
"after": 0.2416,
"delta": -0.0016,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.469,
"after": 0.4659,
"delta": -0.0031,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0525,
"after": 1.0473,
"delta": -0.0052,
"percent_delta": -0.0049,
"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.2281,
"after": 0.2251,
"delta": -0.003,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3352,
"after": 0.3151,
"delta": -0.0201,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6686,
"after": 0.6625,
"delta": -0.0061,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4504,
"after": 0.4463,
"delta": -0.0041,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4573,
"after": 0.4483,
"delta": -0.009,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2775,
"after": 1.2861,
"delta": 0.0086,
"percent_delta": 0.0067,
"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.3352,
"after": 0.3151,
"delta": -0.0201,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.59), rates preserved: AVG=0.228 HR/AB=0.049",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.0,
"delta": -0.1454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0378,
"after": 0.0,
"delta": -0.0378,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3359,
"after": 5.0,
"delta": 0.6641,
"percent_delta": 0.1532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4659,
"after": 1.0,
"delta": 0.5341,
"percent_delta": 1.1464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0473,
"after": 1.0,
"delta": -0.0473,
"percent_delta": -0.0452,
"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.2251,
"after": 0.0,
"delta": -0.2251,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4463,
"after": 0.0,
"delta": -0.4463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2861,
"after": 1.0,
"delta": -0.2861,
"percent_delta": -0.2225,
"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.3359,
"after": 5.0,
"delta": 0.6641,
"percent_delta": 0.1532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4463,
"after": 0.0,
"delta": -0.4463,
"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": 1.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": 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.6625,
"after": 1.0,
"delta": 0.3375,
"percent_delta": 0.5094,
"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.6625,
"after": 1.0,
"delta": 0.3375,
"percent_delta": 0.5094,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.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.2416,
"after": 0.2,
"delta": -0.0416,
"percent_delta": -0.1722,
"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.3151,
"after": 0.333,
"delta": 0.0179,
"percent_delta": 0.0568,
"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_SLG",
"before": 0.4483,
"after": 0.2,
"delta": -0.2483,
"percent_delta": -0.5539,
"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.3151,
"after": 0.333,
"delta": 0.0179,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4483,
"after": 0.2,
"delta": -0.2483,
"percent_delta": -0.5539,
"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": 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": 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": 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": 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": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2416,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3151,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4483,
"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.2,
"after": 0.2416,
"delta": 0.0416,
"percent_delta": 0.2078,
"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": 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.3151,
"delta": -0.0179,
"percent_delta": -0.0536,
"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.2,
"after": 0.4483,
"delta": 0.2483,
"percent_delta": 1.2414,
"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.2,
"after": 0.4483,
"delta": 0.2483,
"percent_delta": 1.2414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3151,
"delta": -0.0179,
"percent_delta": -0.0536,
"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": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.59,
"after": 4.0,
"delta": -0.59,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2416,
"delta": 0.0066,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.0,
"delta": -0.08,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3151,
"delta": -0.0199,
"percent_delta": -0.0594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.678,
"after": 1.0,
"delta": 0.322,
"percent_delta": 0.4749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 2.0,
"delta": 1.52,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4483,
"delta": -0.0187,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.253,
"after": 0.0,
"delta": -1.253,
"percent_delta": -1.0,
"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.48,
"after": 2.0,
"delta": 1.52,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.253,
"after": 0.0,
"delta": -1.253,
"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.172 | - |
| predicted_3B | 0.046 | - |
| predicted_AB | 4.590 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.460 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.678 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.467 | - |
| predicted_SO | 1.253 | - |
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.145 | -0.027 |
| predicted_3B | 0.038 | -0.008 |
| predicted_AB | 4.336 | -0.254 |
| predicted_AVG | 0.243 | 0.008 |
| predicted_BB | 0.469 | 0.009 |
| predicted_H | 1.052 | -0.028 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.228 | -0.022 |
| predicted_OBP | 0.335 | 0.000 |
| predicted_R | 0.669 | -0.009 |
| predicted_RBI | 0.450 | -0.030 |
| predicted_SLG | 0.457 | -0.010 |
| predicted_SO | 1.278 | 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.145 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 4.336 | 0.000 |
| predicted_AVG | 0.242 | -0.002 |
| predicted_BB | 0.466 | -0.003 |
| predicted_H | 1.047 | -0.005 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.225 | -0.003 |
| predicted_OBP | 0.315 | -0.020 |
| predicted_R | 0.662 | -0.006 |
| predicted_RBI | 0.446 | -0.004 |
| predicted_SLG | 0.448 | -0.009 |
| predicted_SO | 1.286 | 0.009 |
AB rounded to 5 (raw=4.59), rates preserved: AVG=0.228 HR/AB=0.049
| 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 | 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 | 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 | 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.145 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 5.000 | 0.664 |
| predicted_AVG | 0.200 | -0.042 |
| predicted_BB | 1.000 | 0.534 |
| predicted_H | 1.000 | -0.047 |
| predicted_HR | 0.000 | -0.225 |
| predicted_OBP | 0.333 | 0.018 |
| predicted_R | 1.000 | 0.338 |
| predicted_RBI | 0.000 | -0.446 |
| predicted_SLG | 0.200 | -0.248 |
| predicted_SO | 1.000 | -0.286 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.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 | - | 21.000 | 5.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 9.000 | 0.2381 | 0.3043 | 0.3810 | 0.2381 | 0.0476 | 0.0476 | 0.0952 | 0.4286 |
| last_10 | 0.20 | 10 | - | 39.000 | 8.000 | 0.000 | 0.000 | 2.000 | 2.000 | 7.000 | 7.000 | 12.000 | 0.2051 | 0.3261 | 0.3590 | 0.2051 | 0.0513 | 0.0513 | 0.1795 | 0.3077 |
| season | 0.60 | 87 | - | 347.000 | 96.000 | 15.000 | 4.000 | 18.000 | 47.000 | 59.000 | 40.000 | 109.000 | 0.2767 | 0.3529 | 0.4986 | 0.2767 | 0.0519 | 0.1354 | 0.1153 | 0.3141 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1100 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.9980 |
| predicted_AVG | 0.2542 |
| predicted_BB | 0.4810 |
| predicted_H | 1.0160 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1990 |
| predicted_OBP | 0.3355 |
| predicted_R | 0.6560 |
| predicted_RBI | 0.4110 |
| predicted_SLG | 0.4445 |
| predicted_SO | 1.3100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1100 | 0.1454 | model_form_blend |
| predicted_3B | 0.0460 | 0.0270 | 0.0378 | model_form_blend |
| predicted_AB | 4.5900 | 3.9980 | 4.3359 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2542 | 0.2432 | model_form_blend |
| predicted_BB | 0.4600 | 0.4810 | 0.4690 | model_form_blend |
| predicted_H | 1.0800 | 1.0160 | 1.0525 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.2500 | 0.1990 | 0.2281 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3355 | 0.3352 | model_form_blend |
| predicted_R | 0.6780 | 0.6560 | 0.6686 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4110 | 0.4504 | model_form_blend |
| predicted_SLG | 0.4670 | 0.4445 | 0.4573 | model_form_blend |
| predicted_SO | 1.2530 | 1.3100 | 1.2775 | 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 | 371 |
| Season rows before report date | 371 |
| Report year | 2026 |
| Profile rows used | 87 |
| 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.277 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| 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 | 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 | SS |
| gameID | 20260729_CLE@CIN |
| game_type | full |
| mlbID | 682829 |
| playerID | 682829 |
| playerName | Elly De La Cruz |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 27.7 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.367 |
| sl_xwoba | 0.367 |
| sl_xba | 0.276 |
| sl_xslg | 0.49 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 15.3 |
| sl_hard_hit_percent | 53.1 |
| sl_exit_velocity_avg | 94.3 |
| sl_launch_angle_avg | 10.3 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 41.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.175 | 0.000 | 0.000 | Hitting_2B | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.212 | 4.000 | 3.000 | Hitting_AB | 3.342 | 3.000 | 0.658 | 1.000 |
| predicted_AVG | 0.277 | 0.000 | 0.333 | Hitting_AVG | 0.248 | 0.333 | -0.248 | -0.333 |
| predicted_BB | 0.362 | 0.000 | 0.000 | Hitting_BB | 0.399 | 1.000 | -0.399 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.829 | 1.000 | -0.829 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_OBP | 0.337 | 0.000 | 0.333 | Hitting_OBP | 0.326 | 0.500 | -0.326 | -0.500 |
| predicted_R | 0.287 | 0.000 | 0.000 | Hitting_R | 0.292 | 0.000 | -0.292 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.416 | 0.000 | -0.416 | 0.000 |
| predicted_SLG | 0.445 | 0.000 | 0.333 | Hitting_SLG | 0.405 | 0.333 | -0.405 | -0.333 |
| predicted_SO | 0.912 | 4.000 | 1.000 | Hitting_SO | 0.936 | 1.000 | 3.064 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.9120 -> 4.0000 (boost 3.0880, worse) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.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 | 0 | 0 | 0 | 0 | 0 | - | - | 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4452 -> 0.4523 (boost 0.0071, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.8852 -> 1.0000 (boost 0.1148, better) | predicted_RBI: 0.4213 -> 0.0000 (deboost -0.4213, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.274 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3171 -> 0.0000 (deboost -0.3171, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2737 -> 0.3330 (boost 0.0593, better) | predicted_SLG: 0.4523 -> 0.3330 (deboost -0.1193, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_SO: 1.0000 -> 4.0000 (boost 3.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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4523 (boost 0.1193, better) | predicted_AVG: 0.3330 -> 0.2737 (deboost -0.0593, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663886",
"player_name": "Tyler Stephenson",
"position": "C",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.175,
"predicted_3B": 0.0,
"predicted_AB": 3.212,
"predicted_AVG": 0.277,
"predicted_BB": 0.362,
"predicted_H": 0.89,
"predicted_HR": 0.14,
"predicted_OBP": 0.337,
"predicted_R": 0.287,
"predicted_RBI": 0.44,
"predicted_SLG": 0.445,
"predicted_SO": 0.912
},
"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.2109,
"predicted_3B": 0.0004,
"predicted_AB": 3.234,
"predicted_AVG": 0.2751,
"predicted_BB": 0.3265,
"predicted_H": 0.8896,
"predicted_HBP": 0.066,
"predicted_HR": 0.1235,
"predicted_OBP": 0.3385,
"predicted_R": 0.32,
"predicted_RBI": 0.4252,
"predicted_SLG": 0.4452,
"predicted_SO": 0.942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.175,
"after": 0.2109,
"delta": 0.0359,
"percent_delta": 0.2051,
"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.212,
"after": 3.234,
"delta": 0.022,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2751,
"delta": -0.0019,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.362,
"after": 0.3265,
"delta": -0.0355,
"percent_delta": -0.0981,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8896,
"delta": -0.0004,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1235,
"delta": -0.0165,
"percent_delta": -0.1179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3385,
"delta": 0.0015,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.287,
"after": 0.32,
"delta": 0.033,
"percent_delta": 0.115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4252,
"delta": -0.0148,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4452,
"delta": 0.0002,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.912,
"after": 0.942,
"delta": 0.03,
"percent_delta": 0.0329,
"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": {
"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": 80
}
},
{
"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.2109,
"predicted_3B": 0.0004,
"predicted_AB": 3.234,
"predicted_AVG": 0.2737,
"predicted_BB": 0.3243,
"predicted_H": 0.8852,
"predicted_HBP": 0.066,
"predicted_HR": 0.1219,
"predicted_OBP": 0.3399,
"predicted_R": 0.3171,
"predicted_RBI": 0.4213,
"predicted_SLG": 0.4523,
"predicted_SO": 0.9483
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2109,
"after": 0.2109,
"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.234,
"after": 3.234,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2751,
"after": 0.2737,
"delta": -0.0014,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3265,
"after": 0.3243,
"delta": -0.0022,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8896,
"after": 0.8852,
"delta": -0.0044,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1235,
"after": 0.1219,
"delta": -0.0016,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3385,
"after": 0.3399,
"delta": 0.0014,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.32,
"after": 0.3171,
"delta": -0.0029,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4252,
"after": 0.4213,
"delta": -0.0039,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4452,
"after": 0.4523,
"delta": 0.0071,
"percent_delta": 0.0159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.942,
"after": 0.9483,
"delta": 0.0063,
"percent_delta": 0.0067,
"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_SLG",
"before": 0.4452,
"after": 0.4523,
"delta": 0.0071,
"percent_delta": 0.0159,
"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.23), rates preserved: AVG=0.274 HR/AB=0.038",
"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.2109,
"after": 0.0,
"delta": -0.2109,
"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.234,
"after": 3.0,
"delta": -0.234,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3243,
"after": 0.0,
"delta": -0.3243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8852,
"after": 1.0,
"delta": 0.1148,
"percent_delta": 0.1297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.0,
"delta": -0.066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1219,
"after": 0.0,
"delta": -0.1219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4213,
"after": 0.0,
"delta": -0.4213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9483,
"after": 1.0,
"delta": 0.0517,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8852,
"after": 1.0,
"delta": 0.1148,
"percent_delta": 0.1297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4213,
"after": 0.0,
"delta": -0.4213,
"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.3171,
"after": 0.0,
"delta": -0.3171,
"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.3171,
"after": 0.0,
"delta": -0.3171,
"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.2737,
"after": 0.333,
"delta": 0.0593,
"percent_delta": 0.2167,
"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.3399,
"after": 0.333,
"delta": -0.0069,
"percent_delta": -0.0203,
"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.4523,
"after": 0.333,
"delta": -0.1193,
"percent_delta": -0.2638,
"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.2737,
"after": 0.333,
"delta": 0.0593,
"percent_delta": 0.2167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4523,
"after": 0.333,
"delta": -0.1193,
"percent_delta": -0.2638,
"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": 4.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": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.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.2737,
"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.3399,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4523,
"predicted_SO": 4.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.2737,
"delta": -0.0593,
"percent_delta": -0.178,
"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.3399,
"delta": 0.0069,
"percent_delta": 0.0208,
"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.333,
"after": 0.4523,
"delta": 0.1193,
"percent_delta": 0.3581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4523,
"delta": 0.1193,
"percent_delta": 0.3581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2737,
"delta": -0.0593,
"percent_delta": -0.178,
"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.175,
"after": 0.0,
"delta": -0.175,
"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.212,
"after": 4.0,
"delta": 0.788,
"percent_delta": 0.2453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2737,
"delta": -0.0033,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.362,
"after": 0.0,
"delta": -0.362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3399,
"delta": 0.0029,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4523,
"delta": 0.0073,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.912,
"after": 4.0,
"delta": 3.088,
"percent_delta": 3.386,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.912,
"after": 4.0,
"delta": 3.088,
"percent_delta": 3.386,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"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.175 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.212 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.362 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.287 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.445 | - |
| predicted_SO | 0.912 | - |
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.036 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.234 | 0.022 |
| predicted_AVG | 0.275 | -0.002 |
| predicted_BB | 0.327 | -0.035 |
| predicted_H | 0.890 | -0.000 |
| predicted_HBP | 0.066 | - |
| predicted_HR | 0.123 | -0.017 |
| predicted_OBP | 0.339 | 0.002 |
| predicted_R | 0.320 | 0.033 |
| predicted_RBI | 0.425 | -0.015 |
| predicted_SLG | 0.445 | 0.000 |
| predicted_SO | 0.942 | 0.030 |
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.000 | 0.000 |
| predicted_AB | 3.234 | 0.000 |
| predicted_AVG | 0.274 | -0.001 |
| predicted_BB | 0.324 | -0.002 |
| predicted_H | 0.885 | -0.004 |
| predicted_HBP | 0.066 | 0.000 |
| predicted_HR | 0.122 | -0.002 |
| predicted_OBP | 0.340 | 0.001 |
| predicted_R | 0.317 | -0.003 |
| predicted_RBI | 0.421 | -0.004 |
| predicted_SLG | 0.452 | 0.007 |
| predicted_SO | 0.948 | 0.006 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.274 HR/AB=0.038
| 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.000 |
| predicted_AB | 3.000 | -0.234 |
| predicted_AVG | 0.333 | 0.059 |
| predicted_BB | 0.000 | -0.324 |
| predicted_H | 1.000 | 0.115 |
| predicted_HR | 0.000 | -0.122 |
| predicted_OBP | 0.333 | -0.007 |
| predicted_R | 0.000 | -0.317 |
| predicted_RBI | 0.000 | -0.421 |
| predicted_SLG | 0.333 | -0.119 |
| predicted_SO | 1.000 | 0.052 |
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 | 4.000 | 3.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 | 0.000 | 2.000 | 2.000 | 1.000 | 6.000 | 0.3333 | 0.4118 | 0.4667 | 0.3333 | 0.0000 | 0.1333 | 0.0667 | 0.4000 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 4.000 | 0.000 | 2.000 | 5.000 | 5.000 | 1.000 | 10.000 | 0.2941 | 0.3333 | 0.5882 | 0.2941 | 0.0588 | 0.1471 | 0.0294 | 0.2941 |
| season | 0.60 | 80 | - | 257.000 | 64.000 | 14.000 | 0.000 | 8.000 | 29.000 | 23.000 | 29.000 | 73.000 | 0.2490 | 0.3253 | 0.3969 | 0.2490 | 0.0311 | 0.1128 | 0.1128 | 0.2841 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2600 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2640 |
| predicted_AVG | 0.2724 |
| predicted_BB | 0.2780 |
| predicted_H | 0.8890 |
| predicted_HBP | 0.0660 |
| predicted_HR | 0.1010 |
| predicted_OBP | 0.3406 |
| predicted_R | 0.3650 |
| predicted_RBI | 0.4050 |
| predicted_SLG | 0.4454 |
| predicted_SO | 0.9830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1750 | 0.2600 | 0.2109 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2120 | 3.2640 | 3.2340 | model_form_blend |
| predicted_AVG | 0.2770 | 0.2724 | 0.2751 | model_form_blend |
| predicted_BB | 0.3620 | 0.2780 | 0.3265 | model_form_blend |
| predicted_H | 0.8900 | 0.8890 | 0.8896 | model_form_blend |
| predicted_HBP | - | 0.0660 | 0.0660 | form_only |
| predicted_HR | 0.1400 | 0.1010 | 0.1235 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3406 | 0.3385 | model_form_blend |
| predicted_R | 0.2870 | 0.3650 | 0.3200 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4050 | 0.4252 | model_form_blend |
| predicted_SLG | 0.4450 | 0.4454 | 0.4452 | model_form_blend |
| predicted_SO | 0.9120 | 0.9830 | 0.9420 | 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 | 281 |
| Season rows before report date | 281 |
| Report year | 2026 |
| Profile rows used | 80 |
| 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 | 4 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.249 |
| 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 | 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 | 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 | 20260729_CLE@CIN |
| game_type | full |
| mlbID | 663886 |
| playerID | 663886 |
| playerName | Tyler Stephenson |
| pos | C |
| started | True |
| startingPosition | C |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.318 |
| sl_xwoba | 0.345 |
| sl_xba | 0.255 |
| sl_xslg | 0.464 |
| sl_sweet_spot_percent | 40.8 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 46.2 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 17.8 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 45.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.143 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 3.610 | 2.000 | 4.000 | Hitting_AB | 3.720 | 0.000 | -1.720 | 2.000 |
| predicted_AVG | 0.197 | 0.000 | 0.250 | Hitting_AVG | 0.240 | - | -0.240 | - |
| predicted_BB | 0.558 | 2.000 | 1.000 | Hitting_BB | 0.569 | 1.000 | 1.431 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.360 | 0.000 | 1.000 | Hitting_H | 0.894 | 0.000 | -0.894 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_OBP | 0.292 | 0.500 | 0.400 | Hitting_OBP | 0.342 | 1.000 | 0.158 | -0.500 |
| predicted_R | 0.519 | 0.000 | 0.000 | Hitting_R | 0.550 | 0.000 | -0.550 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.643 | 0.000 | -0.643 | 0.000 |
| predicted_SLG | 0.435 | 0.000 | 0.250 | Hitting_SLG | 0.489 | - | -0.489 | - |
| predicted_SO | 0.883 | 1.000 | 1.000 | Hitting_SO | 0.913 | 0.000 | 0.087 | 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_BB: 0.5580 -> 2.0000 (boost 1.4420, better) |
| Biggest Deboost | predicted_AB: 3.6100 -> 2.0000 (deboost -1.6100, 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 | 3 | 1 | predicted_H: 0.3600 -> 0.5327 (boost 0.1727, better) | predicted_SLG: 0.4350 -> 0.4248 (deboost -0.0102, 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.4248 -> 0.3477 (deboost -0.0771, 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_H: 0.5301 -> 1.0000 (boost 0.4699, better) | predicted_RBI: 0.3562 -> 0.0000 (deboost -0.3562, worse) | AB rounded to 4 (raw=3.65), rates preserved: AVG=0.145 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4961 -> 0.0000 (deboost -0.4961, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2548 -> 0.4000 (boost 0.1452, better) | predicted_SLG: 0.3477 -> 0.2500 (deboost -0.0977, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3477 (boost 0.0977, better) | predicted_OBP: 0.4000 -> 0.2548 (deboost -0.1452, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668709",
"player_name": "JJ Bleday",
"position": "LF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.013,
"predicted_AB": 3.61,
"predicted_AVG": 0.197,
"predicted_BB": 0.558,
"predicted_H": 0.36,
"predicted_HR": 0.19,
"predicted_OBP": 0.292,
"predicted_R": 0.519,
"predicted_RBI": 0.3,
"predicted_SLG": 0.435,
"predicted_SO": 0.883
},
"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.1226,
"predicted_3B": 0.0113,
"predicted_AB": 3.6466,
"predicted_AVG": 0.2013,
"predicted_BB": 0.5393,
"predicted_H": 0.5327,
"predicted_HBP": 0.017,
"predicted_HR": 0.2002,
"predicted_OBP": 0.2977,
"predicted_R": 0.5007,
"predicted_RBI": 0.3595,
"predicted_SLG": 0.4248,
"predicted_SO": 0.9226
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1226,
"delta": -0.0204,
"percent_delta": -0.1427,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0113,
"delta": -0.0017,
"percent_delta": -0.1308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.61,
"after": 3.6466,
"delta": 0.0366,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2013,
"delta": 0.0043,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.558,
"after": 0.5393,
"delta": -0.0187,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.5327,
"delta": 0.1727,
"percent_delta": 0.4797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.2002,
"delta": 0.0102,
"percent_delta": 0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2977,
"delta": 0.0057,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.5007,
"delta": -0.0183,
"percent_delta": -0.0353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3595,
"delta": 0.0595,
"percent_delta": 0.1983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4248,
"delta": -0.0102,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.883,
"after": 0.9226,
"delta": 0.0396,
"percent_delta": 0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.36,
"after": 0.5327,
"delta": 0.1727,
"percent_delta": 0.4797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4248,
"delta": -0.0102,
"percent_delta": -0.0234,
"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": 77
}
},
{
"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.1226,
"predicted_3B": 0.0113,
"predicted_AB": 3.6466,
"predicted_AVG": 0.1454,
"predicted_BB": 0.5357,
"predicted_H": 0.5301,
"predicted_HBP": 0.017,
"predicted_HR": 0.1976,
"predicted_OBP": 0.2548,
"predicted_R": 0.4961,
"predicted_RBI": 0.3562,
"predicted_SLG": 0.3477,
"predicted_SO": 0.9288
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1226,
"after": 0.1226,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6466,
"after": 3.6466,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2013,
"after": 0.1454,
"delta": -0.0559,
"percent_delta": -0.2777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5393,
"after": 0.5357,
"delta": -0.0036,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5327,
"after": 0.5301,
"delta": -0.0026,
"percent_delta": -0.0049,
"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.2002,
"after": 0.1976,
"delta": -0.0026,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2977,
"after": 0.2548,
"delta": -0.0429,
"percent_delta": -0.1441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5007,
"after": 0.4961,
"delta": -0.0046,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3595,
"after": 0.3562,
"delta": -0.0033,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4248,
"after": 0.3477,
"delta": -0.0771,
"percent_delta": -0.1815,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9226,
"after": 0.9288,
"delta": 0.0062,
"percent_delta": 0.0067,
"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.4248,
"after": 0.3477,
"delta": -0.0771,
"percent_delta": -0.1815,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.65), rates preserved: AVG=0.145 HR/AB=0.054",
"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.1226,
"after": 0.0,
"delta": -0.1226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0,
"delta": -0.0113,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6466,
"after": 4.0,
"delta": 0.3534,
"percent_delta": 0.0969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5357,
"after": 1.0,
"delta": 0.4643,
"percent_delta": 0.8667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5301,
"after": 1.0,
"delta": 0.4699,
"percent_delta": 0.8864,
"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.1976,
"after": 0.0,
"delta": -0.1976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3562,
"after": 0.0,
"delta": -0.3562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9288,
"after": 1.0,
"delta": 0.0712,
"percent_delta": 0.0767,
"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_H",
"before": 0.5301,
"after": 1.0,
"delta": 0.4699,
"percent_delta": 0.8864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3562,
"after": 0.0,
"delta": -0.3562,
"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": 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.4961,
"after": 0.0,
"delta": -0.4961,
"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.4961,
"after": 0.0,
"delta": -0.4961,
"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": 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.1454,
"after": 0.25,
"delta": 0.1046,
"percent_delta": 0.7194,
"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.2548,
"after": 0.4,
"delta": 0.1452,
"percent_delta": 0.5699,
"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.25,
"delta": -0.0977,
"percent_delta": -0.281,
"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.2548,
"after": 0.4,
"delta": 0.1452,
"percent_delta": 0.5699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3477,
"after": 0.25,
"delta": -0.0977,
"percent_delta": -0.281,
"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": 2.0,
"predicted_BB": 2.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": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"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": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"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": 2.0,
"predicted_AVG": 0.1454,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2548,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3477,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1454,
"delta": -0.1046,
"percent_delta": -0.4185,
"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": 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.2548,
"delta": -0.1452,
"percent_delta": -0.3629,
"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.3477,
"delta": 0.0977,
"percent_delta": 0.3909,
"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.3477,
"delta": 0.0977,
"percent_delta": 0.3909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.2548,
"delta": -0.1452,
"percent_delta": -0.3629,
"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.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.61,
"after": 2.0,
"delta": -1.61,
"percent_delta": -0.446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.1454,
"delta": -0.0516,
"percent_delta": -0.2619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.558,
"after": 2.0,
"delta": 1.442,
"percent_delta": 2.5842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"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.292,
"after": 0.2548,
"delta": -0.0372,
"percent_delta": -0.1274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.0,
"delta": -0.519,
"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.435,
"after": 0.3477,
"delta": -0.0873,
"percent_delta": -0.2007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.883,
"after": 1.0,
"delta": 0.117,
"percent_delta": 0.1325,
"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_BB",
"before": 0.558,
"after": 2.0,
"delta": 1.442,
"percent_delta": 2.5842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.61,
"after": 2.0,
"delta": -1.61,
"percent_delta": -0.446,
"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.013 | - |
| predicted_AB | 3.610 | - |
| predicted_AVG | 0.197 | - |
| predicted_BB | 0.558 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.519 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 0.883 | - |
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.123 | -0.020 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.647 | 0.037 |
| predicted_AVG | 0.201 | 0.004 |
| predicted_BB | 0.539 | -0.019 |
| predicted_H | 0.533 | 0.173 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.200 | 0.010 |
| predicted_OBP | 0.298 | 0.006 |
| predicted_R | 0.501 | -0.018 |
| predicted_RBI | 0.359 | 0.059 |
| predicted_SLG | 0.425 | -0.010 |
| predicted_SO | 0.923 | 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.123 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.647 | 0.000 |
| predicted_AVG | 0.145 | -0.056 |
| predicted_BB | 0.536 | -0.004 |
| predicted_H | 0.530 | -0.003 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.198 | -0.003 |
| predicted_OBP | 0.255 | -0.043 |
| predicted_R | 0.496 | -0.005 |
| predicted_RBI | 0.356 | -0.003 |
| predicted_SLG | 0.348 | -0.077 |
| predicted_SO | 0.929 | 0.006 |
AB rounded to 4 (raw=3.65), rates preserved: AVG=0.145 HR/AB=0.054
| 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 | - |
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.123 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.353 |
| predicted_AVG | 0.250 | 0.105 |
| predicted_BB | 1.000 | 0.464 |
| predicted_H | 1.000 | 0.470 |
| predicted_HR | 0.000 | -0.198 |
| predicted_OBP | 0.400 | 0.145 |
| predicted_R | 0.000 | -0.496 |
| predicted_RBI | 0.000 | -0.356 |
| predicted_SLG | 0.250 | -0.098 |
| predicted_SO | 1.000 | 0.071 |
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 | 2.000 | -2.000 |
| BB | 2.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 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 6.000 | 0.1579 | 0.2727 | 0.3158 | 0.1579 | 0.0526 | 0.0526 | 0.1579 | 0.3158 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 0.000 | 0.000 | 2.000 | 2.000 | 4.000 | 4.000 | 11.000 | 0.1579 | 0.2381 | 0.3158 | 0.1579 | 0.0526 | 0.0526 | 0.1053 | 0.2895 |
| season | 0.60 | 77 | - | 278.000 | 65.000 | 11.000 | 1.000 | 18.000 | 45.000 | 40.000 | 43.000 | 68.000 | 0.2338 | 0.3385 | 0.4748 | 0.2338 | 0.0648 | 0.1619 | 0.1547 | 0.2446 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0950 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.6960 |
| predicted_AVG | 0.2072 |
| predicted_BB | 0.5140 |
| predicted_H | 0.7660 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.2140 |
| predicted_OBP | 0.3053 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.4400 |
| predicted_SLG | 0.4110 |
| predicted_SO | 0.9760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.0950 | 0.1226 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0113 | model_form_blend |
| predicted_AB | 3.6100 | 3.6960 | 3.6466 | model_form_blend |
| predicted_AVG | 0.1970 | 0.2072 | 0.2013 | model_form_blend |
| predicted_BB | 0.5580 | 0.5140 | 0.5393 | model_form_blend |
| predicted_H | 0.3600 | 0.7660 | 0.5327 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1900 | 0.2140 | 0.2002 | model_form_blend |
| predicted_OBP | 0.2920 | 0.3053 | 0.2977 | model_form_blend |
| predicted_R | 0.5190 | 0.4760 | 0.5007 | model_form_blend |
| predicted_RBI | 0.3000 | 0.4400 | 0.3595 | model_form_blend |
| predicted_SLG | 0.4350 | 0.4110 | 0.4248 | model_form_blend |
| predicted_SO | 0.8830 | 0.9760 | 0.9226 | 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 | 311 |
| Season rows before report date | 311 |
| Report year | 2026 |
| Profile rows used | 77 |
| 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| 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 | 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 | 0 |
| 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 |
| gameID | 20260729_CLE@CIN |
| game_type | ph |
| mlbID | 668709 |
| note | Walked for Johnson in the 9th. |
| playerID | 668709 |
| playerName | JJ Bleday |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.35 |
| sl_xwoba | 0.366 |
| sl_xba | 0.26 |
| sl_xslg | 0.468 |
| sl_sweet_spot_percent | 42.8 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 21.0 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 45.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.130 | 0.000 | 0.000 | Hitting_2B | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.304 | 3.000 | 3.000 | Hitting_AB | 3.533 | 4.000 | -0.533 | -1.000 |
| predicted_AVG | 0.197 | 0.000 | 0.333 | Hitting_AVG | 0.194 | 0.250 | -0.194 | -0.250 |
| predicted_BB | 0.174 | 0.000 | 0.000 | Hitting_BB | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.630 | 0.000 | 1.000 | Hitting_H | 0.684 | 1.000 | -0.684 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_OBP | 0.224 | 0.250 | 0.333 | Hitting_OBP | 0.244 | 0.250 | 0.006 | 0.000 |
| predicted_R | 0.348 | 0.000 | 0.000 | Hitting_R | 0.421 | 0.000 | -0.421 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.336 | 1.000 | -0.336 | -1.000 |
| predicted_SLG | 0.302 | 0.000 | 0.333 | Hitting_SLG | 0.359 | 0.250 | -0.359 | -0.250 |
| predicted_SO | 0.826 | 1.000 | 1.000 | Hitting_SO | 0.829 | 1.000 | 0.171 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 0 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.8260 -> 1.0000 (boost 0.1740, worse) |
| Biggest Deboost | predicted_H: 0.6300 -> 0.0000 (deboost -0.6300, 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.3040 -> 3.3626 (boost 0.0586, 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 | 2 | 5 | 1 | 6 | predicted_H: 0.6350 -> 1.0000 (boost 0.3650, better) | predicted_AB: 3.3626 -> 3.0000 (deboost -0.3626, worse) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.189 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3152 -> 0.0000 (deboost -0.3152, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1888 -> 0.3330 (boost 0.1442, 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_HBP: 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.1888 (deboost -0.1442, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682622",
"player_name": "Noelvi Marte",
"position": "RF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.13,
"predicted_3B": 0.0,
"predicted_AB": 3.304,
"predicted_AVG": 0.197,
"predicted_BB": 0.174,
"predicted_H": 0.63,
"predicted_HR": 0.09,
"predicted_OBP": 0.224,
"predicted_R": 0.348,
"predicted_RBI": 0.28,
"predicted_SLG": 0.302,
"predicted_SO": 0.826
},
"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.1231,
"predicted_3B": 0.0008,
"predicted_AB": 3.3626,
"predicted_AVG": 0.1936,
"predicted_BB": 0.1562,
"predicted_H": 0.6381,
"predicted_HBP": 0.005,
"predicted_HR": 0.0892,
"predicted_OBP": 0.2216,
"predicted_R": 0.3181,
"predicted_RBI": 0.2796,
"predicted_SLG": 0.3008,
"predicted_SO": 0.7792
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.1231,
"delta": -0.0069,
"percent_delta": -0.0531,
"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.304,
"after": 3.3626,
"delta": 0.0586,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.1936,
"delta": -0.0034,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.174,
"after": 0.1562,
"delta": -0.0178,
"percent_delta": -0.1023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.6381,
"delta": 0.0081,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0892,
"delta": -0.0008,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.224,
"after": 0.2216,
"delta": -0.0024,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.348,
"after": 0.3181,
"delta": -0.0299,
"percent_delta": -0.0859,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2796,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.3008,
"delta": -0.0012,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.826,
"after": 0.7792,
"delta": -0.0468,
"percent_delta": -0.0567,
"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.304,
"after": 3.3626,
"delta": 0.0586,
"percent_delta": 0.0177,
"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": 46
}
},
{
"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.1231,
"predicted_3B": 0.0008,
"predicted_AB": 3.3626,
"predicted_AVG": 0.1888,
"predicted_BB": 0.1552,
"predicted_H": 0.635,
"predicted_HBP": 0.005,
"predicted_HR": 0.088,
"predicted_OBP": 0.2246,
"predicted_R": 0.3152,
"predicted_RBI": 0.2771,
"predicted_SLG": 0.3045,
"predicted_SO": 0.7844
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1231,
"after": 0.1231,
"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.3626,
"after": 3.3626,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1936,
"after": 0.1888,
"delta": -0.0048,
"percent_delta": -0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1562,
"after": 0.1552,
"delta": -0.001,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6381,
"after": 0.635,
"delta": -0.0031,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0892,
"after": 0.088,
"delta": -0.0012,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2216,
"after": 0.2246,
"delta": 0.003,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3181,
"after": 0.3152,
"delta": -0.0029,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2796,
"after": 0.2771,
"delta": -0.0025,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3008,
"after": 0.3045,
"delta": 0.0037,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7792,
"after": 0.7844,
"delta": 0.0052,
"percent_delta": 0.0067,
"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.36), rates preserved: AVG=0.189 HR/AB=0.026",
"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.1231,
"after": 0.0,
"delta": -0.1231,
"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.3626,
"after": 3.0,
"delta": -0.3626,
"percent_delta": -0.1078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1552,
"after": 0.0,
"delta": -0.1552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.635,
"after": 1.0,
"delta": 0.365,
"percent_delta": 0.5748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.088,
"after": 0.0,
"delta": -0.088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2771,
"after": 0.0,
"delta": -0.2771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7844,
"after": 1.0,
"delta": 0.2156,
"percent_delta": 0.2749,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.635,
"after": 1.0,
"delta": 0.365,
"percent_delta": 0.5748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3626,
"after": 3.0,
"delta": -0.3626,
"percent_delta": -0.1078,
"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.3152,
"after": 0.0,
"delta": -0.3152,
"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.3152,
"after": 0.0,
"delta": -0.3152,
"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.1888,
"after": 0.333,
"delta": 0.1442,
"percent_delta": 0.7638,
"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.2246,
"after": 0.333,
"delta": 0.1084,
"percent_delta": 0.4826,
"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.3045,
"after": 0.333,
"delta": 0.0285,
"percent_delta": 0.0936,
"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.1888,
"after": 0.333,
"delta": 0.1442,
"percent_delta": 0.7638,
"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": 0.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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 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_HBP",
"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.1888,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2246,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3045,
"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.1888,
"delta": -0.1442,
"percent_delta": -0.4329,
"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": 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.2246,
"delta": -0.1084,
"percent_delta": -0.3255,
"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.3045,
"delta": -0.0285,
"percent_delta": -0.0857,
"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.1888,
"delta": -0.1442,
"percent_delta": -0.4329,
"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.13,
"after": 0.0,
"delta": -0.13,
"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.304,
"after": 3.0,
"delta": -0.304,
"percent_delta": -0.092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.1888,
"delta": -0.0082,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.224,
"after": 0.2246,
"delta": 0.0006,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.3045,
"delta": 0.0025,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.826,
"after": 1.0,
"delta": 0.174,
"percent_delta": 0.2107,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.826,
"after": 1.0,
"delta": 0.174,
"percent_delta": 0.2107,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"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.130 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.304 | - |
| predicted_AVG | 0.197 | - |
| predicted_BB | 0.174 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.224 | - |
| predicted_R | 0.348 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.302 | - |
| predicted_SO | 0.826 | - |
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.123 | -0.007 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.363 | 0.059 |
| predicted_AVG | 0.194 | -0.003 |
| predicted_BB | 0.156 | -0.018 |
| predicted_H | 0.638 | 0.008 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.222 | -0.002 |
| predicted_R | 0.318 | -0.030 |
| predicted_RBI | 0.280 | -0.000 |
| predicted_SLG | 0.301 | -0.001 |
| predicted_SO | 0.779 | -0.047 |
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.123 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.363 | 0.000 |
| predicted_AVG | 0.189 | -0.005 |
| predicted_BB | 0.155 | -0.001 |
| predicted_H | 0.635 | -0.003 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.088 | -0.001 |
| predicted_OBP | 0.225 | 0.003 |
| predicted_R | 0.315 | -0.003 |
| predicted_RBI | 0.277 | -0.003 |
| predicted_SLG | 0.304 | 0.004 |
| predicted_SO | 0.784 | 0.005 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.189 HR/AB=0.026
| 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.123 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.363 |
| predicted_AVG | 0.333 | 0.144 |
| predicted_BB | 0.000 | -0.155 |
| predicted_H | 1.000 | 0.365 |
| predicted_HR | 0.000 | -0.088 |
| predicted_OBP | 0.333 | 0.108 |
| predicted_R | 0.000 | -0.315 |
| predicted_RBI | 0.000 | -0.277 |
| predicted_SLG | 0.333 | 0.029 |
| predicted_SO | 1.000 | 0.216 |
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 | 0.000 | -1.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 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.1579 | 0.1579 | 0.1579 | 0.1579 | 0.0000 | 0.0526 | 0.0000 | 0.1053 |
| last_10 | 0.20 | 10 | - | 32.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 5.000 | 0.1562 | 0.1562 | 0.1875 | 0.1562 | 0.0000 | 0.0312 | 0.0000 | 0.1562 |
| season | 0.60 | 46 | - | 152.000 | 29.000 | 6.000 | 0.000 | 6.000 | 14.000 | 16.000 | 8.000 | 38.000 | 0.1908 | 0.2313 | 0.3487 | 0.1908 | 0.0395 | 0.0921 | 0.0526 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4490 |
| predicted_AVG | 0.1885 |
| predicted_BB | 0.1300 |
| predicted_H | 0.6500 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.2180 |
| predicted_R | 0.2740 |
| predicted_RBI | 0.2790 |
| predicted_SLG | 0.2990 |
| predicted_SO | 0.7100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.1130 | 0.1231 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3040 | 3.4490 | 3.3626 | model_form_blend |
| predicted_AVG | 0.1970 | 0.1885 | 0.1936 | model_form_blend |
| predicted_BB | 0.1740 | 0.1300 | 0.1562 | model_form_blend |
| predicted_H | 0.6300 | 0.6500 | 0.6381 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0900 | 0.0880 | 0.0892 | model_form_blend |
| predicted_OBP | 0.2240 | 0.2180 | 0.2216 | model_form_blend |
| predicted_R | 0.3480 | 0.2740 | 0.3181 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2790 | 0.2796 | model_form_blend |
| predicted_SLG | 0.3020 | 0.2990 | 0.3008 | model_form_blend |
| predicted_SO | 0.8260 | 0.7100 | 0.7792 | 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 | 152 |
| Season rows before report date | 152 |
| Report year | 2026 |
| Profile rows used | 46 |
| 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 | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.191 |
| 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 | 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 | 1 |
| Hitting_TB | 1 |
| 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 | RF |
| gameID | 20260729_CLE@CIN |
| game_type | full |
| mlbID | 682622 |
| playerID | 682622 |
| playerName | Noelvi Marte |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.257 |
| sl_xwoba | 0.264 |
| sl_xba | 0.213 |
| sl_xslg | 0.339 |
| sl_sweet_spot_percent | 20.7 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 28.8 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 8.6 |
| sl_whiff_percent | 25.1 |
| 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.120 | 0.000 | 0.000 | Hitting_2B | 0.089 | 0.000 | -0.089 | 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 | 2.615 | 2.000 | 1.385 | 2.000 |
| predicted_AVG | 0.352 | 0.250 | 0.333 | Hitting_AVG | 0.258 | 0.500 | -0.008 | -0.250 |
| predicted_BB | 0.342 | 0.000 | 0.000 | Hitting_BB | 0.533 | 1.000 | -0.533 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.580 | 1.000 | 1.000 | Hitting_H | 0.675 | 1.000 | 0.325 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.381 | 0.250 | 0.333 | Hitting_OBP | 0.390 | 0.750 | -0.140 | -0.500 |
| predicted_R | 0.342 | 1.000 | 0.000 | Hitting_R | 0.473 | 1.000 | 0.527 | 0.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_SLG | 0.411 | 0.250 | 0.333 | Hitting_SLG | 0.394 | 0.500 | -0.144 | -0.250 |
| predicted_SO | 0.771 | 2.000 | 1.000 | Hitting_SO | 0.781 | 0.000 | 1.219 | 2.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 | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_BB: 0.3420 -> 0.0000 (deboost -0.3420, 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_AB: 2.5000 -> 2.6458 (boost 0.1458, better) | predicted_AVG: 0.3520 -> 0.3242 (deboost -0.0278, 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.3242 -> 0.2534 (deboost -0.0708, 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: 2.6458 -> 3.0000 (boost 0.3542, better) | predicted_BB: 0.3502 -> 0.0000 (deboost -0.3502, worse) | AB rounded to 3 (raw=2.65), rates preserved: AVG=0.253 HR/AB=0.018 |
| 5 | 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 |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2534 -> 0.3330 (boost 0.0796, better) | predicted_SLG: 0.3511 -> 0.3330 (deboost -0.0181, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | 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.3511 (boost 0.0181, better) | predicted_AVG: 0.3330 -> 0.2534 (deboost -0.0796, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "667472",
"player_name": "Dane Myers",
"position": "CF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.12,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.352,
"predicted_BB": 0.342,
"predicted_H": 0.58,
"predicted_HR": 0.05,
"predicted_OBP": 0.381,
"predicted_R": 0.342,
"predicted_RBI": 0.22,
"predicted_SLG": 0.411,
"predicted_SO": 0.771
},
"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.1147,
"predicted_3B": 0.0008,
"predicted_AB": 2.6458,
"predicted_AVG": 0.3242,
"predicted_BB": 0.3526,
"predicted_H": 0.6738,
"predicted_HBP": 0.078,
"predicted_HR": 0.048,
"predicted_OBP": 0.3799,
"predicted_R": 0.3501,
"predicted_RBI": 0.2204,
"predicted_SLG": 0.3941,
"predicted_SO": 0.8201
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.12,
"after": 0.1147,
"delta": -0.0053,
"percent_delta": -0.0442,
"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.6458,
"delta": 0.1458,
"percent_delta": 0.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.352,
"after": 0.3242,
"delta": -0.0278,
"percent_delta": -0.079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.342,
"after": 0.3526,
"delta": 0.0106,
"percent_delta": 0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.6738,
"delta": 0.0938,
"percent_delta": 0.1617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.048,
"delta": -0.002,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3799,
"delta": -0.0011,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.342,
"after": 0.3501,
"delta": 0.0081,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.2204,
"delta": 0.0004,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.3941,
"delta": -0.0169,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.771,
"after": 0.8201,
"delta": 0.0491,
"percent_delta": 0.0637,
"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_AB",
"before": 2.5,
"after": 2.6458,
"delta": 0.1458,
"percent_delta": 0.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.352,
"after": 0.3242,
"delta": -0.0278,
"percent_delta": -0.079,
"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": 62
}
},
{
"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.1147,
"predicted_3B": 0.0008,
"predicted_AB": 2.6458,
"predicted_AVG": 0.2534,
"predicted_BB": 0.3502,
"predicted_H": 0.6705,
"predicted_HBP": 0.078,
"predicted_HR": 0.0474,
"predicted_OBP": 0.3407,
"predicted_R": 0.3469,
"predicted_RBI": 0.2184,
"predicted_SLG": 0.3511,
"predicted_SO": 0.8256
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1147,
"after": 0.1147,
"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.6458,
"after": 2.6458,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3242,
"after": 0.2534,
"delta": -0.0708,
"percent_delta": -0.2184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3526,
"after": 0.3502,
"delta": -0.0024,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6738,
"after": 0.6705,
"delta": -0.0033,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.078,
"after": 0.078,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.048,
"after": 0.0474,
"delta": -0.0006,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3799,
"after": 0.3407,
"delta": -0.0392,
"percent_delta": -0.1032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3501,
"after": 0.3469,
"delta": -0.0032,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2204,
"after": 0.2184,
"delta": -0.002,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3941,
"after": 0.3511,
"delta": -0.043,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8201,
"after": 0.8256,
"delta": 0.0055,
"percent_delta": 0.0067,
"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.3242,
"after": 0.2534,
"delta": -0.0708,
"percent_delta": -0.2184,
"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.253 HR/AB=0.018",
"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.1147,
"after": 0.0,
"delta": -0.1147,
"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.6458,
"after": 3.0,
"delta": 0.3542,
"percent_delta": 0.1339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3502,
"after": 0.0,
"delta": -0.3502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6705,
"after": 1.0,
"delta": 0.3295,
"percent_delta": 0.4914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0474,
"after": 0.0,
"delta": -0.0474,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2184,
"after": 0.0,
"delta": -0.2184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8256,
"after": 1.0,
"delta": 0.1744,
"percent_delta": 0.2112,
"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": 2.6458,
"after": 3.0,
"delta": 0.3542,
"percent_delta": 0.1339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3502,
"after": 0.0,
"delta": -0.3502,
"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.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": 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.2534,
"after": 0.333,
"delta": 0.0796,
"percent_delta": 0.3141,
"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.3407,
"after": 0.333,
"delta": -0.0077,
"percent_delta": -0.0226,
"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.3511,
"after": 0.333,
"delta": -0.0181,
"percent_delta": -0.0516,
"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.2534,
"after": 0.333,
"delta": 0.0796,
"percent_delta": 0.3141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3511,
"after": 0.333,
"delta": -0.0181,
"percent_delta": -0.0516,
"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": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"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.2534,
"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.3407,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3511,
"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.2534,
"delta": -0.0796,
"percent_delta": -0.239,
"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.3407,
"delta": 0.0077,
"percent_delta": 0.0231,
"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.3511,
"delta": 0.0181,
"percent_delta": 0.0543,
"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.333,
"after": 0.3511,
"delta": 0.0181,
"percent_delta": 0.0543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2534,
"delta": -0.0796,
"percent_delta": -0.239,
"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.12,
"after": 0.0,
"delta": -0.12,
"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.352,
"after": 0.2534,
"delta": -0.0986,
"percent_delta": -0.2801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"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.381,
"after": 0.3407,
"delta": -0.0403,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.342,
"after": 1.0,
"delta": 0.658,
"percent_delta": 1.924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.3511,
"delta": -0.0599,
"percent_delta": -0.1457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.771,
"after": 2.0,
"delta": 1.229,
"percent_delta": 1.594,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"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_BB",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"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.120 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.352 | - |
| predicted_BB | 0.342 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.381 | - |
| predicted_R | 0.342 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.411 | - |
| predicted_SO | 0.771 | - |
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.115 | -0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.646 | 0.146 |
| predicted_AVG | 0.324 | -0.028 |
| predicted_BB | 0.353 | 0.011 |
| predicted_H | 0.674 | 0.094 |
| predicted_HBP | 0.078 | - |
| predicted_HR | 0.048 | -0.002 |
| predicted_OBP | 0.380 | -0.001 |
| predicted_R | 0.350 | 0.008 |
| predicted_RBI | 0.220 | 0.000 |
| predicted_SLG | 0.394 | -0.017 |
| predicted_SO | 0.820 | 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.115 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.646 | 0.000 |
| predicted_AVG | 0.253 | -0.071 |
| predicted_BB | 0.350 | -0.002 |
| predicted_H | 0.670 | -0.003 |
| predicted_HBP | 0.078 | 0.000 |
| predicted_HR | 0.047 | -0.001 |
| predicted_OBP | 0.341 | -0.039 |
| predicted_R | 0.347 | -0.003 |
| predicted_RBI | 0.218 | -0.002 |
| predicted_SLG | 0.351 | -0.043 |
| predicted_SO | 0.826 | 0.005 |
AB rounded to 3 (raw=2.65), rates preserved: AVG=0.253 HR/AB=0.018
| 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.115 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.354 |
| predicted_AVG | 0.333 | 0.080 |
| predicted_BB | 0.000 | -0.350 |
| predicted_H | 1.000 | 0.330 |
| predicted_HR | 0.000 | -0.047 |
| predicted_OBP | 0.333 | -0.008 |
| predicted_R | 0.000 | -0.347 |
| predicted_RBI | 0.000 | -0.218 |
| predicted_SLG | 0.333 | -0.018 |
| predicted_SO | 1.000 | 0.174 |
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 | 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 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 7.000 | 0.2941 | 0.4000 | 0.2941 | 0.2941 | 0.0000 | 0.0000 | 0.1177 | 0.4118 |
| last_10 | 0.20 | 10 | - | 30.000 | 10.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 9.000 | 0.3333 | 0.4444 | 0.3667 | 0.3333 | 0.0000 | 0.0333 | 0.1667 | 0.3000 |
| season | 0.60 | 62 | - | 146.000 | 40.000 | 7.000 | 0.000 | 3.000 | 15.000 | 20.000 | 20.000 | 45.000 | 0.2740 | 0.3706 | 0.3836 | 0.2740 | 0.0205 | 0.1027 | 0.1370 | 0.3082 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.8590 |
| predicted_AVG | 0.2836 |
| predicted_BB | 0.3680 |
| predicted_H | 0.8110 |
| predicted_HBP | 0.0780 |
| predicted_HR | 0.0450 |
| predicted_OBP | 0.3784 |
| predicted_R | 0.3620 |
| predicted_RBI | 0.2210 |
| predicted_SLG | 0.3694 |
| predicted_SO | 0.8920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1200 | 0.1070 | 0.1147 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.8590 | 2.6458 | model_form_blend |
| predicted_AVG | 0.3520 | 0.2836 | 0.3242 | model_form_blend |
| predicted_BB | 0.3420 | 0.3680 | 0.3526 | model_form_blend |
| predicted_H | 0.5800 | 0.8110 | 0.6738 | model_form_blend |
| predicted_HBP | - | 0.0780 | 0.0780 | form_only |
| predicted_HR | 0.0500 | 0.0450 | 0.0480 | model_form_blend |
| predicted_OBP | 0.3810 | 0.3784 | 0.3799 | model_form_blend |
| predicted_R | 0.3420 | 0.3620 | 0.3501 | model_form_blend |
| predicted_RBI | 0.2200 | 0.2210 | 0.2204 | model_form_blend |
| predicted_SLG | 0.4110 | 0.3694 | 0.3941 | model_form_blend |
| predicted_SO | 0.7710 | 0.8920 | 0.8201 | 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 | 169 |
| Season rows before report date | 169 |
| Report year | 2026 |
| Profile rows used | 62 |
| 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.274 |
| 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 | 1 |
| 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 | 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 | CF |
| gameID | 20260729_CLE@CIN |
| game_type | full |
| mlbID | 667472 |
| playerID | 667472 |
| playerName | Dane Myers |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.334 |
| sl_xwoba | 0.338 |
| sl_xba | 0.253 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 35.3 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 15.3 |
| sl_whiff_percent | 19.2 |
| sl_swing_percent | 40.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.075 | 1.000 | 0.000 | Hitting_2B | 0.090 | 0.000 | 0.910 | 1.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.275 | 4.000 | 3.000 | Hitting_AB | 3.299 | 4.000 | 0.701 | 0.000 |
| predicted_AVG | 0.244 | 0.500 | 0.333 | Hitting_AVG | 0.258 | 0.250 | 0.242 | 0.250 |
| predicted_BB | 0.125 | 0.000 | 0.000 | Hitting_BB | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.800 | 2.000 | 1.000 | Hitting_H | 0.851 | 1.000 | 1.149 | 1.000 |
| predicted_HR | 0.000 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.272 | 0.500 | 0.333 | Hitting_OBP | 0.304 | 0.250 | 0.196 | 0.250 |
| predicted_R | 0.325 | 1.000 | 0.000 | Hitting_R | 0.351 | 0.000 | 0.649 | 1.000 |
| predicted_RBI | 0.125 | 1.000 | 0.000 | Hitting_RBI | 0.119 | 0.000 | 0.881 | 1.000 |
| predicted_SLG | 0.282 | 0.750 | 0.333 | Hitting_SLG | 0.303 | 0.250 | 0.447 | 0.500 |
| predicted_SO | 0.775 | 0.000 | 1.000 | Hitting_SO | 0.724 | 2.000 | -0.724 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 7 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 2 |
| Better Metrics | 6 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_H: 0.8000 -> 2.0000 (boost 1.2000, better) |
| Biggest Deboost | predicted_SO: 0.7750 -> 0.0000 (deboost -0.7750, 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 | 0 | 0 | 0 | 0 | 0 | - | - | 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_H: 0.7933 -> 1.0000 (boost 0.2067, better) | predicted_AB: 3.3089 -> 3.0000 (deboost -0.3089, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.240 HR/AB=0.003 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3165 -> 0.0000 (deboost -0.3165, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2397 -> 0.3330 (boost 0.0933, 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 -> 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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2397 (deboost -0.0933, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695490",
"player_name": "Edwin Arroyo",
"position": "2B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.075,
"predicted_3B": 0.025,
"predicted_AB": 3.275,
"predicted_AVG": 0.244,
"predicted_BB": 0.125,
"predicted_H": 0.8,
"predicted_HR": 0.0,
"predicted_OBP": 0.272,
"predicted_R": 0.325,
"predicted_RBI": 0.125,
"predicted_SLG": 0.282,
"predicted_SO": 0.775
},
"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.0714,
"predicted_3B": 0.021,
"predicted_AB": 3.3089,
"predicted_AVG": 0.2409,
"predicted_BB": 0.131,
"predicted_H": 0.7972,
"predicted_HBP": 0.043,
"predicted_HR": 0.0084,
"predicted_OBP": 0.2728,
"predicted_R": 0.3194,
"predicted_RBI": 0.1505,
"predicted_SLG": 0.2826,
"predicted_SO": 0.7973
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.075,
"after": 0.0714,
"delta": -0.0036,
"percent_delta": -0.048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.021,
"delta": -0.004,
"percent_delta": -0.16,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.275,
"after": 3.3089,
"delta": 0.0339,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2409,
"delta": -0.0031,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.131,
"delta": 0.006,
"percent_delta": 0.048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.7972,
"delta": -0.0028,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0084,
"delta": 0.0084,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2728,
"delta": 0.0008,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.325,
"after": 0.3194,
"delta": -0.0056,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.125,
"after": 0.1505,
"delta": 0.0255,
"percent_delta": 0.204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.282,
"after": 0.2826,
"delta": 0.0006,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.775,
"after": 0.7973,
"delta": 0.0223,
"percent_delta": 0.0288,
"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": {
"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": 40
}
},
{
"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.0714,
"predicted_3B": 0.021,
"predicted_AB": 3.3089,
"predicted_AVG": 0.2397,
"predicted_BB": 0.1301,
"predicted_H": 0.7933,
"predicted_HBP": 0.043,
"predicted_HR": 0.0083,
"predicted_OBP": 0.2685,
"predicted_R": 0.3165,
"predicted_RBI": 0.1491,
"predicted_SLG": 0.2815,
"predicted_SO": 0.8026
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0714,
"after": 0.0714,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3089,
"after": 3.3089,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2409,
"after": 0.2397,
"delta": -0.0012,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.131,
"after": 0.1301,
"delta": -0.0009,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7972,
"after": 0.7933,
"delta": -0.0039,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0084,
"after": 0.0083,
"delta": -0.0001,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2728,
"after": 0.2685,
"delta": -0.0043,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3194,
"after": 0.3165,
"delta": -0.0029,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1505,
"after": 0.1491,
"delta": -0.0014,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2826,
"after": 0.2815,
"delta": -0.0011,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7973,
"after": 0.8026,
"delta": 0.0053,
"percent_delta": 0.0066,
"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.31), rates preserved: AVG=0.240 HR/AB=0.003",
"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.0714,
"after": 0.0,
"delta": -0.0714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3089,
"after": 3.0,
"delta": -0.3089,
"percent_delta": -0.0934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1301,
"after": 0.0,
"delta": -0.1301,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7933,
"after": 1.0,
"delta": 0.2067,
"percent_delta": 0.2606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0083,
"after": 0.0,
"delta": -0.0083,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1491,
"after": 0.0,
"delta": -0.1491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8026,
"after": 1.0,
"delta": 0.1974,
"percent_delta": 0.246,
"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_H",
"before": 0.7933,
"after": 1.0,
"delta": 0.2067,
"percent_delta": 0.2606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3089,
"after": 3.0,
"delta": -0.3089,
"percent_delta": -0.0934,
"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.3165,
"after": 0.0,
"delta": -0.3165,
"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.3165,
"after": 0.0,
"delta": -0.3165,
"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.2397,
"after": 0.333,
"delta": 0.0933,
"percent_delta": 0.3892,
"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.2685,
"after": 0.333,
"delta": 0.0645,
"percent_delta": 0.2402,
"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.2815,
"after": 0.333,
"delta": 0.0515,
"percent_delta": 0.1829,
"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.2397,
"after": 0.333,
"delta": 0.0933,
"percent_delta": 0.3892,
"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": 1.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": 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": 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": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"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": {
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2397,
"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.2685,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2815,
"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.333,
"after": 0.2397,
"delta": -0.0933,
"percent_delta": -0.28,
"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.2685,
"delta": -0.0645,
"percent_delta": -0.1937,
"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.2815,
"delta": -0.0515,
"percent_delta": -0.1546,
"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.2397,
"delta": -0.0933,
"percent_delta": -0.28,
"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.075,
"after": 1.0,
"delta": 0.925,
"percent_delta": 12.3333,
"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": 3.275,
"after": 4.0,
"delta": 0.725,
"percent_delta": 0.2214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2397,
"delta": -0.0043,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"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_OBP",
"before": 0.272,
"after": 0.2685,
"delta": -0.0035,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.325,
"after": 1.0,
"delta": 0.675,
"percent_delta": 2.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.125,
"after": 1.0,
"delta": 0.875,
"percent_delta": 7.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.282,
"after": 0.2815,
"delta": -0.0005,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.775,
"after": 0.0,
"delta": -0.775,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.775,
"after": 0.0,
"delta": -0.775,
"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.075 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.275 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.125 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.325 | - |
| predicted_RBI | 0.125 | - |
| predicted_SLG | 0.282 | - |
| predicted_SO | 0.775 | - |
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.004 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.309 | 0.034 |
| predicted_AVG | 0.241 | -0.003 |
| predicted_BB | 0.131 | 0.006 |
| predicted_H | 0.797 | -0.003 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.008 | 0.008 |
| predicted_OBP | 0.273 | 0.001 |
| predicted_R | 0.319 | -0.006 |
| predicted_RBI | 0.150 | 0.025 |
| predicted_SLG | 0.283 | 0.001 |
| predicted_SO | 0.797 | 0.022 |
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.021 | 0.000 |
| predicted_AB | 3.309 | 0.000 |
| predicted_AVG | 0.240 | -0.001 |
| predicted_BB | 0.130 | -0.001 |
| predicted_H | 0.793 | -0.004 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.008 | -0.000 |
| predicted_OBP | 0.269 | -0.004 |
| predicted_R | 0.317 | -0.003 |
| predicted_RBI | 0.149 | -0.001 |
| predicted_SLG | 0.281 | -0.001 |
| predicted_SO | 0.803 | 0.005 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.240 HR/AB=0.003
| 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.021 |
| predicted_AB | 3.000 | -0.309 |
| predicted_AVG | 0.333 | 0.093 |
| predicted_BB | 0.000 | -0.130 |
| predicted_H | 1.000 | 0.207 |
| predicted_HR | 0.000 | -0.008 |
| predicted_OBP | 0.333 | 0.065 |
| predicted_R | 0.000 | -0.317 |
| predicted_RBI | 0.000 | -0.149 |
| predicted_SLG | 0.333 | 0.052 |
| predicted_SO | 1.000 | 0.197 |
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 | 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 | - | 17.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 5.000 | 0.1765 | 0.1765 | 0.1765 | 0.1765 | 0.0000 | 0.0588 | 0.0000 | 0.2941 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 8.000 | 0.2581 | 0.3030 | 0.2581 | 0.2581 | 0.0000 | 0.0323 | 0.0645 | 0.2581 |
| season | 0.60 | 40 | - | 131.000 | 32.000 | 3.000 | 1.000 | 0.000 | 5.000 | 13.000 | 5.000 | 31.000 | 0.2443 | 0.2857 | 0.2824 | 0.2443 | 0.0000 | 0.0382 | 0.0382 | 0.2366 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.3600 |
| predicted_AVG | 0.2361 |
| predicted_BB | 0.1400 |
| predicted_H | 0.7930 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.0210 |
| predicted_OBP | 0.2741 |
| predicted_R | 0.3110 |
| predicted_RBI | 0.1890 |
| predicted_SLG | 0.2834 |
| predicted_SO | 0.8310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0750 | 0.0660 | 0.0714 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0210 | model_form_blend |
| predicted_AB | 3.2750 | 3.3600 | 3.3089 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2361 | 0.2409 | model_form_blend |
| predicted_BB | 0.1250 | 0.1400 | 0.1310 | model_form_blend |
| predicted_H | 0.8000 | 0.7930 | 0.7972 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.0000 | 0.0210 | 0.0084 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2741 | 0.2728 | model_form_blend |
| predicted_R | 0.3250 | 0.3110 | 0.3194 | model_form_blend |
| predicted_RBI | 0.1250 | 0.1890 | 0.1505 | model_form_blend |
| predicted_SLG | 0.2820 | 0.2834 | 0.2826 | model_form_blend |
| predicted_SO | 0.7750 | 0.8310 | 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 | 134 |
| Season rows before report date | 134 |
| Report year | 2026 |
| Profile rows used | 40 |
| 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| 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 | 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 | 2 |
| 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 | 2B |
| gameID | 20260729_CLE@CIN |
| game_type | full |
| mlbID | 695490 |
| playerID | 695490 |
| playerName | Edwin Arroyo |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 3.6 |
| sl_woba | 0.258 |
| sl_xwoba | 0.31 |
| sl_xba | 0.293 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 41.6 |
| sl_barrel_batted_rate | 1.0 |
| sl_hard_hit_percent | 25.7 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 17.8 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 59.3 |
| 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 | 2.056 | 2.000 | -0.056 | 0.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.667 | 2.000 | 1.333 | 2.000 |
| predicted_H | 9.000 | 9.000 | 9.000 | Pitching_H | 4.667 | 1.000 | 4.333 | 8.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 4.122 | 5.000 | -0.122 | -1.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 3.611 | 4.000 | 1.389 | 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: 4.6667 -> 4.0000 (deboost -0.6667, 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 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.0000 (deboost -0.6667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 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": "695076",
"player_name": "Rhett Lowder",
"position": "Starter",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 9.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 9.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 9.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_R": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"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 | 4.000 | - |
| predicted_H | 9.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 9.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.000 | -0.667 |
| predicted_SO | 5.000 | 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 | 14.100 | 11.000 | 17.000 | 7.000 | 9.000 | 1.000 | 6.9070 | 1.6744 | 0.7674 | 1.1861 | 0.4884 | 0.6279 | 0.0698 |
| last_10 | 0.35 | 10 | 38.200 | 25.000 | 48.000 | 19.000 | 38.000 | 7.000 | 5.8190 | 1.7328 | 0.6465 | 1.2414 | 0.4914 | 0.9828 | 0.1810 |
| season | 0.20 | 18 | 77.000 | 48.000 | 84.000 | 37.000 | 65.000 | 9.000 | 5.6104 | 1.5714 | 0.6234 | 1.0909 | 0.4805 | 0.8442 | 0.1169 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7650 |
| predicted_ER | 2.5180 |
| predicted_ERA | 5.8946 |
| predicted_H | 4.3860 |
| predicted_HR | 0.4820 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.1950 |
| predicted_WHIP | 1.5998 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.7650 | 1.8688 | model_form_blend |
| predicted_ER | 4.0000 | 2.5180 | 3.1728 | model_form_blend |
| predicted_ERA | - | 5.8946 | 5.8946 | form_only |
| predicted_H | 9.0000 | 4.3860 | 6.4247 | model_form_blend |
| predicted_HR | 1.0000 | 0.4820 | 0.7109 | model_form_blend |
| predicted_IP | 4.2000 | 4.0000 | 4.1000 | model_form_blend |
| predicted_SO | 5.0000 | 3.1950 | 3.9925 | model_form_blend |
| predicted_WHIP | - | 1.5998 | 1.5998 | 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 | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.0 |
| H | 9 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 5 |
| HR | 1 |
| BF | 23 |
| Pitches | 97 |
| 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 | 18 |
| Pitching_ER | 2 |
| Pitching_ERA | 5.61 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 7 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 76 |
| Pitching_R | 2 |
| Pitching_SO | 4 |
| Pitching_Strikes | 45 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260724_CIN@STL |
| game_type | full |
| mlbID | 695076 |
| playerID | 695076 |
| playerName | Rhett Lowder |
| pos | P |
| started | True |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-24 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.345 |
| sl_xwoba | 0.359 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 40.2 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 44.0 |
| sl_avg_best_speed | 80.682131356 |
| sl_avg_hyper_speed | 94.753146809 |
| 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.537 | 0.000 | -0.537 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.704 | 1.000 | -0.704 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.819 | 1.000 | 0.281 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.796 | 0.000 | -0.796 | 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": "656271",
"player_name": "Brock Burke",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"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": 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": 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": 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 | 0.000 | - |
| predicted_H | 0.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 | 5.000 | 0.000 | 2.000 | 2.000 | 3.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.4000 | 0.4000 | 0.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 7.000 | 3.000 | 7.000 | 1.000 | 0.9643 | 1.0714 | 0.1071 | 0.7500 | 0.3214 | 0.7500 | 0.1071 |
| season | 0.20 | 54 | 51.200 | 15.000 | 38.000 | 29.000 | 43.000 | 4.000 | 2.6129 | 1.2968 | 0.2903 | 0.7355 | 0.5613 | 0.8323 | 0.0774 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3890 |
| predicted_ER | 0.2300 |
| predicted_ERA | 2.0678 |
| predicted_H | 0.7160 |
| predicted_HR | 0.0850 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7840 |
| predicted_WHIP | 1.1047 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3890 | 0.1991 | model_form_blend |
| predicted_ER | 0.0000 | 0.2300 | 0.1177 | model_form_blend |
| predicted_ERA | - | 2.0678 | 2.0678 | form_only |
| predicted_H | 0.0000 | 0.7160 | 0.3665 | model_form_blend |
| predicted_HR | 0.0000 | 0.0850 | 0.0435 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7840 | 0.4013 | model_form_blend |
| predicted_WHIP | - | 1.1047 | 1.1047 | 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 | 54 |
| Season rows before report date | 54 |
| Report year | 2026 |
| Profile rows used | 54 |
| 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 | 0 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.61 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260728_CLE@CIN |
| game_type | full |
| mlbID | 656271 |
| playerID | 656271 |
| playerName | Brock Burke |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-28 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.293 |
| sl_xwoba | 0.319 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 29.9 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 45.3 |
| sl_avg_best_speed | 76.902515735 |
| sl_avg_hyper_speed | 93.062113235 |
| 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.348 | 0.000 | -0.348 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.783 | 1.000 | -0.783 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.887 | 1.000 | 0.213 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.000 | 2.000 | 1.000 | 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": "641941",
"player_name": "Emilio Pagán",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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.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.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 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": 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": 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 | 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.000 | 1.000 | 3.000 | 0.000 | 7.000 | 1.000 | 1.8000 | 0.6000 | 0.2000 | 0.6000 | 0.0000 | 1.4000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.000 | 6.000 | 9.000 | 2.000 | 13.000 | 2.000 | 6.0000 | 1.2222 | 0.6667 | 1.0000 | 0.2222 | 1.4444 | 0.2222 |
| season | 0.20 | 22 | 21.100 | 12.000 | 18.000 | 8.000 | 23.000 | 4.000 | 5.0625 | 1.2188 | 0.5625 | 0.8438 | 0.3750 | 1.0781 | 0.1875 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2630 |
| predicted_ER | 0.4740 |
| predicted_ERA | 4.2642 |
| predicted_H | 0.8900 |
| predicted_HR | 0.1760 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1390 |
| predicted_WHIP | 1.1526 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2630 | 0.1109 | model_form_blend |
| predicted_ER | 0.0000 | 0.4740 | 0.1999 | model_form_blend |
| predicted_ERA | - | 4.2642 | 4.2642 | form_only |
| predicted_H | 0.0000 | 0.8900 | 0.3753 | model_form_blend |
| predicted_HR | 0.0000 | 0.1760 | 0.0742 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.1390 | 1.6370 | model_form_blend |
| predicted_WHIP | - | 1.1526 | 1.1526 | 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| 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 | 5.06 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260728_CLE@CIN_2 |
| game_type | full |
| mlbID | 641941 |
| playerID | 641941 |
| playerName | Emilio Pagán |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-28 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.32 |
| sl_xwoba | 0.33 |
| sl_sweet_spot_percent | 44.8 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 56.9 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 50.4 |
| sl_avg_best_speed | 83.064583793 |
| sl_avg_hyper_speed | 95.522401207 |
| 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 | 0.242 | 0.000 | 0.758 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.697 | 0.000 | -0.697 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.876 | 1.100 | 0.124 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.909 | 2.000 | 0.091 | -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": "622088",
"player_name": "Tejay Antone",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 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": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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 | 1.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.100 | 1.000 | 5.000 | 1.000 | 5.000 | 1.000 | 1.6875 | 1.1250 | 0.1875 | 0.9375 | 0.1875 | 0.9375 | 0.1875 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 6.000 | 2.000 | 9.000 | 1.000 | 0.9000 | 0.8000 | 0.1000 | 0.6000 | 0.2000 | 0.9000 | 0.1000 |
| season | 0.20 | 33 | 33.100 | 8.000 | 23.000 | 8.000 | 30.000 | 4.000 | 2.1600 | 0.9300 | 0.2400 | 0.6900 | 0.2400 | 0.9000 | 0.1200 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2680 |
| predicted_ER | 0.3130 |
| predicted_ERA | 2.8153 |
| predicted_H | 0.8580 |
| predicted_HR | 0.1470 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9350 |
| predicted_WHIP | 1.1267 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2680 | 0.6570 | model_form_blend |
| predicted_ER | 0.0000 | 0.3130 | 0.1467 | model_form_blend |
| predicted_ERA | - | 2.8153 | 2.8153 | form_only |
| predicted_H | 0.0000 | 0.8580 | 0.4020 | model_form_blend |
| predicted_HR | 0.0000 | 0.1470 | 0.0689 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9350 | 0.9695 | model_form_blend |
| predicted_WHIP | - | 1.1267 | 1.1267 | 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 | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| 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 | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.16 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 25 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260728_CLE@CIN_2 |
| game_type | full |
| mlbID | 622088 |
| playerID | 622088 |
| playerName | Tejay Antone |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-28 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.261 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 25.3 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 34.7 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 77.669807209 |
| sl_avg_hyper_speed | 93.426657907 |
| 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.458 | 0.000 | -0.458 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.700 | 0.200 | 0.400 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.875 | 0.000 | 0.125 | 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.1000 (boost 0.4333, 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.1000 (boost 0.4333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "657571",
"player_name": "Caleb Ferguson",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"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": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"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": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"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.1,
"delta": 0.4333,
"percent_delta": 0.6499,
"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": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.6499,
"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 | 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 | 4.000 | 5.000 | 4.000 | 4.000 | 2.000 | 7.7143 | 1.9286 | 0.8571 | 1.0714 | 0.8571 | 0.8571 | 0.4286 |
| last_10 | 0.35 | 10 | 8.200 | 6.000 | 11.000 | 6.000 | 7.000 | 2.000 | 6.2308 | 1.9615 | 0.6923 | 1.2692 | 0.6923 | 0.8077 | 0.2308 |
| season | 0.20 | 24 | 23.100 | 9.000 | 24.000 | 11.000 | 21.000 | 3.000 | 3.4714 | 1.5000 | 0.3857 | 1.0286 | 0.4714 | 0.9000 | 0.1286 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4410 |
| predicted_ER | 0.4980 |
| predicted_ERA | 5.4181 |
| predicted_H | 0.8700 |
| predicted_HR | 0.1840 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7490 |
| predicted_WHIP | 1.5838 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4410 | 0.1901 | model_form_blend |
| predicted_ER | 0.0000 | 0.4980 | 0.2147 | model_form_blend |
| predicted_ERA | - | 5.4181 | 5.4181 | form_only |
| predicted_H | 0.0000 | 0.8700 | 0.3751 | model_form_blend |
| predicted_HR | 0.0000 | 0.1840 | 0.0793 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7490 | 0.8918 | model_form_blend |
| predicted_WHIP | - | 1.5838 | 1.5838 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| 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 | 17 |
| 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 | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.47 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260729_CLE@CIN |
| game_type | full |
| mlbID | 657571 |
| playerID | 657571 |
| playerName | Caleb Ferguson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.339 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 33.8 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 74.304345294 |
| sl_avg_hyper_speed | 93.249891791 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SEA 3 - 4 LAD | LAD | 0.530 | scoring_simulation.final_score | True |
| Simulation draw | SEA 2 - 5 LAD | LAD | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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.5300 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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.116 | 4.635 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5300 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 3 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 3 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 2 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.42624889918887604,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": -0.00017056778679025442,
"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": 7,
"pre_simulation_expected_total_runs": 9.8,
"low_score_model_expected_total_runs": 9.8,
"final_simulation_total_runs": 7,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 119,
"near_bucket_sample_size": 119,
"medium_bucket_sample_size": 257,
"wide_bucket_sample_size": 319,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.4874,
"bayesian_hit_rate": 0.4891,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8686,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5648,
"calibrated_pick_probability": 0.5174,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "LAD",
"games": 107,
"wins": 67,
"losses": 40,
"win_pct": 0.6261682242990654,
"runs_scored": 552,
"runs_allowed": 398,
"run_differential": 154,
"run_differential_per_game": 1.439252336448598,
"available": true
},
"away": {
"team": "SEA",
"games": 108,
"wins": 53,
"losses": 55,
"win_pct": 0.49074074074074076,
"runs_scored": 436,
"runs_allowed": 427,
"run_differential": 9,
"run_differential_per_game": 0.08333333333333333,
"available": true
},
"run_differential_edge_per_game": 1.3559,
"win_pct_edge": 0.1354,
"quality_edge": 1.5591,
"margin_adjustment": 0.6548,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.58,
"home_runs": 5.098,
"home_win_probability": 0.714
}
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": true,
"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",
"latest same-series result flipped a stale matchup lean"
],
"signals": {
"predicted_team": "LAD",
"opponent_team": "SEA",
"h2h_net_margin": -1,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": false,
"recent_h2h": [
{
"date": "2026-07-29",
"predicted_team_runs": 6,
"opponent_runs": 7,
"margin_for_predicted_team": -1,
"winner": "SEA"
}
],
"prediction_memory": {
"available": true,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "2026-07-29",
"predicted_team": "LAD",
"confidence": 0.66,
"actual_winner": "SEA",
"actual_margin": 1,
"path": "20260729_SEA@LAD.json"
},
{
"date": "2026-07-28",
"predicted_team": "LAD",
"confidence": 0.6,
"actual_winner": null,
"actual_margin": 0,
"path": "20260728_SEA@LAD.json"
}
]
},
"guardrail_predicted_team": "LAD",
"guardrail_opponent_team": "SEA",
"output_pre_simulation_winner": "LAD",
"output_opponent_team": "SEA",
"final_score_winner": "LAD",
"pre_simulation_winner": "LAD",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "SEA 3 - 4 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "SEA 2 - 5 LAD",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 3,
"winner_quality_edge": 1.5591,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": true,
"reasons": [
"season-to-date record and run differential support the home team over a close road lean"
],
"signals": {
"home": {
"team": "LAD",
"games": 107,
"wins": 67,
"losses": 40,
"win_pct": 0.6261682242990654,
"runs_scored": 552,
"runs_allowed": 398,
"run_differential": 154,
"run_differential_per_game": 1.439252336448598,
"available": true
},
"away": {
"team": "SEA",
"games": 108,
"wins": 53,
"losses": 55,
"win_pct": 0.49074074074074076,
"runs_scored": 436,
"runs_allowed": 427,
"run_differential": 9,
"run_differential_per_game": 0.08333333333333333,
"available": true
},
"home_quality_edge": 0.2981,
"original_score": {
"away_runs": 4.014,
"home_runs": 3.664,
"home_win_probability": 0.49
},
"adjusted_score": {
"away_runs": 3.669,
"home_runs": 4.431,
"home_win_probability": 0.561
}
}
}{
"applied": false,
"raw_margin": 0.7627,
"final_margin": 0.7627,
"margin_cap": 4.25,
"season_quality_edge": 1.5591,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.517427,
"final_confidence": 0.517427,
"confidence_cap": 0.66,
"score_gap": 0.7627,
"calibration_sample_size": 119,
"calibration_empirical_hit_rate": 0.4874,
"calibration_bayesian_hit_rate": 0.4891,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.5591,
"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",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "SEA 3 - 4 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "SEA 2 - 5 LAD",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 3,
"winner_quality_edge": 1.5591,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 2,
"home_runs": 5,
"confidence": 0.53,
"home_win_probability": 0.53,
"away_win_probability": 0.47,
"predicted_score_text": "SEA 2 - 5 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": "SEA",
"original_runs": 3,
"run_delta": 0.1153,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.1975937264763075,
"contact": 0.15810773945858367,
"power": 0.2578028067300826,
"discipline": -0.06759681791827912,
"xwoba": 0.3276470588235294,
"recent_xwoba": 0.3276470588235294,
"barrel": 8.714705882352941,
"ab_hard_contact": 0.14197210098821447,
"ab_bat_speed": 71.48518316990096,
"ab_strikeout_rate": 0.23758625005476997,
"available_players": 9,
"top_players": [
{
"player_id": "686527",
"player_name": "Dominic Canzone",
"position": "DH",
"weight": 3.0,
"quality": 1.0306709907180593,
"contact": 1.067745281413399,
"power": 1.4964857626436143,
"discipline": -0.04034110007639407,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 14.5,
"ab_hard_contact": 0.37504858620562476,
"ab_bat_speed": 73.10487516339869,
"ab_strikeout_rate": 0.22019607843137254,
"available": 1.0
},
{
"player_id": "806068",
"player_name": "Colt Emerson",
"position": "SS",
"weight": 3.0,
"quality": -0.8828547802094994,
"contact": -1.4167036196230158,
"power": -0.9079832239009591,
"discipline": -0.8556450216450219,
"xwoba": 0.254,
"recent_xwoba": 0.254,
"barrel": 5.1,
"ab_hard_contact": -0.7249978113525081,
"ab_bat_speed": 70.964575,
"ab_strikeout_rate": 0.34299999999999997,
"available": 1.0
},
{
"player_id": "670042",
"player_name": "Luke Raley",
"position": "RF",
"weight": 3.0,
"quality": 0.5287049225269164,
"contact": 0.32309779569911273,
"power": 1.337164027274501,
"discipline": -1.365712248535778,
"xwoba": 0.344,
"recent_xwoba": 0.344,
"barrel": 16.0,
"ab_hard_contact": 0.24461387882335722,
"ab_bat_speed": 73.0789827264239,
"ab_strikeout_rate": 0.3623529411764706,
"available": 1.0
},
{
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"weight": 5.0,
"quality": 0.6211718395256685,
"contact": 0.7288527825916479,
"power": 0.725429180861329,
"discipline": -0.17793867243867242,
"xwoba": 0.351,
"recent_xwoba": 0.351,
"barrel": 9.1,
"ab_hard_contact": 0.7390598077027792,
"ab_bat_speed": 75.24605864197531,
"ab_strikeout_rate": 0.21436507936507937,
"available": 1.0
},
{
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"weight": 4.0,
"quality": 0.4118123672207787,
"contact": 0.6377440220385845,
"power": 0.4080227197595992,
"discipline": 0.022051533572810245,
"xwoba": 0.351,
"recent_xwoba": 0.351,
"barrel": 8.2,
"ab_hard_contact": 0.16121629995389672,
"ab_bat_speed": 69.4505195035461,
"ab_strikeout_rate": 0.2225177304964539,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "808963",
"player_name": "Roki Sasaki",
"quality": -0.10665983786709618,
"contact": -0.37995922749962724,
"command": 0.10418086419753092,
"movement": 0.3180321392386155,
"xwoba": 0.321,
"whiff": 29.4,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "LAD",
"original_runs": 4,
"run_delta": 0.2856,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 37.0,
"quality": 0.5768142380774084,
"contact": 0.7538825533248432,
"power": 0.6726114669205692,
"discipline": 0.2547993023075426,
"xwoba": 0.3545135135135135,
"recent_xwoba": 0.3545135135135135,
"barrel": 10.024324324324324,
"ab_hard_contact": 0.38152409196619724,
"ab_bat_speed": 70.40002721778826,
"ab_strikeout_rate": 0.21503057952233917,
"available_players": 9,
"top_players": [
{
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"weight": 4.0,
"quality": 1.5643169648119355,
"contact": 1.6222264142900271,
"power": 2.0,
"discipline": 0.4672238534412448,
"xwoba": 0.411,
"recent_xwoba": 0.4109999999999999,
"barrel": 16.5,
"ab_hard_contact": 1.182881232286784,
"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.9589398034412666,
"contact": 1.2465890877669608,
"power": 0.8841068533573961,
"discipline": 0.6415163000265041,
"xwoba": 0.38200000000000006,
"recent_xwoba": 0.382,
"barrel": 9.9,
"ab_hard_contact": 0.46194659095744933,
"ab_bat_speed": 69.51761088840298,
"ab_strikeout_rate": 0.1609815354713314,
"available": 1.0
},
{
"player_id": "571970",
"player_name": "Max Muncy",
"position": "3B",
"weight": 4.0,
"quality": 0.713457196927172,
"contact": 0.5760828673734355,
"power": 1.1382784068428495,
"discipline": 0.2828653303218522,
"xwoba": 0.36000000000000004,
"recent_xwoba": 0.36,
"barrel": 14.0,
"ab_hard_contact": 0.6432824225712711,
"ab_bat_speed": 70.49534299516908,
"ab_strikeout_rate": 0.25463250517598346,
"available": 1.0
},
{
"player_id": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"weight": 5.0,
"quality": 0.5685559936081201,
"contact": 0.6690647462348831,
"power": 0.4153195784835264,
"discipline": 0.6642253487253486,
"xwoba": 0.33,
"recent_xwoba": 0.33,
"barrel": 8.3,
"ab_hard_contact": 0.2863915696705288,
"ab_bat_speed": 67.58734662383472,
"ab_strikeout_rate": 0.12248677248677249,
"available": 1.0
},
{
"player_id": "687221",
"player_name": "Dalton Rushing",
"position": "C",
"weight": 3.0,
"quality": 0.3130932824166496,
"contact": 0.3328319771061033,
"power": 0.6162410667673428,
"discipline": -0.2669982613015399,
"xwoba": 0.342,
"recent_xwoba": 0.342,
"barrel": 11.9,
"ab_hard_contact": -0.09689295036744824,
"ab_bat_speed": 70.49076047358835,
"ab_strikeout_rate": 0.2907103825136612,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "693433",
"player_name": "Bryan Woo",
"quality": 0.2742226591013226,
"contact": 0.39400839883442057,
"command": 0.06989514991181672,
"movement": 0.5931675661005157,
"xwoba": 0.291,
"whiff": 24.6,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 1.5591,
"recent_form_edge_home_minus_away": -0.182,
"pitcher_matchup_edge_home_minus_away": 0.1324,
"composite_home_edge": 1.2833,
"existing_home_win_probability": 0.5174,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 1.2833
},
"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. Season quality guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "SEA 3 - 4 LAD",
"confidence": 0.53,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "SEA 3 - 4 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "SEA 2 - 5 LAD",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 3,
"winner_quality_edge": 1.5591,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "LAD",
"display_confidence": 0.53,
"internal_signal_score": 0.7009,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.53,
"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": 3,
"winner_quality_edge": 1.5591,
"winner_recent_form_edge": 0.168,
"winner_pitcher_matchup_edge": 0.1324,
"winner_simulation_draw_rate": 0.6667,
"blowout_draw_rate_margin_4_plus": 0.2,
"high_total_draw_rate_11_plus": 0.2,
"low_total_draw_rate_6_or_less": 0.2667,
"total_runs_spread": {
"min": 4,
"median": 9,
"max": 18,
"range": 14
}
},
"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 SEA | True | 1.0365 | 1.0365 | 1 | 9 | 0 |
| Home LAD | True | 1.0649 | 1.0649 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Randy Arozarena | 28 | 1.0526 | 0.7015 | neutral | 0.3510 | 0.2640 | 0.4240 | 8.20 | 42.70 | 91.10 | 8.10 | 27.90 | 21.30 | 9.40 | -0.3714 |
| DH | Dominic Canzone | 88 | 1.1056 | 1.4081 | neutral | 0.3730 | 0.2770 | 0.5280 | 14.50 | 47.30 | 92.20 | 9.20 | 28.20 | 20.50 | 8.80 | 0.1429 |
| CF | Julio Rodríguez | 53 | 1.0731 | 0.9742 | neutral | 0.3510 | 0.2760 | 0.4750 | 9.10 | 43.50 | 90 | 13.30 | 26.70 | 20.30 | 7.20 | 0.7714 |
| 2B | Cole Young | 21 | 1.0393 | 0.5237 | neutral | 0.3330 | 0.2770 | 0.4250 | 5.30 | 38.20 | 88.50 | 14.80 | 19.10 | 17 | 6.30 | 0.5143 |
| 3B | J.P. Crawford | 212 | 1.0192 | 0.2566 | neutral | 0.3250 | 0.2400 | 0.3650 | 6.40 | 35.30 | 87.60 | 12.90 | 17.80 | 20.30 | 13.70 | 0.5143 |
| C | Cal Raleigh | 482 | 0.9869 | -0.1742 | neutral | 0.2870 | 0.1770 | 0.3560 | 11.40 | 33 | 88.20 | 24.20 | 31.10 | 32.50 | 11.90 | 0.6857 |
| 1B | Josh Naylor | 426 | 1.0254 | 0.3386 | neutral | 0.3220 | 0.2760 | 0.3950 | 4.70 | 36.50 | 87.60 | 12.70 | 18.40 | 12.40 | 7.60 | 0.5429 |
| RF | Luke Raley | 409 | 1.0835 | 1.1135 | neutral | 0.3440 | 0.2530 | 0.4890 | 16 | 47.90 | 90.80 | 15.30 | 40.80 | 32.70 | 5.30 | 0.8286 |
| SS | Colt Emerson | 251 | 0.9433 | -0.7566 | neutral | 0.2540 | 0.1960 | 0.3010 | 5.10 | 29.90 | 86.30 | 13.90 | 33.20 | 32.50 | 7.10 | -0.6571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Shohei Ohtani | 36 | 1.1438 | 1.9170 | neutral | 0.4110 | 0.2950 | 0.5750 | 16.50 | 53.40 | 93.60 | 12.70 | 30.10 | 22.80 | 13.90 | 0.6286 |
| SS | Mookie Betts | 108 | 1.0580 | 0.7736 | neutral | 0.3300 | 0.2720 | 0.4340 | 8.30 | 39 | 90.50 | 19.20 | 12.50 | 12 | 7.60 | 0.8286 |
| 2B | Tommy Edman | 127 | 1.0345 | 0.4601 | neutral | 0.3780 | 0.3270 | 0.4510 | 7.20 | 41 | 89.70 | 11.30 | 21 | 17.90 | 6.80 | -0.6857 |
| 1B | Freddie Freeman | 34 | 1.1018 | 1.3569 | neutral | 0.3820 | 0.2980 | 0.4980 | 9.90 | 43.20 | 90.10 | 12.60 | 21.50 | 16.40 | 11.10 | 0.1714 |
| 3B | Max Muncy | 16 | 1.0765 | 1.0198 | neutral | 0.3600 | 0.2480 | 0.4890 | 14 | 44.10 | 90.20 | 16 | 27.40 | 23.70 | 12.10 | -0.2857 |
| CF | Andy Pages | 7 | 1.0479 | 0.6386 | neutral | 0.3370 | 0.2660 | 0.4370 | 8.10 | 44.10 | 89 | 16.30 | 23.20 | 20.40 | 8.30 | -0.0571 |
| LF | Teoscar Hernández | 334 | 1.0288 | 0.3841 | neutral | 0.3190 | 0.2450 | 0.4070 | 9 | 43.60 | 89.30 | 15.40 | 32.60 | 27.60 | 9.10 | 0.2857 |
| C | Dalton Rushing | 157 | 1.0496 | 0.6614 | neutral | 0.3420 | 0.2560 | 0.4300 | 11.90 | 44.10 | 89.40 | 18.10 | 31 | 27.70 | 9.80 | -0.3429 |
| RF | Kyle Tucker | 217 | 1.0434 | 0.5781 | neutral | 0.3390 | 0.2640 | 0.4010 | 6.70 | 38.50 | 88.90 | 16.70 | 22.90 | 19.20 | 12.20 | 0.6000 |
{
"home": {
"applied": true,
"offense_factor": 1.0649,
"raw_average_factor": 1.0649,
"team_espn_average_rank": 115.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.1438,
"quality_score": 1.917,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660271",
"espn_id": 39832,
"player_name": "Shohei Ohtani",
"team": "LAD",
"role": "batter",
"espn_rank": 36,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 36,
"gp_value": 99.0,
"gp_rank": 106,
"ab_value": 380.0,
"ab_rank": 73,
"r_value": 68.0,
"r_rank": 11,
"h_value": 110.0,
"h_rank": 21,
"avg_value": 0.2894736,
"avg_rank": 17.0,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 23.0,
"hr_rank": 13,
"rbi_value": 65.0,
"rbi_rank": 20,
"tb_value": 204.0,
"tb_rank": 186,
"bb_value": 64.0,
"bb_rank": 12,
"so_value": 104.0,
"so_rank": 42,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3942731,
"obp_rank": "5",
"slg_value": 0.5368421,
"slg_rank": "13",
"ops_value": 0.9311152,
"ops_rank": 18.0,
"war_value": 3.09,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 414.0,
"k_percent": 22.8,
"bb_percent": 13.9,
"woba": 0.389,
"xwoba": 0.411,
"xba": 0.295,
"xslg": 0.575,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 16.5,
"hard_hit_percent": 53.4,
"exit_velocity_avg": 93.6,
"launch_angle_avg": 12.7,
"whiff_percent": 30.1,
"swing_percent": 45.5
},
"components": {
"expected_quality": 2.1268,
"regression_edge": 0.6286,
"xwoba_edge": 2.5,
"xba_edge": 1.6143,
"xslg_edge": 2.5,
"barrel_edge": 2.1556,
"hard_hit_edge": 2.1857,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 0.9667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.058,
"quality_score": 0.7736,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605141",
"espn_id": 33039,
"player_name": "Mookie Betts",
"team": "LAD",
"role": "batter",
"espn_rank": 108,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 108,
"gp_value": 71.0,
"gp_rank": 239,
"ab_value": 280.0,
"ab_rank": 165,
"r_value": 42.0,
"r_rank": 135,
"h_value": 64.0,
"h_rank": 181,
"avg_value": 0.2285714,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 13.0,
"hr_rank": 92,
"rbi_value": 34.0,
"rbi_rank": 176,
"tb_value": 113.0,
"tb_rank": 1165,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 37.0,
"so_rank": 308,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.2885245,
"obp_rank": "-",
"slg_value": 0.4035714,
"slg_rank": "-",
"ops_value": 0.6920959,
"ops_rank": null,
"war_value": 1.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 276.0,
"k_percent": 12.0,
"bb_percent": 7.6,
"woba": 0.301,
"xwoba": 0.33,
"xba": 0.272,
"xslg": 0.434,
"sweet_spot_percent": 40.7,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 39.0,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 19.2,
"whiff_percent": 12.5,
"swing_percent": 41.6
},
"components": {
"expected_quality": 0.7647,
"regression_edge": 0.8286,
"xwoba_edge": 0.7857,
"xba_edge": 0.9571,
"xslg_edge": 0.8929,
"barrel_edge": 0.3333,
"hard_hit_edge": 0.1286,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 1.2333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "669242",
"player_name": "Tommy Edman",
"offense_factor": 1.0345,
"quality_score": 0.4601,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669242",
"espn_id": 39907,
"player_name": "Tommy Edman",
"team": "LAD",
"role": "batter",
"espn_rank": 127,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 127,
"gp_value": 33.0,
"gp_rank": 412,
"ab_value": 106.0,
"ab_rank": 385,
"r_value": 18.0,
"r_rank": 322,
"h_value": 35.0,
"h_rank": 311,
"avg_value": 0.3301886,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 2.0,
"hr_rank": 372,
"rbi_value": 18.0,
"rbi_rank": 304,
"tb_value": 51.0,
"tb_rank": 1825,
"bb_value": 8.0,
"bb_rank": 380,
"so_value": 23.0,
"so_rank": 406,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.4033613,
"obp_rank": "-",
"slg_value": 0.481132,
"slg_rank": "-",
"ops_value": 0.8844933,
"ops_rank": null,
"war_value": 1.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 97.0,
"k_percent": 17.9,
"bb_percent": 6.8,
"woba": 0.402,
"xwoba": 0.378,
"xba": 0.327,
"xslg": 0.451,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 41.0,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 11.3,
"whiff_percent": 21.0,
"swing_percent": 49.1
},
"components": {
"expected_quality": 1.3005,
"regression_edge": -0.6857,
"xwoba_edge": 2.1571,
"xba_edge": 2.5,
"xslg_edge": 1.1357,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.4143,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.1018,
"quality_score": 1.3569,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 34,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 34,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 398.0,
"ab_rank": 35,
"r_value": 56.0,
"r_rank": 49,
"h_value": 120.0,
"h_rank": 6,
"avg_value": 0.3015075,
"avg_rank": 6.0,
"2b_value": 27.0,
"2b_rank": 1,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 53.0,
"rbi_rank": 56,
"tb_value": 194.0,
"tb_rank": 420,
"bb_value": 50.0,
"bb_rank": 33,
"so_value": 74.0,
"so_rank": 128,
"sb_value": 5.0,
"sb_rank": 143,
"obp_value": 0.3802197,
"obp_rank": "13",
"slg_value": 0.4874371,
"slg_rank": "28",
"ops_value": 0.8676568,
"ops_rank": 15.0,
"war_value": 3.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 426.0,
"k_percent": 16.4,
"bb_percent": 11.1,
"woba": 0.376,
"xwoba": 0.382,
"xba": 0.298,
"xslg": 0.498,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 12.6,
"whiff_percent": 21.5,
"swing_percent": 50.5
},
"components": {
"expected_quality": 1.5499,
"regression_edge": 0.1714,
"xwoba_edge": 2.2714,
"xba_edge": 1.7,
"xslg_edge": 1.8071,
"barrel_edge": 0.6889,
"hard_hit_edge": 0.7286,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "571970",
"player_name": "Max Muncy",
"offense_factor": 1.0765,
"quality_score": 1.0198,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571970",
"espn_id": 33303,
"player_name": "Max Muncy",
"team": "LAD",
"role": "batter",
"espn_rank": 16,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 16,
"gp_value": 99.0,
"gp_rank": 106,
"ab_value": 328.0,
"ab_rank": 121,
"r_value": 59.0,
"r_rank": 36,
"h_value": 84.0,
"h_rank": 109,
"avg_value": 0.2560975,
"avg_rank": 73.0,
"2b_value": 16.0,
"2b_rank": 107,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 21.0,
"hr_rank": 27,
"rbi_value": 49.0,
"rbi_rank": 78,
"tb_value": 165.0,
"tb_rank": 509,
"bb_value": 45.0,
"bb_rank": 44,
"so_value": 89.0,
"so_rank": 75,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3510638,
"obp_rank": "44",
"slg_value": 0.5030487,
"slg_rank": "17",
"ops_value": 0.8541125,
"ops_rank": 27.0,
"war_value": 3.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 352.0,
"k_percent": 23.7,
"bb_percent": 12.1,
"woba": 0.37,
"xwoba": 0.36,
"xba": 0.248,
"xslg": 0.489,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 14.0,
"hard_hit_percent": 44.1,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 16.0,
"whiff_percent": 27.4,
"swing_percent": 44.5
},
"components": {
"expected_quality": 1.2324,
"regression_edge": -0.2857,
"xwoba_edge": 1.6429,
"xba_edge": 0.2714,
"xslg_edge": 1.6786,
"barrel_edge": 1.6,
"hard_hit_edge": 0.8571,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0479,
"quality_score": 0.6386,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 7,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 7,
"gp_value": 107.0,
"gp_rank": 20,
"ab_value": 412.0,
"ab_rank": 14,
"r_value": 63.0,
"r_rank": 29,
"h_value": 110.0,
"h_rank": 21,
"avg_value": 0.2669902,
"avg_rank": 55.0,
"2b_value": 22.0,
"2b_rank": 25,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 18.0,
"hr_rank": 39,
"rbi_value": 71.0,
"rbi_rank": 8,
"tb_value": 190.0,
"tb_rank": 255,
"bb_value": 38.0,
"bb_rank": 80,
"so_value": 93.0,
"so_rank": 67,
"sb_value": 10.0,
"sb_rank": 62,
"obp_value": 0.3340563,
"obp_rank": "70",
"slg_value": 0.461165,
"slg_rank": "44",
"ops_value": 0.7952213,
"ops_rank": 114.0,
"war_value": 4.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 432.0,
"k_percent": 20.4,
"bb_percent": 8.3,
"woba": 0.339,
"xwoba": 0.337,
"xba": 0.266,
"xslg": 0.437,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 44.1,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 16.3,
"whiff_percent": 23.2,
"swing_percent": 48.1
},
"components": {
"expected_quality": 0.7519,
"regression_edge": -0.0571,
"xwoba_edge": 0.9857,
"xba_edge": 0.7857,
"xslg_edge": 0.9357,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.8571,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"offense_factor": 1.0288,
"quality_score": 0.3841,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606192",
"espn_id": 33377,
"player_name": "Teoscar Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 334,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 334,
"gp_value": 73.0,
"gp_rank": 226,
"ab_value": 259.0,
"ab_rank": 186,
"r_value": 42.0,
"r_rank": 135,
"h_value": 64.0,
"h_rank": 181,
"avg_value": 0.2471042,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 172,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 37.0,
"rbi_rank": 150,
"tb_value": 100.0,
"tb_rank": 1361,
"bb_value": 26.0,
"bb_rank": 165,
"so_value": 80.0,
"so_rank": 102,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3172413,
"obp_rank": "-",
"slg_value": 0.3861003,
"slg_rank": "-",
"ops_value": 0.7033416,
"ops_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 263.0,
"k_percent": 27.6,
"bb_percent": 9.1,
"woba": 0.309,
"xwoba": 0.319,
"xba": 0.245,
"xslg": 0.407,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 15.4,
"whiff_percent": 32.6,
"swing_percent": 45.8
},
"components": {
"expected_quality": 0.4002,
"regression_edge": 0.2857,
"xwoba_edge": 0.4714,
"xba_edge": 0.1857,
"xslg_edge": 0.5071,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.7857,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "687221",
"player_name": "Dalton Rushing",
"offense_factor": 1.0496,
"quality_score": 0.6614,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687221",
"espn_id": 4619839,
"player_name": "Dalton Rushing",
"team": "LAD",
"role": "batter",
"espn_rank": 157,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 157,
"gp_value": 72.0,
"gp_rank": 232,
"ab_value": 210.0,
"ab_rank": 245,
"r_value": 36.0,
"r_rank": 166,
"h_value": 54.0,
"h_rank": 220,
"avg_value": 0.2571428,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 172,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 33.0,
"rbi_rank": 184,
"tb_value": 99.0,
"tb_rank": 1244,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 66.0,
"so_rank": 161,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3403361,
"obp_rank": "-",
"slg_value": 0.4714285,
"slg_rank": "-",
"ops_value": 0.8117646,
"ops_rank": null,
"war_value": 1.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 27.7,
"bb_percent": 9.8,
"woba": 0.354,
"xwoba": 0.342,
"xba": 0.256,
"xslg": 0.43,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 44.1,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 18.1,
"whiff_percent": 31.0,
"swing_percent": 49.3
},
"components": {
"expected_quality": 0.8465,
"regression_edge": -0.3429,
"xwoba_edge": 1.1286,
"xba_edge": 0.5,
"xslg_edge": 0.8357,
"barrel_edge": 1.1333,
"hard_hit_edge": 0.8571,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0434,
"quality_score": 0.5781,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 217,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 217,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 363.0,
"ab_rank": 88,
"r_value": 56.0,
"r_rank": 49,
"h_value": 86.0,
"h_rank": 101,
"avg_value": 0.2369146,
"avg_rank": 119.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 51.0,
"rbi_rank": 65,
"tb_value": 135.0,
"tb_rank": 719,
"bb_value": 51.0,
"bb_rank": 30,
"so_value": 80.0,
"so_rank": 102,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3325415,
"obp_rank": "72",
"slg_value": 0.3719008,
"slg_rank": "129",
"ops_value": 0.7044423,
"ops_rank": 201.0,
"war_value": 0.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 391.0,
"k_percent": 19.2,
"bb_percent": 12.2,
"woba": 0.318,
"xwoba": 0.339,
"xba": 0.264,
"xslg": 0.401,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 16.7,
"whiff_percent": 22.9,
"swing_percent": 48.4
},
"components": {
"expected_quality": 0.5745,
"regression_edge": 0.6,
"xwoba_edge": 1.0429,
"xba_edge": 0.7286,
"xslg_edge": 0.4214,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.0571,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0365,
"raw_average_factor": 1.0365,
"team_espn_average_rank": 218.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "668227",
"player_name": "Randy Arozarena",
"offense_factor": 1.0526,
"quality_score": 0.7015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668227",
"espn_id": 36488,
"player_name": "Randy Arozarena",
"team": "SEA",
"role": "batter",
"espn_rank": 28,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 28,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 371.0,
"ab_rank": 84,
"r_value": 66.0,
"r_rank": 17,
"h_value": 103.0,
"h_rank": 42,
"avg_value": 0.277628,
"avg_rank": 36.0,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 13.0,
"hr_rank": 92,
"rbi_value": 47.0,
"rbi_rank": 89,
"tb_value": 165.0,
"tb_rank": 564,
"bb_value": 40.0,
"bb_rank": 66,
"so_value": 92.0,
"so_rank": 70,
"sb_value": 20.0,
"sb_rank": 14,
"obp_value": 0.3712296,
"obp_rank": "19",
"slg_value": 0.4447439,
"slg_rank": "62",
"ops_value": 0.8159735,
"ops_rank": 81.0,
"war_value": 3.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 400.0,
"k_percent": 21.3,
"bb_percent": 9.4,
"woba": 0.364,
"xwoba": 0.351,
"xba": 0.264,
"xslg": 0.424,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 42.7,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 8.1,
"whiff_percent": 27.9,
"swing_percent": 46.6
},
"components": {
"expected_quality": 0.8761,
"regression_edge": -0.3714,
"xwoba_edge": 1.3857,
"xba_edge": 0.7286,
"xslg_edge": 0.75,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.6571,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "686527",
"player_name": "Dominic Canzone",
"offense_factor": 1.1056,
"quality_score": 1.4081,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686527",
"espn_id": 4345621,
"player_name": "Dominic Canzone",
"team": "SEA",
"role": "batter",
"espn_rank": 88,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 88,
"gp_value": 94.0,
"gp_rank": 132,
"ab_value": 269.0,
"ab_rank": 175,
"r_value": 38.0,
"r_rank": 151,
"h_value": 71.0,
"h_rank": 152,
"avg_value": 0.2639405,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": 107,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 18.0,
"hr_rank": 39,
"rbi_value": 49.0,
"rbi_rank": 78,
"tb_value": 143.0,
"tb_rank": 588,
"bb_value": 26.0,
"bb_rank": 165,
"so_value": 61.0,
"so_rank": 183,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3355481,
"obp_rank": "-",
"slg_value": 0.5315985,
"slg_rank": "-",
"ops_value": 0.8671466,
"ops_rank": null,
"war_value": 1.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 269.0,
"k_percent": 20.5,
"bb_percent": 8.8,
"woba": 0.368,
"xwoba": 0.373,
"xba": 0.277,
"xslg": 0.528,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 14.5,
"hard_hit_percent": 47.3,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 9.2,
"whiff_percent": 28.2,
"swing_percent": 47.7
},
"components": {
"expected_quality": 1.6141,
"regression_edge": 0.1429,
"xwoba_edge": 2.0143,
"xba_edge": 1.1,
"xslg_edge": 2.2357,
"barrel_edge": 1.7111,
"hard_hit_edge": 1.3143,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"offense_factor": 1.0731,
"quality_score": 0.9742,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677594",
"espn_id": 41044,
"player_name": "Julio Rodriguez",
"team": "SEA",
"role": "batter",
"espn_rank": 53,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 53,
"gp_value": 98.0,
"gp_rank": 112,
"ab_value": 385.0,
"ab_rank": 61,
"r_value": 51.0,
"r_rank": 78,
"h_value": 98.0,
"h_rank": 63,
"avg_value": 0.2545454,
"avg_rank": 75.0,
"2b_value": 16.0,
"2b_rank": 107,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 16.0,
"hr_rank": 56,
"rbi_value": 46.0,
"rbi_rank": 95,
"tb_value": 162.0,
"tb_rank": 836,
"bb_value": 30.0,
"bb_rank": 131,
"so_value": 85.0,
"so_rank": 82,
"sb_value": 13.0,
"sb_rank": 45,
"obp_value": 0.3144208,
"obp_rank": "111",
"slg_value": 0.4207792,
"slg_rank": "83",
"ops_value": 0.7352,
"ops_rank": 194.0,
"war_value": 2.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 390.0,
"k_percent": 20.3,
"bb_percent": 7.2,
"woba": 0.324,
"xwoba": 0.351,
"xba": 0.276,
"xslg": 0.475,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 13.3,
"whiff_percent": 26.7,
"swing_percent": 52.9
},
"components": {
"expected_quality": 1.0072,
"regression_edge": 0.7714,
"xwoba_edge": 1.3857,
"xba_edge": 1.0714,
"xslg_edge": 1.4786,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.7714,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "702284",
"player_name": "Cole Young",
"offense_factor": 1.0393,
"quality_score": 0.5237,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702284",
"espn_id": 5080641,
"player_name": "Cole Young",
"team": "SEA",
"role": "batter",
"espn_rank": 21,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 21,
"gp_value": 109.0,
"gp_rank": 1,
"ab_value": 394.0,
"ab_rank": 41,
"r_value": 50.0,
"r_rank": 88,
"h_value": 102.0,
"h_rank": 45,
"avg_value": 0.2588832,
"avg_rank": 69.0,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 13.0,
"hr_rank": 92,
"rbi_value": 49.0,
"rbi_rank": 78,
"tb_value": 159.0,
"tb_rank": 547,
"bb_value": 28.0,
"bb_rank": 146,
"so_value": 74.0,
"so_rank": 128,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3187066,
"obp_rank": "101",
"slg_value": 0.4035532,
"slg_rank": "99",
"ops_value": 0.7222598,
"ops_rank": 2.0,
"war_value": 3.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 403.0,
"k_percent": 17.0,
"bb_percent": 6.3,
"woba": 0.315,
"xwoba": 0.333,
"xba": 0.277,
"xslg": 0.425,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 14.8,
"whiff_percent": 19.1,
"swing_percent": 48.9
},
"components": {
"expected_quality": 0.5252,
"regression_edge": 0.5143,
"xwoba_edge": 0.8714,
"xba_edge": 1.1,
"xslg_edge": 0.7643,
"barrel_edge": -0.3333,
"hard_hit_edge": 0.0143,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "641487",
"player_name": "J.P. Crawford",
"offense_factor": 1.0192,
"quality_score": 0.2566,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641487",
"espn_id": 33210,
"player_name": "J.P. Crawford",
"team": "SEA",
"role": "batter",
"espn_rank": 212,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 212,
"gp_value": 87.0,
"gp_rank": 164,
"ab_value": 307.0,
"ab_rank": 136,
"r_value": 38.0,
"r_rank": 151,
"h_value": 65.0,
"h_rank": 174,
"avg_value": 0.2117263,
"avg_rank": 148.0,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 30.0,
"rbi_rank": 201,
"tb_value": 106.0,
"tb_rank": 1263,
"bb_value": 50.0,
"bb_rank": 33,
"so_value": 74.0,
"so_rank": 128,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3296703,
"obp_rank": "78",
"slg_value": 0.3452768,
"slg_rank": "146",
"ops_value": 0.6749471,
"ops_rank": 224.0,
"war_value": 0.73,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 347.0,
"k_percent": 20.3,
"bb_percent": 13.7,
"woba": 0.307,
"xwoba": 0.325,
"xba": 0.24,
"xslg": 0.365,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 35.3,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 12.9,
"whiff_percent": 17.8,
"swing_percent": 38.5
},
"components": {
"expected_quality": 0.2146,
"regression_edge": 0.5143,
"xwoba_edge": 0.6429,
"xba_edge": 0.0429,
"xslg_edge": -0.0929,
"barrel_edge": -0.0889,
"hard_hit_edge": -0.4,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "663728",
"player_name": "Cal Raleigh",
"offense_factor": 0.9869,
"quality_score": -0.1742,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663728",
"espn_id": 41292,
"player_name": "Cal Raleigh",
"team": "SEA",
"role": "batter",
"espn_rank": 482,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 482,
"gp_value": 76.0,
"gp_rank": 213,
"ab_value": 280.0,
"ab_rank": 165,
"r_value": 25.0,
"r_rank": 244,
"h_value": 46.0,
"h_rank": 254,
"avg_value": 0.1642857,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 285,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 36.0,
"rbi_rank": 160,
"tb_value": 86.0,
"tb_rank": 1391,
"bb_value": 39.0,
"bb_rank": 73,
"so_value": 105.0,
"so_rank": 40,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.2685185,
"obp_rank": "-",
"slg_value": 0.3071428,
"slg_rank": "-",
"ops_value": 0.5756613,
"ops_rank": null,
"war_value": -0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 305.0,
"k_percent": 32.5,
"bb_percent": 11.9,
"woba": 0.263,
"xwoba": 0.287,
"xba": 0.177,
"xslg": 0.356,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 33.0,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 24.2,
"whiff_percent": 31.1,
"swing_percent": 51.7
},
"components": {
"expected_quality": -0.3142,
"regression_edge": 0.6857,
"xwoba_edge": -0.4429,
"xba_edge": -1.7571,
"xslg_edge": -0.2214,
"barrel_edge": 1.0222,
"hard_hit_edge": -0.7286,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "647304",
"player_name": "Josh Naylor",
"offense_factor": 1.0254,
"quality_score": 0.3386,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "647304",
"espn_id": 35066,
"player_name": "Josh Naylor",
"team": "SEA",
"role": "batter",
"espn_rank": 426,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 426,
"gp_value": 102.0,
"gp_rank": 74,
"ab_value": 399.0,
"ab_rank": 32,
"r_value": 42.0,
"r_rank": 135,
"h_value": 104.0,
"h_rank": 40,
"avg_value": 0.2606516,
"avg_rank": 65.0,
"2b_value": 15.0,
"2b_rank": 120,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 38.0,
"rbi_rank": 143,
"tb_value": 143.0,
"tb_rank": 1168,
"bb_value": 33.0,
"bb_rank": 116,
"so_value": 54.0,
"so_rank": 217,
"sb_value": 21.0,
"sb_rank": 11,
"obp_value": 0.3226544,
"obp_rank": "89",
"slg_value": 0.3583959,
"slg_rank": "136",
"ops_value": 0.6810503,
"ops_rank": 47.0,
"war_value": -0.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 406.0,
"k_percent": 12.4,
"bb_percent": 7.6,
"woba": 0.303,
"xwoba": 0.322,
"xba": 0.276,
"xslg": 0.395,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 36.5,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 12.7,
"whiff_percent": 18.4,
"swing_percent": 51.9
},
"components": {
"expected_quality": 0.3054,
"regression_edge": 0.5429,
"xwoba_edge": 0.5571,
"xba_edge": 1.0714,
"xslg_edge": 0.3357,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.2286,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "670042",
"player_name": "Luke Raley",
"offense_factor": 1.0835,
"quality_score": 1.1135,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670042",
"espn_id": 40422,
"player_name": "Luke Raley",
"team": "SEA",
"role": "batter",
"espn_rank": 409,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 409,
"gp_value": 94.0,
"gp_rank": 132,
"ab_value": 260.0,
"ab_rank": 185,
"r_value": 28.0,
"r_rank": 220,
"h_value": 59.0,
"h_rank": 205,
"avg_value": 0.226923,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 39.0,
"rbi_rank": 135,
"tb_value": 115.0,
"tb_rank": 853,
"bb_value": 15.0,
"bb_rank": 275,
"so_value": 93.0,
"so_rank": 67,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.286219,
"obp_rank": "-",
"slg_value": 0.4423076,
"slg_rank": "-",
"ops_value": 0.7285266,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 270.0,
"k_percent": 32.7,
"bb_percent": 5.3,
"woba": 0.315,
"xwoba": 0.344,
"xba": 0.253,
"xslg": 0.489,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 16.0,
"hard_hit_percent": 47.9,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 15.3,
"whiff_percent": 40.8,
"swing_percent": 54.0
},
"components": {
"expected_quality": 1.1599,
"regression_edge": 0.8286,
"xwoba_edge": 1.1857,
"xba_edge": 0.4143,
"xslg_edge": 1.6786,
"barrel_edge": 2.0444,
"hard_hit_edge": 1.4,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 1.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "806068",
"player_name": "Colt Emerson",
"offense_factor": 0.9433,
"quality_score": -0.7566,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "806068",
"espn_id": 5149068,
"player_name": "Colt Emerson",
"team": "SEA",
"role": "batter",
"espn_rank": 251,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 251,
"gp_value": 56.0,
"gp_rank": 306,
"ab_value": 180.0,
"ab_rank": 275,
"r_value": 22.0,
"r_rank": 277,
"h_value": 36.0,
"h_rank": 303,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 21.0,
"rbi_rank": 271,
"tb_value": 65.0,
"tb_rank": 1412,
"bb_value": 14.0,
"bb_rank": 290,
"so_value": 65.0,
"so_rank": 164,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.2626262,
"obp_rank": "-",
"slg_value": 0.3611111,
"slg_rank": "-",
"ops_value": 0.6237373,
"ops_rank": null,
"war_value": 0.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 177.0,
"k_percent": 32.5,
"bb_percent": 7.1,
"woba": 0.277,
"xwoba": 0.254,
"xba": 0.196,
"xslg": 0.301,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 29.9,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 13.9,
"whiff_percent": 33.2,
"swing_percent": 52.0
},
"components": {
"expected_quality": -0.9864,
"regression_edge": -0.6571,
"xwoba_edge": -1.3857,
"xba_edge": -1.2143,
"xslg_edge": -1.0071,
"barrel_edge": -0.3778,
"hard_hit_edge": -1.1714,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": 0.7167,
"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 SEA | True | 188 | 0.2179 | 1 | 0.9815 | 1.0031 | 0.9240 | 1.0017 | neutral | 0.2910 | 0.2870 | 24 | 5.10 | 24.60 | 6.60 | 43.10 | |
| Home LAD | True | 361 | -0.1409 | 1 | 1.0120 | 1.0283 | 1.0020 | 1.1173 | neutral | 0.3210 | 0.3420 | 23.60 | 9 | 29.40 | 11.40 | 43.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SEA | True | None | 93 | 92.63 | 2284 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1543 | |
| Home LAD | True | None | 86 | 92.22 | 1705 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1315 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0120 |
| home_runs_vs_away_pitcher | 0.9815 |
| home_pitcher_quality_edge | -0.3588 |
{
"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.6,
"bb_percent": 9.0,
"woba": 0.342,
"xwoba": 0.321,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 43.9,
"avg_best_speed": 79.7185,
"avg_hyper_speed": 94.5969,
"whiff_percent": 29.4,
"swing_percent": 50.5
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.4983,
"command_and_miss": 0.2604,
"regression_edge": 0.6,
"xwoba_edge": -0.2571,
"barrel_edge": -0.9556,
"hard_hit_edge": -0.8286,
"whiff_edge": 0.5286,
"bb_edge": -0.025,
"pitch_design_score": 0.1315
},
"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.1315,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.939,
"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.1409,
"sample_weight": 1.0,
"run_prevention_factor": 1.012,
"strikeout_factor": 1.0283,
"walk_factor": 1.002,
"homer_factor": 1.1173,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808963",
"espn_id": 5134638,
"player_name": "Roki Sasaki",
"team": "LAD",
"role": "pitcher",
"espn_rank": 361,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 361,
"gp_value": 18.0,
"gp_rank": 347,
"gs_value": 18.0,
"gs_rank": 76,
"qs_value": 5.0,
"qs_rank": 83,
"era_value": 4.7081,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 5.0,
"l_rank": 97,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 93.2,
"ip_rank": 93,
"h_value": 85.0,
"h_rank": 87,
"er_value": 49.0,
"er_rank": 50,
"hr_value": 20.0,
"hr_rank": 13,
"bb_value": 36.0,
"bb_rank": 54,
"k_value": 94.0,
"k_rank": 63,
"k_per_9_value": 9.032028,
"k_per_9_rank": 18,
"whip_value": 1.2918,
"whip_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "693433",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 448.0,
"k_percent": 24.0,
"bb_percent": 5.1,
"woba": 0.287,
"xwoba": 0.291,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 43.1,
"avg_best_speed": 79.0112,
"avg_hyper_speed": 94.4302,
"whiff_percent": 24.6,
"swing_percent": 53.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2756,
"command_and_miss": 0.2411,
"regression_edge": -0.1143,
"xwoba_edge": 0.6,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.7143,
"whiff_edge": -0.1571,
"bb_edge": 0.95,
"pitch_design_score": 0.1543
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "693433",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.62745502474569,
"release_spin_rate": 2284.077565808353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.62745502474569,
"release_spin_rate": 2284.077565808353,
"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.6275,
"release_spin_rate": 2284.0776,
"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.1543,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.102,
"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.2179,
"sample_weight": 1.0,
"run_prevention_factor": 0.9815,
"strikeout_factor": 1.0031,
"walk_factor": 0.924,
"homer_factor": 1.0017,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693433",
"espn_id": 4629089,
"player_name": "Bryan Woo",
"team": "SEA",
"role": "pitcher",
"espn_rank": 188,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 188,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 20.0,
"gs_rank": 43,
"qs_value": 11.0,
"qs_rank": 20,
"era_value": 4.3699,
"era_rank": 53.0,
"w_value": 7.0,
"w_rank": 44,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 115.1,
"ip_rank": 39,
"h_value": 107.0,
"h_rank": 41,
"er_value": 56.0,
"er_rank": 23,
"hr_value": 12.0,
"hr_rank": 77,
"bb_value": 24.0,
"bb_rank": 151,
"k_value": 114.0,
"k_rank": 32,
"k_per_9_value": 8.895954,
"k_per_9_rank": 22,
"whip_value": 1.1358,
"whip_rank": 25.0,
"war_value": 0.73,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.012,
"home_runs_vs_away_pitcher": 0.9815,
"home_pitcher_quality_edge": -0.3588
},
"score_before": {
"away_runs": 3.2282,
"home_runs": 4.768
},
"score_after": {
"away_runs": 3.2669,
"home_runs": 4.6798,
"home_win_probability": 0.6136
},
"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 SEA | 5-5 | 0.500 | 4.40 | 4.40 | 0 | 1W | average | average |
| Home LAD | 6-4 | 0.600 | 4.60 | 4.10 | 5 | 2L | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SEA | 53-55 | 0.491 | 9 | 0.083 | True |
| Home LAD | 67-40 | 0.626 | 154 | 1.439 | True |
| Signal | - | - | 1.356 | 1.559 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-29 | SEA @ LAD | 7 - 6 | SEA | 1 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SEA | - | - | 3 | - | - | - | - |
| Game target LAD | - | - | 4 | - | - | - | - |
| Player finalized SEA | 34 | 9 | 1 | 0 | 2 | 1 | 10 |
| Player finalized LAD | 37 | 9 | 9 | 0 | 5 | 2 | 9 |
| Player model fractional SEA | 33.39 | 7.35 | 3.62 | 1.20 | 3.54 | 2.86 | 8.01 |
| Player model fractional LAD | 34.96 | 9.58 | 5.21 | 1.49 | 4.91 | 3.40 | 7.50 |
| Simulation box SEA | 33 | 6 | 2 | 1 | 2 | 0 | 11 |
| Simulation box LAD | 31 | 8 | 5 | 1 | 5 | 2 | 6 |
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 SEA | Starter | Bryan Woo | 5.10 | 5 | 4 | 7 | 1 | 5.18 | 1.39 | True |
| Away SEA | Middle Reliever | Eduard Bazardo | 1 | 0 | 0 | 0 | 0 | 5.50 | 1.30 | True |
| Away SEA | Middle Reliever | José A. Ferrer | 1.10 | 0 | 1 | 1 | 1 | 2.66 | 1.21 | True |
| Away SEA | Middle Reliever | Andrés Muñoz | 0.10 | 0 | 1 | 0 | 0 | 2.91 | 1.06 | True |
| Home LAD | Starter | Roki Sasaki | 5 | 2 | 8 | 6 | 0 | 4.54 | 1.26 | True |
| Home LAD | Middle Reliever | Brock Stewart | 1 | 0 | 1 | 0 | 0 | 3.63 | 1.04 | True |
| Home LAD | Middle Reliever | Evan Phillips | 1 | 0 | 1 | 0 | 0 | 5.17 | 1.33 | True |
| Home LAD | Middle Reliever | Tanner Scott | 1.10 | 0 | 1 | 0 | 0 | 3.35 | 1.22 | True |
| Home LAD | Middle Reliever | Alex Vesia | 0.20 | 0 | 0 | 0 | 0 | 4.51 | 1.31 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | LAD | batter | 1B | Freddie Freeman | better | 11 | 9 | 2 | 8 | 3 | predicted_RBI | 2.5100 | boost | better |
| home | LAD | batter | CF | Andy Pages | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -2.3000 | deboost | worse |
| away | SEA | batter | SS | Colt Emerson | worse | 11 | 4 | 7 | 5 | 6 | predicted_RBI | 1.7000 | boost | better |
| away | SEA | batter | DH | Dominic Canzone | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.3370 | boost | worse |
| home | LAD | batter | RF | Kyle Tucker | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | -1.2500 | deboost | worse |
| away | SEA | batter | CF | Julio Rodríguez | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -1.2200 | deboost | worse |
| home | LAD | batter | DH | Shohei Ohtani | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -1.1020 | deboost | worse |
| home | LAD | batter | LF | Teoscar Hernández | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -1.0990 | deboost | better |
| home | LAD | batter | C | Dalton Rushing | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 1.0900 | boost | better |
| away | SEA | batter | RF | Luke Raley | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 0.9780 | boost | worse |
| home | LAD | batter | 2B | Tommy Edman | worse | 12 | 6 | 6 | 5 | 7 | predicted_3B | 0.9310 | boost | better |
| away | SEA | batter | 1B | Josh Naylor | worse | 9 | 2 | 7 | 3 | 6 | predicted_H | 0.8800 | boost | better |
| away | SEA | batter | 3B | J.P. Crawford | worse | 11 | 2 | 9 | 3 | 8 | predicted_2B | 0.8720 | boost | better |
| home | LAD | batter | 3B | Max Muncy | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | -0.8400 | deboost | worse |
| home | LAD | batter | SS | Mookie Betts | worse | 9 | 4 | 5 | 3 | 6 | predicted_AB | -0.7000 | deboost | worse |
| away | SEA | batter | LF | Randy Arozarena | worse | 11 | 3 | 8 | 2 | 9 | predicted_R | -0.6530 | deboost | worse |
| away | SEA | batter | C | Cal Raleigh | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.6200 | deboost | worse |
| away | SEA | batter | 2B | Cole Young | worse | 11 | 1 | 10 | 0 | 11 | predicted_RBI | -0.5000 | deboost | worse |
| home | LAD | pitcher | Middle Reliever | Alex Vesia | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | SEA | pitcher | Starter | Bryan Woo | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | SEA | pitcher | Middle Reliever | José A. Ferrer | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | LAD | pitcher | Middle Reliever | Tanner Scott | 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 | Bryan Woo |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2179 |
| ESPN Rank | 188 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1543 |
| Avg Velo | 92.6275 |
| Avg Spin | 2284.0776 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 5 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 4.3699 |
| Season WHIP | 1.1358 |
| Role Avg IP | 5.7670 |
| Recent Avg IP | 5.2670 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"opponent": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"edges": {
"quality_edge": -0.3342,
"offense_edge": -0.0791,
"opponent_offense_edge": 0.1343,
"defense_strength": 0.1185,
"opponent_defense_weakness": -0.2267,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.0263,
"strikeout": 0.9792
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693433",
"profile": {
"available": true,
"pitcher_id": "693433",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 448.0,
"k_percent": 24.0,
"bb_percent": 5.1,
"woba": 0.287,
"xwoba": 0.291,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 43.1,
"avg_best_speed": 79.0112,
"avg_hyper_speed": 94.4302,
"whiff_percent": 24.6,
"swing_percent": 53.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2756,
"command_and_miss": 0.2411,
"regression_edge": -0.1143,
"xwoba_edge": 0.6,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.7143,
"whiff_edge": -0.1571,
"bb_edge": 0.95,
"pitch_design_score": 0.1543
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "693433",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.62745502474569,
"release_spin_rate": 2284.077565808353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.62745502474569,
"release_spin_rate": 2284.077565808353,
"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.6275,
"release_spin_rate": 2284.0776,
"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.1543,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.102,
"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.2179,
"sample_weight": 1.0,
"run_prevention_factor": 0.9815,
"strikeout_factor": 1.0031,
"walk_factor": 0.924,
"homer_factor": 1.0017,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693433",
"espn_id": 4629089,
"player_name": "Bryan Woo",
"team": "SEA",
"role": "pitcher",
"espn_rank": 188,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 188,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 20.0,
"gs_rank": 43,
"qs_value": 11.0,
"qs_rank": 20,
"era_value": 4.3699,
"era_rank": 53.0,
"w_value": 7.0,
"w_rank": 44,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 115.1,
"ip_rank": 39,
"h_value": 107.0,
"h_rank": 41,
"er_value": 56.0,
"er_rank": 23,
"hr_value": 12.0,
"hr_rank": 77,
"bb_value": 24.0,
"bb_rank": 151,
"k_value": 114.0,
"k_rank": 32,
"k_per_9_value": 8.895954,
"k_per_9_rank": 22,
"whip_value": 1.1358,
"whip_rank": 25.0,
"war_value": 0.73,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9815,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9815,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.924,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0017,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0031,
"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": 56.1,
"ER": 33,
"H": 61,
"BB": 12,
"SO": 59,
"HR": 6,
"ERA": 5.272189349112426,
"WHIP": 1.2958579881656807,
"K9": 9.42603550295858,
"HR9": 0.9585798816568049,
"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-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "693433",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.62745502474569,
"release_spin_rate": 2284.077565808353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.62745502474569,
"release_spin_rate": 2284.077565808353,
"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.6275,
"release_spin_rate": 2284.0776,
"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.1543,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.102,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": "693433",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.1,
"ER": 17.0,
"R": 19.0,
"H": 34.0,
"BB": 8.0,
"SO": 26.0,
"HR": 3.0,
"BF": 121.0,
"Pitches": 472.0
},
"per_game": {
"IP": 5.1,
"ER": 3.4,
"R": 3.8,
"H": 6.8,
"BB": 1.6,
"SO": 5.2,
"HR": 0.6,
"BF": 24.2,
"Pitches": 94.4
},
"rates": {
"ERA": 5.8101,
"WHIP": 1.5949,
"ER_per_IP": 0.64557,
"H_per_IP": 1.29114,
"BB_per_IP": 0.3038,
"SO_per_IP": 0.98734,
"HR_per_IP": 0.11392
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.1,
"ER": 33.0,
"R": 35.0,
"H": 61.0,
"BB": 12.0,
"SO": 59.0,
"HR": 6.0,
"BF": 242.0,
"Pitches": 910.0
},
"per_game": {
"IP": 5.2,
"ER": 3.3,
"R": 3.5,
"H": 6.1,
"BB": 1.2,
"SO": 5.9,
"HR": 0.6,
"BF": 24.2,
"Pitches": 91.0
},
"rates": {
"ERA": 5.2722,
"WHIP": 1.2959,
"ER_per_IP": 0.5858,
"H_per_IP": 1.08284,
"BB_per_IP": 0.21302,
"SO_per_IP": 1.04734,
"HR_per_IP": 0.10651
}
},
"season": {
"games": 20,
"totals": {
"IP": 115.1,
"ER": 56.0,
"R": 60.0,
"H": 107.0,
"BB": 24.0,
"SO": 114.0,
"HR": 12.0,
"BF": 475.0,
"Pitches": 1769.0
},
"per_game": {
"IP": 5.2,
"ER": 2.8,
"R": 3.0,
"H": 5.35,
"BB": 1.2,
"SO": 5.7,
"HR": 0.6,
"BF": 23.75,
"Pitches": 88.45
},
"rates": {
"ERA": 4.3699,
"WHIP": 1.1358,
"ER_per_IP": 0.48555,
"H_per_IP": 0.92775,
"BB_per_IP": 0.20809,
"SO_per_IP": 0.98844,
"HR_per_IP": 0.10405
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 3.153,
"predicted_H": 6.092,
"predicted_BB": 1.499,
"predicted_SO": 5.473,
"predicted_HR": 0.646,
"predicted_ERA": 5.178,
"predicted_WHIP": 1.3852
}
}{
"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.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 3.153,
"final": 3.9555,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 6.092,
"final": 6.4865,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.499,
"final": 1.2822,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.473,
"final": 4.833,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.646,
"final": 0.7998,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.178,
"final": 5.178,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3852,
"final": 1.3852,
"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 | Eduard Bazardo |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0479 |
| ESPN Rank | 164 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0623 |
| Avg Velo | 90.9851 |
| Avg Spin | 2332.4302 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.8723 |
| Season WHIP | 1.2553 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"opponent": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"edges": {
"quality_edge": -0.3342,
"offense_edge": -0.0791,
"opponent_offense_edge": 0.1343,
"defense_strength": 0.1185,
"opponent_defense_weakness": -0.2267,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.0263,
"strikeout": 0.9792
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660825",
"profile": {
"available": true,
"pitcher_id": "660825",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 176.0,
"k_percent": 24.0,
"bb_percent": 7.1,
"woba": 0.305,
"xwoba": 0.312,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 37.3,
"avg_best_speed": 80.3101,
"avg_hyper_speed": 94.1615,
"whiff_percent": 22.1,
"swing_percent": 46.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.102,
"command_and_miss": 0.0161,
"regression_edge": -0.2,
"xwoba_edge": 0.0,
"barrel_edge": -0.4222,
"hard_hit_edge": 0.1143,
"whiff_edge": -0.5143,
"bb_edge": 0.45,
"pitch_design_score": 0.0623
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "660825",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.98510753109731,
"release_spin_rate": 2332.4301560683625,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 90.98510753109731,
"release_spin_rate": 2332.4301560683625,
"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.9851,
"release_spin_rate": 2332.4302,
"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.0623,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4451,
"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.0479,
"sample_weight": 0.704,
"run_prevention_factor": 1.0041,
"strikeout_factor": 0.9922,
"walk_factor": 0.9747,
"homer_factor": 1.0206,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660825",
"espn_id": 41939,
"player_name": "Eduard Bazardo",
"team": "SEA",
"role": "pitcher",
"espn_rank": 164,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 164,
"gp_value": 50.0,
"gp_rank": 9,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.8723,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 21.0,
"hld_rank": 2,
"ip_value": 47.0,
"ip_rank": 214,
"h_value": 45.0,
"h_rank": 198,
"er_value": 15.0,
"er_rank": 322,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 14.0,
"bb_rank": 308,
"k_value": 47.0,
"k_rank": 221,
"k_per_9_value": 9.0,
"k_per_9_rank": 27,
"whip_value": 1.2553,
"whip_rank": null,
"war_value": 0.86,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0029,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0029,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9822,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0145,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9945,
"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": 6,
"H": 9,
"BB": 1,
"SO": 13,
"HR": 3,
"ERA": 5.586206896551724,
"WHIP": 1.0344827586206897,
"K9": 12.10344827586207,
"HR9": 2.793103448275862,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "660825",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.98510753109731,
"release_spin_rate": 2332.4301560683625,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 90.98510753109731,
"release_spin_rate": 2332.4301560683625,
"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.9851,
"release_spin_rate": 2332.4302,
"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.0623,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4451,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.366,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.652,
"prior_weight": 0.348
},
"role": "pitcher",
"player_id": "660825",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 1.0,
"SO": 6.0,
"HR": 2.0,
"BF": 22.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.4,
"BF": 4.4,
"Pitches": 14.4
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.5,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 1.0,
"SO": 13.0,
"HR": 3.0,
"BF": 40.0,
"Pitches": 148.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.1,
"SO": 1.3,
"HR": 0.3,
"BF": 4.0,
"Pitches": 14.8
},
"rates": {
"ERA": 5.5862,
"WHIP": 1.0345,
"ER_per_IP": 0.62069,
"H_per_IP": 0.93103,
"BB_per_IP": 0.10345,
"SO_per_IP": 1.34483,
"HR_per_IP": 0.31034
}
},
"season": {
"games": 50,
"totals": {
"IP": 47.0,
"ER": 15.0,
"R": 17.0,
"H": 45.0,
"BB": 14.0,
"SO": 47.0,
"HR": 5.0,
"BF": 196.0,
"Pitches": 754.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.34,
"H": 0.9,
"BB": 0.28,
"SO": 0.94,
"HR": 0.1,
"BF": 3.92,
"Pitches": 15.08
},
"rates": {
"ERA": 2.8723,
"WHIP": 1.2553,
"ER_per_IP": 0.31915,
"H_per_IP": 0.95745,
"BB_per_IP": 0.29787,
"SO_per_IP": 1.0,
"HR_per_IP": 0.10638
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.611,
"predicted_H": 1.054,
"predicted_BB": 0.249,
"predicted_SO": 1.148,
"predicted_HR": 0.263,
"predicted_ERA": 5.4977,
"predicted_WHIP": 1.3034
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.497,
"form_weight": 0.503,
"form_reliability": 0.652,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.366,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.652,
"prior_weight": 0.348
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.611,
"final": 0.3073,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.054,
"final": 0.5301,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.249,
"final": 0.1252,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.148,
"final": 0.5774,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.263,
"final": 0.1323,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4977,
"final": 5.4977,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3034,
"final": 1.3034,
"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é A. Ferrer |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2525 |
| ESPN Rank | 129 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2494 |
| Avg Velo | 94.3254 |
| Avg Spin | 2202.0070 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.6591 |
| Season WHIP | 1.2955 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"opponent": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"edges": {
"quality_edge": -0.3342,
"offense_edge": -0.0791,
"opponent_offense_edge": 0.1343,
"defense_strength": 0.1185,
"opponent_defense_weakness": -0.2267,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.0263,
"strikeout": 0.9792
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678606",
"profile": {
"available": true,
"pitcher_id": "678606",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 178.0,
"k_percent": 18.8,
"bb_percent": 6.8,
"woba": 0.303,
"xwoba": 0.281,
"sweet_spot_percent": 26.6,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 35.3,
"avg_best_speed": 74.3634,
"avg_hyper_speed": 93.2758,
"whiff_percent": 20.2,
"swing_percent": 50.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.6703,
"command_and_miss": -0.3982,
"regression_edge": 0.6286,
"xwoba_edge": 0.8857,
"barrel_edge": 0.4667,
"hard_hit_edge": 0.4,
"whiff_edge": -0.7857,
"bb_edge": 0.525,
"pitch_design_score": 0.2494
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678606",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 94.32539413442476,
"release_spin_rate": 2202.0069566876964,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 94.32539413442476,
"release_spin_rate": 2202.0069566876964,
"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": 94.3254,
"release_spin_rate": 2202.007,
"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.2494,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.7812,
"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.2525,
"sample_weight": 0.712,
"run_prevention_factor": 0.9785,
"strikeout_factor": 0.9632,
"walk_factor": 0.9701,
"homer_factor": 0.9431,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678606",
"espn_id": 5119607,
"player_name": "Jose Ferrer",
"team": "SEA",
"role": "pitcher",
"espn_rank": 129,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 129,
"gp_value": 49.0,
"gp_rank": 16,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.659,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 3.0,
"sv_rank": 53,
"hld_value": 10.0,
"hld_rank": 56,
"ip_value": 44.0,
"ip_rank": 243,
"h_value": 45.0,
"h_rank": 198,
"er_value": 13.0,
"er_rank": 355,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 13.0,
"bb_rank": 332,
"k_value": 36.0,
"k_rank": 304,
"k_per_9_value": 7.3636365,
"k_per_9_rank": 33,
"whip_value": 1.3181,
"whip_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9847,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9847,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9787,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9595,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9738,
"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": 7,
"BB": 5,
"SO": 7,
"HR": 1,
"ERA": 3.0,
"WHIP": 1.3333333333333333,
"K9": 7.0,
"HR9": 1.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "678606",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 94.32539413442476,
"release_spin_rate": 2202.0069566876964,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 94.32539413442476,
"release_spin_rate": 2202.0069566876964,
"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": 94.3254,
"release_spin_rate": 2202.007,
"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.2494,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.7812,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.769,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6369,
"prior_weight": 0.3631
},
"role": "pitcher",
"player_id": "678606",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 3.0,
"SO": 2.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.6,
"SO": 0.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9231,
"ER_per_IP": 0.0,
"H_per_IP": 0.23077,
"BB_per_IP": 0.69231,
"SO_per_IP": 0.46154,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 5.0,
"SO": 7.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 144.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.5,
"SO": 0.7,
"HR": 0.1,
"BF": 4.0,
"Pitches": 14.4
},
"rates": {
"ERA": 3.0,
"WHIP": 1.3333,
"ER_per_IP": 0.33333,
"H_per_IP": 0.77778,
"BB_per_IP": 0.55556,
"SO_per_IP": 0.77778,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 48,
"totals": {
"IP": 44.0,
"ER": 13.0,
"R": 14.0,
"H": 44.0,
"BB": 13.0,
"SO": 36.0,
"HR": 3.0,
"BF": 191.0,
"Pitches": 707.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2708,
"R": 0.2917,
"H": 0.9167,
"BB": 0.2708,
"SO": 0.75,
"HR": 0.0625,
"BF": 3.9792,
"Pitches": 14.7292
},
"rates": {
"ERA": 2.6591,
"WHIP": 1.2955,
"ER_per_IP": 0.29545,
"H_per_IP": 1.0,
"BB_per_IP": 0.29545,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.06818
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.296,
"predicted_H": 0.721,
"predicted_BB": 0.489,
"predicted_SO": 0.758,
"predicted_HR": 0.089,
"predicted_ERA": 2.6612,
"predicted_WHIP": 1.2105
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5034,
"form_weight": 0.4966,
"form_reliability": 0.6369,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.769,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6369,
"prior_weight": 0.3631
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.296,
"final": 0.147,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.721,
"final": 0.8615,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.489,
"final": 0.7462,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.758,
"final": 0.8798,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.0442,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6612,
"final": 2.6612,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2105,
"final": 1.2105,
"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 | Andrés Muñoz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3867 |
| ESPN Rank | 296 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1685 |
| Avg Velo | 92.8809 |
| Avg Spin | 2318.5271 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.5217 |
| Season WHIP | 1.1739 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"opponent": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"edges": {
"quality_edge": -0.3342,
"offense_edge": -0.0791,
"opponent_offense_edge": 0.1343,
"defense_strength": 0.1185,
"opponent_defense_weakness": -0.2267,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9848,
"run_prevention": 1.0263,
"strikeout": 0.9792
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "662253",
"profile": {
"available": true,
"pitcher_id": "662253",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 154.0,
"k_percent": 36.2,
"bb_percent": 9.8,
"woba": 0.279,
"xwoba": 0.287,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 42.5,
"avg_best_speed": 75.2653,
"avg_hyper_speed": 94.3161,
"whiff_percent": 39.7,
"swing_percent": 47.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.4203,
"command_and_miss": 1.5454,
"regression_edge": -0.2286,
"xwoba_edge": 0.7143,
"barrel_edge": -0.2,
"hard_hit_edge": -0.6286,
"whiff_edge": 2.0,
"bb_edge": -0.225,
"pitch_design_score": 0.1685
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "662253",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 92.8808516240419,
"release_spin_rate": 2318.5270803445733,
"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": 12,
"pitch_usage": 0.0,
"release_speed": 92.8808516240419,
"release_spin_rate": 2318.5270803445733,
"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.8809,
"release_spin_rate": 2318.5271,
"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.1685,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2034,
"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.3867,
"sample_weight": 0.616,
"run_prevention_factor": 0.9671,
"strikeout_factor": 1.098,
"walk_factor": 1.0111,
"homer_factor": 1.0121,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662253",
"espn_id": 40939,
"player_name": "Andres Munoz",
"team": "SEA",
"role": "pitcher",
"espn_rank": 296,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 296,
"gp_value": 41.0,
"gp_rank": 83,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.9913,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 19.0,
"sv_rank": 12,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 38.1,
"ip_rank": 304,
"h_value": 31.0,
"h_rank": 320,
"er_value": 17.0,
"er_rank": 288,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 16.0,
"bb_rank": 272,
"k_value": 59.0,
"k_rank": 154,
"k_per_9_value": 13.852174,
"k_per_9_rank": 13,
"whip_value": 1.226,
"whip_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9797,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9797,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0068,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0075,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0604,
"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.0,
"ER": 1,
"H": 5,
"BB": 3,
"SO": 15,
"HR": 0,
"ERA": 0.9,
"WHIP": 0.8,
"K9": 13.5,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "662253",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 92.8808516240419,
"release_spin_rate": 2318.5270803445733,
"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": 12,
"pitch_usage": 0.0,
"release_speed": 92.8808516240419,
"release_spin_rate": 2318.5270803445733,
"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.8809,
"release_spin_rate": 2318.5271,
"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.1685,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2034,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.639,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6044,
"prior_weight": 0.3956
},
"role": "pitcher",
"player_id": "662253",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 10.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 2.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.2
},
"rates": {
"ERA": 1.8,
"WHIP": 0.8,
"ER_per_IP": 0.2,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 2.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 3.0,
"SO": 15.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 143.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.3,
"SO": 1.5,
"HR": 0.0,
"BF": 3.7,
"Pitches": 14.3
},
"rates": {
"ERA": 0.9,
"WHIP": 0.8,
"ER_per_IP": 0.1,
"H_per_IP": 0.5,
"BB_per_IP": 0.3,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 40,
"totals": {
"IP": 38.1,
"ER": 15.0,
"R": 16.0,
"H": 30.0,
"BB": 15.0,
"SO": 59.0,
"HR": 4.0,
"BF": 161.0,
"Pitches": 644.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.4,
"H": 0.75,
"BB": 0.375,
"SO": 1.475,
"HR": 0.1,
"BF": 4.025,
"Pitches": 16.1
},
"rates": {
"ERA": 3.5217,
"WHIP": 1.1739,
"ER_per_IP": 0.3913,
"H_per_IP": 0.78261,
"BB_per_IP": 0.3913,
"SO_per_IP": 1.53913,
"HR_per_IP": 0.10435
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.238,
"predicted_H": 0.512,
"predicted_BB": 0.265,
"predicted_SO": 1.05,
"predicted_HR": 0.053,
"predicted_ERA": 2.9075,
"predicted_WHIP": 1.0557
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5171,
"form_weight": 0.4829,
"form_reliability": 0.6044,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.639,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6044,
"prior_weight": 0.3956
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.238,
"final": 0.1149,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.512,
"final": 0.2472,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.265,
"final": 0.128,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.05,
"final": 1.0241,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.053,
"final": 0.0256,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9075,
"final": 2.9075,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0557,
"final": 1.0557,
"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.208 | 0.000 | 0.000 | Hitting_2B | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 4.380 | 4.000 | 4.000 | Hitting_AB | 3.702 | 4.000 | 0.298 | 0.000 |
| predicted_AVG | 0.205 | 0.250 | 0.250 | Hitting_AVG | 0.290 | 0.000 | -0.040 | 0.250 |
| predicted_BB | 0.396 | 0.000 | 0.000 | Hitting_BB | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_H | 0.900 | 1.000 | 1.000 | Hitting_H | 1.073 | 0.000 | -0.073 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.250 | Hitting_OBP | 0.388 | 0.000 | -0.138 | 0.250 |
| predicted_R | 0.653 | 0.000 | 1.000 | Hitting_R | 0.682 | 0.000 | -0.682 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.506 | 0.000 | -0.506 | 0.000 |
| predicted_SLG | 0.401 | 0.250 | 0.250 | Hitting_SLG | 0.460 | 0.000 | -0.210 | 0.250 |
| predicted_SO | 0.911 | 1.000 | 1.000 | Hitting_SO | 0.892 | 1.000 | 0.108 | 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_H: 0.9000 -> 1.0000 (boost 0.1000, better) |
| Biggest Deboost | predicted_R: 0.6530 -> 0.0000 (deboost -0.6530, 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 | 3 | 1 | predicted_AVG: 0.2050 -> 0.2300 (boost 0.0250, better) | predicted_AB: 4.3800 -> 4.1477 (deboost -0.2323, 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.4216 -> 0.3874 (deboost -0.0342, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.9048 -> 1.0000 (boost 0.0952, better) | predicted_RBI: 0.3887 -> 0.0000 (deboost -0.3887, worse) | AB rounded to 4 (raw=4.38), rates preserved: AVG=0.207 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5791 -> 1.0000 (boost 0.4209, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2181 -> 0.2500 (boost 0.0319, better) | predicted_SLG: 0.3874 -> 0.2500 (deboost -0.1374, 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_R: 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.3874 (boost 0.1374, better) | predicted_AVG: 0.2500 -> 0.2181 (deboost -0.0319, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.01,
"predicted_AB": 4.38,
"predicted_AVG": 0.205,
"predicted_BB": 0.396,
"predicted_H": 0.9,
"predicted_HR": 0.17,
"predicted_OBP": 0.299,
"predicted_R": 0.653,
"predicted_RBI": 0.43,
"predicted_SLG": 0.401,
"predicted_SO": 0.911
},
"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.1761,
"predicted_3B": 0.0087,
"predicted_AB": 4.1477,
"predicted_AVG": 0.23,
"predicted_BB": 0.3564,
"predicted_H": 0.9478,
"predicted_HBP": 0.119,
"predicted_HR": 0.1782,
"predicted_OBP": 0.3133,
"predicted_R": 0.6271,
"predicted_RBI": 0.4209,
"predicted_SLG": 0.4216,
"predicted_SO": 0.9084
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.1761,
"delta": -0.0319,
"percent_delta": -0.1534,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1477,
"delta": -0.2323,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.23,
"delta": 0.025,
"percent_delta": 0.122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.3564,
"delta": -0.0396,
"percent_delta": -0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9478,
"delta": 0.0478,
"percent_delta": 0.0531,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1782,
"delta": 0.0082,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3133,
"delta": 0.0143,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.653,
"after": 0.6271,
"delta": -0.0259,
"percent_delta": -0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4209,
"delta": -0.0091,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4216,
"delta": 0.0206,
"percent_delta": 0.0514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.911,
"after": 0.9084,
"delta": -0.0026,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.23,
"delta": 0.025,
"percent_delta": 0.122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1477,
"delta": -0.2323,
"percent_delta": -0.053,
"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.1761,
"predicted_3B": 0.0087,
"predicted_AB": 4.1477,
"predicted_AVG": 0.2181,
"predicted_BB": 0.3517,
"predicted_H": 0.9048,
"predicted_HBP": 0.119,
"predicted_HR": 0.1695,
"predicted_OBP": 0.2793,
"predicted_R": 0.5791,
"predicted_RBI": 0.3887,
"predicted_SLG": 0.3874,
"predicted_SO": 0.9204
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1761,
"after": 0.1761,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1477,
"after": 4.1477,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2181,
"delta": -0.0119,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3564,
"after": 0.3517,
"delta": -0.0047,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9478,
"after": 0.9048,
"delta": -0.043,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.119,
"after": 0.119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1782,
"after": 0.1695,
"delta": -0.0087,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3133,
"after": 0.2793,
"delta": -0.034,
"percent_delta": -0.1085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6271,
"after": 0.5791,
"delta": -0.048,
"percent_delta": -0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4209,
"after": 0.3887,
"delta": -0.0322,
"percent_delta": -0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4216,
"after": 0.3874,
"delta": -0.0342,
"percent_delta": -0.0811,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9084,
"after": 0.9204,
"delta": 0.012,
"percent_delta": 0.0132,
"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.4216,
"after": 0.3874,
"delta": -0.0342,
"percent_delta": -0.0811,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.207 HR/AB=0.039",
"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.1761,
"after": 0.0,
"delta": -0.1761,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1477,
"after": 4.0,
"delta": -0.1477,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3517,
"after": 0.0,
"delta": -0.3517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9048,
"after": 1.0,
"delta": 0.0952,
"percent_delta": 0.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1695,
"after": 0.0,
"delta": -0.1695,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3887,
"after": 0.0,
"delta": -0.3887,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9204,
"after": 1.0,
"delta": 0.0796,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9048,
"after": 1.0,
"delta": 0.0952,
"percent_delta": 0.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3887,
"after": 0.0,
"delta": -0.3887,
"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.5791,
"after": 1.0,
"delta": 0.4209,
"percent_delta": 0.7268,
"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.5791,
"after": 1.0,
"delta": 0.4209,
"percent_delta": 0.7268,
"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.2181,
"after": 0.25,
"delta": 0.0319,
"percent_delta": 0.1463,
"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.2793,
"after": 0.25,
"delta": -0.0293,
"percent_delta": -0.1049,
"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.3874,
"after": 0.25,
"delta": -0.1374,
"percent_delta": -0.3547,
"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.2181,
"after": 0.25,
"delta": 0.0319,
"percent_delta": 0.1463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3874,
"after": 0.25,
"delta": -0.1374,
"percent_delta": -0.3547,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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_R",
"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.2181,
"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.2793,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3874,
"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.2181,
"delta": -0.0319,
"percent_delta": -0.1274,
"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.2793,
"delta": 0.0293,
"percent_delta": 0.117,
"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.3874,
"delta": 0.1374,
"percent_delta": 0.5495,
"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.3874,
"delta": 0.1374,
"percent_delta": 0.5495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2181,
"delta": -0.0319,
"percent_delta": -0.1274,
"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.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 4.0,
"delta": -0.38,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2181,
"delta": 0.0131,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.0,
"delta": 0.1,
"percent_delta": 0.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2793,
"delta": -0.0197,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.653,
"after": 0.0,
"delta": -0.653,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3874,
"delta": -0.0136,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.911,
"after": 1.0,
"delta": 0.089,
"percent_delta": 0.0977,
"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_H",
"before": 0.9,
"after": 1.0,
"delta": 0.1,
"percent_delta": 0.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.653,
"after": 0.0,
"delta": -0.653,
"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.208 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.396 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.653 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.911 | - |
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.032 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 4.148 | -0.232 |
| predicted_AVG | 0.230 | 0.025 |
| predicted_BB | 0.356 | -0.040 |
| predicted_H | 0.948 | 0.048 |
| predicted_HBP | 0.119 | - |
| predicted_HR | 0.178 | 0.008 |
| predicted_OBP | 0.313 | 0.014 |
| predicted_R | 0.627 | -0.026 |
| predicted_RBI | 0.421 | -0.009 |
| predicted_SLG | 0.422 | 0.021 |
| predicted_SO | 0.908 | -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.176 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.148 | 0.000 |
| predicted_AVG | 0.218 | -0.012 |
| predicted_BB | 0.352 | -0.005 |
| predicted_H | 0.905 | -0.043 |
| predicted_HBP | 0.119 | 0.000 |
| predicted_HR | 0.170 | -0.009 |
| predicted_OBP | 0.279 | -0.034 |
| predicted_R | 0.579 | -0.048 |
| predicted_RBI | 0.389 | -0.032 |
| predicted_SLG | 0.387 | -0.034 |
| predicted_SO | 0.920 | 0.012 |
AB rounded to 4 (raw=4.38), rates preserved: AVG=0.207 HR/AB=0.039
| 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.009 |
| predicted_AB | 4.000 | -0.148 |
| predicted_AVG | 0.250 | 0.032 |
| predicted_BB | 0.000 | -0.352 |
| predicted_H | 1.000 | 0.095 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.250 | -0.029 |
| predicted_R | 1.000 | 0.421 |
| predicted_RBI | 0.000 | -0.389 |
| predicted_SLG | 0.250 | -0.137 |
| predicted_SO | 1.000 | 0.080 |
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 | -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 | - | 21.000 | 5.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 5.000 | 0.2381 | 0.2381 | 0.5238 | 0.2381 | 0.0952 | 0.0952 | 0.0000 | 0.2381 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 0.000 | 0.000 | 2.000 | 2.000 | 6.000 | 3.000 | 8.000 | 0.2500 | 0.3182 | 0.4000 | 0.2500 | 0.0500 | 0.0500 | 0.0750 | 0.2000 |
| season | 0.60 | 101 | - | 371.000 | 103.000 | 21.000 | 1.000 | 13.000 | 47.000 | 66.000 | 40.000 | 92.000 | 0.2776 | 0.3712 | 0.4447 | 0.2776 | 0.0350 | 0.1267 | 0.1078 | 0.2480 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.8410 |
| predicted_AVG | 0.2631 |
| predicted_BB | 0.3040 |
| predicted_H | 1.0110 |
| predicted_HBP | 0.1190 |
| predicted_HR | 0.1890 |
| predicted_OBP | 0.3321 |
| predicted_R | 0.5930 |
| predicted_RBI | 0.4090 |
| predicted_SLG | 0.4488 |
| predicted_SO | 0.9050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2080 | 0.1340 | 0.1761 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 4.3800 | 3.8410 | 4.1477 | model_form_blend |
| predicted_AVG | 0.2050 | 0.2631 | 0.2300 | model_form_blend |
| predicted_BB | 0.3960 | 0.3040 | 0.3564 | model_form_blend |
| predicted_H | 0.9000 | 1.0110 | 0.9478 | model_form_blend |
| predicted_HBP | - | 0.1190 | 0.1190 | form_only |
| predicted_HR | 0.1700 | 0.1890 | 0.1782 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3321 | 0.3133 | model_form_blend |
| predicted_R | 0.6530 | 0.5930 | 0.6271 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4090 | 0.4209 | model_form_blend |
| predicted_SLG | 0.4010 | 0.4488 | 0.4216 | model_form_blend |
| predicted_SO | 0.9110 | 0.9050 | 0.9084 | 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 | 409 |
| Season rows before report date | 409 |
| 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.278 |
| 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| 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 | LF |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 668227 |
| playerID | 668227 |
| playerName | Randy Arozarena |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.364 |
| sl_xwoba | 0.351 |
| sl_xba | 0.264 |
| sl_xslg | 0.424 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 42.7 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 8.1 |
| sl_whiff_percent | 27.9 |
| 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.174 | 0.000 | 0.000 | Hitting_2B | 0.193 | 1.000 | -0.193 | -1.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 3.160 | 4.000 | 3.000 | Hitting_AB | 3.264 | 3.000 | 0.736 | 1.000 |
| predicted_AVG | 0.304 | 0.000 | 0.333 | Hitting_AVG | 0.277 | 0.333 | -0.277 | -0.333 |
| predicted_BB | 0.261 | 0.000 | 0.000 | Hitting_BB | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 0.904 | 1.000 | -0.904 | -1.000 |
| predicted_HR | 0.310 | 0.000 | 0.000 | Hitting_HR | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_OBP | 0.349 | 0.000 | 0.333 | Hitting_OBP | 0.351 | 0.500 | -0.351 | -0.500 |
| predicted_R | 0.402 | 0.000 | 0.000 | Hitting_R | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_RBI | 0.710 | 0.000 | 1.000 | Hitting_RBI | 0.611 | 0.000 | -0.611 | 0.000 |
| predicted_SLG | 0.596 | 0.000 | 0.333 | Hitting_SLG | 0.558 | 0.667 | -0.558 | -0.667 |
| predicted_SO | 0.663 | 2.000 | 1.000 | Hitting_SO | 0.743 | 0.000 | 1.257 | 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.6630 -> 2.0000 (boost 1.3370, worse) |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, 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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.1600 -> 3.2519 (boost 0.0919, better) | predicted_AVG: 0.3040 -> 0.2944 (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 | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.5968 -> 0.6060 (boost 0.0092, better) | predicted_RBI: 0.7189 -> 0.6638 (deboost -0.0551, 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_RBI: 0.6638 -> 1.0000 (boost 0.3362, better) | predicted_HR: 0.2799 -> 0.0000 (deboost -0.2799, worse) | AB rounded to 3 (raw=3.25), rates preserved: AVG=0.281 HR/AB=0.086 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4076 -> 0.0000 (deboost -0.4076, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2806 -> 0.3330 (boost 0.0524, better) | predicted_SLG: 0.6060 -> 0.3330 (deboost -0.2730, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.6060 (boost 0.2730, better) | predicted_AVG: 0.3330 -> 0.2806 (deboost -0.0524, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686527",
"player_name": "Dominic Canzone",
"position": "DH",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.011,
"predicted_AB": 3.16,
"predicted_AVG": 0.304,
"predicted_BB": 0.261,
"predicted_H": 0.96,
"predicted_HR": 0.31,
"predicted_OBP": 0.349,
"predicted_R": 0.402,
"predicted_RBI": 0.71,
"predicted_SLG": 0.596,
"predicted_SO": 0.663
},
"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.199,
"predicted_3B": 0.0097,
"predicted_AB": 3.2519,
"predicted_AVG": 0.2944,
"predicted_BB": 0.2491,
"predicted_H": 0.9558,
"predicted_HBP": 0.076,
"predicted_HR": 0.2943,
"predicted_OBP": 0.3457,
"predicted_R": 0.4414,
"predicted_RBI": 0.7189,
"predicted_SLG": 0.5968,
"predicted_SO": 0.6677
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.199,
"delta": 0.025,
"percent_delta": 0.1437,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0097,
"delta": -0.0013,
"percent_delta": -0.1182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.16,
"after": 3.2519,
"delta": 0.0919,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.2944,
"delta": -0.0096,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.261,
"after": 0.2491,
"delta": -0.0119,
"percent_delta": -0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9558,
"delta": -0.0042,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.2943,
"delta": -0.0157,
"percent_delta": -0.0506,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3457,
"delta": -0.0033,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.402,
"after": 0.4414,
"delta": 0.0394,
"percent_delta": 0.098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.7189,
"delta": 0.0089,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.596,
"after": 0.5968,
"delta": 0.0008,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.663,
"after": 0.6677,
"delta": 0.0047,
"percent_delta": 0.0071,
"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.16,
"after": 3.2519,
"delta": 0.0919,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.2944,
"delta": -0.0096,
"percent_delta": -0.0316,
"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": 92
}
},
{
"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.199,
"predicted_3B": 0.0097,
"predicted_AB": 3.2519,
"predicted_AVG": 0.2806,
"predicted_BB": 0.2458,
"predicted_H": 0.9124,
"predicted_HBP": 0.076,
"predicted_HR": 0.2799,
"predicted_OBP": 0.3311,
"predicted_R": 0.4076,
"predicted_RBI": 0.6638,
"predicted_SLG": 0.606,
"predicted_SO": 0.6765
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.199,
"after": 0.199,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2519,
"after": 3.2519,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2944,
"after": 0.2806,
"delta": -0.0138,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2491,
"after": 0.2458,
"delta": -0.0033,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9558,
"after": 0.9124,
"delta": -0.0434,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2943,
"after": 0.2799,
"delta": -0.0144,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3457,
"after": 0.3311,
"delta": -0.0146,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4414,
"after": 0.4076,
"delta": -0.0338,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7189,
"after": 0.6638,
"delta": -0.0551,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5968,
"after": 0.606,
"delta": 0.0092,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6677,
"after": 0.6765,
"delta": 0.0088,
"percent_delta": 0.0132,
"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_SLG",
"before": 0.5968,
"after": 0.606,
"delta": 0.0092,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.7189,
"after": 0.6638,
"delta": -0.0551,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.25), rates preserved: AVG=0.281 HR/AB=0.086",
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.199,
"after": 0.0,
"delta": -0.199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0,
"delta": -0.0097,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2519,
"after": 3.0,
"delta": -0.2519,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2458,
"after": 0.0,
"delta": -0.2458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9124,
"after": 1.0,
"delta": 0.0876,
"percent_delta": 0.096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2799,
"after": 0.0,
"delta": -0.2799,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6638,
"after": 1.0,
"delta": 0.3362,
"percent_delta": 0.5065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6765,
"after": 1.0,
"delta": 0.3235,
"percent_delta": 0.4782,
"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_RBI",
"before": 0.6638,
"after": 1.0,
"delta": 0.3362,
"percent_delta": 0.5065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2799,
"after": 0.0,
"delta": -0.2799,
"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": 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": 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.4076,
"after": 0.0,
"delta": -0.4076,
"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.4076,
"after": 0.0,
"delta": -0.4076,
"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": 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.2806,
"after": 0.333,
"delta": 0.0524,
"percent_delta": 0.1867,
"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.3311,
"after": 0.333,
"delta": 0.0019,
"percent_delta": 0.0057,
"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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.606,
"after": 0.333,
"delta": -0.273,
"percent_delta": -0.4505,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2806,
"after": 0.333,
"delta": 0.0524,
"percent_delta": 0.1867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.606,
"after": 0.333,
"delta": -0.273,
"percent_delta": -0.4505,
"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": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"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.2806,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3311,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.606,
"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.2806,
"delta": -0.0524,
"percent_delta": -0.1574,
"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.3311,
"delta": -0.0019,
"percent_delta": -0.0056,
"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_SLG",
"before": 0.333,
"after": 0.606,
"delta": 0.273,
"percent_delta": 0.8197,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.606,
"delta": 0.273,
"percent_delta": 0.8197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2806,
"delta": -0.0524,
"percent_delta": -0.1574,
"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.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.16,
"after": 4.0,
"delta": 0.84,
"percent_delta": 0.2658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.2806,
"delta": -0.0234,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.261,
"after": 0.0,
"delta": -0.261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3311,
"delta": -0.0179,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.402,
"after": 0.0,
"delta": -0.402,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.596,
"after": 0.606,
"delta": 0.01,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.663,
"after": 2.0,
"delta": 1.337,
"percent_delta": 2.0166,
"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.663,
"after": 2.0,
"delta": 1.337,
"percent_delta": 2.0166,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"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.174 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.160 | - |
| predicted_AVG | 0.304 | - |
| predicted_BB | 0.261 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.310 | - |
| predicted_OBP | 0.349 | - |
| predicted_R | 0.402 | - |
| predicted_RBI | 0.710 | - |
| predicted_SLG | 0.596 | - |
| predicted_SO | 0.663 | - |
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.199 | 0.025 |
| predicted_3B | 0.010 | -0.001 |
| predicted_AB | 3.252 | 0.092 |
| predicted_AVG | 0.294 | -0.010 |
| predicted_BB | 0.249 | -0.012 |
| predicted_H | 0.956 | -0.004 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.294 | -0.016 |
| predicted_OBP | 0.346 | -0.003 |
| predicted_R | 0.441 | 0.039 |
| predicted_RBI | 0.719 | 0.009 |
| predicted_SLG | 0.597 | 0.001 |
| predicted_SO | 0.668 | 0.005 |
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.199 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.252 | 0.000 |
| predicted_AVG | 0.281 | -0.014 |
| predicted_BB | 0.246 | -0.003 |
| predicted_H | 0.912 | -0.043 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.280 | -0.014 |
| predicted_OBP | 0.331 | -0.015 |
| predicted_R | 0.408 | -0.034 |
| predicted_RBI | 0.664 | -0.055 |
| predicted_SLG | 0.606 | 0.009 |
| predicted_SO | 0.676 | 0.009 |
AB rounded to 3 (raw=3.25), rates preserved: AVG=0.281 HR/AB=0.086
| 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 | 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 | 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.199 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 3.000 | -0.252 |
| predicted_AVG | 0.333 | 0.052 |
| predicted_BB | 0.000 | -0.246 |
| predicted_H | 1.000 | 0.088 |
| predicted_HR | 0.000 | -0.280 |
| predicted_OBP | 0.333 | 0.002 |
| predicted_R | 0.000 | -0.408 |
| predicted_RBI | 1.000 | 0.336 |
| predicted_SLG | 0.333 | -0.273 |
| predicted_SO | 1.000 | 0.324 |
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 | -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 | - | 20.000 | 7.000 | 2.000 | 0.000 | 3.000 | 7.000 | 4.000 | 0.000 | 2.000 | 0.3500 | 0.3810 | 0.9000 | 0.3500 | 0.1500 | 0.3500 | 0.0000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 3.000 | 0.000 | 3.000 | 9.000 | 5.000 | 3.000 | 8.000 | 0.2821 | 0.3488 | 0.5897 | 0.2821 | 0.0769 | 0.2308 | 0.0769 | 0.2051 |
| season | 0.60 | 92 | - | 269.000 | 71.000 | 16.000 | 1.000 | 18.000 | 49.000 | 37.000 | 24.000 | 61.000 | 0.2639 | 0.3311 | 0.5316 | 0.2639 | 0.0669 | 0.1822 | 0.0892 | 0.2268 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2330 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.3770 |
| predicted_AVG | 0.2814 |
| predicted_BB | 0.2330 |
| predicted_H | 0.9500 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.2730 |
| predicted_OBP | 0.3411 |
| predicted_R | 0.4950 |
| predicted_RBI | 0.7310 |
| predicted_SLG | 0.5980 |
| predicted_SO | 0.6740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.2330 | 0.1990 | model_form_blend |
| predicted_3B | 0.0110 | 0.0080 | 0.0097 | model_form_blend |
| predicted_AB | 3.1600 | 3.3770 | 3.2519 | model_form_blend |
| predicted_AVG | 0.3040 | 0.2814 | 0.2944 | model_form_blend |
| predicted_BB | 0.2610 | 0.2330 | 0.2491 | model_form_blend |
| predicted_H | 0.9600 | 0.9500 | 0.9558 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.3100 | 0.2730 | 0.2943 | model_form_blend |
| predicted_OBP | 0.3490 | 0.3411 | 0.3457 | model_form_blend |
| predicted_R | 0.4020 | 0.4950 | 0.4414 | model_form_blend |
| predicted_RBI | 0.7100 | 0.7310 | 0.7189 | model_form_blend |
| predicted_SLG | 0.5960 | 0.5980 | 0.5968 | model_form_blend |
| predicted_SO | 0.6630 | 0.6740 | 0.6677 | 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 | 280 |
| Season rows before report date | 280 |
| Report year | 2026 |
| Profile rows used | 92 |
| 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.264 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| 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 | 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 | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 686527 |
| playerID | 686527 |
| playerName | Dominic Canzone |
| pos | DH |
| started | True |
| startingPosition | RF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.368 |
| sl_xwoba | 0.373 |
| sl_xba | 0.277 |
| sl_xslg | 0.528 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 14.5 |
| sl_hard_hit_percent | 47.3 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 9.2 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 47.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.165 | 0.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 5.060 | 4.000 | 5.000 | Hitting_AB | 4.035 | 4.000 | -0.035 | 0.000 |
| predicted_AVG | 0.242 | 0.000 | 0.200 | Hitting_AVG | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_BB | 0.299 | 0.000 | 0.000 | Hitting_BB | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 1.220 | 0.000 | 1.000 | Hitting_H | 1.040 | 0.000 | -1.040 | 0.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.304 | 0.000 | 0.200 | Hitting_OBP | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_R | 0.526 | 0.000 | 0.000 | Hitting_R | 0.546 | 0.000 | -0.546 | 0.000 |
| predicted_RBI | 0.650 | 0.000 | 1.000 | Hitting_RBI | 0.496 | 0.000 | -0.496 | 0.000 |
| predicted_SLG | 0.409 | 0.000 | 0.200 | Hitting_SLG | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_SO | 0.876 | 2.000 | 1.000 | Hitting_SO | 0.913 | 0.000 | 1.087 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.8760 -> 2.0000 (boost 1.1240, worse) |
| Biggest Deboost | predicted_H: 1.2200 -> 0.0000 (deboost -1.2200, 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: 5.0600 -> 4.5502 (deboost -0.5098, 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.2985 -> 0.2717 (deboost -0.0268, 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_RBI: 0.5421 -> 1.0000 (boost 0.4579, better) | predicted_BB: 0.2534 -> 0.0000 (deboost -0.2534, worse) | AB rounded to 5 (raw=5.06), rates preserved: AVG=0.208 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4888 -> 0.0000 (deboost -0.4888, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3863 -> 0.2000 (deboost -0.1863, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | 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.3863 (boost 0.1863, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.165,
"predicted_3B": 0.0,
"predicted_AB": 5.06,
"predicted_AVG": 0.242,
"predicted_BB": 0.299,
"predicted_H": 1.22,
"predicted_HR": 0.21,
"predicted_OBP": 0.304,
"predicted_R": 0.526,
"predicted_RBI": 0.65,
"predicted_SLG": 0.409,
"predicted_SO": 0.876
},
"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.1465,
"predicted_3B": 0.0004,
"predicted_AB": 4.5502,
"predicted_AVG": 0.2428,
"predicted_BB": 0.2568,
"predicted_H": 1.1016,
"predicted_HBP": 0.088,
"predicted_HR": 0.1958,
"predicted_OBP": 0.2985,
"predicted_R": 0.5294,
"predicted_RBI": 0.5871,
"predicted_SLG": 0.4105,
"predicted_SO": 0.7963
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.165,
"after": 0.1465,
"delta": -0.0185,
"percent_delta": -0.1121,
"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": 5.06,
"after": 4.5502,
"delta": -0.5098,
"percent_delta": -0.1008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2428,
"delta": 0.0008,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.299,
"after": 0.2568,
"delta": -0.0422,
"percent_delta": -0.1411,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.1016,
"delta": -0.1184,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.1958,
"delta": -0.0142,
"percent_delta": -0.0676,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2985,
"delta": -0.0055,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 0.5294,
"delta": 0.0034,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.5871,
"delta": -0.0629,
"percent_delta": -0.0968,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4105,
"delta": 0.0015,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.876,
"after": 0.7963,
"delta": -0.0797,
"percent_delta": -0.091,
"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": 5.06,
"after": 4.5502,
"delta": -0.5098,
"percent_delta": -0.1008,
"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": 97
}
},
{
"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.1465,
"predicted_3B": 0.0004,
"predicted_AB": 4.5502,
"predicted_AVG": 0.2311,
"predicted_BB": 0.2534,
"predicted_H": 1.0516,
"predicted_HBP": 0.088,
"predicted_HR": 0.1862,
"predicted_OBP": 0.2717,
"predicted_R": 0.4888,
"predicted_RBI": 0.5421,
"predicted_SLG": 0.3863,
"predicted_SO": 0.8068
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1465,
"after": 0.1465,
"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.5502,
"after": 4.5502,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2428,
"after": 0.2311,
"delta": -0.0117,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2568,
"after": 0.2534,
"delta": -0.0034,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1016,
"after": 1.0516,
"delta": -0.05,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.088,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1958,
"after": 0.1862,
"delta": -0.0096,
"percent_delta": -0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2985,
"after": 0.2717,
"delta": -0.0268,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5294,
"after": 0.4888,
"delta": -0.0406,
"percent_delta": -0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5871,
"after": 0.5421,
"delta": -0.045,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4105,
"after": 0.3863,
"delta": -0.0242,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7963,
"after": 0.8068,
"delta": 0.0105,
"percent_delta": 0.0132,
"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.2985,
"after": 0.2717,
"delta": -0.0268,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.06), rates preserved: AVG=0.208 HR/AB=0.037",
"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.1465,
"after": 0.0,
"delta": -0.1465,
"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.5502,
"after": 5.0,
"delta": 0.4498,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2534,
"after": 0.0,
"delta": -0.2534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0516,
"after": 1.0,
"delta": -0.0516,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.0,
"delta": -0.088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1862,
"after": 0.0,
"delta": -0.1862,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5421,
"after": 1.0,
"delta": 0.4579,
"percent_delta": 0.8447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8068,
"after": 1.0,
"delta": 0.1932,
"percent_delta": 0.2395,
"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_RBI",
"before": 0.5421,
"after": 1.0,
"delta": 0.4579,
"percent_delta": 0.8447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2534,
"after": 0.0,
"delta": -0.2534,
"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.4888,
"after": 0.0,
"delta": -0.4888,
"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.4888,
"after": 0.0,
"delta": -0.4888,
"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.2311,
"after": 0.2,
"delta": -0.0311,
"percent_delta": -0.1346,
"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.2717,
"after": 0.2,
"delta": -0.0717,
"percent_delta": -0.2639,
"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.3863,
"after": 0.2,
"delta": -0.1863,
"percent_delta": -0.4823,
"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.3863,
"after": 0.2,
"delta": -0.1863,
"percent_delta": -0.4823,
"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": 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": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2311,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2717,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3863,
"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.2,
"after": 0.2311,
"delta": 0.0311,
"percent_delta": 0.1555,
"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.2,
"after": 0.2717,
"delta": 0.0717,
"percent_delta": 0.3584,
"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.3863,
"delta": 0.1863,
"percent_delta": 0.9313,
"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.2,
"after": 0.3863,
"delta": 0.1863,
"percent_delta": 0.9313,
"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.165,
"after": 0.0,
"delta": -0.165,
"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": 5.06,
"after": 4.0,
"delta": -1.06,
"percent_delta": -0.2095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2311,
"delta": -0.0109,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.299,
"after": 0.0,
"delta": -0.299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 0.0,
"delta": -1.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2717,
"delta": -0.0323,
"percent_delta": -0.1062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 0.0,
"delta": -0.526,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.3863,
"delta": -0.0227,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.876,
"after": 2.0,
"delta": 1.124,
"percent_delta": 1.2831,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.876,
"after": 2.0,
"delta": 1.124,
"percent_delta": 1.2831,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.22,
"after": 0.0,
"delta": -1.22,
"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.165 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 5.060 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.299 | - |
| predicted_H | 1.220 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.526 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.409 | - |
| predicted_SO | 0.876 | - |
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.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.550 | -0.510 |
| predicted_AVG | 0.243 | 0.001 |
| predicted_BB | 0.257 | -0.042 |
| predicted_H | 1.102 | -0.118 |
| predicted_HBP | 0.088 | - |
| predicted_HR | 0.196 | -0.014 |
| predicted_OBP | 0.298 | -0.006 |
| predicted_R | 0.529 | 0.003 |
| predicted_RBI | 0.587 | -0.063 |
| predicted_SLG | 0.410 | 0.002 |
| predicted_SO | 0.796 | -0.080 |
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.000 | 0.000 |
| predicted_AB | 4.550 | 0.000 |
| predicted_AVG | 0.231 | -0.012 |
| predicted_BB | 0.253 | -0.003 |
| predicted_H | 1.052 | -0.050 |
| predicted_HBP | 0.088 | 0.000 |
| predicted_HR | 0.186 | -0.010 |
| predicted_OBP | 0.272 | -0.027 |
| predicted_R | 0.489 | -0.041 |
| predicted_RBI | 0.542 | -0.045 |
| predicted_SLG | 0.386 | -0.024 |
| predicted_SO | 0.807 | 0.010 |
AB rounded to 5 (raw=5.06), rates preserved: AVG=0.208 HR/AB=0.037
| 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.146 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.450 |
| predicted_AVG | 0.200 | -0.031 |
| predicted_BB | 0.000 | -0.253 |
| predicted_H | 1.000 | -0.052 |
| predicted_HR | 0.000 | -0.186 |
| predicted_OBP | 0.200 | -0.072 |
| predicted_R | 0.000 | -0.489 |
| predicted_RBI | 1.000 | 0.458 |
| predicted_SLG | 0.200 | -0.186 |
| predicted_SO | 1.000 | 0.193 |
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 | -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 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 0.000 | 2.000 | 0.2105 | 0.2381 | 0.3684 | 0.2105 | 0.0526 | 0.1579 | 0.0000 | 0.1053 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 0.000 | 2.000 | 5.000 | 5.000 | 1.000 | 4.000 | 0.2432 | 0.2750 | 0.4324 | 0.2432 | 0.0541 | 0.1351 | 0.0270 | 0.1081 |
| season | 0.60 | 97 | - | 385.000 | 98.000 | 16.000 | 0.000 | 16.000 | 46.000 | 51.000 | 29.000 | 85.000 | 0.2545 | 0.3128 | 0.4208 | 0.2545 | 0.0416 | 0.1195 | 0.0753 | 0.2208 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8760 |
| predicted_AVG | 0.2438 |
| predicted_BB | 0.2010 |
| predicted_H | 0.9450 |
| predicted_HBP | 0.0880 |
| predicted_HR | 0.1770 |
| predicted_OBP | 0.2913 |
| predicted_R | 0.5340 |
| predicted_RBI | 0.5040 |
| predicted_SLG | 0.4124 |
| predicted_SO | 0.6910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1650 | 0.1220 | 0.1465 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 5.0600 | 3.8760 | 4.5502 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2438 | 0.2428 | model_form_blend |
| predicted_BB | 0.2990 | 0.2010 | 0.2568 | model_form_blend |
| predicted_H | 1.2200 | 0.9450 | 1.1016 | model_form_blend |
| predicted_HBP | - | 0.0880 | 0.0880 | form_only |
| predicted_HR | 0.2100 | 0.1770 | 0.1958 | model_form_blend |
| predicted_OBP | 0.3040 | 0.2913 | 0.2985 | model_form_blend |
| predicted_R | 0.5260 | 0.5340 | 0.5294 | model_form_blend |
| predicted_RBI | 0.6500 | 0.5040 | 0.5871 | model_form_blend |
| predicted_SLG | 0.4090 | 0.4124 | 0.4105 | model_form_blend |
| predicted_SO | 0.8760 | 0.6910 | 0.7963 | 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 | 401 |
| Season rows before report date | 401 |
| Report year | 2026 |
| Profile rows used | 97 |
| 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.255 |
| 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 | 0 |
| 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 | CF |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 677594 |
| playerID | 677594 |
| playerName | Julio Rodríguez |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.324 |
| sl_xwoba | 0.351 |
| sl_xba | 0.276 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 52.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.128 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 4.260 | 4.000 | 4.000 | Hitting_AB | 3.680 | 3.000 | 0.320 | 1.000 |
| predicted_AVG | 0.298 | 0.250 | 0.250 | Hitting_AVG | 0.253 | 0.667 | -0.003 | -0.417 |
| predicted_BB | 0.257 | 0.000 | 0.000 | Hitting_BB | 0.263 | 1.000 | -0.263 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 1.000 | -0.027 | -1.000 |
| predicted_H | 1.270 | 1.000 | 1.000 | Hitting_H | 0.933 | 2.000 | 0.067 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.353 | 0.250 | 0.250 | Hitting_OBP | 0.313 | 0.750 | -0.063 | -0.500 |
| predicted_R | 0.459 | 0.000 | 0.000 | Hitting_R | 0.494 | 0.000 | -0.494 | 0.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.455 | 1.000 | -0.455 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_SLG | 0.500 | 0.250 | 0.250 | Hitting_SLG | 0.396 | 0.667 | -0.146 | -0.417 |
| predicted_SO | 0.679 | 1.000 | 1.000 | Hitting_SO | 0.701 | 1.000 | 0.299 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.6790 -> 1.0000 (boost 0.3210, worse) |
| Biggest Deboost | predicted_RBI: 0.5000 -> 0.0000 (deboost -0.5000, 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 | 1 | 5 | - | predicted_AB: 4.2600 -> 4.0251 (deboost -0.2349, 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 | 4 | 0 | 4 | 0 | 4 | - | predicted_SLG: 0.4626 -> 0.4049 (deboost -0.0577, 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 | 0 | 7 | predicted_SO: 0.6329 -> 1.0000 (boost 0.3671, worse) | predicted_RBI: 0.4140 -> 0.0000 (deboost -0.4140, worse) | AB rounded to 4 (raw=4.26), rates preserved: AVG=0.262 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4166 -> 0.0000 (deboost -0.4166, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4049 -> 0.2500 (deboost -0.1549, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4049 (boost 0.1549, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702284",
"player_name": "Cole Young",
"position": "2B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.018,
"predicted_AB": 4.26,
"predicted_AVG": 0.298,
"predicted_BB": 0.257,
"predicted_H": 1.27,
"predicted_HR": 0.13,
"predicted_OBP": 0.353,
"predicted_R": 0.459,
"predicted_RBI": 0.5,
"predicted_SLG": 0.5,
"predicted_SO": 0.679
},
"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.1099,
"predicted_3B": 0.0387,
"predicted_AB": 4.0251,
"predicted_AVG": 0.2894,
"predicted_BB": 0.2717,
"predicted_H": 1.1678,
"predicted_HBP": 0.099,
"predicted_HR": 0.1149,
"predicted_OBP": 0.3494,
"predicted_R": 0.4512,
"predicted_RBI": 0.4483,
"predicted_SLG": 0.4626,
"predicted_SO": 0.6247
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1099,
"delta": -0.0181,
"percent_delta": -0.1414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0387,
"delta": 0.0207,
"percent_delta": 1.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.26,
"after": 4.0251,
"delta": -0.2349,
"percent_delta": -0.0551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.298,
"after": 0.2894,
"delta": -0.0086,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.2717,
"delta": 0.0147,
"percent_delta": 0.0572,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.27,
"after": 1.1678,
"delta": -0.1022,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1149,
"delta": -0.0151,
"percent_delta": -0.1162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3494,
"delta": -0.0036,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.4512,
"delta": -0.0078,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4483,
"delta": -0.0517,
"percent_delta": -0.1034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4626,
"delta": -0.0374,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.679,
"after": 0.6247,
"delta": -0.0543,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 4.0251,
"delta": -0.2349,
"percent_delta": -0.0551,
"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": 109
}
},
{
"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.1099,
"predicted_3B": 0.0387,
"predicted_AB": 4.0251,
"predicted_AVG": 0.277,
"predicted_BB": 0.2681,
"predicted_H": 1.1148,
"predicted_HBP": 0.099,
"predicted_HR": 0.1093,
"predicted_OBP": 0.3221,
"predicted_R": 0.4166,
"predicted_RBI": 0.414,
"predicted_SLG": 0.4049,
"predicted_SO": 0.6329
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1099,
"after": 0.1099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0387,
"after": 0.0387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0251,
"after": 4.0251,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2894,
"after": 0.277,
"delta": -0.0124,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2717,
"after": 0.2681,
"delta": -0.0036,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1678,
"after": 1.1148,
"delta": -0.053,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.099,
"after": 0.099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1149,
"after": 0.1093,
"delta": -0.0056,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3494,
"after": 0.3221,
"delta": -0.0273,
"percent_delta": -0.0781,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4512,
"after": 0.4166,
"delta": -0.0346,
"percent_delta": -0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4483,
"after": 0.414,
"delta": -0.0343,
"percent_delta": -0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4626,
"after": 0.4049,
"delta": -0.0577,
"percent_delta": -0.1247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6247,
"after": 0.6329,
"delta": 0.0082,
"percent_delta": 0.0131,
"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_SLG",
"before": 0.4626,
"after": 0.4049,
"delta": -0.0577,
"percent_delta": -0.1247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.262 HR/AB=0.026",
"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.1099,
"after": 0.0,
"delta": -0.1099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0387,
"after": 0.0,
"delta": -0.0387,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0251,
"after": 4.0,
"delta": -0.0251,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2681,
"after": 0.0,
"delta": -0.2681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1148,
"after": 1.0,
"delta": -0.1148,
"percent_delta": -0.103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1093,
"after": 0.0,
"delta": -0.1093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.414,
"after": 0.0,
"delta": -0.414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6329,
"after": 1.0,
"delta": 0.3671,
"percent_delta": 0.58,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6329,
"after": 1.0,
"delta": 0.3671,
"percent_delta": 0.58,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.414,
"after": 0.0,
"delta": -0.414,
"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.4166,
"after": 0.0,
"delta": -0.4166,
"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.4166,
"after": 0.0,
"delta": -0.4166,
"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.277,
"after": 0.25,
"delta": -0.027,
"percent_delta": -0.0975,
"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.3221,
"after": 0.25,
"delta": -0.0721,
"percent_delta": -0.2238,
"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.4049,
"after": 0.25,
"delta": -0.1549,
"percent_delta": -0.3826,
"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.4049,
"after": 0.25,
"delta": -0.1549,
"percent_delta": -0.3826,
"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.277,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3221,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4049,
"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.277,
"delta": 0.027,
"percent_delta": 0.1078,
"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.3221,
"delta": 0.0721,
"percent_delta": 0.2884,
"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.4049,
"delta": 0.1549,
"percent_delta": 0.6198,
"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.4049,
"delta": 0.1549,
"percent_delta": 0.6198,
"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.128,
"after": 0.0,
"delta": -0.128,
"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": 4.26,
"after": 4.0,
"delta": -0.26,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.298,
"after": 0.277,
"delta": -0.021,
"percent_delta": -0.0705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.0,
"delta": -0.257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.27,
"after": 1.0,
"delta": -0.27,
"percent_delta": -0.2126,
"direction": "deboost",
"projection_effect": "worse",
"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.353,
"after": 0.3221,
"delta": -0.0309,
"percent_delta": -0.0875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4049,
"delta": -0.0951,
"percent_delta": -0.1902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.679,
"after": 1.0,
"delta": 0.321,
"percent_delta": 0.4728,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.679,
"after": 1.0,
"delta": 0.321,
"percent_delta": 0.4728,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"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.128 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.298 | - |
| predicted_BB | 0.257 | - |
| predicted_H | 1.270 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.353 | - |
| predicted_R | 0.459 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.500 | - |
| predicted_SO | 0.679 | - |
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.110 | -0.018 |
| predicted_3B | 0.039 | 0.021 |
| predicted_AB | 4.025 | -0.235 |
| predicted_AVG | 0.289 | -0.009 |
| predicted_BB | 0.272 | 0.015 |
| predicted_H | 1.168 | -0.102 |
| predicted_HBP | 0.099 | - |
| predicted_HR | 0.115 | -0.015 |
| predicted_OBP | 0.349 | -0.004 |
| predicted_R | 0.451 | -0.008 |
| predicted_RBI | 0.448 | -0.052 |
| predicted_SLG | 0.463 | -0.037 |
| predicted_SO | 0.625 | -0.054 |
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.110 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 4.025 | 0.000 |
| predicted_AVG | 0.277 | -0.012 |
| predicted_BB | 0.268 | -0.004 |
| predicted_H | 1.115 | -0.053 |
| predicted_HBP | 0.099 | 0.000 |
| predicted_HR | 0.109 | -0.006 |
| predicted_OBP | 0.322 | -0.027 |
| predicted_R | 0.417 | -0.035 |
| predicted_RBI | 0.414 | -0.034 |
| predicted_SLG | 0.405 | -0.058 |
| predicted_SO | 0.633 | 0.008 |
AB rounded to 4 (raw=4.26), rates preserved: AVG=0.262 HR/AB=0.026
| 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.110 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 4.000 | -0.025 |
| predicted_AVG | 0.250 | -0.027 |
| predicted_BB | 0.000 | -0.268 |
| predicted_H | 1.000 | -0.115 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.250 | -0.072 |
| predicted_R | 0.000 | -0.417 |
| predicted_RBI | 0.000 | -0.414 |
| predicted_SLG | 0.250 | -0.155 |
| predicted_SO | 1.000 | 0.367 |
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 | - | 19.000 | 6.000 | 0.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 0.3158 | 0.4091 | 0.4211 | 0.3158 | 0.0000 | 0.0526 | 0.1053 | 0.0526 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 0.000 | 1.000 | 1.000 | 3.000 | 4.000 | 3.000 | 4.000 | 0.3077 | 0.3721 | 0.4359 | 0.3077 | 0.0256 | 0.0769 | 0.0769 | 0.1026 |
| season | 0.60 | 109 | - | 394.000 | 102.000 | 14.000 | 2.000 | 13.000 | 49.000 | 50.000 | 28.000 | 74.000 | 0.2589 | 0.3187 | 0.4036 | 0.2589 | 0.0330 | 0.1244 | 0.0711 | 0.1878 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0660 |
| predicted_AB | 3.7150 |
| predicted_AVG | 0.2780 |
| predicted_BB | 0.2910 |
| predicted_H | 1.0330 |
| predicted_HBP | 0.0990 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.3447 |
| predicted_R | 0.4410 |
| predicted_RBI | 0.3800 |
| predicted_SLG | 0.4133 |
| predicted_SO | 0.5530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.0860 | 0.1099 | model_form_blend |
| predicted_3B | 0.0180 | 0.0660 | 0.0387 | model_form_blend |
| predicted_AB | 4.2600 | 3.7150 | 4.0251 | model_form_blend |
| predicted_AVG | 0.2980 | 0.2780 | 0.2894 | model_form_blend |
| predicted_BB | 0.2570 | 0.2910 | 0.2717 | model_form_blend |
| predicted_H | 1.2700 | 1.0330 | 1.1678 | model_form_blend |
| predicted_HBP | - | 0.0990 | 0.0990 | form_only |
| predicted_HR | 0.1300 | 0.0950 | 0.1149 | model_form_blend |
| predicted_OBP | 0.3530 | 0.3447 | 0.3494 | model_form_blend |
| predicted_R | 0.4590 | 0.4410 | 0.4512 | model_form_blend |
| predicted_RBI | 0.5000 | 0.3800 | 0.4483 | model_form_blend |
| predicted_SLG | 0.5000 | 0.4133 | 0.4626 | model_form_blend |
| predicted_SO | 0.6790 | 0.5530 | 0.6247 | 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 | 415 |
| Season rows before report date | 415 |
| Report year | 2026 |
| Profile rows used | 109 |
| 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.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 1 |
| 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.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| 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 | 2B |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 702284 |
| playerID | 702284 |
| playerName | Cole Young |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.315 |
| sl_xwoba | 0.333 |
| sl_xba | 0.277 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 48.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.128 | 1.000 | 0.000 | Hitting_2B | 0.130 | 0.000 | 0.870 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.570 | 3.000 | 4.000 | Hitting_AB | 3.720 | 0.000 | -0.720 | 3.000 |
| predicted_AVG | 0.212 | 0.333 | 0.250 | Hitting_AVG | 0.224 | - | 0.109 | - |
| predicted_BB | 0.581 | 0.000 | 1.000 | Hitting_BB | 0.647 | 0.000 | -0.647 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.756 | 1.000 | 1.000 | Hitting_H | 0.833 | 0.000 | 0.167 | 1.000 |
| predicted_HR | 0.116 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.322 | 0.333 | 0.400 | Hitting_OBP | 0.344 | - | -0.011 | - |
| predicted_R | 0.442 | 0.000 | 0.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.349 | 0.000 | 0.000 | Hitting_RBI | 0.384 | 0.000 | -0.384 | 0.000 |
| predicted_SLG | 0.345 | 0.667 | 0.250 | Hitting_SLG | 0.366 | - | 0.301 | - |
| predicted_SO | 0.860 | 0.000 | 1.000 | Hitting_SO | 0.890 | 0.000 | -0.890 | 0.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_2B: 0.1280 -> 1.0000 (boost 0.8720, better) |
| Biggest Deboost | predicted_SO: 0.8600 -> 0.0000 (deboost -0.8600, 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 | 0 | 2 | 0 | 2 | - | predicted_R: 0.4420 -> 0.3881 (deboost -0.0539, 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.3383 -> 0.3246 (deboost -0.0137, 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_BB: 0.5509 -> 1.0000 (boost 0.4491, better) | predicted_RBI: 0.3412 -> 0.0000 (deboost -0.3412, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.201 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3584 -> 0.0000 (deboost -0.3584, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3089 -> 0.4000 (boost 0.0911, better) | predicted_SLG: 0.3246 -> 0.2500 (deboost -0.0746, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.3246 (boost 0.0746, better) | predicted_OBP: 0.4000 -> 0.3089 (deboost -0.0911, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641487",
"player_name": "J.P. Crawford",
"position": "3B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.0,
"predicted_AB": 3.57,
"predicted_AVG": 0.212,
"predicted_BB": 0.581,
"predicted_H": 0.756,
"predicted_HR": 0.116,
"predicted_OBP": 0.322,
"predicted_R": 0.442,
"predicted_RBI": 0.349,
"predicted_SLG": 0.345,
"predicted_SO": 0.86
},
"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.1575,
"predicted_3B": 0.0004,
"predicted_AB": 3.5585,
"predicted_AVG": 0.2116,
"predicted_BB": 0.5583,
"predicted_H": 0.7526,
"predicted_HBP": 0.034,
"predicted_HR": 0.0976,
"predicted_OBP": 0.3185,
"predicted_R": 0.3881,
"predicted_RBI": 0.3695,
"predicted_SLG": 0.3383,
"predicted_SO": 0.8343
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1575,
"delta": 0.0295,
"percent_delta": 0.2305,
"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.57,
"after": 3.5585,
"delta": -0.0115,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2116,
"delta": -0.0004,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.581,
"after": 0.5583,
"delta": -0.0227,
"percent_delta": -0.0391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.756,
"after": 0.7526,
"delta": -0.0034,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.116,
"after": 0.0976,
"delta": -0.0184,
"percent_delta": -0.1586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3185,
"delta": -0.0035,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.442,
"after": 0.3881,
"delta": -0.0539,
"percent_delta": -0.1219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.349,
"after": 0.3695,
"delta": 0.0205,
"percent_delta": 0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3383,
"delta": -0.0067,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.86,
"after": 0.8343,
"delta": -0.0257,
"percent_delta": -0.0299,
"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_R",
"before": 0.442,
"after": 0.3881,
"delta": -0.0539,
"percent_delta": -0.1219,
"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": 86
}
},
{
"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.1575,
"predicted_3B": 0.0004,
"predicted_AB": 3.5585,
"predicted_AVG": 0.2019,
"predicted_BB": 0.5509,
"predicted_H": 0.7184,
"predicted_HBP": 0.034,
"predicted_HR": 0.0928,
"predicted_OBP": 0.3089,
"predicted_R": 0.3584,
"predicted_RBI": 0.3412,
"predicted_SLG": 0.3246,
"predicted_SO": 0.8453
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1575,
"after": 0.1575,
"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.5585,
"after": 3.5585,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2116,
"after": 0.2019,
"delta": -0.0097,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5583,
"after": 0.5509,
"delta": -0.0074,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7526,
"after": 0.7184,
"delta": -0.0342,
"percent_delta": -0.0454,
"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.0976,
"after": 0.0928,
"delta": -0.0048,
"percent_delta": -0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3185,
"after": 0.3089,
"delta": -0.0096,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3881,
"after": 0.3584,
"delta": -0.0297,
"percent_delta": -0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3695,
"after": 0.3412,
"delta": -0.0283,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3383,
"after": 0.3246,
"delta": -0.0137,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8343,
"after": 0.8453,
"delta": 0.011,
"percent_delta": 0.0132,
"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.3383,
"after": 0.3246,
"delta": -0.0137,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.57), rates preserved: AVG=0.201 HR/AB=0.026",
"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.1575,
"after": 0.0,
"delta": -0.1575,
"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.5585,
"after": 4.0,
"delta": 0.4415,
"percent_delta": 0.1241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5509,
"after": 1.0,
"delta": 0.4491,
"percent_delta": 0.8152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7184,
"after": 1.0,
"delta": 0.2816,
"percent_delta": 0.392,
"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.0928,
"after": 0.0,
"delta": -0.0928,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3412,
"after": 0.0,
"delta": -0.3412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8453,
"after": 1.0,
"delta": 0.1547,
"percent_delta": 0.183,
"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_BB",
"before": 0.5509,
"after": 1.0,
"delta": 0.4491,
"percent_delta": 0.8152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3412,
"after": 0.0,
"delta": -0.3412,
"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": 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.3584,
"after": 0.0,
"delta": -0.3584,
"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.3584,
"after": 0.0,
"delta": -0.3584,
"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": 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.2019,
"after": 0.25,
"delta": 0.0481,
"percent_delta": 0.2382,
"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.3089,
"after": 0.4,
"delta": 0.0911,
"percent_delta": 0.2949,
"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.3246,
"after": 0.25,
"delta": -0.0746,
"percent_delta": -0.2298,
"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.3089,
"after": 0.4,
"delta": 0.0911,
"percent_delta": 0.2949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3246,
"after": 0.25,
"delta": -0.0746,
"percent_delta": -0.2298,
"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": 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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2019,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3089,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3246,
"predicted_SO": 0.0,
"predicted_TB": 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.25,
"after": 0.2019,
"delta": -0.0481,
"percent_delta": -0.1924,
"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.3089,
"delta": -0.0911,
"percent_delta": -0.2278,
"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.3246,
"delta": 0.0746,
"percent_delta": 0.2985,
"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.3246,
"delta": 0.0746,
"percent_delta": 0.2985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3089,
"delta": -0.0911,
"percent_delta": -0.2278,
"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.128,
"after": 1.0,
"delta": 0.872,
"percent_delta": 6.8125,
"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.57,
"after": 3.0,
"delta": -0.57,
"percent_delta": -0.1597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2019,
"delta": -0.0101,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.581,
"after": 0.0,
"delta": -0.581,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.756,
"after": 1.0,
"delta": 0.244,
"percent_delta": 0.3228,
"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.322,
"after": 0.3089,
"delta": -0.0131,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.442,
"after": 0.0,
"delta": -0.442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.349,
"after": 0.0,
"delta": -0.349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3246,
"delta": -0.0204,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"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_2B",
"before": 0.128,
"after": 1.0,
"delta": 0.872,
"percent_delta": 6.8125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"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.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.570 | - |
| predicted_AVG | 0.212 | - |
| predicted_BB | 0.581 | - |
| predicted_H | 0.756 | - |
| predicted_HR | 0.116 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.442 | - |
| predicted_RBI | 0.349 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 0.860 | - |
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.158 | 0.029 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.558 | -0.011 |
| predicted_AVG | 0.212 | -0.000 |
| predicted_BB | 0.558 | -0.023 |
| predicted_H | 0.753 | -0.003 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.098 | -0.018 |
| predicted_OBP | 0.319 | -0.004 |
| predicted_R | 0.388 | -0.054 |
| predicted_RBI | 0.369 | 0.021 |
| predicted_SLG | 0.338 | -0.007 |
| predicted_SO | 0.834 | -0.026 |
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.158 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.558 | 0.000 |
| predicted_AVG | 0.202 | -0.010 |
| predicted_BB | 0.551 | -0.007 |
| predicted_H | 0.718 | -0.034 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.093 | -0.005 |
| predicted_OBP | 0.309 | -0.010 |
| predicted_R | 0.358 | -0.030 |
| predicted_RBI | 0.341 | -0.028 |
| predicted_SLG | 0.325 | -0.014 |
| predicted_SO | 0.845 | 0.011 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.201 HR/AB=0.026
| 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 | - |
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.158 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.442 |
| predicted_AVG | 0.250 | 0.048 |
| predicted_BB | 1.000 | 0.449 |
| predicted_H | 1.000 | 0.282 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.400 | 0.091 |
| predicted_R | 0.000 | -0.358 |
| predicted_RBI | 0.000 | -0.341 |
| predicted_SLG | 0.250 | -0.075 |
| predicted_SO | 1.000 | 0.155 |
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 | -1.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 | 3.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 | 3.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 4.000 | 0.1765 | 0.2500 | 0.2353 | 0.1765 | 0.0000 | 0.1177 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 4.000 | 0.000 | 0.000 | 5.000 | 2.000 | 6.000 | 6.000 | 0.2286 | 0.3333 | 0.3429 | 0.2286 | 0.0000 | 0.1429 | 0.1714 | 0.1714 |
| season | 0.60 | 86 | - | 307.000 | 65.000 | 11.000 | 0.000 | 10.000 | 30.000 | 38.000 | 50.000 | 74.000 | 0.2117 | 0.3297 | 0.3453 | 0.2117 | 0.0326 | 0.0977 | 0.1629 | 0.2410 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1970 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5430 |
| predicted_AVG | 0.2111 |
| predicted_BB | 0.5280 |
| predicted_H | 0.7480 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.3138 |
| predicted_R | 0.3160 |
| predicted_RBI | 0.3970 |
| predicted_SLG | 0.3294 |
| predicted_SO | 0.8000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.1970 | 0.1575 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5700 | 3.5430 | 3.5585 | model_form_blend |
| predicted_AVG | 0.2120 | 0.2111 | 0.2116 | model_form_blend |
| predicted_BB | 0.5810 | 0.5280 | 0.5583 | model_form_blend |
| predicted_H | 0.7560 | 0.7480 | 0.7526 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.1160 | 0.0730 | 0.0976 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3138 | 0.3185 | model_form_blend |
| predicted_R | 0.4420 | 0.3160 | 0.3881 | model_form_blend |
| predicted_RBI | 0.3490 | 0.3970 | 0.3695 | model_form_blend |
| predicted_SLG | 0.3450 | 0.3294 | 0.3383 | model_form_blend |
| predicted_SO | 0.8600 | 0.8000 | 0.8343 | 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 | 354 |
| Season rows before report date | 354 |
| Report year | 2026 |
| Profile rows used | 86 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.212 |
| 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 | 2 |
| 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 | 20260729_SEA@LAD |
| game_type | short |
| mlbID | 641487 |
| playerID | 641487 |
| playerName | J.P. Crawford |
| pos | SS |
| started | False |
| startingPosition | SS |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.307 |
| sl_xwoba | 0.325 |
| sl_xba | 0.24 |
| sl_xslg | 0.365 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 35.3 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 17.8 |
| sl_swing_percent | 38.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.092 | 0.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.730 | 4.000 | 4.000 | Hitting_AB | 3.772 | 3.000 | 0.228 | 1.000 |
| predicted_AVG | 0.167 | 0.000 | 0.250 | Hitting_AVG | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_BB | 0.513 | 0.000 | 0.000 | Hitting_BB | 0.547 | 1.000 | -0.547 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.620 | 0.000 | 1.000 | Hitting_H | 0.637 | 0.000 | -0.637 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_OBP | 0.269 | 0.000 | 0.250 | Hitting_OBP | 0.274 | 0.250 | -0.274 | -0.250 |
| predicted_R | 0.329 | 0.000 | 0.000 | Hitting_R | 0.367 | 0.000 | -0.367 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.482 | 0.000 | -0.482 | 0.000 |
| predicted_SLG | 0.336 | 0.000 | 0.250 | Hitting_SLG | 0.314 | 0.000 | -0.314 | 0.000 |
| predicted_SO | 1.382 | 2.000 | 2.000 | Hitting_SO | 1.383 | 1.000 | 0.617 | 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: 1.3820 -> 2.0000 (boost 0.6180, worse) |
| Biggest Deboost | predicted_H: 0.6200 -> 0.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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 3.7300 -> 3.6785 (deboost -0.0515, 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.3315 -> 0.3122 (deboost -0.0193, 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: 1.4024 -> 2.0000 (boost 0.5976, worse) | predicted_BB: 0.4559 -> 0.0000 (deboost -0.4559, worse) | AB rounded to 4 (raw=3.73), rates preserved: AVG=0.158 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2900 -> 0.0000 (deboost -0.2900, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.1600 -> 0.2500 (boost 0.0900, better) | predicted_SLG: 0.3122 -> 0.2500 (deboost -0.0622, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3122 (boost 0.0622, better) | predicted_AVG: 0.2500 -> 0.1600 (deboost -0.0900, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663728",
"player_name": "Cal Raleigh",
"position": "C",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.092,
"predicted_3B": 0.0,
"predicted_AB": 3.73,
"predicted_AVG": 0.167,
"predicted_BB": 0.513,
"predicted_H": 0.62,
"predicted_HR": 0.17,
"predicted_OBP": 0.269,
"predicted_R": 0.329,
"predicted_RBI": 0.46,
"predicted_SLG": 0.336,
"predicted_SO": 1.382
},
"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.0801,
"predicted_3B": 0.0004,
"predicted_AB": 3.6785,
"predicted_AVG": 0.1681,
"predicted_BB": 0.462,
"predicted_H": 0.6166,
"predicted_HBP": 0.093,
"predicted_HR": 0.1679,
"predicted_OBP": 0.2683,
"predicted_R": 0.3141,
"predicted_RBI": 0.4621,
"predicted_SLG": 0.3315,
"predicted_SO": 1.3841
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.0801,
"delta": -0.0119,
"percent_delta": -0.1293,
"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.73,
"after": 3.6785,
"delta": -0.0515,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1681,
"delta": 0.0011,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.513,
"after": 0.462,
"delta": -0.051,
"percent_delta": -0.0994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.6166,
"delta": -0.0034,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1679,
"delta": -0.0021,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2683,
"delta": -0.0007,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.329,
"after": 0.3141,
"delta": -0.0149,
"percent_delta": -0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4621,
"delta": 0.0021,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3315,
"delta": -0.0045,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.382,
"after": 1.3841,
"delta": 0.0021,
"percent_delta": 0.0015,
"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_AB",
"before": 3.73,
"after": 3.6785,
"delta": -0.0515,
"percent_delta": -0.0138,
"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.0801,
"predicted_3B": 0.0004,
"predicted_AB": 3.6785,
"predicted_AVG": 0.16,
"predicted_BB": 0.4559,
"predicted_H": 0.5886,
"predicted_HBP": 0.093,
"predicted_HR": 0.1597,
"predicted_OBP": 0.2526,
"predicted_R": 0.29,
"predicted_RBI": 0.4267,
"predicted_SLG": 0.3122,
"predicted_SO": 1.4024
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0801,
"after": 0.0801,
"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.6785,
"after": 3.6785,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1681,
"after": 0.16,
"delta": -0.0081,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.462,
"after": 0.4559,
"delta": -0.0061,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6166,
"after": 0.5886,
"delta": -0.028,
"percent_delta": -0.0454,
"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.1679,
"after": 0.1597,
"delta": -0.0082,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2683,
"after": 0.2526,
"delta": -0.0157,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3141,
"after": 0.29,
"delta": -0.0241,
"percent_delta": -0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4621,
"after": 0.4267,
"delta": -0.0354,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3315,
"after": 0.3122,
"delta": -0.0193,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3841,
"after": 1.4024,
"delta": 0.0183,
"percent_delta": 0.0132,
"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.3315,
"after": 0.3122,
"delta": -0.0193,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.158 HR/AB=0.043",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0801,
"after": 0.0,
"delta": -0.0801,
"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.6785,
"after": 4.0,
"delta": 0.3215,
"percent_delta": 0.0874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4559,
"after": 0.0,
"delta": -0.4559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5886,
"after": 1.0,
"delta": 0.4114,
"percent_delta": 0.6989,
"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.1597,
"after": 0.0,
"delta": -0.1597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4267,
"after": 0.0,
"delta": -0.4267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4024,
"after": 2.0,
"delta": 0.5976,
"percent_delta": 0.4261,
"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": 1.4024,
"after": 2.0,
"delta": 0.5976,
"percent_delta": 0.4261,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4559,
"after": 0.0,
"delta": -0.4559,
"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": 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_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.29,
"after": 0.0,
"delta": -0.29,
"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": 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_R",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"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": 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.16,
"after": 0.25,
"delta": 0.09,
"percent_delta": 0.5625,
"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.2526,
"after": 0.25,
"delta": -0.0026,
"percent_delta": -0.0103,
"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_SLG",
"before": 0.3122,
"after": 0.25,
"delta": -0.0622,
"percent_delta": -0.1992,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.16,
"after": 0.25,
"delta": 0.09,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3122,
"after": 0.25,
"delta": -0.0622,
"percent_delta": -0.1992,
"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": 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": 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_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.16,
"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.2526,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3122,
"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.25,
"after": 0.16,
"delta": -0.09,
"percent_delta": -0.3599,
"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.2526,
"delta": 0.0026,
"percent_delta": 0.0106,
"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_SLG",
"before": 0.25,
"after": 0.3122,
"delta": 0.0622,
"percent_delta": 0.249,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3122,
"delta": 0.0622,
"percent_delta": 0.249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.16,
"delta": -0.09,
"percent_delta": -0.3599,
"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.092,
"after": 0.0,
"delta": -0.092,
"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.73,
"after": 4.0,
"delta": 0.27,
"percent_delta": 0.0724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.16,
"delta": -0.007,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.513,
"after": 0.0,
"delta": -0.513,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2526,
"delta": -0.0164,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3122,
"delta": -0.0238,
"percent_delta": -0.0708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.382,
"after": 2.0,
"delta": 0.618,
"percent_delta": 0.4472,
"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": 1.382,
"after": 2.0,
"delta": 0.618,
"percent_delta": 0.4472,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"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.092 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.730 | - |
| predicted_AVG | 0.167 | - |
| predicted_BB | 0.513 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.269 | - |
| predicted_R | 0.329 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.336 | - |
| predicted_SO | 1.382 | - |
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.080 | -0.012 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.679 | -0.051 |
| predicted_AVG | 0.168 | 0.001 |
| predicted_BB | 0.462 | -0.051 |
| predicted_H | 0.617 | -0.003 |
| predicted_HBP | 0.093 | - |
| predicted_HR | 0.168 | -0.002 |
| predicted_OBP | 0.268 | -0.001 |
| predicted_R | 0.314 | -0.015 |
| predicted_RBI | 0.462 | 0.002 |
| predicted_SLG | 0.332 | -0.005 |
| predicted_SO | 1.384 | 0.002 |
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.080 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.679 | 0.000 |
| predicted_AVG | 0.160 | -0.008 |
| predicted_BB | 0.456 | -0.006 |
| predicted_H | 0.589 | -0.028 |
| predicted_HBP | 0.093 | 0.000 |
| predicted_HR | 0.160 | -0.008 |
| predicted_OBP | 0.253 | -0.016 |
| predicted_R | 0.290 | -0.024 |
| predicted_RBI | 0.427 | -0.035 |
| predicted_SLG | 0.312 | -0.019 |
| predicted_SO | 1.402 | 0.018 |
AB rounded to 4 (raw=3.73), rates preserved: AVG=0.158 HR/AB=0.043
| 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 | 2.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 | 2.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.080 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.321 |
| predicted_AVG | 0.250 | 0.090 |
| predicted_BB | 0.000 | -0.456 |
| predicted_H | 1.000 | 0.411 |
| predicted_HR | 0.000 | -0.160 |
| predicted_OBP | 0.250 | -0.003 |
| predicted_R | 0.000 | -0.290 |
| predicted_RBI | 0.000 | -0.427 |
| predicted_SLG | 0.250 | -0.062 |
| predicted_SO | 2.000 | 0.598 |
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 | 2.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 | 1.000 | 1.000 | 1.000 | 8.000 | 0.1765 | 0.2632 | 0.3529 | 0.1765 | 0.0588 | 0.0588 | 0.0588 | 0.4706 |
| last_10 | 0.20 | 10 | - | 35.000 | 5.000 | 0.000 | 0.000 | 2.000 | 7.000 | 2.000 | 3.000 | 14.000 | 0.1429 | 0.2500 | 0.3143 | 0.1429 | 0.0571 | 0.2000 | 0.0857 | 0.4000 |
| season | 0.60 | 76 | - | 280.000 | 46.000 | 7.000 | 0.000 | 11.000 | 36.000 | 25.000 | 39.000 | 105.000 | 0.1643 | 0.2685 | 0.3071 | 0.1643 | 0.0393 | 0.1286 | 0.1393 | 0.3750 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0640 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6090 |
| predicted_AVG | 0.1697 |
| predicted_BB | 0.3930 |
| predicted_H | 0.6120 |
| predicted_HBP | 0.0930 |
| predicted_HR | 0.1650 |
| predicted_OBP | 0.2673 |
| predicted_R | 0.2940 |
| predicted_RBI | 0.4650 |
| predicted_SLG | 0.3255 |
| predicted_SO | 1.3870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0920 | 0.0640 | 0.0801 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7300 | 3.6090 | 3.6785 | model_form_blend |
| predicted_AVG | 0.1670 | 0.1697 | 0.1681 | model_form_blend |
| predicted_BB | 0.5130 | 0.3930 | 0.4620 | model_form_blend |
| predicted_H | 0.6200 | 0.6120 | 0.6166 | model_form_blend |
| predicted_HBP | - | 0.0930 | 0.0930 | form_only |
| predicted_HR | 0.1700 | 0.1650 | 0.1679 | model_form_blend |
| predicted_OBP | 0.2690 | 0.2673 | 0.2683 | model_form_blend |
| predicted_R | 0.3290 | 0.2940 | 0.3141 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4650 | 0.4621 | model_form_blend |
| predicted_SLG | 0.3360 | 0.3255 | 0.3315 | model_form_blend |
| predicted_SO | 1.3820 | 1.3870 | 1.3841 | 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 | 311 |
| Season rows before report date | 311 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.164 |
| 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 | 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 | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 663728 |
| playerID | 663728 |
| playerName | Cal Raleigh |
| pos | C |
| started | True |
| startingPosition | C |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 32.5 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.263 |
| sl_xwoba | 0.287 |
| sl_xba | 0.177 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 33.0 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 24.2 |
| sl_whiff_percent | 31.1 |
| 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.147 | 0.000 | 0.000 | Hitting_2B | 0.139 | 1.000 | -0.139 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.380 | 4.000 | 4.000 | Hitting_AB | 3.964 | 4.000 | 0.036 | 0.000 |
| predicted_AVG | 0.256 | 0.500 | 0.250 | Hitting_AVG | 0.266 | 0.250 | 0.234 | 0.250 |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.337 | 0.000 | -0.337 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 1.120 | 2.000 | 1.000 | Hitting_H | 1.055 | 1.000 | 0.945 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.326 | 0.500 | 0.250 | Hitting_OBP | 0.330 | 0.250 | 0.170 | 0.250 |
| predicted_R | 0.412 | 1.000 | 0.000 | Hitting_R | 0.428 | 0.000 | 0.572 | 1.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.392 | 1.000 | -0.392 | -1.000 |
| predicted_SLG | 0.368 | 0.500 | 0.250 | Hitting_SLG | 0.363 | 0.500 | 0.137 | 0.000 |
| predicted_SO | 0.529 | 0.000 | 1.000 | Hitting_SO | 0.531 | 0.000 | -0.531 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 1.1200 -> 2.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_SO: 0.5290 -> 0.0000 (deboost -0.5290, 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 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2560 -> 0.2681 (boost 0.0121, better) | predicted_AB: 4.3800 -> 4.1894 (deboost -0.1906, 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 | 4 | 0 | 4 | 0 | 4 | - | predicted_H: 1.1191 -> 1.0683 (deboost -0.0508, 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.5649 -> 1.0000 (boost 0.4351, worse) | predicted_BB: 0.2984 -> 0.0000 (deboost -0.2984, worse) | AB rounded to 4 (raw=4.38), rates preserved: AVG=0.244 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3956 -> 0.0000 (deboost -0.3956, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3293 -> 0.2500 (deboost -0.0793, worse) | 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_H: 1.0000 -> 2.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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3293 (boost 0.0793, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "647304",
"player_name": "Josh Naylor",
"position": "1B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.0,
"predicted_AB": 4.38,
"predicted_AVG": 0.256,
"predicted_BB": 0.324,
"predicted_H": 1.12,
"predicted_HR": 0.04,
"predicted_OBP": 0.326,
"predicted_R": 0.412,
"predicted_RBI": 0.32,
"predicted_SLG": 0.368,
"predicted_SO": 0.529
},
"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.1802,
"predicted_3B": 0.0004,
"predicted_AB": 4.1894,
"predicted_AVG": 0.2681,
"predicted_BB": 0.3024,
"predicted_H": 1.1191,
"predicted_HBP": 0.024,
"predicted_HR": 0.0456,
"predicted_OBP": 0.3297,
"predicted_R": 0.4284,
"predicted_RBI": 0.3183,
"predicted_SLG": 0.374,
"predicted_SO": 0.5575
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1802,
"delta": 0.0332,
"percent_delta": 0.2259,
"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.38,
"after": 4.1894,
"delta": -0.1906,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2681,
"delta": 0.0121,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.3024,
"delta": -0.0216,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1191,
"delta": -0.0009,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0456,
"delta": 0.0056,
"percent_delta": 0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3297,
"delta": 0.0037,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.4284,
"delta": 0.0164,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3183,
"delta": -0.0017,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.374,
"delta": 0.006,
"percent_delta": 0.0163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.529,
"after": 0.5575,
"delta": 0.0285,
"percent_delta": 0.0539,
"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.256,
"after": 0.2681,
"delta": 0.0121,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1894,
"delta": -0.1906,
"percent_delta": -0.0435,
"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.1802,
"predicted_3B": 0.0004,
"predicted_AB": 4.1894,
"predicted_AVG": 0.255,
"predicted_BB": 0.2984,
"predicted_H": 1.0683,
"predicted_HBP": 0.024,
"predicted_HR": 0.0434,
"predicted_OBP": 0.3045,
"predicted_R": 0.3956,
"predicted_RBI": 0.2939,
"predicted_SLG": 0.3293,
"predicted_SO": 0.5649
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1802,
"after": 0.1802,
"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.1894,
"after": 4.1894,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2681,
"after": 0.255,
"delta": -0.0131,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3024,
"after": 0.2984,
"delta": -0.004,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1191,
"after": 1.0683,
"delta": -0.0508,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.0456,
"after": 0.0434,
"delta": -0.0022,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3297,
"after": 0.3045,
"delta": -0.0252,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4284,
"after": 0.3956,
"delta": -0.0328,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3183,
"after": 0.2939,
"delta": -0.0244,
"percent_delta": -0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3293,
"delta": -0.0447,
"percent_delta": -0.1195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5575,
"after": 0.5649,
"delta": 0.0074,
"percent_delta": 0.0133,
"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_H",
"before": 1.1191,
"after": 1.0683,
"delta": -0.0508,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.244 HR/AB=0.010",
"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.1802,
"after": 0.0,
"delta": -0.1802,
"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.1894,
"after": 4.0,
"delta": -0.1894,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2984,
"after": 0.0,
"delta": -0.2984,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0683,
"after": 1.0,
"delta": -0.0683,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"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.0434,
"after": 0.0,
"delta": -0.0434,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2939,
"after": 0.0,
"delta": -0.2939,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5649,
"after": 1.0,
"delta": 0.4351,
"percent_delta": 0.7702,
"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.5649,
"after": 1.0,
"delta": 0.4351,
"percent_delta": 0.7702,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2984,
"after": 0.0,
"delta": -0.2984,
"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.3956,
"after": 0.0,
"delta": -0.3956,
"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.3956,
"after": 0.0,
"delta": -0.3956,
"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.255,
"after": 0.25,
"delta": -0.005,
"percent_delta": -0.0196,
"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.3045,
"after": 0.25,
"delta": -0.0545,
"percent_delta": -0.179,
"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.3293,
"after": 0.25,
"delta": -0.0793,
"percent_delta": -0.2408,
"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.3293,
"after": 0.25,
"delta": -0.0793,
"percent_delta": -0.2408,
"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": 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": 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": 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": 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_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_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.255,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3045,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3293,
"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.255,
"delta": 0.005,
"percent_delta": 0.02,
"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": 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.3045,
"delta": 0.0545,
"percent_delta": 0.2181,
"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.25,
"after": 0.3293,
"delta": 0.0793,
"percent_delta": 0.317,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3293,
"delta": 0.0793,
"percent_delta": 0.317,
"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.147,
"after": 0.0,
"delta": -0.147,
"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.38,
"after": 4.0,
"delta": -0.38,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.255,
"delta": -0.001,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"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.326,
"after": 0.3045,
"delta": -0.0215,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3293,
"delta": -0.0387,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"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.147 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.368 | - |
| predicted_SO | 0.529 | - |
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.180 | 0.033 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.189 | -0.191 |
| predicted_AVG | 0.268 | 0.012 |
| predicted_BB | 0.302 | -0.022 |
| predicted_H | 1.119 | -0.001 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.046 | 0.006 |
| predicted_OBP | 0.330 | 0.004 |
| predicted_R | 0.428 | 0.016 |
| predicted_RBI | 0.318 | -0.002 |
| predicted_SLG | 0.374 | 0.006 |
| predicted_SO | 0.557 | 0.028 |
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.180 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.189 | 0.000 |
| predicted_AVG | 0.255 | -0.013 |
| predicted_BB | 0.298 | -0.004 |
| predicted_H | 1.068 | -0.051 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.043 | -0.002 |
| predicted_OBP | 0.304 | -0.025 |
| predicted_R | 0.396 | -0.033 |
| predicted_RBI | 0.294 | -0.024 |
| predicted_SLG | 0.329 | -0.045 |
| predicted_SO | 0.565 | 0.007 |
AB rounded to 4 (raw=4.38), rates preserved: AVG=0.244 HR/AB=0.010
| 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.180 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.189 |
| predicted_AVG | 0.250 | -0.005 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | -0.068 |
| predicted_HR | 0.000 | -0.043 |
| predicted_OBP | 0.250 | -0.054 |
| predicted_R | 0.000 | -0.396 |
| predicted_RBI | 0.000 | -0.294 |
| predicted_SLG | 0.250 | -0.079 |
| predicted_SO | 1.000 | 0.435 |
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 | 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 | 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 | - | 20.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 0.3000 | 0.3333 | 0.4000 | 0.3000 | 0.0000 | 0.0500 | 0.0500 | 0.2000 |
| last_10 | 0.20 | 10 | - | 40.000 | 14.000 | 3.000 | 0.000 | 0.000 | 2.000 | 6.000 | 2.000 | 5.000 | 0.3500 | 0.3810 | 0.4250 | 0.3500 | 0.0000 | 0.0500 | 0.0500 | 0.1250 |
| season | 0.60 | 102 | - | 399.000 | 104.000 | 15.000 | 0.000 | 8.000 | 38.000 | 42.000 | 33.000 | 54.000 | 0.2607 | 0.3227 | 0.3584 | 0.2606 | 0.0200 | 0.0952 | 0.0827 | 0.1353 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2240 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9380 |
| predicted_AVG | 0.2840 |
| predicted_BB | 0.2740 |
| predicted_H | 1.1180 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.3345 |
| predicted_R | 0.4500 |
| predicted_RBI | 0.3160 |
| predicted_SLG | 0.3819 |
| predicted_SO | 0.5950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.2240 | 0.1802 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3800 | 3.9380 | 4.1894 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2840 | 0.2681 | model_form_blend |
| predicted_BB | 0.3240 | 0.2740 | 0.3024 | model_form_blend |
| predicted_H | 1.1200 | 1.1180 | 1.1191 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0400 | 0.0530 | 0.0456 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3345 | 0.3297 | model_form_blend |
| predicted_R | 0.4120 | 0.4500 | 0.4284 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3160 | 0.3183 | model_form_blend |
| predicted_SLG | 0.3680 | 0.3819 | 0.3740 | model_form_blend |
| predicted_SO | 0.5290 | 0.5950 | 0.5575 | 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 | 418 |
| Season rows before report date | 418 |
| 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 | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| 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.25 |
| 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 | 2 |
| 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 | 1B |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 647304 |
| playerID | 647304 |
| playerName | Josh Naylor |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 12.4 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.303 |
| sl_xwoba | 0.322 |
| sl_xba | 0.276 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 36.5 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 18.4 |
| sl_swing_percent | 51.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.099 | 0.000 | 0.000 | Hitting_2B | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 2.857 | 3.000 | 3.000 | Hitting_AB | 3.348 | 1.000 | -0.348 | 2.000 |
| predicted_AVG | 0.206 | 0.000 | 0.333 | Hitting_AVG | 0.248 | 0.000 | -0.248 | 0.000 |
| predicted_BB | 0.165 | 0.000 | 0.000 | Hitting_BB | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.200 | 0.000 | 1.000 | Hitting_H | 0.830 | 0.000 | -0.830 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_OBP | 0.257 | 0.000 | 0.333 | Hitting_OBP | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_R | 0.308 | 0.000 | 0.000 | Hitting_R | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.582 | 0.000 | -0.582 | 0.000 |
| predicted_SLG | 0.374 | 0.000 | 0.333 | Hitting_SLG | 0.489 | 0.000 | -0.489 | 0.000 |
| predicted_SO | 1.022 | 2.000 | 1.000 | Hitting_SO | 1.110 | 0.000 | 0.890 | 2.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: 1.0220 -> 2.0000 (boost 0.9780, worse) |
| Biggest Deboost | predicted_R: 0.3080 -> 0.0000 (deboost -0.3080, 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 | 3 | 2 | 3 | 2 | predicted_H: 0.2000 -> 0.3380 (boost 0.1380, better) | predicted_AB: 2.8570 -> 2.7418 (deboost -0.1152, 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.3689 -> 0.2516 (deboost -0.1173, 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 | 1 | 5 | predicted_AB: 2.7418 -> 3.0000 (boost 0.2582, better) | predicted_H: 0.3227 -> 0.0000 (deboost -0.3227, worse) | AB rounded to 3 (raw=2.86), rates preserved: AVG=0.113 HR/AB=0.031 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2848 -> 0.0000 (deboost -0.2848, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1177 -> 0.3330 (boost 0.2153, better) | - | 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_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.1177 (deboost -0.2153, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670042",
"player_name": "Luke Raley",
"position": "RF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.099,
"predicted_3B": 0.011,
"predicted_AB": 2.857,
"predicted_AVG": 0.206,
"predicted_BB": 0.165,
"predicted_H": 0.2,
"predicted_HR": 0.08,
"predicted_OBP": 0.257,
"predicted_R": 0.308,
"predicted_RBI": 0.16,
"predicted_SLG": 0.374,
"predicted_SO": 1.022
},
"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.0825,
"predicted_3B": 0.0089,
"predicted_AB": 2.7418,
"predicted_AVG": 0.2051,
"predicted_BB": 0.2047,
"predicted_H": 0.338,
"predicted_HBP": 0.04,
"predicted_HR": 0.0935,
"predicted_OBP": 0.2692,
"predicted_R": 0.3084,
"predicted_RBI": 0.2225,
"predicted_SLG": 0.3689,
"predicted_SO": 1.0334
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.0825,
"delta": -0.0165,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0089,
"delta": -0.0021,
"percent_delta": -0.1909,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.857,
"after": 2.7418,
"delta": -0.1152,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.2051,
"delta": -0.0009,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.165,
"after": 0.2047,
"delta": 0.0397,
"percent_delta": 0.2406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.2,
"after": 0.338,
"delta": 0.138,
"percent_delta": 0.69,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0935,
"delta": 0.0135,
"percent_delta": 0.1687,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2692,
"delta": 0.0122,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.3084,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.2225,
"delta": 0.0625,
"percent_delta": 0.3906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3689,
"delta": -0.0051,
"percent_delta": -0.0136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.022,
"after": 1.0334,
"delta": 0.0114,
"percent_delta": 0.0112,
"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_H",
"before": 0.2,
"after": 0.338,
"delta": 0.138,
"percent_delta": 0.69,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.857,
"after": 2.7418,
"delta": -0.1152,
"percent_delta": -0.0403,
"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": 91
}
},
{
"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.0825,
"predicted_3B": 0.0089,
"predicted_AB": 2.7418,
"predicted_AVG": 0.1177,
"predicted_BB": 0.202,
"predicted_H": 0.3227,
"predicted_HBP": 0.04,
"predicted_HR": 0.0889,
"predicted_OBP": 0.1782,
"predicted_R": 0.2848,
"predicted_RBI": 0.2055,
"predicted_SLG": 0.2516,
"predicted_SO": 1.047
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0825,
"after": 0.0825,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0089,
"after": 0.0089,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7418,
"after": 2.7418,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2051,
"after": 0.1177,
"delta": -0.0874,
"percent_delta": -0.4261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2047,
"after": 0.202,
"delta": -0.0027,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.338,
"after": 0.3227,
"delta": -0.0153,
"percent_delta": -0.0453,
"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.0935,
"after": 0.0889,
"delta": -0.0046,
"percent_delta": -0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2692,
"after": 0.1782,
"delta": -0.091,
"percent_delta": -0.338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3084,
"after": 0.2848,
"delta": -0.0236,
"percent_delta": -0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2225,
"after": 0.2055,
"delta": -0.017,
"percent_delta": -0.0764,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3689,
"after": 0.2516,
"delta": -0.1173,
"percent_delta": -0.318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0334,
"after": 1.047,
"delta": 0.0136,
"percent_delta": 0.0132,
"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.3689,
"after": 0.2516,
"delta": -0.1173,
"percent_delta": -0.318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.86), rates preserved: AVG=0.113 HR/AB=0.031",
"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.0825,
"after": 0.0,
"delta": -0.0825,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0089,
"after": 0.0,
"delta": -0.0089,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7418,
"after": 3.0,
"delta": 0.2582,
"percent_delta": 0.0942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3227,
"after": 0.0,
"delta": -0.3227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0889,
"after": 0.0,
"delta": -0.0889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2055,
"after": 0.0,
"delta": -0.2055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.047,
"after": 1.0,
"delta": -0.047,
"percent_delta": -0.0449,
"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_AB",
"before": 2.7418,
"after": 3.0,
"delta": 0.2582,
"percent_delta": 0.0942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3227,
"after": 0.0,
"delta": -0.3227,
"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.2848,
"after": 0.0,
"delta": -0.2848,
"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.2848,
"after": 0.0,
"delta": -0.2848,
"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.1177,
"after": 0.333,
"delta": 0.2153,
"percent_delta": 1.8292,
"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.1782,
"after": 0.333,
"delta": 0.1548,
"percent_delta": 0.8687,
"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.2516,
"after": 0.333,
"delta": 0.0814,
"percent_delta": 0.3235,
"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.1177,
"after": 0.333,
"delta": 0.2153,
"percent_delta": 1.8292,
"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": 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": 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": 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": 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_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.1177,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1782,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2516,
"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": 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.1177,
"delta": -0.2153,
"percent_delta": -0.6466,
"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.1782,
"delta": -0.1548,
"percent_delta": -0.4648,
"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.2516,
"delta": -0.0814,
"percent_delta": -0.2446,
"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.333,
"after": 0.1177,
"delta": -0.2153,
"percent_delta": -0.6466,
"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.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.857,
"after": 3.0,
"delta": 0.143,
"percent_delta": 0.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.1177,
"delta": -0.0883,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.1782,
"delta": -0.0788,
"percent_delta": -0.3066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.2516,
"delta": -0.1224,
"percent_delta": -0.3273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.022,
"after": 2.0,
"delta": 0.978,
"percent_delta": 0.9569,
"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": 1.022,
"after": 2.0,
"delta": 0.978,
"percent_delta": 0.9569,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"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.099 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 2.857 | - |
| predicted_AVG | 0.206 | - |
| predicted_BB | 0.165 | - |
| predicted_H | 0.200 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.257 | - |
| predicted_R | 0.308 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 1.022 | - |
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.017 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 2.742 | -0.115 |
| predicted_AVG | 0.205 | -0.001 |
| predicted_BB | 0.205 | 0.040 |
| predicted_H | 0.338 | 0.138 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.093 | 0.013 |
| predicted_OBP | 0.269 | 0.012 |
| predicted_R | 0.308 | 0.000 |
| predicted_RBI | 0.223 | 0.062 |
| predicted_SLG | 0.369 | -0.005 |
| predicted_SO | 1.033 | 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.083 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 2.742 | 0.000 |
| predicted_AVG | 0.118 | -0.087 |
| predicted_BB | 0.202 | -0.003 |
| predicted_H | 0.323 | -0.015 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.089 | -0.005 |
| predicted_OBP | 0.178 | -0.091 |
| predicted_R | 0.285 | -0.024 |
| predicted_RBI | 0.205 | -0.017 |
| predicted_SLG | 0.252 | -0.117 |
| predicted_SO | 1.047 | 0.014 |
AB rounded to 3 (raw=2.86), rates preserved: AVG=0.113 HR/AB=0.031
| 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.083 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 3.000 | 0.258 |
| predicted_AVG | 0.333 | 0.215 |
| predicted_BB | 0.000 | -0.202 |
| predicted_H | 1.000 | 0.677 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.333 | 0.155 |
| predicted_R | 0.000 | -0.285 |
| predicted_RBI | 0.000 | -0.205 |
| predicted_SLG | 0.333 | 0.081 |
| predicted_SO | 1.000 | -0.047 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | - | 8.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.1250 | 0.3000 | 0.1250 | 0.1250 | 0.0000 | 0.0000 | 0.2500 | 0.6250 |
| last_10 | 0.20 | 10 | - | 21.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 9.000 | 0.1905 | 0.2609 | 0.3333 | 0.1905 | 0.0476 | 0.1429 | 0.0952 | 0.4286 |
| season | 0.60 | 91 | - | 260.000 | 59.000 | 9.000 | 1.000 | 15.000 | 39.000 | 28.000 | 15.000 | 93.000 | 0.2269 | 0.2862 | 0.4423 | 0.2269 | 0.0577 | 0.1500 | 0.0577 | 0.3577 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0600 |
| predicted_3B | 0.0060 |
| predicted_AB | 2.5840 |
| predicted_AVG | 0.2039 |
| predicted_BB | 0.2590 |
| predicted_H | 0.5270 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.1120 |
| predicted_OBP | 0.2860 |
| predicted_R | 0.3090 |
| predicted_RBI | 0.3080 |
| predicted_SLG | 0.3620 |
| predicted_SO | 1.0490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0990 | 0.0600 | 0.0825 | model_form_blend |
| predicted_3B | 0.0110 | 0.0060 | 0.0089 | model_form_blend |
| predicted_AB | 2.8570 | 2.5840 | 2.7418 | model_form_blend |
| predicted_AVG | 0.2060 | 0.2039 | 0.2051 | model_form_blend |
| predicted_BB | 0.1650 | 0.2590 | 0.2047 | model_form_blend |
| predicted_H | 0.2000 | 0.5270 | 0.3380 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.0800 | 0.1120 | 0.0935 | model_form_blend |
| predicted_OBP | 0.2570 | 0.2860 | 0.2692 | model_form_blend |
| predicted_R | 0.3080 | 0.3090 | 0.3084 | model_form_blend |
| predicted_RBI | 0.1600 | 0.3080 | 0.2225 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3620 | 0.3689 | model_form_blend |
| predicted_SO | 1.0220 | 1.0490 | 1.0334 | 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 | 282 |
| Season rows before report date | 282 |
| Report year | 2026 |
| Profile rows used | 91 |
| 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 | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.227 |
| 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 | 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 |
| gameID | 20260729_SEA@LAD |
| game_type | ph |
| mlbID | 670042 |
| note | Lined out for Refsnyder in the 9th. |
| playerID | 670042 |
| playerName | Luke Raley |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 32.7 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.315 |
| sl_xwoba | 0.344 |
| sl_xba | 0.253 |
| sl_xslg | 0.489 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 16.0 |
| sl_hard_hit_percent | 47.9 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 15.3 |
| sl_whiff_percent | 40.8 |
| sl_swing_percent | 54.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.107 | 0.000 | 0.000 | Hitting_2B | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.214 | 3.000 | 3.000 | Hitting_AB | 3.303 | 2.000 | -0.303 | 1.000 |
| predicted_AVG | 0.220 | 0.333 | 0.333 | Hitting_AVG | 0.203 | 0.000 | 0.130 | 0.333 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.670 | 0.000 | 0.330 | 1.000 |
| predicted_HR | 0.070 | 1.000 | 0.000 | Hitting_HR | 0.141 | 0.000 | 0.859 | 1.000 |
| predicted_OBP | 0.277 | 0.333 | 0.333 | Hitting_OBP | 0.266 | 0.000 | 0.068 | 0.333 |
| predicted_R | 0.393 | 1.000 | 0.000 | Hitting_R | 0.389 | 0.000 | 0.611 | 1.000 |
| predicted_RBI | 0.300 | 2.000 | 0.000 | Hitting_RBI | 0.432 | 0.000 | 1.568 | 2.000 |
| predicted_SLG | 0.353 | 1.333 | 0.333 | Hitting_SLG | 0.378 | 0.000 | 0.955 | 1.333 |
| predicted_SO | 1.161 | 1.000 | 1.000 | Hitting_SO | 1.189 | 1.000 | -0.189 | 0.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.3000 -> 2.0000 (boost 1.7000, better) |
| Biggest Deboost | predicted_BB: 0.2500 -> 0.0000 (deboost -0.2500, 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 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.1610 -> 1.1026 (deboost -0.0584, 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.3514 -> 0.3178 (deboost -0.0336, 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.6722 -> 1.0000 (boost 0.3278, better) | predicted_RBI: 0.2671 -> 0.0000 (deboost -0.2671, worse) | AB rounded to 3 (raw=3.25), rates preserved: AVG=0.207 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4028 -> 0.0000 (deboost -0.4028, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2068 -> 0.3330 (boost 0.1262, better) | - | 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_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2068 (deboost -0.1262, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "806068",
"player_name": "Colt Emerson",
"position": "SS",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.107,
"predicted_3B": 0.018,
"predicted_AB": 3.214,
"predicted_AVG": 0.22,
"predicted_BB": 0.25,
"predicted_H": 0.67,
"predicted_HR": 0.07,
"predicted_OBP": 0.277,
"predicted_R": 0.393,
"predicted_RBI": 0.3,
"predicted_SLG": 0.353,
"predicted_SO": 1.161
},
"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.1169,
"predicted_3B": 0.0151,
"predicted_AB": 3.251,
"predicted_AVG": 0.2233,
"predicted_BB": 0.2364,
"predicted_H": 0.7042,
"predicted_HBP": 0.023,
"predicted_HR": 0.0749,
"predicted_OBP": 0.2774,
"predicted_R": 0.4362,
"predicted_RBI": 0.2893,
"predicted_SLG": 0.3514,
"predicted_SO": 1.1026
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.1169,
"delta": 0.0099,
"percent_delta": 0.0925,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0151,
"delta": -0.0029,
"percent_delta": -0.1611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.214,
"after": 3.251,
"delta": 0.037,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2233,
"delta": 0.0033,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.2364,
"delta": -0.0136,
"percent_delta": -0.0544,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.7042,
"delta": 0.0342,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0749,
"delta": 0.0049,
"percent_delta": 0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2774,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.393,
"after": 0.4362,
"delta": 0.0432,
"percent_delta": 0.1099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.2893,
"delta": -0.0107,
"percent_delta": -0.0357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3514,
"delta": -0.0016,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.161,
"after": 1.1026,
"delta": -0.0584,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.161,
"after": 1.1026,
"delta": -0.0584,
"percent_delta": -0.0503,
"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": 56
}
},
{
"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.1169,
"predicted_3B": 0.0151,
"predicted_AB": 3.251,
"predicted_AVG": 0.2068,
"predicted_BB": 0.2333,
"predicted_H": 0.6722,
"predicted_HBP": 0.023,
"predicted_HR": 0.0712,
"predicted_OBP": 0.2599,
"predicted_R": 0.4028,
"predicted_RBI": 0.2671,
"predicted_SLG": 0.3178,
"predicted_SO": 1.1172
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1169,
"after": 0.1169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0151,
"after": 0.0151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.251,
"after": 3.251,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2233,
"after": 0.2068,
"delta": -0.0165,
"percent_delta": -0.0739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2364,
"after": 0.2333,
"delta": -0.0031,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7042,
"after": 0.6722,
"delta": -0.032,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0749,
"after": 0.0712,
"delta": -0.0037,
"percent_delta": -0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2774,
"after": 0.2599,
"delta": -0.0175,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4362,
"after": 0.4028,
"delta": -0.0334,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2893,
"after": 0.2671,
"delta": -0.0222,
"percent_delta": -0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3514,
"after": 0.3178,
"delta": -0.0336,
"percent_delta": -0.0956,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1026,
"after": 1.1172,
"delta": 0.0146,
"percent_delta": 0.0132,
"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.3514,
"after": 0.3178,
"delta": -0.0336,
"percent_delta": -0.0956,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.25), rates preserved: AVG=0.207 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.1169,
"after": 0.0,
"delta": -0.1169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0151,
"after": 0.0,
"delta": -0.0151,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.251,
"after": 3.0,
"delta": -0.251,
"percent_delta": -0.0772,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2333,
"after": 0.0,
"delta": -0.2333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6722,
"after": 1.0,
"delta": 0.3278,
"percent_delta": 0.4877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0712,
"after": 0.0,
"delta": -0.0712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2671,
"after": 0.0,
"delta": -0.2671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1172,
"after": 1.0,
"delta": -0.1172,
"percent_delta": -0.1049,
"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.6722,
"after": 1.0,
"delta": 0.3278,
"percent_delta": 0.4877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2671,
"after": 0.0,
"delta": -0.2671,
"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.4028,
"after": 0.0,
"delta": -0.4028,
"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.4028,
"after": 0.0,
"delta": -0.4028,
"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.2068,
"after": 0.333,
"delta": 0.1262,
"percent_delta": 0.6103,
"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.2599,
"after": 0.333,
"delta": 0.0731,
"percent_delta": 0.2813,
"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.3178,
"after": 0.333,
"delta": 0.0152,
"percent_delta": 0.0478,
"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.2068,
"after": 0.333,
"delta": 0.1262,
"percent_delta": 0.6103,
"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": 0.0,
"predicted_HR": 1.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": 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": 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": 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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2068,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2599,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3178,
"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": 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.2068,
"delta": -0.1262,
"percent_delta": -0.3791,
"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.2599,
"delta": -0.0731,
"percent_delta": -0.2196,
"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.3178,
"delta": -0.0152,
"percent_delta": -0.0458,
"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.2068,
"delta": -0.1262,
"percent_delta": -0.3791,
"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.107,
"after": 0.0,
"delta": -0.107,
"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.214,
"after": 3.0,
"delta": -0.214,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2068,
"delta": -0.0132,
"percent_delta": -0.06,
"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.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 1.0,
"delta": 0.93,
"percent_delta": 13.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2599,
"delta": -0.0171,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.393,
"after": 1.0,
"delta": 0.607,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3178,
"delta": -0.0352,
"percent_delta": -0.0997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.161,
"after": 1.0,
"delta": -0.161,
"percent_delta": -0.1387,
"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.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"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.107 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.214 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.393 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 1.161 | - |
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.117 | 0.010 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 3.251 | 0.037 |
| predicted_AVG | 0.223 | 0.003 |
| predicted_BB | 0.236 | -0.014 |
| predicted_H | 0.704 | 0.034 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.075 | 0.005 |
| predicted_OBP | 0.277 | 0.000 |
| predicted_R | 0.436 | 0.043 |
| predicted_RBI | 0.289 | -0.011 |
| predicted_SLG | 0.351 | -0.002 |
| predicted_SO | 1.103 | -0.058 |
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.117 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.251 | 0.000 |
| predicted_AVG | 0.207 | -0.016 |
| predicted_BB | 0.233 | -0.003 |
| predicted_H | 0.672 | -0.032 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.071 | -0.004 |
| predicted_OBP | 0.260 | -0.017 |
| predicted_R | 0.403 | -0.033 |
| predicted_RBI | 0.267 | -0.022 |
| predicted_SLG | 0.318 | -0.034 |
| predicted_SO | 1.117 | 0.015 |
AB rounded to 3 (raw=3.25), rates preserved: AVG=0.207 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.117 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 3.000 | -0.251 |
| predicted_AVG | 0.333 | 0.126 |
| predicted_BB | 0.000 | -0.233 |
| predicted_H | 1.000 | 0.328 |
| predicted_HR | 0.000 | -0.071 |
| predicted_OBP | 0.333 | 0.073 |
| predicted_R | 0.000 | -0.403 |
| predicted_RBI | 0.000 | -0.267 |
| predicted_SLG | 0.333 | 0.015 |
| predicted_SO | 1.000 | -0.117 |
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 | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 3.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 | - | 16.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 4.000 | 0.3125 | 0.3529 | 0.3750 | 0.3125 | 0.0000 | 0.0000 | 0.0625 | 0.2500 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 1.000 | 0.000 | 0.000 | 1.000 | 5.000 | 1.000 | 9.000 | 0.2121 | 0.2286 | 0.2424 | 0.2121 | 0.0000 | 0.0303 | 0.0303 | 0.2727 |
| season | 0.60 | 56 | - | 180.000 | 36.000 | 6.000 | 1.000 | 7.000 | 21.000 | 22.000 | 14.000 | 65.000 | 0.2000 | 0.2626 | 0.3611 | 0.2000 | 0.0389 | 0.1167 | 0.0778 | 0.3611 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1310 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.3040 |
| predicted_AVG | 0.2280 |
| predicted_BB | 0.2170 |
| predicted_H | 0.7530 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.2780 |
| predicted_R | 0.4980 |
| predicted_RBI | 0.2740 |
| predicted_SLG | 0.3492 |
| predicted_SO | 1.0190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1070 | 0.1310 | 0.1169 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0151 | model_form_blend |
| predicted_AB | 3.2140 | 3.3040 | 3.2510 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2280 | 0.2233 | model_form_blend |
| predicted_BB | 0.2500 | 0.2170 | 0.2364 | model_form_blend |
| predicted_H | 0.6700 | 0.7530 | 0.7042 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.0700 | 0.0820 | 0.0749 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2780 | 0.2774 | model_form_blend |
| predicted_R | 0.3930 | 0.4980 | 0.4362 | model_form_blend |
| predicted_RBI | 0.3000 | 0.2740 | 0.2893 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3492 | 0.3514 | model_form_blend |
| predicted_SO | 1.1610 | 1.0190 | 1.1026 | 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 | 185 |
| Season rows before report date | 185 |
| Report year | 2026 |
| Profile rows used | 56 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| 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 | 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 | SS |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 806068 |
| playerID | 806068 |
| playerName | Colt Emerson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-29 |
| sl_k_percent | 32.5 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.277 |
| sl_xwoba | 0.254 |
| sl_xba | 0.196 |
| sl_xslg | 0.301 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 29.9 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 33.2 |
| sl_swing_percent | 52.0 |
| 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.200 | 2.000 | -0.200 | -1.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 2.800 | 5.000 | 2.200 | 0.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.350 | 9.000 | 1.650 | -2.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.720 | 5.000 | -0.620 | 0.100 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.700 | 5.000 | -1.700 | -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.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": "693433",
"player_name": "Bryan Woo",
"position": "Starter",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_R": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 5.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| 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 | 26.100 | 17.000 | 34.000 | 8.000 | 26.000 | 3.000 | 5.8101 | 1.5949 | 0.6456 | 1.2911 | 0.3038 | 0.9873 | 0.1139 |
| last_10 | 0.35 | 10 | 56.100 | 33.000 | 61.000 | 12.000 | 59.000 | 6.000 | 5.2722 | 1.2959 | 0.5858 | 1.0828 | 0.2130 | 1.0473 | 0.1065 |
| season | 0.20 | 20 | 115.100 | 56.000 | 107.000 | 24.000 | 114.000 | 12.000 | 4.3699 | 1.1358 | 0.4855 | 0.9277 | 0.2081 | 0.9884 | 0.1041 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4990 |
| predicted_ER | 3.1530 |
| predicted_ERA | 5.1780 |
| predicted_H | 6.0920 |
| predicted_HR | 0.6460 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.4730 |
| predicted_WHIP | 1.3852 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4990 | 1.2822 | model_form_blend |
| predicted_ER | 5.0000 | 3.1530 | 3.9555 | model_form_blend |
| predicted_ERA | - | 5.1780 | 5.1780 | form_only |
| predicted_H | 7.0000 | 6.0920 | 6.4865 | model_form_blend |
| predicted_HR | 1.0000 | 0.6460 | 0.7998 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 5.4730 | 4.8330 | model_form_blend |
| predicted_WHIP | - | 1.3852 | 1.3852 | 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.1 |
| H | 7 |
| R | 5 |
| ER | 5 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 24 |
| Pitches | 92 |
| 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 | 25 |
| Pitching_ER | 5 |
| Pitching_ERA | 4.37 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 6 |
| Pitching_H | 9 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 95 |
| Pitching_R | 5 |
| Pitching_SO | 5 |
| Pitching_Strikes | 60 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260725_SEA@TEX |
| game_type | full |
| mlbID | 693433 |
| playerID | 693433 |
| playerName | Bryan Woo |
| pos | P |
| started | True |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-25 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.287 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 43.1 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 53.6 |
| sl_avg_best_speed | 79.011166024 |
| sl_avg_hyper_speed | 94.430181928 |
| 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.280 | 0.000 | -0.280 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.900 | 0.000 | -0.900 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.800 | 1.000 | 0.200 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.940 | 0.000 | -0.940 | 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": "660825",
"player_name": "Eduard Bazardo",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.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": 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": 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": 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": 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 | 0.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.200 | 4.000 | 6.000 | 1.000 | 6.000 | 2.000 | 7.7143 | 1.5000 | 0.8571 | 1.2857 | 0.2143 | 1.2857 | 0.4286 |
| last_10 | 0.35 | 10 | 9.200 | 6.000 | 9.000 | 1.000 | 13.000 | 3.000 | 5.5862 | 1.0345 | 0.6207 | 0.9310 | 0.1035 | 1.3448 | 0.3103 |
| season | 0.20 | 50 | 47.000 | 15.000 | 45.000 | 14.000 | 47.000 | 5.000 | 2.8723 | 1.2553 | 0.3191 | 0.9575 | 0.2979 | 1.0000 | 0.1064 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2490 |
| predicted_ER | 0.6110 |
| predicted_ERA | 5.4977 |
| predicted_H | 1.0540 |
| predicted_HR | 0.2630 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1480 |
| predicted_WHIP | 1.3034 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2490 | 0.1252 | model_form_blend |
| predicted_ER | 0.0000 | 0.6110 | 0.3073 | model_form_blend |
| predicted_ERA | - | 5.4977 | 5.4977 | form_only |
| predicted_H | 0.0000 | 1.0540 | 0.5301 | model_form_blend |
| predicted_HR | 0.0000 | 0.2630 | 0.1323 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1480 | 0.5774 | model_form_blend |
| predicted_WHIP | - | 1.3034 | 1.3034 | 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 | 50 |
| Season rows before report date | 50 |
| Report year | 2026 |
| Profile rows used | 50 |
| 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 | 0 |
| 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.87 |
| Pitching_Flyouts | 1 |
| 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 | 11 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260728_SEA@LAD |
| game_type | full |
| mlbID | 660825 |
| playerID | 660825 |
| playerName | Eduard Bazardo |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-28 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.305 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 46.3 |
| sl_avg_best_speed | 80.310057538 |
| sl_avg_hyper_speed | 94.161529462 |
| 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 | 0.265 | 0.000 | 0.735 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.918 | 0.000 | 0.082 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.798 | 1.000 | 0.302 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.735 | 0.000 | 0.265 | 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": "678606",
"player_name": "José A. Ferrer",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.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": 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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.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.100 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 0.0000 | 0.9231 | 0.0000 | 0.2308 | 0.6923 | 0.4615 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 7.000 | 5.000 | 7.000 | 1.000 | 3.0000 | 1.3333 | 0.3333 | 0.7778 | 0.5556 | 0.7778 | 0.1111 |
| season | 0.20 | 48 | 44.000 | 13.000 | 44.000 | 13.000 | 36.000 | 3.000 | 2.6591 | 1.2955 | 0.2954 | 1.0000 | 0.2954 | 0.8182 | 0.0682 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4890 |
| predicted_ER | 0.2960 |
| predicted_ERA | 2.6612 |
| predicted_H | 0.7210 |
| predicted_HR | 0.0890 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7580 |
| predicted_WHIP | 1.2105 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4890 | 0.7462 | model_form_blend |
| predicted_ER | 0.0000 | 0.2960 | 0.1470 | model_form_blend |
| predicted_ERA | - | 2.6612 | 2.6612 | form_only |
| predicted_H | 1.0000 | 0.7210 | 0.8615 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0442 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7580 | 0.8798 | model_form_blend |
| predicted_WHIP | - | 1.2105 | 1.2105 | 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 | 48 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| 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.66 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260728_SEA@LAD |
| game_type | full |
| mlbID | 678606 |
| playerID | 678606 |
| playerName | José A. Ferrer |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-28 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.303 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 35.3 |
| sl_whiff_percent | 20.2 |
| sl_swing_percent | 50.8 |
| sl_avg_best_speed | 74.363443971 |
| sl_avg_hyper_speed | 93.275822574 |
| 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.390 | 1.000 | -0.390 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.415 | 1.000 | -0.415 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.756 | 2.000 | -0.756 | -2.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.895 | 1.000 | -0.795 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.439 | 1.000 | -0.439 | 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": "662253",
"player_name": "Andrés Muñoz",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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.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": 0.1,
"after": 0.1,
"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": 0.1,
"after": 0.1,
"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 | 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.000 | 1.000 | 2.000 | 2.000 | 10.000 | 0.000 | 1.8000 | 0.8000 | 0.2000 | 0.4000 | 0.4000 | 2.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 5.000 | 3.000 | 15.000 | 0.000 | 0.9000 | 0.8000 | 0.1000 | 0.5000 | 0.3000 | 1.5000 | 0.0000 |
| season | 0.20 | 40 | 38.100 | 15.000 | 30.000 | 15.000 | 59.000 | 4.000 | 3.5217 | 1.1739 | 0.3913 | 0.7826 | 0.3913 | 1.5391 | 0.1043 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2650 |
| predicted_ER | 0.2380 |
| predicted_ERA | 2.9075 |
| predicted_H | 0.5120 |
| predicted_HR | 0.0530 |
| predicted_IP | 0.2000 |
| predicted_SO | 1.0500 |
| predicted_WHIP | 1.0557 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2650 | 0.1280 | model_form_blend |
| predicted_ER | 0.0000 | 0.2380 | 0.1149 | model_form_blend |
| predicted_ERA | - | 2.9075 | 2.9075 | form_only |
| predicted_H | 0.0000 | 0.5120 | 0.2472 | model_form_blend |
| predicted_HR | 0.0000 | 0.0530 | 0.0256 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0500 | 1.0241 | model_form_blend |
| predicted_WHIP | - | 1.0557 | 1.0557 | 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 | 41 |
| Season rows before report date | 41 |
| 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 | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 1 |
| Pitches | 14 |
| 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 | 1 |
| Pitching_ERA | 3.99 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 29 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260728_SEA@LAD |
| game_type | full |
| mlbID | 662253 |
| playerID | 662253 |
| playerName | Andrés Muñoz |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-07-28 |
| sl_k_percent | 36.2 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.279 |
| sl_xwoba | 0.287 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 42.5 |
| sl_whiff_percent | 39.7 |
| sl_swing_percent | 47.8 |
| sl_avg_best_speed | 75.265335349 |
| sl_avg_hyper_speed | 94.316110465 |
| Field | Value |
|---|---|
| Pitcher | Roki Sasaki |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1409 |
| ESPN Rank | 361 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1315 |
| Avg Velo | 92.2200 |
| Avg Spin | 1704.6280 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 6 |
| Pre BB | 0 |
| Pre SO | 8 |
| Season ERA | 4.7082 |
| Season WHIP | 1.2918 |
| Role Avg IP | 5.2040 |
| Recent Avg IP | 5.1330 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"opponent": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"edges": {
"quality_edge": 0.3342,
"offense_edge": 0.1343,
"opponent_offense_edge": -0.0791,
"defense_strength": 0.2267,
"opponent_defense_weakness": -0.1185,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0233,
"run_prevention": 0.948,
"strikeout": 1.0164
},
"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.6,
"bb_percent": 9.0,
"woba": 0.342,
"xwoba": 0.321,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 43.9,
"avg_best_speed": 79.7185,
"avg_hyper_speed": 94.5969,
"whiff_percent": 29.4,
"swing_percent": 50.5
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.4983,
"command_and_miss": 0.2604,
"regression_edge": 0.6,
"xwoba_edge": -0.2571,
"barrel_edge": -0.9556,
"hard_hit_edge": -0.8286,
"whiff_edge": 0.5286,
"bb_edge": -0.025,
"pitch_design_score": 0.1315
},
"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.1315,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.939,
"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.1409,
"sample_weight": 1.0,
"run_prevention_factor": 1.012,
"strikeout_factor": 1.0283,
"walk_factor": 1.002,
"homer_factor": 1.1173,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808963",
"espn_id": 5134638,
"player_name": "Roki Sasaki",
"team": "LAD",
"role": "pitcher",
"espn_rank": 361,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 361,
"gp_value": 18.0,
"gp_rank": 347,
"gs_value": 18.0,
"gs_rank": 76,
"qs_value": 5.0,
"qs_rank": 83,
"era_value": 4.7081,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 5.0,
"l_rank": 97,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 93.2,
"ip_rank": 93,
"h_value": 85.0,
"h_rank": 87,
"er_value": 49.0,
"er_rank": 50,
"hr_value": 20.0,
"hr_rank": 13,
"bb_value": 36.0,
"bb_rank": 54,
"k_value": 94.0,
"k_rank": 63,
"k_per_9_value": 9.032028,
"k_per_9_rank": 18,
"whip_value": 1.2918,
"whip_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.012,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.012,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.002,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1173,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0283,
"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": 53.0,
"ER": 26,
"H": 42,
"BB": 20,
"SO": 55,
"HR": 11,
"ERA": 4.415094339622641,
"WHIP": 1.1698113207547167,
"K9": 9.339622641509433,
"HR9": 1.8679245283018866,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-24T00: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.1315,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.939,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"role": "pitcher",
"player_id": "808963",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.2,
"ER": 13.0,
"R": 14.0,
"H": 22.0,
"BB": 11.0,
"SO": 24.0,
"HR": 7.0,
"BF": 108.0,
"Pitches": 435.0
},
"per_game": {
"IP": 5.0,
"ER": 2.6,
"R": 2.8,
"H": 4.4,
"BB": 2.2,
"SO": 4.8,
"HR": 1.4,
"BF": 21.6,
"Pitches": 87.0
},
"rates": {
"ERA": 4.5584,
"WHIP": 1.2857,
"ER_per_IP": 0.50649,
"H_per_IP": 0.85714,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.93506,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.0,
"ER": 26.0,
"R": 28.0,
"H": 42.0,
"BB": 20.0,
"SO": 55.0,
"HR": 11.0,
"BF": 218.0,
"Pitches": 885.0
},
"per_game": {
"IP": 5.1,
"ER": 2.6,
"R": 2.8,
"H": 4.2,
"BB": 2.0,
"SO": 5.5,
"HR": 1.1,
"BF": 21.8,
"Pitches": 88.5
},
"rates": {
"ERA": 4.4151,
"WHIP": 1.1698,
"ER_per_IP": 0.49057,
"H_per_IP": 0.79245,
"BB_per_IP": 0.37736,
"SO_per_IP": 1.03774,
"HR_per_IP": 0.20755
}
},
"season": {
"games": 18,
"totals": {
"IP": 93.2,
"ER": 49.0,
"R": 51.0,
"H": 85.0,
"BB": 36.0,
"SO": 94.0,
"HR": 20.0,
"BF": 399.0,
"Pitches": 1610.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7222,
"R": 2.8333,
"H": 4.7222,
"BB": 2.0,
"SO": 5.2222,
"HR": 1.1111,
"BF": 22.1667,
"Pitches": 89.4444
},
"rates": {
"ERA": 4.7082,
"WHIP": 1.2918,
"ER_per_IP": 0.52313,
"H_per_IP": 0.90747,
"BB_per_IP": 0.38434,
"SO_per_IP": 1.00356,
"HR_per_IP": 0.21352
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.596,
"predicted_H": 4.491,
"predicted_BB": 2.015,
"predicted_SO": 5.036,
"predicted_HR": 1.128,
"predicted_ERA": 4.5418,
"predicted_WHIP": 1.265
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4419,
"form_weight": 0.5581,
"form_reliability": 0.7826,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.596,
"final": 2.3327,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.491,
"final": 5.1578,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.015,
"final": 1.1247,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 5.036,
"final": 6.3456,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.128,
"final": 1.0714,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5418,
"final": 4.5418,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.265,
"final": 1.265,
"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 | Brock Stewart |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5399 |
| ESPN Rank | 285 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0654 |
| Avg Velo | 91.0404 |
| Avg Spin | 2348.9925 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.4545 |
| Season WHIP | 0.7500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"opponent": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"edges": {
"quality_edge": 0.3342,
"offense_edge": 0.1343,
"opponent_offense_edge": -0.0791,
"defense_strength": 0.2267,
"opponent_defense_weakness": -0.1185,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0233,
"run_prevention": 0.948,
"strikeout": 1.0164
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592779",
"profile": {
"available": true,
"pitcher_id": "592779",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 47.0,
"k_percent": 25.5,
"bb_percent": 9.1,
"woba": 0.209,
"xwoba": 0.225,
"sweet_spot_percent": 22.2,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 22.2,
"avg_best_speed": 68.4341,
"avg_hyper_speed": 91.8033,
"whiff_percent": 29.4,
"swing_percent": 47.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 2.0393,
"command_and_miss": 0.3775,
"regression_edge": -0.4571,
"xwoba_edge": 2.4857,
"barrel_edge": 0.9556,
"hard_hit_edge": 2.2714,
"whiff_edge": 0.5286,
"bb_edge": -0.05,
"pitch_design_score": 0.0654
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592779",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 91.04039838474107,
"release_spin_rate": 2348.9924866321417,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 91.04039838474107,
"release_spin_rate": 2348.9924866321417,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.0404,
"release_spin_rate": 2348.9925,
"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.0654,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4672,
"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.5399,
"sample_weight": 0.45,
"run_prevention_factor": 0.9541,
"strikeout_factor": 1.0176,
"walk_factor": 1.0018,
"homer_factor": 0.8912,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592779",
"espn_id": 35997,
"player_name": "Brock Stewart",
"team": "LAD",
"role": "pitcher",
"espn_rank": 285,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 285,
"gp_value": 14.0,
"gp_rank": 403,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.4545,
"era_rank": null,
"w_value": 0.0,
"w_rank": 460,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 4.0,
"hld_rank": 162,
"ip_value": 14.2,
"ip_rank": 504,
"h_value": 6.0,
"h_rank": 620,
"er_value": 4.0,
"er_rank": 606,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 5.0,
"bb_rank": 551,
"k_value": 14.0,
"k_rank": 484,
"k_per_9_value": 8.590909,
"k_per_9_rank": 25,
"whip_value": 0.75,
"whip_rank": null,
"war_value": 0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9793,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9793,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0008,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.951,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0079,
"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.2,
"ER": 3,
"H": 4,
"BB": 3,
"SO": 10,
"HR": 1,
"ERA": 2.53125,
"WHIP": 0.65625,
"K9": 8.4375,
"HR9": 0.84375,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "592779",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 91.04039838474107,
"release_spin_rate": 2348.9924866321417,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 91.04039838474107,
"release_spin_rate": 2348.9924866321417,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.0404,
"release_spin_rate": 2348.9925,
"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.0654,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4672,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.923,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3689,
"prior_weight": 0.6311
},
"role": "pitcher",
"player_id": "592779",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.8
},
"rates": {
"ERA": 1.5,
"WHIP": 0.3333,
"ER_per_IP": 0.16667,
"H_per_IP": 0.16667,
"BB_per_IP": 0.16667,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 3.0,
"R": 4.0,
"H": 4.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 155.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.4,
"BB": 0.3,
"SO": 1.0,
"HR": 0.1,
"BF": 3.9,
"Pitches": 15.5
},
"rates": {
"ERA": 2.5312,
"WHIP": 0.6562,
"ER_per_IP": 0.28125,
"H_per_IP": 0.375,
"BB_per_IP": 0.28125,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 14,
"totals": {
"IP": 14.2,
"ER": 4.0,
"R": 5.0,
"H": 6.0,
"BB": 5.0,
"SO": 14.0,
"HR": 2.0,
"BF": 55.0,
"Pitches": 213.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2857,
"R": 0.3571,
"H": 0.4286,
"BB": 0.3571,
"SO": 1.0,
"HR": 0.1429,
"BF": 3.9286,
"Pitches": 15.2143
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.75,
"ER_per_IP": 0.27273,
"H_per_IP": 0.40909,
"BB_per_IP": 0.34091,
"SO_per_IP": 0.95455,
"HR_per_IP": 0.13636
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.426,
"predicted_H": 0.762,
"predicted_BB": 0.331,
"predicted_SO": 0.987,
"predicted_HR": 0.124,
"predicted_ERA": 3.6313,
"predicted_WHIP": 1.036
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6166,
"form_weight": 0.3834,
"form_reliability": 0.3689,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.923,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3689,
"prior_weight": 0.6311
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.426,
"final": 0.1633,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.762,
"final": 0.2921,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.331,
"final": 0.1269,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.987,
"final": 0.995,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.124,
"final": 0.0475,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6313,
"final": 3.6313,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.036,
"final": 1.036,
"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.2817 |
| ESPN Rank | 612 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1220 |
| Avg Velo | 92.0508 |
| Avg Spin | 2455.3114 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 6.7500 |
| Season WHIP | 1.3500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"opponent": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"edges": {
"quality_edge": 0.3342,
"offense_edge": 0.1343,
"opponent_offense_edge": -0.0791,
"defense_strength": 0.2267,
"opponent_defense_weakness": -0.1185,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0233,
"run_prevention": 0.948,
"strikeout": 1.0164
},
"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": 31.0,
"bb_percent": 3.4,
"woba": 0.441,
"xwoba": 0.389,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 26.3,
"hard_hit_percent": 42.1,
"avg_best_speed": 84.715,
"avg_hyper_speed": 95.1351,
"whiff_percent": 29.1,
"swing_percent": 45.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -1.8652,
"command_and_miss": 1.0011,
"regression_edge": 1.4857,
"xwoba_edge": -2.2,
"barrel_edge": -2.5,
"hard_hit_edge": -0.5714,
"whiff_edge": 0.4857,
"bb_edge": 1.375,
"pitch_design_score": 0.122
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "623465",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.05081222441129,
"release_spin_rate": 2455.311401163336,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 92.05081222441129,
"release_spin_rate": 2455.311401163336,
"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.0508,
"release_spin_rate": 2455.3114,
"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.122,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8713,
"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.2817,
"sample_weight": 0.45,
"run_prevention_factor": 1.0239,
"strikeout_factor": 1.031,
"walk_factor": 0.9505,
"homer_factor": 1.13,
"woba_minus_xwoba": 0.052,
"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": 612,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 612,
"gp_value": 7.0,
"gp_rank": 520,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 6.75,
"era_rank": null,
"w_value": 0.0,
"w_rank": 460,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 2.0,
"hld_rank": 199,
"ip_value": 6.2,
"ip_rank": 601,
"h_value": 8.0,
"h_rank": 585,
"er_value": 5.0,
"er_rank": 575,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 1.0,
"bb_rank": 691,
"k_value": 9.0,
"k_rank": 537,
"k_per_9_value": 12.150001,
"k_per_9_rank": 24,
"whip_value": 1.35,
"whip_rank": null,
"war_value": -0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0108,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0108,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9777,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0585,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0139,
"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": 6.2,
"ER": 5,
"H": 8,
"BB": 1,
"SO": 9,
"HR": 4,
"ERA": 6.750000000000001,
"WHIP": 1.35,
"K9": 12.15,
"HR9": 5.4,
"games_pitched": 7,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-07-26T00:00:00"
}{
"available": true,
"pitcher_id": "623465",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.05081222441129,
"release_spin_rate": 2455.311401163336,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 92.05081222441129,
"release_spin_rate": 2455.311401163336,
"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.0508,
"release_spin_rate": 2455.3114,
"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.122,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8713,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.7627118644067797,
"last_10": 0.23728813559322032
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2099,
"prior_weight": 0.7901
},
"role": "pitcher",
"player_id": "623465",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 5.0,
"BB": 1.0,
"SO": 5.0,
"HR": 4.0,
"BF": 20.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.0,
"BB": 0.2,
"SO": 1.0,
"HR": 0.8,
"BF": 4.0,
"Pitches": 16.6
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.2857,
"ER_per_IP": 0.85714,
"H_per_IP": 1.07143,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.85714
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 6.2,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 1.0,
"SO": 9.0,
"HR": 4.0,
"BF": 29.0,
"Pitches": 122.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7143,
"R": 0.7143,
"H": 1.1429,
"BB": 0.1429,
"SO": 1.2857,
"HR": 0.5714,
"BF": 4.1429,
"Pitches": 17.4286
},
"rates": {
"ERA": 6.75,
"WHIP": 1.35,
"ER_per_IP": 0.75,
"H_per_IP": 1.2,
"BB_per_IP": 0.15,
"SO_per_IP": 1.35,
"HR_per_IP": 0.6
}
},
"season": {
"games": 7,
"totals": {
"IP": 6.2,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 1.0,
"SO": 9.0,
"HR": 4.0,
"BF": 29.0,
"Pitches": 122.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7143,
"R": 0.7143,
"H": 1.1429,
"BB": 0.1429,
"SO": 1.2857,
"HR": 0.5714,
"BF": 4.1429,
"Pitches": 17.4286
},
"rates": {
"ERA": 6.75,
"WHIP": 1.35,
"ER_per_IP": 0.75,
"H_per_IP": 1.2,
"BB_per_IP": 0.15,
"SO_per_IP": 1.35,
"HR_per_IP": 0.6
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.574,
"predicted_H": 1.003,
"predicted_BB": 0.323,
"predicted_SO": 0.996,
"predicted_HR": 0.287,
"predicted_ERA": 5.1698,
"predicted_WHIP": 1.3255
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6838,
"form_weight": 0.3162,
"form_reliability": 0.2099,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2099,
"prior_weight": 0.7901
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.574,
"final": 0.1815,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.003,
"final": 0.3171,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.323,
"final": 0.1021,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.996,
"final": 0.9987,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.287,
"final": 0.0907,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1698,
"final": 5.1698,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3255,
"final": 1.3255,
"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.5205 |
| ESPN Rank | 117 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1824 |
| Avg Velo | 93.1303 |
| Avg Spin | 2608.4630 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.4733 |
| Season WHIP | 0.8244 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"opponent": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"edges": {
"quality_edge": 0.3342,
"offense_edge": 0.1343,
"opponent_offense_edge": -0.0791,
"defense_strength": 0.2267,
"opponent_defense_weakness": -0.1185,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0233,
"run_prevention": 0.948,
"strikeout": 1.0164
},
"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": 34.6,
"bb_percent": 3.8,
"woba": 0.227,
"xwoba": 0.26,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 33.0,
"avg_best_speed": 79.3397,
"avg_hyper_speed": 93.5657,
"whiff_percent": 36.1,
"swing_percent": 55.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.9659,
"command_and_miss": 1.5625,
"regression_edge": -0.9429,
"xwoba_edge": 1.4857,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.7286,
"whiff_edge": 1.4857,
"bb_edge": 1.275,
"pitch_design_score": 0.1824
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656945",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.13028617964862,
"release_spin_rate": 2608.462950328665,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 93.13028617964862,
"release_spin_rate": 2608.462950328665,
"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.1303,
"release_spin_rate": 2608.463,
"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.1824,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3031,
"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.5205,
"sample_weight": 0.6,
"run_prevention_factor": 0.9558,
"strikeout_factor": 1.0777,
"walk_factor": 0.9388,
"homer_factor": 0.9568,
"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": 117,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 117,
"gp_value": 46.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.4732,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 16.0,
"sv_rank": 14,
"hld_value": 7.0,
"hld_rank": 89,
"ip_value": 43.2,
"ip_rank": 251,
"h_value": 30.0,
"h_rank": 328,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 6.0,
"bb_rank": 516,
"k_value": 56.0,
"k_rank": 166,
"k_per_9_value": 11.541985,
"k_per_9_rank": 17,
"whip_value": 0.8244,
"whip_rank": null,
"war_value": 1.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9735,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9735,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9633,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9741,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0466,
"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.1,
"ER": 4,
"H": 9,
"BB": 3,
"SO": 14,
"HR": 0,
"ERA": 3.8571428571428568,
"WHIP": 1.2857142857142856,
"K9": 13.5,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "656945",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.13028617964862,
"release_spin_rate": 2608.462950328665,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 93.13028617964862,
"release_spin_rate": 2608.462950328665,
"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.1303,
"release_spin_rate": 2608.463,
"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.1824,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3031,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.702,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6351,
"prior_weight": 0.3649
},
"role": "pitcher",
"player_id": "656945",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 46,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 65.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 13.0
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 4.0,
"R": 4.0,
"H": 9.0,
"BB": 3.0,
"SO": 14.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 133.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.9,
"BB": 0.3,
"SO": 1.4,
"HR": 0.0,
"BF": 3.8,
"Pitches": 13.3
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.2857,
"ER_per_IP": 0.42857,
"H_per_IP": 0.96429,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 46,
"totals": {
"IP": 43.2,
"ER": 12.0,
"R": 12.0,
"H": 30.0,
"BB": 6.0,
"SO": 56.0,
"HR": 4.0,
"BF": 164.0,
"Pitches": 620.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2609,
"R": 0.2609,
"H": 0.6522,
"BB": 0.1304,
"SO": 1.2174,
"HR": 0.087,
"BF": 3.5652,
"Pitches": 13.4783
},
"rates": {
"ERA": 2.4733,
"WHIP": 0.8244,
"ER_per_IP": 0.27481,
"H_per_IP": 0.68702,
"BB_per_IP": 0.1374,
"SO_per_IP": 1.28244,
"HR_per_IP": 0.0916
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.372,
"predicted_H": 0.944,
"predicted_BB": 0.276,
"predicted_SO": 1.189,
"predicted_HR": 0.067,
"predicted_ERA": 3.3479,
"predicted_WHIP": 1.2195
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5042,
"form_weight": 0.4958,
"form_reliability": 0.6351,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.702,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6351,
"prior_weight": 0.3649
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.372,
"final": 0.1844,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.944,
"final": 0.4681,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.276,
"final": 0.1368,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.189,
"final": 1.0937,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0332,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3479,
"final": 3.3479,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2195,
"final": 1.2195,
"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 | Alex Vesia |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3846 |
| ESPN Rank | 169 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1089 |
| Avg Velo | 87.9272 |
| Avg Spin | 2363.5401 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.6757 |
| Season WHIP | 1.1892 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 115,
"wins": 71,
"losses": 44,
"win_pct": 0.6174,
"runs_scored": 590.0,
"runs_allowed": 424.0,
"run_differential": 166.0,
"run_differential_per_game": 1.4435,
"avg_runs_scored": 5.1304,
"avg_runs_allowed": 3.687,
"offense_index": 1.1343,
"defense_index": 1.2267,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.3103
},
"opponent": {
"team": "SEA",
"games": 115,
"wins": 57,
"losses": 58,
"win_pct": 0.4957,
"runs_scored": 479.0,
"runs_allowed": 465.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1217,
"avg_runs_scored": 4.1652,
"avg_runs_allowed": 4.0435,
"offense_index": 0.9209,
"defense_index": 1.1185,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.5,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.0239
},
"edges": {
"quality_edge": 0.3342,
"offense_edge": 0.1343,
"opponent_offense_edge": -0.0791,
"defense_strength": 0.2267,
"opponent_defense_weakness": -0.1185,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0233,
"run_prevention": 0.948,
"strikeout": 1.0164
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681911",
"profile": {
"available": true,
"pitcher_id": "681911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 142.0,
"k_percent": 34.2,
"bb_percent": 15.8,
"woba": 0.239,
"xwoba": 0.265,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 36.8,
"avg_best_speed": 77.4123,
"avg_hyper_speed": 92.8677,
"whiff_percent": 37.5,
"swing_percent": 46.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.8898,
"command_and_miss": 1.0068,
"regression_edge": -0.7429,
"xwoba_edge": 1.3429,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.1857,
"whiff_edge": 1.6857,
"bb_edge": -1.725,
"pitch_design_score": -0.1089
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.92724813292911,
"release_spin_rate": 2363.5400985363444,
"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": 12,
"pitch_usage": 0.0,
"release_speed": 87.92724813292911,
"release_spin_rate": 2363.5400985363444,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.9272,
"release_spin_rate": 2363.5401,
"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.1089,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7781,
"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.3846,
"sample_weight": 0.568,
"run_prevention_factor": 0.9673,
"strikeout_factor": 1.0768,
"walk_factor": 1.0784,
"homer_factor": 0.9678,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681911",
"espn_id": 42622,
"player_name": "Alex Vesia",
"team": "LAD",
"role": "pitcher",
"espn_rank": 169,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 169,
"gp_value": 48.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.6756,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 3.0,
"sv_rank": 53,
"hld_value": 17.0,
"hld_rank": 10,
"ip_value": 37.0,
"ip_rank": 312,
"h_value": 19.0,
"h_rank": 452,
"er_value": 11.0,
"er_rank": 417,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 25.0,
"bb_rank": 141,
"k_value": 52.0,
"k_rank": 185,
"k_per_9_value": 12.648648,
"k_per_9_rank": 16,
"whip_value": 1.1891,
"whip_rank": null,
"war_value": 0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9814,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9814,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0445,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9817,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0436,
"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.1,
"ER": 3,
"H": 5,
"BB": 8,
"SO": 12,
"HR": 2,
"ERA": 3.2399999999999998,
"WHIP": 1.5599999999999998,
"K9": 12.959999999999999,
"HR9": 2.1599999999999997,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "681911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.92724813292911,
"release_spin_rate": 2363.5400985363444,
"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": 12,
"pitch_usage": 0.0,
"release_speed": 87.92724813292911,
"release_spin_rate": 2363.5400985363444,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.9272,
"release_spin_rate": 2363.5401,
"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.1089,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7781,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.374,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5959,
"prior_weight": 0.4041
},
"role": "pitcher",
"player_id": "681911",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 2.0,
"BB": 3.0,
"SO": 7.0,
"HR": 2.0,
"BF": 18.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.4,
"BB": 0.6,
"SO": 1.4,
"HR": 0.4,
"BF": 3.6,
"Pitches": 13.6
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.1538,
"ER_per_IP": 0.69231,
"H_per_IP": 0.46154,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 8.0,
"SO": 12.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 143.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.8,
"SO": 1.2,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.3
},
"rates": {
"ERA": 3.24,
"WHIP": 1.56,
"ER_per_IP": 0.36,
"H_per_IP": 0.6,
"BB_per_IP": 0.96,
"SO_per_IP": 1.44,
"HR_per_IP": 0.24
}
},
"season": {
"games": 48,
"totals": {
"IP": 37.0,
"ER": 11.0,
"R": 11.0,
"H": 19.0,
"BB": 25.0,
"SO": 52.0,
"HR": 2.0,
"BF": 156.0,
"Pitches": 675.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2292,
"R": 0.2292,
"H": 0.3958,
"BB": 0.5208,
"SO": 1.0833,
"HR": 0.0417,
"BF": 3.25,
"Pitches": 14.0625
},
"rates": {
"ERA": 2.6757,
"WHIP": 1.1892,
"ER_per_IP": 0.2973,
"H_per_IP": 0.51351,
"BB_per_IP": 0.67568,
"SO_per_IP": 1.40541,
"HR_per_IP": 0.05405
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.379,
"predicted_H": 0.533,
"predicted_BB": 0.461,
"predicted_SO": 0.974,
"predicted_HR": 0.183,
"predicted_ERA": 4.506,
"predicted_WHIP": 1.3148
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5207,
"form_weight": 0.4793,
"form_reliability": 0.5959,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.374,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5959,
"prior_weight": 0.4041
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.379,
"final": 0.1816,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.533,
"final": 0.2554,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.461,
"final": 0.2209,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.974,
"final": 0.4668,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.183,
"final": 0.0877,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.506,
"final": 4.506,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3148,
"final": 1.3148,
"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.204 | 0.000 | 0.000 | Hitting_2B | 0.180 | 1.000 | -0.180 | -1.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.827 | 3.000 | 4.000 | Hitting_AB | 3.866 | 3.000 | -0.866 | 0.000 |
| predicted_AVG | 0.288 | 0.000 | 0.250 | Hitting_AVG | 0.288 | 0.667 | -0.288 | -0.667 |
| predicted_BB | 0.653 | 1.000 | 1.000 | Hitting_BB | 0.690 | 1.000 | 0.310 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.102 | 0.000 | 1.000 | Hitting_H | 1.114 | 2.000 | -1.114 | -2.000 |
| predicted_HR | 0.235 | 0.000 | 0.000 | Hitting_HR | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_OBP | 0.392 | 0.250 | 0.400 | Hitting_OBP | 0.399 | 0.750 | -0.149 | -0.500 |
| predicted_R | 0.684 | 0.000 | 1.000 | Hitting_R | 0.706 | 1.000 | -0.706 | -1.000 |
| predicted_RBI | 0.643 | 0.000 | 1.000 | Hitting_RBI | 0.661 | 1.000 | -0.661 | -1.000 |
| predicted_SLG | 0.536 | 0.000 | 0.250 | Hitting_SLG | 0.526 | 1.000 | -0.526 | -1.000 |
| predicted_SO | 1.051 | 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 | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.6530 -> 1.0000 (boost 0.3470, better) |
| Biggest Deboost | predicted_H: 1.1020 -> 0.0000 (deboost -1.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 | 1 | 2 | 1 | 2 | predicted_2B: 0.2040 -> 0.2657 (boost 0.0617, better) | predicted_R: 0.6840 -> 0.6184 (deboost -0.0656, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5409 -> 0.5513 (boost 0.0104, better) | - | 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.6118 -> 1.0000 (boost 0.3882, better) | predicted_2B: 0.2657 -> 0.0000 (deboost -0.2657, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.300 HR/AB=0.058 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6456 -> 1.0000 (boost 0.3544, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5513 -> 0.2500 (deboost -0.3013, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.5513 (boost 0.3013, better) | - | 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.204,
"predicted_3B": 0.02,
"predicted_AB": 3.827,
"predicted_AVG": 0.288,
"predicted_BB": 0.653,
"predicted_H": 1.102,
"predicted_HR": 0.235,
"predicted_OBP": 0.392,
"predicted_R": 0.684,
"predicted_RBI": 0.643,
"predicted_SLG": 0.536,
"predicted_SO": 1.051
},
"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.2657,
"predicted_3B": 0.017,
"predicted_AB": 3.8542,
"predicted_AVG": 0.2929,
"predicted_BB": 0.6025,
"predicted_H": 1.1292,
"predicted_HBP": 0.031,
"predicted_HR": 0.2186,
"predicted_OBP": 0.3871,
"predicted_R": 0.6184,
"predicted_RBI": 0.6555,
"predicted_SLG": 0.5409,
"predicted_SO": 1.0376
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.204,
"after": 0.2657,
"delta": 0.0617,
"percent_delta": 0.3025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.017,
"delta": -0.003,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.827,
"after": 3.8542,
"delta": 0.0272,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.2929,
"delta": 0.0049,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.653,
"after": 0.6025,
"delta": -0.0505,
"percent_delta": -0.0773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.102,
"after": 1.1292,
"delta": 0.0272,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.235,
"after": 0.2186,
"delta": -0.0164,
"percent_delta": -0.0698,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.392,
"after": 0.3871,
"delta": -0.0049,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.684,
"after": 0.6184,
"delta": -0.0656,
"percent_delta": -0.0959,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.643,
"after": 0.6555,
"delta": 0.0125,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.536,
"after": 0.5409,
"delta": 0.0049,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 1.0376,
"delta": -0.0134,
"percent_delta": -0.0127,
"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_2B",
"before": 0.204,
"after": 0.2657,
"delta": 0.0617,
"percent_delta": 0.3025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.684,
"after": 0.6184,
"delta": -0.0656,
"percent_delta": -0.0959,
"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": 98
}
},
{
"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.2657,
"predicted_3B": 0.017,
"predicted_AB": 3.8542,
"predicted_AVG": 0.2998,
"predicted_BB": 0.6118,
"predicted_H": 1.1555,
"predicted_HBP": 0.031,
"predicted_HR": 0.2232,
"predicted_OBP": 0.3957,
"predicted_R": 0.6456,
"predicted_RBI": 0.6843,
"predicted_SLG": 0.5513,
"predicted_SO": 1.0216
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2657,
"after": 0.2657,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8542,
"after": 3.8542,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2929,
"after": 0.2998,
"delta": 0.0069,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6025,
"after": 0.6118,
"delta": 0.0093,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1292,
"after": 1.1555,
"delta": 0.0263,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2186,
"after": 0.2232,
"delta": 0.0046,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3871,
"after": 0.3957,
"delta": 0.0086,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6184,
"after": 0.6456,
"delta": 0.0272,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6555,
"after": 0.6843,
"delta": 0.0288,
"percent_delta": 0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5409,
"after": 0.5513,
"delta": 0.0104,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0376,
"after": 1.0216,
"delta": -0.016,
"percent_delta": -0.0154,
"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.5409,
"after": 0.5513,
"delta": 0.0104,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.300 HR/AB=0.058",
"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.2657,
"after": 0.0,
"delta": -0.2657,
"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": 3.8542,
"after": 4.0,
"delta": 0.1458,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6118,
"after": 1.0,
"delta": 0.3882,
"percent_delta": 0.6345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1555,
"after": 1.0,
"delta": -0.1555,
"percent_delta": -0.1346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2232,
"after": 0.0,
"delta": -0.2232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6843,
"after": 1.0,
"delta": 0.3157,
"percent_delta": 0.4613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0216,
"after": 1.0,
"delta": -0.0216,
"percent_delta": -0.0211,
"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.6118,
"after": 1.0,
"delta": 0.3882,
"percent_delta": 0.6345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2657,
"after": 0.0,
"delta": -0.2657,
"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.500)",
"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": 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": 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": 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": 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.6456,
"after": 1.0,
"delta": 0.3544,
"percent_delta": 0.5489,
"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.6456,
"after": 1.0,
"delta": 0.3544,
"percent_delta": 0.5489,
"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": 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.2998,
"after": 0.25,
"delta": -0.0498,
"percent_delta": -0.1661,
"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.3957,
"after": 0.4,
"delta": 0.0043,
"percent_delta": 0.0109,
"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_SLG",
"before": 0.5513,
"after": 0.25,
"delta": -0.3013,
"percent_delta": -0.5465,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5513,
"after": 0.25,
"delta": -0.3013,
"percent_delta": -0.5465,
"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": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2998,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3957,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5513,
"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.25,
"after": 0.2998,
"delta": 0.0498,
"percent_delta": 0.1992,
"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.4,
"after": 0.3957,
"delta": -0.0043,
"percent_delta": -0.0107,
"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_SLG",
"before": 0.25,
"after": 0.5513,
"delta": 0.3013,
"percent_delta": 1.2052,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5513,
"delta": 0.3013,
"percent_delta": 1.2052,
"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.204,
"after": 0.0,
"delta": -0.204,
"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.827,
"after": 3.0,
"delta": -0.827,
"percent_delta": -0.2161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.2998,
"delta": 0.0118,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.653,
"after": 1.0,
"delta": 0.347,
"percent_delta": 0.5314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.102,
"after": 0.0,
"delta": -1.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.392,
"after": 0.3957,
"delta": 0.0037,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.684,
"after": 0.0,
"delta": -0.684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.643,
"after": 0.0,
"delta": -0.643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.536,
"after": 0.5513,
"delta": 0.0153,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 0.0,
"delta": -1.051,
"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_BB",
"before": 0.653,
"after": 1.0,
"delta": 0.347,
"percent_delta": 0.5314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.102,
"after": 0.0,
"delta": -1.102,
"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.204 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.827 | - |
| predicted_AVG | 0.288 | - |
| predicted_BB | 0.653 | - |
| predicted_H | 1.102 | - |
| predicted_HR | 0.235 | - |
| predicted_OBP | 0.392 | - |
| predicted_R | 0.684 | - |
| predicted_RBI | 0.643 | - |
| predicted_SLG | 0.536 | - |
| predicted_SO | 1.051 | - |
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.266 | 0.062 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.854 | 0.027 |
| predicted_AVG | 0.293 | 0.005 |
| predicted_BB | 0.603 | -0.050 |
| predicted_H | 1.129 | 0.027 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.219 | -0.016 |
| predicted_OBP | 0.387 | -0.005 |
| predicted_R | 0.618 | -0.066 |
| predicted_RBI | 0.655 | 0.012 |
| predicted_SLG | 0.541 | 0.005 |
| predicted_SO | 1.038 | -0.013 |
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.266 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.854 | 0.000 |
| predicted_AVG | 0.300 | 0.007 |
| predicted_BB | 0.612 | 0.009 |
| predicted_H | 1.155 | 0.026 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.223 | 0.005 |
| predicted_OBP | 0.396 | 0.009 |
| predicted_R | 0.646 | 0.027 |
| predicted_RBI | 0.684 | 0.029 |
| predicted_SLG | 0.551 | 0.010 |
| predicted_SO | 1.022 | -0.016 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.300 HR/AB=0.058
| 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 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)
| 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 | 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 | 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.266 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.146 |
| predicted_AVG | 0.250 | -0.050 |
| predicted_BB | 1.000 | 0.388 |
| predicted_H | 1.000 | -0.155 |
| predicted_HR | 0.000 | -0.223 |
| predicted_OBP | 0.400 | 0.004 |
| predicted_R | 1.000 | 0.354 |
| predicted_RBI | 1.000 | 0.316 |
| predicted_SLG | 0.250 | -0.301 |
| predicted_SO | 1.000 | -0.022 |
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 | -1.000 |
| BB | 1.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 | -1.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 | - | 20.000 | 8.000 | 4.000 | 0.000 | 1.000 | 5.000 | 2.000 | 2.000 | 5.000 | 0.4000 | 0.4348 | 0.7500 | 0.4000 | 0.0500 | 0.2500 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 4.000 | 0.000 | 1.000 | 5.000 | 2.000 | 4.000 | 10.000 | 0.2500 | 0.3111 | 0.4250 | 0.2500 | 0.0250 | 0.1250 | 0.1000 | 0.2500 |
| season | 0.60 | 98 | - | 375.000 | 108.000 | 20.000 | 2.000 | 23.000 | 63.000 | 67.000 | 64.000 | 103.000 | 0.2880 | 0.3942 | 0.5360 | 0.2880 | 0.0613 | 0.1680 | 0.1707 | 0.2747 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3470 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.8900 |
| predicted_AVG | 0.2994 |
| predicted_BB | 0.5360 |
| predicted_H | 1.1650 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.1970 |
| predicted_OBP | 0.3807 |
| predicted_R | 0.5320 |
| predicted_RBI | 0.6720 |
| predicted_SLG | 0.5474 |
| predicted_SO | 1.0200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2040 | 0.3470 | 0.2657 | model_form_blend |
| predicted_3B | 0.0200 | 0.0130 | 0.0170 | model_form_blend |
| predicted_AB | 3.8270 | 3.8900 | 3.8542 | model_form_blend |
| predicted_AVG | 0.2880 | 0.2994 | 0.2929 | model_form_blend |
| predicted_BB | 0.6530 | 0.5360 | 0.6025 | model_form_blend |
| predicted_H | 1.1020 | 1.1650 | 1.1292 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.2350 | 0.1970 | 0.2186 | model_form_blend |
| predicted_OBP | 0.3920 | 0.3807 | 0.3871 | model_form_blend |
| predicted_R | 0.6840 | 0.5320 | 0.6184 | model_form_blend |
| predicted_RBI | 0.6430 | 0.6720 | 0.6555 | model_form_blend |
| predicted_SLG | 0.5360 | 0.5474 | 0.5409 | model_form_blend |
| predicted_SO | 1.0510 | 1.0200 | 1.0376 | 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 | 439 |
| Season rows before report date | 439 |
| Report year | 2026 |
| Profile rows used | 98 |
| 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.288 |
| 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 | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| 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 | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.389 |
| sl_xwoba | 0.411 |
| sl_xba | 0.295 |
| sl_xslg | 0.575 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 16.5 |
| sl_hard_hit_percent | 53.4 |
| sl_exit_velocity_avg | 93.6 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 45.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.145 | 0.000 | 0.000 | Hitting_2B | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.700 | 4.000 | 5.000 | Hitting_AB | 4.123 | 4.000 | -0.123 | 0.000 |
| predicted_AVG | 0.214 | 0.250 | 0.200 | Hitting_AVG | 0.236 | 0.250 | 0.014 | 0.000 |
| predicted_BB | 0.290 | 0.000 | 0.000 | Hitting_BB | 0.295 | 0.000 | -0.295 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 0.972 | 1.000 | 0.028 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_OBP | 0.261 | 0.250 | 0.200 | Hitting_OBP | 0.289 | 0.250 | -0.039 | 0.000 |
| predicted_R | 0.594 | 1.000 | 1.000 | Hitting_R | 0.667 | 1.000 | 0.333 | 0.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.554 | 0.000 | -0.554 | 0.000 |
| predicted_SLG | 0.351 | 0.250 | 0.200 | Hitting_SLG | 0.427 | 0.250 | -0.177 | 0.000 |
| predicted_SO | 0.507 | 1.000 | 1.000 | Hitting_SO | 0.547 | 1.000 | 0.453 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.5070 -> 1.0000 (boost 0.4930, worse) |
| Biggest Deboost | predicted_AB: 4.7000 -> 4.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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.7000 -> 4.4071 (deboost -0.2929, 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_AB: 4.4071 -> 5.0000 (boost 0.5929, better) | predicted_RBI: 0.4650 -> 0.0000 (deboost -0.4650, worse) | AB rounded to 5 (raw=4.70), rates preserved: AVG=0.207 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6104 -> 1.0000 (boost 0.3896, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3583 -> 0.2000 (deboost -0.1583, 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_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.3583 (boost 0.1583, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605141",
"player_name": "Mookie Betts",
"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.145,
"predicted_3B": 0.0,
"predicted_AB": 4.7,
"predicted_AVG": 0.214,
"predicted_BB": 0.29,
"predicted_H": 1.0,
"predicted_HR": 0.16,
"predicted_OBP": 0.261,
"predicted_R": 0.594,
"predicted_RBI": 0.5,
"predicted_SLG": 0.351,
"predicted_SO": 0.507
},
"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.1243,
"predicted_3B": 0.0004,
"predicted_AB": 4.4071,
"predicted_AVG": 0.2168,
"predicted_BB": 0.2608,
"predicted_H": 0.9509,
"predicted_HBP": 0.011,
"predicted_HR": 0.157,
"predicted_OBP": 0.2613,
"predicted_R": 0.5847,
"predicted_RBI": 0.4454,
"predicted_SLG": 0.3546,
"predicted_SO": 0.5205
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1243,
"delta": -0.0207,
"percent_delta": -0.1428,
"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.7,
"after": 4.4071,
"delta": -0.2929,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2168,
"delta": 0.0028,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.2608,
"delta": -0.0292,
"percent_delta": -0.1007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9509,
"delta": -0.0491,
"percent_delta": -0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.157,
"delta": -0.003,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2613,
"delta": 0.0003,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.594,
"after": 0.5847,
"delta": -0.0093,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4454,
"delta": -0.0546,
"percent_delta": -0.1092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3546,
"delta": 0.0036,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.507,
"after": 0.5205,
"delta": 0.0135,
"percent_delta": 0.0266,
"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_AB",
"before": 4.7,
"after": 4.4071,
"delta": -0.2929,
"percent_delta": -0.0623,
"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.1243,
"predicted_3B": 0.0004,
"predicted_AB": 4.4071,
"predicted_AVG": 0.2208,
"predicted_BB": 0.2648,
"predicted_H": 0.9731,
"predicted_HBP": 0.011,
"predicted_HR": 0.1603,
"predicted_OBP": 0.265,
"predicted_R": 0.6104,
"predicted_RBI": 0.465,
"predicted_SLG": 0.3583,
"predicted_SO": 0.5125
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1243,
"after": 0.1243,
"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.4071,
"after": 4.4071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2168,
"after": 0.2208,
"delta": 0.004,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2608,
"after": 0.2648,
"delta": 0.004,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9509,
"after": 0.9731,
"delta": 0.0222,
"percent_delta": 0.0233,
"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.157,
"after": 0.1603,
"delta": 0.0033,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2613,
"after": 0.265,
"delta": 0.0037,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5847,
"after": 0.6104,
"delta": 0.0257,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4454,
"after": 0.465,
"delta": 0.0196,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3546,
"after": 0.3583,
"delta": 0.0037,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5205,
"after": 0.5125,
"delta": -0.008,
"percent_delta": -0.0154,
"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 5 (raw=4.70), rates preserved: AVG=0.207 HR/AB=0.034",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1243,
"after": 0.0,
"delta": -0.1243,
"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.4071,
"after": 5.0,
"delta": 0.5929,
"percent_delta": 0.1345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2648,
"after": 0.0,
"delta": -0.2648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9731,
"after": 1.0,
"delta": 0.0269,
"percent_delta": 0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1603,
"after": 0.0,
"delta": -0.1603,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5125,
"after": 1.0,
"delta": 0.4875,
"percent_delta": 0.9512,
"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": 4.4071,
"after": 5.0,
"delta": 0.5929,
"percent_delta": 0.1345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"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": 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": 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.6104,
"after": 1.0,
"delta": 0.3896,
"percent_delta": 0.6383,
"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.6104,
"after": 1.0,
"delta": 0.3896,
"percent_delta": 0.6383,
"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": 0.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.2208,
"after": 0.2,
"delta": -0.0208,
"percent_delta": -0.0942,
"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.265,
"after": 0.2,
"delta": -0.065,
"percent_delta": -0.2453,
"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.3583,
"after": 0.2,
"delta": -0.1583,
"percent_delta": -0.4418,
"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.3583,
"after": 0.2,
"delta": -0.1583,
"percent_delta": -0.4418,
"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": 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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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_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_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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2208,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.265,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3583,
"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.2,
"after": 0.2208,
"delta": 0.0208,
"percent_delta": 0.104,
"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.265,
"delta": 0.065,
"percent_delta": 0.3248,
"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.3583,
"delta": 0.1583,
"percent_delta": 0.7915,
"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.3583,
"delta": 0.1583,
"percent_delta": 0.7915,
"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.145,
"after": 0.0,
"delta": -0.145,
"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.7,
"after": 4.0,
"delta": -0.7,
"percent_delta": -0.1489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2208,
"delta": 0.0068,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.265,
"delta": 0.004,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.594,
"after": 1.0,
"delta": 0.406,
"percent_delta": 0.6835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3583,
"delta": 0.0073,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.507,
"after": 1.0,
"delta": 0.493,
"percent_delta": 0.9724,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.507,
"after": 1.0,
"delta": 0.493,
"percent_delta": 0.9724,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.7,
"after": 4.0,
"delta": -0.7,
"percent_delta": -0.1489,
"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.000 | - |
| predicted_AB | 4.700 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.290 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.594 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.351 | - |
| predicted_SO | 0.507 | - |
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.124 | -0.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.407 | -0.293 |
| predicted_AVG | 0.217 | 0.003 |
| predicted_BB | 0.261 | -0.029 |
| predicted_H | 0.951 | -0.049 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.157 | -0.003 |
| predicted_OBP | 0.261 | 0.000 |
| predicted_R | 0.585 | -0.009 |
| predicted_RBI | 0.445 | -0.055 |
| predicted_SLG | 0.355 | 0.004 |
| predicted_SO | 0.520 | 0.013 |
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.124 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.407 | 0.000 |
| predicted_AVG | 0.221 | 0.004 |
| predicted_BB | 0.265 | 0.004 |
| predicted_H | 0.973 | 0.022 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.160 | 0.003 |
| predicted_OBP | 0.265 | 0.004 |
| predicted_R | 0.610 | 0.026 |
| predicted_RBI | 0.465 | 0.020 |
| predicted_SLG | 0.358 | 0.004 |
| predicted_SO | 0.512 | -0.008 |
AB rounded to 5 (raw=4.70), rates preserved: AVG=0.207 HR/AB=0.034
| 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 | 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 | 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 | 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.124 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.593 |
| predicted_AVG | 0.200 | -0.021 |
| predicted_BB | 0.000 | -0.265 |
| predicted_H | 1.000 | 0.027 |
| predicted_HR | 0.000 | -0.160 |
| predicted_OBP | 0.200 | -0.065 |
| predicted_R | 1.000 | 0.390 |
| predicted_RBI | 0.000 | -0.465 |
| predicted_SLG | 0.200 | -0.158 |
| predicted_SO | 1.000 | 0.488 |
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 | 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 | - | 21.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.1905 | 0.1905 | 0.1905 | 0.1905 | 0.0000 | 0.0000 | 0.0000 | 0.0952 |
| last_10 | 0.20 | 10 | - | 39.000 | 8.000 | 0.000 | 0.000 | 2.000 | 3.000 | 7.000 | 2.000 | 6.000 | 0.2051 | 0.2439 | 0.3590 | 0.2051 | 0.0513 | 0.0769 | 0.0513 | 0.1538 |
| season | 0.60 | 69 | - | 277.000 | 64.000 | 10.000 | 0.000 | 13.000 | 34.000 | 41.000 | 20.000 | 35.000 | 0.2310 | 0.2843 | 0.4079 | 0.2311 | 0.0469 | 0.1227 | 0.0722 | 0.1263 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0960 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0080 |
| predicted_AVG | 0.2205 |
| predicted_BB | 0.2210 |
| predicted_H | 0.8840 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1530 |
| predicted_OBP | 0.2618 |
| predicted_R | 0.5720 |
| predicted_RBI | 0.3710 |
| predicted_SLG | 0.3596 |
| predicted_SO | 0.5390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.0960 | 0.1243 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.7000 | 4.0080 | 4.4071 | model_form_blend |
| predicted_AVG | 0.2140 | 0.2205 | 0.2168 | model_form_blend |
| predicted_BB | 0.2900 | 0.2210 | 0.2608 | model_form_blend |
| predicted_H | 1.0000 | 0.8840 | 0.9509 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1600 | 0.1530 | 0.1570 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2618 | 0.2613 | model_form_blend |
| predicted_R | 0.5940 | 0.5720 | 0.5847 | model_form_blend |
| predicted_RBI | 0.5000 | 0.3710 | 0.4454 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3596 | 0.3546 | model_form_blend |
| predicted_SO | 0.5070 | 0.5390 | 0.5205 | 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 | 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 | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.231 |
| 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 | 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 | 1 |
| Hitting_TB | 1 |
| 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 | SS |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 12.0 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.301 |
| sl_xwoba | 0.33 |
| sl_xba | 0.272 |
| sl_xslg | 0.434 |
| sl_sweet_spot_percent | 40.7 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 39.0 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 19.2 |
| sl_whiff_percent | 12.5 |
| sl_swing_percent | 41.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.207 | 0.000 | 0.000 | Hitting_2B | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_3B | 0.069 | 1.000 | 0.000 | Hitting_3B | 0.085 | 0.000 | 0.915 | 1.000 |
| predicted_AB | 3.517 | 4.000 | 4.000 | Hitting_AB | 3.491 | 4.000 | 0.509 | 0.000 |
| predicted_AVG | 0.324 | 0.500 | 0.250 | Hitting_AVG | 0.365 | 0.000 | 0.135 | 0.500 |
| predicted_BB | 0.241 | 0.000 | 0.000 | Hitting_BB | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 1.138 | 2.000 | 1.000 | Hitting_H | 1.274 | 0.000 | 0.726 | 2.000 |
| predicted_HR | 0.069 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.367 | 0.500 | 0.250 | Hitting_OBP | 0.438 | 0.000 | 0.062 | 0.500 |
| predicted_R | 0.517 | 1.000 | 1.000 | Hitting_R | 0.575 | 0.000 | 0.425 | 1.000 |
| predicted_RBI | 0.552 | 1.000 | 1.000 | Hitting_RBI | 0.698 | 0.000 | 0.302 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_SLG | 0.480 | 1.000 | 0.250 | Hitting_SLG | 0.570 | 0.000 | 0.430 | 1.000 |
| predicted_SO | 0.759 | 1.000 | 1.000 | Hitting_SO | 0.670 | 2.000 | 0.330 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_3B: 0.0690 -> 1.0000 (boost 0.9310, better) |
| Biggest Deboost | predicted_BB: 0.2410 -> 0.0000 (deboost -0.2410, 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_AB: 3.5170 -> 3.5691 (boost 0.0521, better) | predicted_SLG: 0.4800 -> 0.4605 (deboost -0.0195, 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_SLG: 0.4605 -> 0.4688 (boost 0.0083, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 3 | 6 | 2 | 7 | predicted_RBI: 0.5471 -> 1.0000 (boost 0.4529, better) | predicted_BB: 0.2175 -> 0.0000 (deboost -0.2175, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.314 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5243 -> 1.0000 (boost 0.4757, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4688 -> 0.2500 (deboost -0.2188, 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_3B: 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.2500 -> 0.4688 (boost 0.2188, better) | - | 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.207,
"predicted_3B": 0.069,
"predicted_AB": 3.517,
"predicted_AVG": 0.324,
"predicted_BB": 0.241,
"predicted_H": 1.138,
"predicted_HR": 0.069,
"predicted_OBP": 0.367,
"predicted_R": 0.517,
"predicted_RBI": 0.552,
"predicted_SLG": 0.48,
"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.2043,
"predicted_3B": 0.0632,
"predicted_AB": 3.5691,
"predicted_AVG": 0.3078,
"predicted_BB": 0.2142,
"predicted_H": 1.096,
"predicted_HBP": 0.153,
"predicted_HR": 0.0721,
"predicted_OBP": 0.3567,
"predicted_R": 0.5022,
"predicted_RBI": 0.524,
"predicted_SLG": 0.4605,
"predicted_SO": 0.7831
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.2043,
"delta": -0.0027,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.069,
"after": 0.0632,
"delta": -0.0058,
"percent_delta": -0.0841,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.517,
"after": 3.5691,
"delta": 0.0521,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.324,
"after": 0.3078,
"delta": -0.0162,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.2142,
"delta": -0.0268,
"percent_delta": -0.1112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.138,
"after": 1.096,
"delta": -0.042,
"percent_delta": -0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.069,
"after": 0.0721,
"delta": 0.0031,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3567,
"delta": -0.0103,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 0.5022,
"delta": -0.0148,
"percent_delta": -0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.552,
"after": 0.524,
"delta": -0.028,
"percent_delta": -0.0507,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4605,
"delta": -0.0195,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.759,
"after": 0.7831,
"delta": 0.0241,
"percent_delta": 0.0318,
"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": 3.517,
"after": 3.5691,
"delta": 0.0521,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4605,
"delta": -0.0195,
"percent_delta": -0.0406,
"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": 29
}
},
{
"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.2043,
"predicted_3B": 0.0632,
"predicted_AB": 3.5691,
"predicted_AVG": 0.3142,
"predicted_BB": 0.2175,
"predicted_H": 1.1215,
"predicted_HBP": 0.153,
"predicted_HR": 0.0736,
"predicted_OBP": 0.3536,
"predicted_R": 0.5243,
"predicted_RBI": 0.5471,
"predicted_SLG": 0.4688,
"predicted_SO": 0.771
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2043,
"after": 0.2043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0632,
"after": 0.0632,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5691,
"after": 3.5691,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3078,
"after": 0.3142,
"delta": 0.0064,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2142,
"after": 0.2175,
"delta": 0.0033,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.096,
"after": 1.1215,
"delta": 0.0255,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.153,
"after": 0.153,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0721,
"after": 0.0736,
"delta": 0.0015,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3567,
"after": 0.3536,
"delta": -0.0031,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5022,
"after": 0.5243,
"delta": 0.0221,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.524,
"after": 0.5471,
"delta": 0.0231,
"percent_delta": 0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4605,
"after": 0.4688,
"delta": 0.0083,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7831,
"after": 0.771,
"delta": -0.0121,
"percent_delta": -0.0155,
"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_SLG",
"before": 0.4605,
"after": 0.4688,
"delta": 0.0083,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.57), rates preserved: AVG=0.314 HR/AB=0.021",
"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.2043,
"after": 0.0,
"delta": -0.2043,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0632,
"after": 0.0,
"delta": -0.0632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5691,
"after": 4.0,
"delta": 0.4309,
"percent_delta": 0.1207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2175,
"after": 0.0,
"delta": -0.2175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1215,
"after": 1.0,
"delta": -0.1215,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0736,
"after": 0.0,
"delta": -0.0736,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5471,
"after": 1.0,
"delta": 0.4529,
"percent_delta": 0.8278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.771,
"after": 1.0,
"delta": 0.229,
"percent_delta": 0.297,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5471,
"after": 1.0,
"delta": 0.4529,
"percent_delta": 0.8278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2175,
"after": 0.0,
"delta": -0.2175,
"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.5243,
"after": 1.0,
"delta": 0.4757,
"percent_delta": 0.9073,
"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.5243,
"after": 1.0,
"delta": 0.4757,
"percent_delta": 0.9073,
"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.3142,
"after": 0.25,
"delta": -0.0642,
"percent_delta": -0.2043,
"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.3536,
"after": 0.25,
"delta": -0.1036,
"percent_delta": -0.293,
"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.4688,
"after": 0.25,
"delta": -0.2188,
"percent_delta": -0.4667,
"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.4688,
"after": 0.25,
"delta": -0.2188,
"percent_delta": -0.4667,
"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": 1.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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_3B",
"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": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3142,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3536,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4688,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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.3142,
"delta": 0.0642,
"percent_delta": 0.2569,
"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": 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.3536,
"delta": 0.1036,
"percent_delta": 0.4145,
"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.4688,
"delta": 0.2188,
"percent_delta": 0.8751,
"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.4688,
"delta": 0.2188,
"percent_delta": 0.8751,
"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.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.069,
"after": 1.0,
"delta": 0.931,
"percent_delta": 13.4928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.517,
"after": 4.0,
"delta": 0.483,
"percent_delta": 0.1373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.324,
"after": 0.3142,
"delta": -0.0098,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.0,
"delta": -0.241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.138,
"after": 2.0,
"delta": 0.862,
"percent_delta": 0.7575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3536,
"delta": -0.0134,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 1.0,
"delta": 0.483,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.552,
"after": 1.0,
"delta": 0.448,
"percent_delta": 0.8116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4688,
"delta": -0.0112,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"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": 12,
"boosted_metrics": 6,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.069,
"after": 1.0,
"delta": 0.931,
"percent_delta": 13.4928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.241,
"after": 0.0,
"delta": -0.241,
"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.207 | - |
| predicted_3B | 0.069 | - |
| predicted_AB | 3.517 | - |
| predicted_AVG | 0.324 | - |
| predicted_BB | 0.241 | - |
| predicted_H | 1.138 | - |
| predicted_HR | 0.069 | - |
| predicted_OBP | 0.367 | - |
| predicted_R | 0.517 | - |
| predicted_RBI | 0.552 | - |
| predicted_SLG | 0.480 | - |
| 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.204 | -0.003 |
| predicted_3B | 0.063 | -0.006 |
| predicted_AB | 3.569 | 0.052 |
| predicted_AVG | 0.308 | -0.016 |
| predicted_BB | 0.214 | -0.027 |
| predicted_H | 1.096 | -0.042 |
| predicted_HBP | 0.153 | - |
| predicted_HR | 0.072 | 0.003 |
| predicted_OBP | 0.357 | -0.010 |
| predicted_R | 0.502 | -0.015 |
| predicted_RBI | 0.524 | -0.028 |
| predicted_SLG | 0.461 | -0.019 |
| predicted_SO | 0.783 | 0.024 |
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.063 | 0.000 |
| predicted_AB | 3.569 | 0.000 |
| predicted_AVG | 0.314 | 0.006 |
| predicted_BB | 0.217 | 0.003 |
| predicted_H | 1.121 | 0.025 |
| predicted_HBP | 0.153 | 0.000 |
| predicted_HR | 0.074 | 0.002 |
| predicted_OBP | 0.354 | -0.003 |
| predicted_R | 0.524 | 0.022 |
| predicted_RBI | 0.547 | 0.023 |
| predicted_SLG | 0.469 | 0.008 |
| predicted_SO | 0.771 | -0.012 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.314 HR/AB=0.021
| 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.204 |
| predicted_3B | 0.000 | -0.063 |
| predicted_AB | 4.000 | 0.431 |
| predicted_AVG | 0.250 | -0.064 |
| predicted_BB | 0.000 | -0.217 |
| predicted_H | 1.000 | -0.121 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.250 | -0.104 |
| predicted_R | 1.000 | 0.476 |
| predicted_RBI | 1.000 | 0.453 |
| predicted_SLG | 0.250 | -0.219 |
| predicted_SO | 1.000 | 0.229 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | 0.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 | 0.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 | - | 20.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 5.000 | 0.2000 | 0.2381 | 0.2500 | 0.2000 | 0.0000 | 0.0500 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 2.000 | 1.000 | 1.000 | 5.000 | 4.000 | 0.000 | 8.000 | 0.2857 | 0.3421 | 0.4857 | 0.2857 | 0.0286 | 0.1429 | 0.0000 | 0.2286 |
| season | 0.60 | 29 | - | 102.000 | 33.000 | 6.000 | 2.000 | 2.000 | 16.000 | 15.000 | 7.000 | 22.000 | 0.3235 | 0.3894 | 0.4804 | 0.3235 | 0.0196 | 0.1569 | 0.0686 | 0.2157 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2000 |
| predicted_3B | 0.0540 |
| predicted_AB | 3.6510 |
| predicted_AVG | 0.2822 |
| predicted_BB | 0.1720 |
| predicted_H | 1.0300 |
| predicted_HBP | 0.1530 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.3404 |
| predicted_R | 0.4790 |
| predicted_RBI | 0.4800 |
| predicted_SLG | 0.4299 |
| predicted_SO | 0.8210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2070 | 0.2000 | 0.2043 | model_form_blend |
| predicted_3B | 0.0690 | 0.0540 | 0.0632 | model_form_blend |
| predicted_AB | 3.5170 | 3.6510 | 3.5691 | model_form_blend |
| predicted_AVG | 0.3240 | 0.2822 | 0.3078 | model_form_blend |
| predicted_BB | 0.2410 | 0.1720 | 0.2142 | model_form_blend |
| predicted_H | 1.1380 | 1.0300 | 1.0960 | model_form_blend |
| predicted_HBP | - | 0.1530 | 0.1530 | form_only |
| predicted_HR | 0.0690 | 0.0770 | 0.0721 | model_form_blend |
| predicted_OBP | 0.3670 | 0.3404 | 0.3567 | model_form_blend |
| predicted_R | 0.5170 | 0.4790 | 0.5022 | model_form_blend |
| predicted_RBI | 0.5520 | 0.4800 | 0.5240 | model_form_blend |
| predicted_SLG | 0.4800 | 0.4299 | 0.4605 | model_form_blend |
| predicted_SO | 0.7590 | 0.8210 | 0.7831 | 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 | 106 |
| Season rows before report date | 106 |
| Report year | 2026 |
| Profile rows used | 29 |
| 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 | 1 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.324 |
| 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 | 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 | 2B |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 669242 |
| playerID | 669242 |
| playerName | Tommy Edman |
| pos | LF |
| started | True |
| startingPosition | 2B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.402 |
| sl_xwoba | 0.378 |
| sl_xba | 0.327 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 41.0 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 21.0 |
| 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.260 | 1.000 | 0.000 | Hitting_2B | 0.260 | 0.000 | 0.740 | 1.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 4.130 | 4.000 | 4.000 | Hitting_AB | 3.814 | 4.000 | 0.186 | 0.000 |
| predicted_AVG | 0.345 | 0.500 | 0.250 | Hitting_AVG | 0.294 | 0.500 | 0.206 | 0.000 |
| predicted_BB | 0.481 | 0.000 | 0.000 | Hitting_BB | 0.545 | 0.000 | -0.545 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.430 | 2.000 | 1.000 | Hitting_H | 1.122 | 2.000 | 0.878 | 0.000 |
| predicted_HR | 0.110 | 1.000 | 0.000 | Hitting_HR | 0.147 | 0.000 | 0.853 | 1.000 |
| predicted_OBP | 0.403 | 0.500 | 0.250 | Hitting_OBP | 0.385 | 0.500 | 0.115 | 0.000 |
| predicted_R | 0.538 | 1.000 | 1.000 | Hitting_R | 0.577 | 0.000 | 0.423 | 1.000 |
| predicted_RBI | 0.490 | 3.000 | 0.000 | Hitting_RBI | 0.533 | 1.000 | 2.467 | 2.000 |
| predicted_SLG | 0.502 | 1.500 | 0.250 | Hitting_SLG | 0.483 | 0.500 | 1.017 | 1.000 |
| predicted_SO | 0.692 | 1.000 | 1.000 | Hitting_SO | 0.722 | 0.000 | 0.278 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 2 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.4900 -> 3.0000 (boost 2.5100, better) |
| Biggest Deboost | predicted_BB: 0.4810 -> 0.0000 (deboost -0.4810, 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_AVG: 0.3450 -> 0.3517 (boost 0.0067, better) | predicted_AB: 4.1300 -> 4.0255 (deboost -0.1045, 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 | 3 | 0 | 3 | 0 | predicted_OBP: 0.4091 -> 0.4223 (boost 0.0132, better) | - | 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.6652 -> 1.0000 (boost 0.3348, worse) | predicted_RBI: 0.4804 -> 0.0000 (deboost -0.4804, worse) | AB rounded to 4 (raw=4.13), rates preserved: AVG=0.351 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5387 -> 1.0000 (boost 0.4613, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5121 -> 0.2500 (deboost -0.2621, 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 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5121 (boost 0.2621, 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.26,
"predicted_3B": 0.01,
"predicted_AB": 4.13,
"predicted_AVG": 0.345,
"predicted_BB": 0.481,
"predicted_H": 1.43,
"predicted_HR": 0.11,
"predicted_OBP": 0.403,
"predicted_R": 0.538,
"predicted_RBI": 0.49,
"predicted_SLG": 0.502,
"predicted_SO": 0.692
},
"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.2799,
"predicted_3B": 0.0087,
"predicted_AB": 4.0255,
"predicted_AVG": 0.3517,
"predicted_BB": 0.4244,
"predicted_H": 1.4179,
"predicted_HBP": 0.019,
"predicted_HR": 0.1022,
"predicted_OBP": 0.4091,
"predicted_R": 0.516,
"predicted_RBI": 0.4602,
"predicted_SLG": 0.5069,
"predicted_SO": 0.6756
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.26,
"after": 0.2799,
"delta": 0.0199,
"percent_delta": 0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0255,
"delta": -0.1045,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.345,
"after": 0.3517,
"delta": 0.0067,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.481,
"after": 0.4244,
"delta": -0.0566,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 1.4179,
"delta": -0.0121,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1022,
"delta": -0.0078,
"percent_delta": -0.0709,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.403,
"after": 0.4091,
"delta": 0.0061,
"percent_delta": 0.0151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.516,
"delta": -0.022,
"percent_delta": -0.0409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4602,
"delta": -0.0298,
"percent_delta": -0.0608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.502,
"after": 0.5069,
"delta": 0.0049,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.692,
"after": 0.6756,
"delta": -0.0164,
"percent_delta": -0.0237,
"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_AVG",
"before": 0.345,
"after": 0.3517,
"delta": 0.0067,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0255,
"delta": -0.1045,
"percent_delta": -0.0253,
"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": 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.2799,
"predicted_3B": 0.0087,
"predicted_AB": 4.0255,
"predicted_AVG": 0.3604,
"predicted_BB": 0.4309,
"predicted_H": 1.4509,
"predicted_HBP": 0.019,
"predicted_HR": 0.1043,
"predicted_OBP": 0.4223,
"predicted_R": 0.5387,
"predicted_RBI": 0.4804,
"predicted_SLG": 0.5121,
"predicted_SO": 0.6652
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2799,
"after": 0.2799,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0255,
"after": 4.0255,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3517,
"after": 0.3604,
"delta": 0.0087,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4244,
"after": 0.4309,
"delta": 0.0065,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4179,
"after": 1.4509,
"delta": 0.033,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1022,
"after": 0.1043,
"delta": 0.0021,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4091,
"after": 0.4223,
"delta": 0.0132,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.516,
"after": 0.5387,
"delta": 0.0227,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4602,
"after": 0.4804,
"delta": 0.0202,
"percent_delta": 0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5069,
"after": 0.5121,
"delta": 0.0052,
"percent_delta": 0.0103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6756,
"after": 0.6652,
"delta": -0.0104,
"percent_delta": -0.0154,
"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_OBP",
"before": 0.4091,
"after": 0.4223,
"delta": 0.0132,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.13), rates preserved: AVG=0.351 HR/AB=0.025",
"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.2799,
"after": 0.0,
"delta": -0.2799,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0255,
"after": 4.0,
"delta": -0.0255,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4309,
"after": 0.0,
"delta": -0.4309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4509,
"after": 1.0,
"delta": -0.4509,
"percent_delta": -0.3108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1043,
"after": 0.0,
"delta": -0.1043,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4804,
"after": 0.0,
"delta": -0.4804,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6652,
"after": 1.0,
"delta": 0.3348,
"percent_delta": 0.5033,
"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.6652,
"after": 1.0,
"delta": 0.3348,
"percent_delta": 0.5033,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4804,
"after": 0.0,
"delta": -0.4804,
"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.5387,
"after": 1.0,
"delta": 0.4613,
"percent_delta": 0.8563,
"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.5387,
"after": 1.0,
"delta": 0.4613,
"percent_delta": 0.8563,
"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.3604,
"after": 0.25,
"delta": -0.1104,
"percent_delta": -0.3063,
"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.4223,
"after": 0.25,
"delta": -0.1723,
"percent_delta": -0.408,
"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.5121,
"after": 0.25,
"delta": -0.2621,
"percent_delta": -0.5118,
"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.5121,
"after": 0.25,
"delta": -0.2621,
"percent_delta": -0.5118,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.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": 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": 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": 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": 0.0,
"after": 3.0,
"delta": 3.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": 3.0,
"delta": 3.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": 4.0,
"predicted_AVG": 0.3604,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.4223,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5121,
"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.25,
"after": 0.3604,
"delta": 0.1104,
"percent_delta": 0.4417,
"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": 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": 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.4223,
"delta": 0.1723,
"percent_delta": 0.6891,
"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": 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.25,
"after": 0.5121,
"delta": 0.2621,
"percent_delta": 1.0482,
"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.5121,
"delta": 0.2621,
"percent_delta": 1.0482,
"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.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0,
"delta": -0.13,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.345,
"after": 0.3604,
"delta": 0.0154,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 2.0,
"delta": 0.57,
"percent_delta": 0.3986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 1.0,
"delta": 0.89,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.403,
"after": 0.4223,
"delta": 0.0193,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 1.0,
"delta": 0.462,
"percent_delta": 0.8587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 3.0,
"delta": 2.51,
"percent_delta": 5.1224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.502,
"after": 0.5121,
"delta": 0.0101,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.49,
"after": 3.0,
"delta": 2.51,
"percent_delta": 5.1224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"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.260 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.130 | - |
| predicted_AVG | 0.345 | - |
| predicted_BB | 0.481 | - |
| predicted_H | 1.430 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.403 | - |
| predicted_R | 0.538 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.502 | - |
| predicted_SO | 0.692 | - |
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.280 | 0.020 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 4.026 | -0.104 |
| predicted_AVG | 0.352 | 0.007 |
| predicted_BB | 0.424 | -0.057 |
| predicted_H | 1.418 | -0.012 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.102 | -0.008 |
| predicted_OBP | 0.409 | 0.006 |
| predicted_R | 0.516 | -0.022 |
| predicted_RBI | 0.460 | -0.030 |
| predicted_SLG | 0.507 | 0.005 |
| predicted_SO | 0.676 | -0.016 |
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.280 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.026 | 0.000 |
| predicted_AVG | 0.360 | 0.009 |
| predicted_BB | 0.431 | 0.007 |
| predicted_H | 1.451 | 0.033 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.104 | 0.002 |
| predicted_OBP | 0.422 | 0.013 |
| predicted_R | 0.539 | 0.023 |
| predicted_RBI | 0.480 | 0.020 |
| predicted_SLG | 0.512 | 0.005 |
| predicted_SO | 0.665 | -0.010 |
AB rounded to 4 (raw=4.13), rates preserved: AVG=0.351 HR/AB=0.025
| 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.280 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | -0.026 |
| predicted_AVG | 0.250 | -0.110 |
| predicted_BB | 0.000 | -0.431 |
| predicted_H | 1.000 | -0.451 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.250 | -0.172 |
| predicted_R | 1.000 | 0.461 |
| predicted_RBI | 0.000 | -0.480 |
| predicted_SLG | 0.250 | -0.262 |
| predicted_SO | 1.000 | 0.335 |
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 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 3.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 | - | 21.000 | 11.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 2.000 | 0.5238 | 0.5238 | 0.6190 | 0.5238 | 0.0000 | 0.0952 | 0.0000 | 0.0952 |
| last_10 | 0.20 | 10 | - | 39.000 | 16.000 | 4.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 7.000 | 0.4103 | 0.4524 | 0.5128 | 0.4103 | 0.0000 | 0.0513 | 0.0769 | 0.1795 |
| season | 0.60 | 104 | - | 394.000 | 119.000 | 27.000 | 1.000 | 15.000 | 51.000 | 56.000 | 50.000 | 72.000 | 0.3020 | 0.3822 | 0.4898 | 0.3020 | 0.0381 | 0.1294 | 0.1269 | 0.1827 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3060 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.8880 |
| predicted_AVG | 0.3605 |
| predicted_BB | 0.3500 |
| predicted_H | 1.4020 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.4171 |
| predicted_R | 0.4870 |
| predicted_RBI | 0.4210 |
| predicted_SLG | 0.5133 |
| predicted_SO | 0.6540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2600 | 0.3060 | 0.2799 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 4.1300 | 3.8880 | 4.0255 | model_form_blend |
| predicted_AVG | 0.3450 | 0.3605 | 0.3517 | model_form_blend |
| predicted_BB | 0.4810 | 0.3500 | 0.4244 | model_form_blend |
| predicted_H | 1.4300 | 1.4020 | 1.4179 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1100 | 0.0920 | 0.1022 | model_form_blend |
| predicted_OBP | 0.4030 | 0.4171 | 0.4091 | model_form_blend |
| predicted_R | 0.5380 | 0.4870 | 0.5160 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4210 | 0.4602 | model_form_blend |
| predicted_SLG | 0.5020 | 0.5133 | 0.5069 | model_form_blend |
| predicted_SO | 0.6920 | 0.6540 | 0.6756 | 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 | 435 |
| Season rows before report date | 435 |
| 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 | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.302 |
| 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 | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| 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 | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.376 |
| sl_xwoba | 0.382 |
| sl_xba | 0.298 |
| sl_xslg | 0.498 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 50.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.155 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 3.580 | 4.000 | 4.000 | Hitting_AB | 3.548 | 4.000 | 0.452 | 0.000 |
| predicted_AVG | 0.234 | 0.000 | 0.250 | Hitting_AVG | 0.267 | 0.250 | -0.267 | -0.250 |
| predicted_BB | 0.454 | 0.000 | 1.000 | Hitting_BB | 0.499 | 0.000 | -0.499 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.947 | 1.000 | -0.947 | -1.000 |
| predicted_HR | 0.260 | 0.000 | 0.000 | Hitting_HR | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_OBP | 0.308 | 0.000 | 0.400 | Hitting_OBP | 0.363 | 0.250 | -0.363 | -0.250 |
| predicted_R | 0.598 | 0.000 | 1.000 | Hitting_R | 0.687 | 0.000 | -0.687 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.579 | 0.000 | -0.579 | 0.000 |
| predicted_SLG | 0.455 | 0.000 | 0.250 | Hitting_SLG | 0.526 | 0.250 | -0.526 | -0.250 |
| predicted_SO | 0.918 | 1.000 | 1.000 | Hitting_SO | 0.953 | 1.000 | 0.047 | 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_AB: 3.5800 -> 4.0000 (boost 0.4200, better) |
| 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4550 -> 0.4734 (boost 0.0184, better) | predicted_AVG: 0.2340 -> 0.2282 (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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4734 -> 0.5102 (boost 0.0368, better) | - | 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 | 4 | 2 | predicted_BB: 0.4566 -> 1.0000 (boost 0.5434, better) | predicted_HR: 0.2733 -> 0.0000 (deboost -0.2733, worse) | AB rounded to 4 (raw=3.58), rates preserved: AVG=0.231 HR/AB=0.076 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5912 -> 1.0000 (boost 0.4088, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3214 -> 0.4000 (boost 0.0786, better) | predicted_SLG: 0.5102 -> 0.2500 (deboost -0.2602, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | 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.5102 (boost 0.2602, better) | predicted_OBP: 0.4000 -> 0.3214 (deboost -0.0786, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571970",
"player_name": "Max Muncy",
"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.155,
"predicted_3B": 0.01,
"predicted_AB": 3.58,
"predicted_AVG": 0.234,
"predicted_BB": 0.454,
"predicted_H": 0.84,
"predicted_HR": 0.26,
"predicted_OBP": 0.308,
"predicted_R": 0.598,
"predicted_RBI": 0.57,
"predicted_SLG": 0.455,
"predicted_SO": 0.918
},
"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.1409,
"predicted_3B": 0.0087,
"predicted_AB": 3.5415,
"predicted_AVG": 0.2282,
"predicted_BB": 0.4497,
"predicted_H": 0.8096,
"predicted_HBP": 0.02,
"predicted_HR": 0.2677,
"predicted_OBP": 0.3095,
"predicted_R": 0.5663,
"predicted_RBI": 0.5961,
"predicted_SLG": 0.4734,
"predicted_SO": 0.9668
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1409,
"delta": -0.0141,
"percent_delta": -0.091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.58,
"after": 3.5415,
"delta": -0.0385,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2282,
"delta": -0.0058,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.454,
"after": 0.4497,
"delta": -0.0043,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8096,
"delta": -0.0304,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.2677,
"delta": 0.0077,
"percent_delta": 0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3095,
"delta": 0.0015,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.598,
"after": 0.5663,
"delta": -0.0317,
"percent_delta": -0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5961,
"delta": 0.0261,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4734,
"delta": 0.0184,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.918,
"after": 0.9668,
"delta": 0.0488,
"percent_delta": 0.0532,
"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_SLG",
"before": 0.455,
"after": 0.4734,
"delta": 0.0184,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2282,
"delta": -0.0058,
"percent_delta": -0.0248,
"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": 97
}
},
{
"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.1409,
"predicted_3B": 0.0087,
"predicted_AB": 3.5415,
"predicted_AVG": 0.2339,
"predicted_BB": 0.4566,
"predicted_H": 0.8285,
"predicted_HBP": 0.02,
"predicted_HR": 0.2733,
"predicted_OBP": 0.3214,
"predicted_R": 0.5912,
"predicted_RBI": 0.6223,
"predicted_SLG": 0.5102,
"predicted_SO": 0.9519
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1409,
"after": 0.1409,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5415,
"after": 3.5415,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2282,
"after": 0.2339,
"delta": 0.0057,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4497,
"after": 0.4566,
"delta": 0.0069,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8096,
"after": 0.8285,
"delta": 0.0189,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2677,
"after": 0.2733,
"delta": 0.0056,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3095,
"after": 0.3214,
"delta": 0.0119,
"percent_delta": 0.0384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5663,
"after": 0.5912,
"delta": 0.0249,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5961,
"after": 0.6223,
"delta": 0.0262,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4734,
"after": 0.5102,
"delta": 0.0368,
"percent_delta": 0.0777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9668,
"after": 0.9519,
"delta": -0.0149,
"percent_delta": -0.0154,
"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.4734,
"after": 0.5102,
"delta": 0.0368,
"percent_delta": 0.0777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.58), rates preserved: AVG=0.231 HR/AB=0.076",
"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.1409,
"after": 0.0,
"delta": -0.1409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5415,
"after": 4.0,
"delta": 0.4585,
"percent_delta": 0.1295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4566,
"after": 1.0,
"delta": 0.5434,
"percent_delta": 1.1901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8285,
"after": 1.0,
"delta": 0.1715,
"percent_delta": 0.207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2733,
"after": 0.0,
"delta": -0.2733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6223,
"after": 1.0,
"delta": 0.3777,
"percent_delta": 0.6069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9519,
"after": 1.0,
"delta": 0.0481,
"percent_delta": 0.0505,
"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.4566,
"after": 1.0,
"delta": 0.5434,
"percent_delta": 1.1901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2733,
"after": 0.0,
"delta": -0.2733,
"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.5912,
"after": 1.0,
"delta": 0.4088,
"percent_delta": 0.6915,
"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.5912,
"after": 1.0,
"delta": 0.4088,
"percent_delta": 0.6915,
"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.2339,
"after": 0.25,
"delta": 0.0161,
"percent_delta": 0.0688,
"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.3214,
"after": 0.4,
"delta": 0.0786,
"percent_delta": 0.2446,
"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.5102,
"after": 0.25,
"delta": -0.2602,
"percent_delta": -0.51,
"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.3214,
"after": 0.4,
"delta": 0.0786,
"percent_delta": 0.2446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5102,
"after": 0.25,
"delta": -0.2602,
"percent_delta": -0.51,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"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": 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.2339,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3214,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5102,
"predicted_SO": 1.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.2339,
"delta": -0.0161,
"percent_delta": -0.0643,
"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.3214,
"delta": -0.0786,
"percent_delta": -0.1964,
"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.5102,
"delta": 0.2602,
"percent_delta": 1.0406,
"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.5102,
"delta": 0.2602,
"percent_delta": 1.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3214,
"delta": -0.0786,
"percent_delta": -0.1964,
"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.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.58,
"after": 4.0,
"delta": 0.42,
"percent_delta": 0.1173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2339,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.454,
"after": 0.0,
"delta": -0.454,
"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.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3214,
"delta": 0.0134,
"percent_delta": 0.0435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.598,
"after": 0.0,
"delta": -0.598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.5102,
"delta": 0.0552,
"percent_delta": 0.1213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.918,
"after": 1.0,
"delta": 0.082,
"percent_delta": 0.0893,
"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_AB",
"before": 3.58,
"after": 4.0,
"delta": 0.42,
"percent_delta": 0.1173,
"direction": "boost",
"projection_effect": "better",
"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.155 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.580 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.454 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.598 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.455 | - |
| predicted_SO | 0.918 | - |
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.141 | -0.014 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.542 | -0.038 |
| predicted_AVG | 0.228 | -0.006 |
| predicted_BB | 0.450 | -0.004 |
| predicted_H | 0.810 | -0.030 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.268 | 0.008 |
| predicted_OBP | 0.309 | 0.002 |
| predicted_R | 0.566 | -0.032 |
| predicted_RBI | 0.596 | 0.026 |
| predicted_SLG | 0.473 | 0.018 |
| predicted_SO | 0.967 | 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.141 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.542 | 0.000 |
| predicted_AVG | 0.234 | 0.006 |
| predicted_BB | 0.457 | 0.007 |
| predicted_H | 0.829 | 0.019 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.273 | 0.006 |
| predicted_OBP | 0.321 | 0.012 |
| predicted_R | 0.591 | 0.025 |
| predicted_RBI | 0.622 | 0.026 |
| predicted_SLG | 0.510 | 0.037 |
| predicted_SO | 0.952 | -0.015 |
AB rounded to 4 (raw=3.58), rates preserved: AVG=0.231 HR/AB=0.076
| 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.141 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.458 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 1.000 | 0.543 |
| predicted_H | 1.000 | 0.171 |
| predicted_HR | 0.000 | -0.273 |
| predicted_OBP | 0.400 | 0.079 |
| predicted_R | 1.000 | 0.409 |
| predicted_RBI | 1.000 | 0.378 |
| predicted_SLG | 0.250 | -0.260 |
| predicted_SO | 1.000 | 0.048 |
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 | -1.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 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 2.000 | 7.000 | 0.1500 | 0.2273 | 0.4500 | 0.1500 | 0.1000 | 0.2000 | 0.1000 | 0.3500 |
| last_10 | 0.20 | 10 | - | 33.000 | 6.000 | 1.000 | 0.000 | 4.000 | 9.000 | 4.000 | 5.000 | 11.000 | 0.1818 | 0.2895 | 0.5758 | 0.1818 | 0.1212 | 0.2727 | 0.1515 | 0.3333 |
| season | 0.60 | 97 | - | 324.000 | 82.000 | 15.000 | 1.000 | 21.000 | 49.000 | 58.000 | 44.000 | 89.000 | 0.2531 | 0.3477 | 0.5000 | 0.2531 | 0.0648 | 0.1512 | 0.1358 | 0.2747 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.4900 |
| predicted_AVG | 0.2205 |
| predicted_BB | 0.4440 |
| predicted_H | 0.7690 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.2780 |
| predicted_OBP | 0.3115 |
| predicted_R | 0.5240 |
| predicted_RBI | 0.6310 |
| predicted_SLG | 0.4980 |
| predicted_SO | 1.0320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.1220 | 0.1409 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 3.5800 | 3.4900 | 3.5415 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2205 | 0.2282 | model_form_blend |
| predicted_BB | 0.4540 | 0.4440 | 0.4497 | model_form_blend |
| predicted_H | 0.8400 | 0.7690 | 0.8096 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.2600 | 0.2780 | 0.2677 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3115 | 0.3095 | model_form_blend |
| predicted_R | 0.5980 | 0.5240 | 0.5663 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6310 | 0.5961 | model_form_blend |
| predicted_SLG | 0.4550 | 0.4980 | 0.4734 | model_form_blend |
| predicted_SO | 0.9180 | 1.0320 | 0.9668 | 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 | 361 |
| Season rows before report date | 361 |
| Report year | 2026 |
| Profile rows used | 97 |
| 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.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 | 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 | 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 | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 571970 |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.37 |
| sl_xwoba | 0.36 |
| sl_xba | 0.248 |
| sl_xslg | 0.489 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 14.0 |
| sl_hard_hit_percent | 44.1 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 44.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.200 | 0.000 | 0.000 | Hitting_2B | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 5.300 | 3.000 | 5.000 | Hitting_AB | 3.971 | 4.000 | -0.971 | -1.000 |
| predicted_AVG | 0.303 | 0.000 | 0.200 | Hitting_AVG | 0.270 | 0.750 | -0.270 | -0.750 |
| predicted_BB | 0.362 | 1.000 | 0.000 | Hitting_BB | 0.369 | 0.000 | 0.631 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 1.600 | 0.000 | 1.000 | Hitting_H | 1.070 | 3.000 | -1.070 | -3.000 |
| predicted_HR | 0.300 | 0.000 | 0.000 | Hitting_HR | 0.179 | 1.000 | -0.179 | -1.000 |
| predicted_OBP | 0.362 | 0.250 | 0.200 | Hitting_OBP | 0.336 | 0.750 | -0.086 | -0.500 |
| predicted_R | 0.600 | 0.000 | 1.000 | Hitting_R | 0.667 | 1.000 | -0.667 | -1.000 |
| predicted_RBI | 0.780 | 0.000 | 1.000 | Hitting_RBI | 0.692 | 2.000 | -0.692 | -2.000 |
| predicted_SLG | 0.524 | 0.000 | 0.200 | Hitting_SLG | 0.466 | 1.500 | -0.466 | -1.500 |
| predicted_SO | 0.867 | 1.000 | 1.000 | Hitting_SO | 0.871 | 0.000 | 0.129 | 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_BB: 0.3620 -> 1.0000 (boost 0.6380, better) |
| Biggest Deboost | predicted_AB: 5.3000 -> 3.0000 (deboost -2.3000, 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 | 7 | 0 | 7 | 0 | 7 | - | predicted_AB: 5.3000 -> 4.7134 (deboost -0.5866, 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_SLG: 0.4949 -> 0.5051 (boost 0.0102, 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_AB: 4.7134 -> 5.0000 (boost 0.2866, better) | predicted_H: 1.3968 -> 1.0000 (deboost -0.3968, worse) | AB rounded to 5 (raw=5.30), rates preserved: AVG=0.264 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6237 -> 1.0000 (boost 0.3763, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5051 -> 0.2000 (deboost -0.3051, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | 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.5051 (boost 0.3051, 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.2,
"predicted_3B": 0.019,
"predicted_AB": 5.3,
"predicted_AVG": 0.303,
"predicted_BB": 0.362,
"predicted_H": 1.6,
"predicted_HR": 0.3,
"predicted_OBP": 0.362,
"predicted_R": 0.6,
"predicted_RBI": 0.78,
"predicted_SLG": 0.524,
"predicted_SO": 0.867
},
"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.168,
"predicted_3B": 0.0397,
"predicted_AB": 4.7134,
"predicted_AVG": 0.2878,
"predicted_BB": 0.3814,
"predicted_H": 1.365,
"predicted_HBP": 0.029,
"predicted_HR": 0.2404,
"predicted_OBP": 0.3518,
"predicted_R": 0.5974,
"predicted_RBI": 0.7161,
"predicted_SLG": 0.4949,
"predicted_SO": 0.8795
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.168,
"delta": -0.032,
"percent_delta": -0.16,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0397,
"delta": 0.0207,
"percent_delta": 1.0895,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3,
"after": 4.7134,
"delta": -0.5866,
"percent_delta": -0.1107,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.303,
"after": 0.2878,
"delta": -0.0152,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.362,
"after": 0.3814,
"delta": 0.0194,
"percent_delta": 0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6,
"after": 1.365,
"delta": -0.235,
"percent_delta": -0.1469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3,
"after": 0.2404,
"delta": -0.0596,
"percent_delta": -0.1987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3518,
"delta": -0.0102,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 0.5974,
"delta": -0.0026,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.7161,
"delta": -0.0639,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.524,
"after": 0.4949,
"delta": -0.0291,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.867,
"after": 0.8795,
"delta": 0.0125,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.3,
"after": 4.7134,
"delta": -0.5866,
"percent_delta": -0.1107,
"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": 105
}
},
{
"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.168,
"predicted_3B": 0.0397,
"predicted_AB": 4.7134,
"predicted_AVG": 0.2963,
"predicted_BB": 0.3873,
"predicted_H": 1.3968,
"predicted_HBP": 0.029,
"predicted_HR": 0.2454,
"predicted_OBP": 0.3498,
"predicted_R": 0.6237,
"predicted_RBI": 0.7476,
"predicted_SLG": 0.5051,
"predicted_SO": 0.866
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.168,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0397,
"after": 0.0397,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7134,
"after": 4.7134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2878,
"after": 0.2963,
"delta": 0.0085,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3814,
"after": 0.3873,
"delta": 0.0059,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.365,
"after": 1.3968,
"delta": 0.0318,
"percent_delta": 0.0233,
"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.2404,
"after": 0.2454,
"delta": 0.005,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3518,
"after": 0.3498,
"delta": -0.002,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5974,
"after": 0.6237,
"delta": 0.0263,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7161,
"after": 0.7476,
"delta": 0.0315,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4949,
"after": 0.5051,
"delta": 0.0102,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8795,
"after": 0.866,
"delta": -0.0135,
"percent_delta": -0.0153,
"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_SLG",
"before": 0.4949,
"after": 0.5051,
"delta": 0.0102,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.30), rates preserved: AVG=0.264 HR/AB=0.046",
"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.168,
"after": 0.0,
"delta": -0.168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0397,
"after": 0.0,
"delta": -0.0397,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7134,
"after": 5.0,
"delta": 0.2866,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3873,
"after": 0.0,
"delta": -0.3873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3968,
"after": 1.0,
"delta": -0.3968,
"percent_delta": -0.2841,
"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.2454,
"after": 0.0,
"delta": -0.2454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7476,
"after": 1.0,
"delta": 0.2524,
"percent_delta": 0.3376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 1.0,
"delta": 0.134,
"percent_delta": 0.1547,
"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.7134,
"after": 5.0,
"delta": 0.2866,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3968,
"after": 1.0,
"delta": -0.3968,
"percent_delta": -0.2841,
"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.6237,
"after": 1.0,
"delta": 0.3763,
"percent_delta": 0.6033,
"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.6237,
"after": 1.0,
"delta": 0.3763,
"percent_delta": 0.6033,
"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.2963,
"after": 0.2,
"delta": -0.0963,
"percent_delta": -0.325,
"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.3498,
"after": 0.2,
"delta": -0.1498,
"percent_delta": -0.4282,
"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.5051,
"after": 0.2,
"delta": -0.3051,
"percent_delta": -0.604,
"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.5051,
"after": 0.2,
"delta": -0.3051,
"percent_delta": -0.604,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"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.2963,
"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.3498,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5051,
"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.2963,
"delta": 0.0963,
"percent_delta": 0.4817,
"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.3498,
"delta": 0.1498,
"percent_delta": 0.7489,
"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.5051,
"delta": 0.3051,
"percent_delta": 1.5253,
"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.5051,
"delta": 0.3051,
"percent_delta": 1.5253,
"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.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3,
"after": 3.0,
"delta": -2.3,
"percent_delta": -0.434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.303,
"after": 0.2963,
"delta": -0.0067,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.362,
"after": 1.0,
"delta": 0.638,
"percent_delta": 1.7624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6,
"after": 0.0,
"delta": -1.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3498,
"delta": -0.0122,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.524,
"after": 0.5051,
"delta": -0.0189,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.867,
"after": 1.0,
"delta": 0.133,
"percent_delta": 0.1534,
"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_BB",
"before": 0.362,
"after": 1.0,
"delta": 0.638,
"percent_delta": 1.7624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.3,
"after": 3.0,
"delta": -2.3,
"percent_delta": -0.434,
"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.019 | - |
| predicted_AB | 5.300 | - |
| predicted_AVG | 0.303 | - |
| predicted_BB | 0.362 | - |
| predicted_H | 1.600 | - |
| predicted_HR | 0.300 | - |
| predicted_OBP | 0.362 | - |
| predicted_R | 0.600 | - |
| predicted_RBI | 0.780 | - |
| predicted_SLG | 0.524 | - |
| predicted_SO | 0.867 | - |
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.168 | -0.032 |
| predicted_3B | 0.040 | 0.021 |
| predicted_AB | 4.713 | -0.587 |
| predicted_AVG | 0.288 | -0.015 |
| predicted_BB | 0.381 | 0.019 |
| predicted_H | 1.365 | -0.235 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.240 | -0.060 |
| predicted_OBP | 0.352 | -0.010 |
| predicted_R | 0.597 | -0.003 |
| predicted_RBI | 0.716 | -0.064 |
| predicted_SLG | 0.495 | -0.029 |
| predicted_SO | 0.879 | 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.168 | 0.000 |
| predicted_3B | 0.040 | 0.000 |
| predicted_AB | 4.713 | 0.000 |
| predicted_AVG | 0.296 | 0.009 |
| predicted_BB | 0.387 | 0.006 |
| predicted_H | 1.397 | 0.032 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.245 | 0.005 |
| predicted_OBP | 0.350 | -0.002 |
| predicted_R | 0.624 | 0.026 |
| predicted_RBI | 0.748 | 0.032 |
| predicted_SLG | 0.505 | 0.010 |
| predicted_SO | 0.866 | -0.013 |
AB rounded to 5 (raw=5.30), rates preserved: AVG=0.264 HR/AB=0.046
| 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.168 |
| predicted_3B | 0.000 | -0.040 |
| predicted_AB | 5.000 | 0.287 |
| predicted_AVG | 0.200 | -0.096 |
| predicted_BB | 0.000 | -0.387 |
| predicted_H | 1.000 | -0.397 |
| predicted_HR | 0.000 | -0.245 |
| predicted_OBP | 0.200 | -0.150 |
| predicted_R | 1.000 | 0.376 |
| predicted_RBI | 1.000 | 0.252 |
| predicted_SLG | 0.200 | -0.305 |
| predicted_SO | 1.000 | 0.134 |
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 | -1.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 | 1.000 | 1.000 | 4.000 | 3.000 | 3.000 | 4.000 | 0.3000 | 0.3913 | 0.5500 | 0.3000 | 0.0500 | 0.2000 | 0.1500 | 0.2000 |
| last_10 | 0.20 | 10 | - | 41.000 | 10.000 | 0.000 | 1.000 | 1.000 | 4.000 | 6.000 | 4.000 | 11.000 | 0.2439 | 0.3111 | 0.3659 | 0.2439 | 0.0244 | 0.0976 | 0.0976 | 0.2683 |
| season | 0.60 | 105 | - | 408.000 | 109.000 | 21.000 | 2.000 | 18.000 | 70.000 | 63.000 | 38.000 | 91.000 | 0.2672 | 0.3333 | 0.4608 | 0.2672 | 0.0441 | 0.1716 | 0.0931 | 0.2230 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0670 |
| predicted_AB | 3.9420 |
| predicted_AVG | 0.2678 |
| predicted_BB | 0.4070 |
| predicted_H | 1.0560 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.1620 |
| predicted_OBP | 0.3383 |
| predicted_R | 0.5940 |
| predicted_RBI | 0.6320 |
| predicted_SLG | 0.4566 |
| predicted_SO | 0.8960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1260 | 0.1680 | model_form_blend |
| predicted_3B | 0.0190 | 0.0670 | 0.0397 | model_form_blend |
| predicted_AB | 5.3000 | 3.9420 | 4.7134 | model_form_blend |
| predicted_AVG | 0.3030 | 0.2678 | 0.2878 | model_form_blend |
| predicted_BB | 0.3620 | 0.4070 | 0.3814 | model_form_blend |
| predicted_H | 1.6000 | 1.0560 | 1.3650 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.3000 | 0.1620 | 0.2404 | model_form_blend |
| predicted_OBP | 0.3620 | 0.3383 | 0.3518 | model_form_blend |
| predicted_R | 0.6000 | 0.5940 | 0.5974 | model_form_blend |
| predicted_RBI | 0.7800 | 0.6320 | 0.7161 | model_form_blend |
| predicted_SLG | 0.5240 | 0.4566 | 0.4949 | model_form_blend |
| predicted_SO | 0.8670 | 0.8960 | 0.8795 | 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 | 442 |
| Season rows before report date | 442 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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.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.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| 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 | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.339 |
| sl_xwoba | 0.337 |
| sl_xba | 0.266 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 44.1 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 48.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.155 | 0.000 | 0.000 | Hitting_2B | 0.129 | 1.000 | -0.129 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.740 | 3.000 | 4.000 | Hitting_AB | 3.680 | 4.000 | -0.680 | -1.000 |
| predicted_AVG | 0.217 | 0.333 | 0.250 | Hitting_AVG | 0.245 | 0.250 | 0.089 | 0.083 |
| predicted_BB | 0.352 | 0.000 | 0.000 | Hitting_BB | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 1.000 | 1.000 | Hitting_H | 0.901 | 1.000 | 0.099 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_OBP | 0.290 | 0.333 | 0.250 | Hitting_OBP | 0.317 | 0.250 | 0.016 | 0.083 |
| predicted_R | 0.577 | 0.000 | 1.000 | Hitting_R | 0.614 | 0.000 | -0.614 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.581 | 0.000 | -0.581 | 0.000 |
| predicted_SLG | 0.392 | 0.333 | 0.250 | Hitting_SLG | 0.379 | 0.500 | -0.045 | -0.167 |
| predicted_SO | 1.099 | 0.000 | 1.000 | Hitting_SO | 1.136 | 1.000 | -1.136 | -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: 0.8100 -> 1.0000 (boost 0.1900, better) |
| Biggest Deboost | predicted_SO: 1.0990 -> 0.0000 (deboost -1.0990, 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 | 3 | 0 | 3 | 0 | predicted_H: 0.8100 -> 0.8691 (boost 0.0591, 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 | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2352 -> 0.2402 (boost 0.0050, better) | predicted_SLG: 0.3927 -> 0.3680 (deboost -0.0247, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.7024 -> 4.0000 (boost 0.2976, better) | predicted_BB: 0.3385 -> 0.0000 (deboost -0.3385, worse) | AB rounded to 4 (raw=3.74), rates preserved: AVG=0.238 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5799 -> 1.0000 (boost 0.4201, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2402 -> 0.2500 (boost 0.0098, better) | predicted_SLG: 0.3680 -> 0.2500 (deboost -0.1180, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.0000 -> 3.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.3680 (boost 0.1180, better) | predicted_AVG: 0.2500 -> 0.2402 (deboost -0.0098, 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.155,
"predicted_3B": 0.0,
"predicted_AB": 3.74,
"predicted_AVG": 0.217,
"predicted_BB": 0.352,
"predicted_H": 0.81,
"predicted_HR": 0.1,
"predicted_OBP": 0.29,
"predicted_R": 0.577,
"predicted_RBI": 0.31,
"predicted_SLG": 0.392,
"predicted_SO": 1.099
},
"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.1997,
"predicted_3B": 0.0004,
"predicted_AB": 3.7024,
"predicted_AVG": 0.2352,
"predicted_BB": 0.3334,
"predicted_H": 0.8691,
"predicted_HBP": 0.019,
"predicted_HR": 0.089,
"predicted_OBP": 0.3025,
"predicted_R": 0.5555,
"predicted_RBI": 0.3159,
"predicted_SLG": 0.3927,
"predicted_SO": 1.0678
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1997,
"delta": 0.0447,
"percent_delta": 0.2884,
"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.74,
"after": 3.7024,
"delta": -0.0376,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2352,
"delta": 0.0182,
"percent_delta": 0.0839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.3334,
"delta": -0.0186,
"percent_delta": -0.0528,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.8691,
"delta": 0.0591,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.089,
"delta": -0.011,
"percent_delta": -0.11,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.3025,
"delta": 0.0125,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.577,
"after": 0.5555,
"delta": -0.0215,
"percent_delta": -0.0373,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3159,
"delta": 0.0059,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3927,
"delta": 0.0007,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.099,
"after": 1.0678,
"delta": -0.0312,
"percent_delta": -0.0284,
"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_H",
"before": 0.81,
"after": 0.8691,
"delta": 0.0591,
"percent_delta": 0.073,
"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": 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.1997,
"predicted_3B": 0.0004,
"predicted_AB": 3.7024,
"predicted_AVG": 0.2402,
"predicted_BB": 0.3385,
"predicted_H": 0.8894,
"predicted_HBP": 0.019,
"predicted_HR": 0.0909,
"predicted_OBP": 0.3039,
"predicted_R": 0.5799,
"predicted_RBI": 0.3298,
"predicted_SLG": 0.368,
"predicted_SO": 1.0514
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1997,
"after": 0.1997,
"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.7024,
"after": 3.7024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2352,
"after": 0.2402,
"delta": 0.005,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3334,
"after": 0.3385,
"delta": 0.0051,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8691,
"after": 0.8894,
"delta": 0.0203,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.089,
"after": 0.0909,
"delta": 0.0019,
"percent_delta": 0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3025,
"after": 0.3039,
"delta": 0.0014,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5555,
"after": 0.5799,
"delta": 0.0244,
"percent_delta": 0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3159,
"after": 0.3298,
"delta": 0.0139,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3927,
"after": 0.368,
"delta": -0.0247,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0678,
"after": 1.0514,
"delta": -0.0164,
"percent_delta": -0.0154,
"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_AVG",
"before": 0.2352,
"after": 0.2402,
"delta": 0.005,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3927,
"after": 0.368,
"delta": -0.0247,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.74), rates preserved: AVG=0.238 HR/AB=0.024",
"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.1997,
"after": 0.0,
"delta": -0.1997,
"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.7024,
"after": 4.0,
"delta": 0.2976,
"percent_delta": 0.0804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3385,
"after": 0.0,
"delta": -0.3385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8894,
"after": 1.0,
"delta": 0.1106,
"percent_delta": 0.1244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"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.3298,
"after": 0.0,
"delta": -0.3298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0514,
"after": 1.0,
"delta": -0.0514,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7024,
"after": 4.0,
"delta": 0.2976,
"percent_delta": 0.0804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3385,
"after": 0.0,
"delta": -0.3385,
"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.5799,
"after": 1.0,
"delta": 0.4201,
"percent_delta": 0.7244,
"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.5799,
"after": 1.0,
"delta": 0.4201,
"percent_delta": 0.7244,
"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.2402,
"after": 0.25,
"delta": 0.0098,
"percent_delta": 0.0408,
"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.25,
"delta": -0.0539,
"percent_delta": -0.1774,
"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.368,
"after": 0.25,
"delta": -0.118,
"percent_delta": -0.3207,
"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.2402,
"after": 0.25,
"delta": 0.0098,
"percent_delta": 0.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.25,
"delta": -0.118,
"percent_delta": -0.3207,
"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": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2402,
"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.3039,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.368,
"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.25,
"after": 0.2402,
"delta": -0.0098,
"percent_delta": -0.0392,
"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.3039,
"delta": 0.0539,
"percent_delta": 0.2154,
"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.368,
"delta": 0.118,
"percent_delta": 0.472,
"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.368,
"delta": 0.118,
"percent_delta": 0.472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2402,
"delta": -0.0098,
"percent_delta": -0.0392,
"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.155,
"after": 0.0,
"delta": -0.155,
"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.74,
"after": 3.0,
"delta": -0.74,
"percent_delta": -0.1979,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2402,
"delta": 0.0232,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.0,
"delta": -0.352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"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.29,
"after": 0.3039,
"delta": 0.0139,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.577,
"after": 0.0,
"delta": -0.577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.368,
"delta": -0.024,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.099,
"after": 0.0,
"delta": -1.099,
"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": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.099,
"after": 0.0,
"delta": -1.099,
"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.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.740 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.352 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.577 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.392 | - |
| predicted_SO | 1.099 | - |
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.200 | 0.045 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.702 | -0.038 |
| predicted_AVG | 0.235 | 0.018 |
| predicted_BB | 0.333 | -0.019 |
| predicted_H | 0.869 | 0.059 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.089 | -0.011 |
| predicted_OBP | 0.302 | 0.013 |
| predicted_R | 0.555 | -0.021 |
| predicted_RBI | 0.316 | 0.006 |
| predicted_SLG | 0.393 | 0.001 |
| predicted_SO | 1.068 | -0.031 |
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.200 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.702 | 0.000 |
| predicted_AVG | 0.240 | 0.005 |
| predicted_BB | 0.339 | 0.005 |
| predicted_H | 0.889 | 0.020 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.091 | 0.002 |
| predicted_OBP | 0.304 | 0.001 |
| predicted_R | 0.580 | 0.024 |
| predicted_RBI | 0.330 | 0.014 |
| predicted_SLG | 0.368 | -0.025 |
| predicted_SO | 1.051 | -0.016 |
AB rounded to 4 (raw=3.74), rates preserved: AVG=0.238 HR/AB=0.024
| 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.200 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.298 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.000 | -0.339 |
| predicted_H | 1.000 | 0.111 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.250 | -0.054 |
| predicted_R | 1.000 | 0.420 |
| predicted_RBI | 0.000 | -0.330 |
| predicted_SLG | 0.250 | -0.118 |
| predicted_SO | 1.000 | -0.051 |
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 | -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 | 3.000 | - |
| R | 0.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 | - | 19.000 | 6.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 4.000 | 0.3158 | 0.3500 | 0.4737 | 0.3158 | 0.0000 | 0.0000 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 36.000 | 9.000 | 3.000 | 0.000 | 0.000 | 0.000 | 5.000 | 3.000 | 11.000 | 0.2500 | 0.3077 | 0.3333 | 0.2500 | 0.0000 | 0.0000 | 0.0833 | 0.3056 |
| season | 0.60 | 71 | - | 255.000 | 63.000 | 11.000 | 0.000 | 8.000 | 36.000 | 41.000 | 25.000 | 78.000 | 0.2471 | 0.3158 | 0.3843 | 0.2471 | 0.0314 | 0.1412 | 0.0980 | 0.3059 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2610 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6510 |
| predicted_AVG | 0.2602 |
| predicted_BB | 0.3080 |
| predicted_H | 0.9500 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.3195 |
| predicted_R | 0.5260 |
| predicted_RBI | 0.3240 |
| predicted_SLG | 0.3936 |
| predicted_SO | 1.0250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.2610 | 0.1997 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7400 | 3.6510 | 3.7024 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2602 | 0.2352 | model_form_blend |
| predicted_BB | 0.3520 | 0.3080 | 0.3334 | model_form_blend |
| predicted_H | 0.8100 | 0.9500 | 0.8691 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1000 | 0.0740 | 0.0890 | model_form_blend |
| predicted_OBP | 0.2900 | 0.3195 | 0.3025 | model_form_blend |
| predicted_R | 0.5770 | 0.5260 | 0.5555 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3240 | 0.3159 | model_form_blend |
| predicted_SLG | 0.3920 | 0.3936 | 0.3927 | model_form_blend |
| predicted_SO | 1.0990 | 1.0250 | 1.0678 | 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 | 272 |
| Season rows before report date | 272 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 1 |
| 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 | 2 |
| 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 | LF |
| gameID | 20260729_SEA@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-07-29 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.309 |
| sl_xwoba | 0.319 |
| sl_xba | 0.245 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 32.6 |
| 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.182 | 0.000 | 0.000 | Hitting_2B | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.152 | 3.000 | 3.000 | Hitting_AB | 3.362 | 3.000 | -0.362 | 0.000 |
| predicted_AVG | 0.300 | 0.667 | 0.333 | Hitting_AVG | 0.279 | 0.333 | 0.387 | 0.333 |
| predicted_BB | 0.258 | 0.000 | 0.000 | Hitting_BB | 0.354 | 0.000 | -0.354 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 2.000 | 1.000 | Hitting_H | 0.939 | 1.000 | 1.061 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_OBP | 0.321 | 0.667 | 0.333 | Hitting_OBP | 0.359 | 0.333 | 0.307 | 0.333 |
| predicted_R | 0.515 | 1.000 | 1.000 | Hitting_R | 0.611 | 1.000 | 0.389 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.611 | 0.000 | -0.611 | 0.000 |
| predicted_SLG | 0.450 | 0.667 | 0.333 | Hitting_SLG | 0.534 | 0.333 | 0.133 | 0.333 |
| predicted_SO | 0.970 | 0.000 | 1.000 | Hitting_SO | 1.035 | 1.000 | -1.035 | -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_H: 0.9100 -> 2.0000 (boost 1.0900, better) |
| Biggest Deboost | predicted_SO: 0.9700 -> 0.0000 (deboost -0.9700, 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 | 1 | 1 | 1 | 1 | predicted_AB: 3.1520 -> 3.2049 (boost 0.0529, better) | predicted_AVG: 0.3000 -> 0.2893 (deboost -0.0107, 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.3190 -> 0.3357 (boost 0.0167, better) | - | 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 | 1 | 5 | predicted_H: 0.9269 -> 1.0000 (boost 0.0731, better) | predicted_RBI: 0.4190 -> 0.0000 (deboost -0.4190, worse) | AB rounded to 3 (raw=3.20), rates preserved: AVG=0.289 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5594 -> 1.0000 (boost 0.4406, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2892 -> 0.3330 (boost 0.0438, better) | predicted_SLG: 0.4629 -> 0.3330 (deboost -0.1299, 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_H: 1.0000 -> 2.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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4629 (boost 0.1299, better) | predicted_AVG: 0.3330 -> 0.2892 (deboost -0.0438, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687221",
"player_name": "Dalton Rushing",
"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.182,
"predicted_3B": 0.0,
"predicted_AB": 3.152,
"predicted_AVG": 0.3,
"predicted_BB": 0.258,
"predicted_H": 0.91,
"predicted_HR": 0.12,
"predicted_OBP": 0.321,
"predicted_R": 0.515,
"predicted_RBI": 0.42,
"predicted_SLG": 0.45,
"predicted_SO": 0.97
},
"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.1849,
"predicted_3B": 0.0008,
"predicted_AB": 3.2049,
"predicted_AVG": 0.2893,
"predicted_BB": 0.221,
"predicted_H": 0.9058,
"predicted_HBP": 0.037,
"predicted_HR": 0.1208,
"predicted_OBP": 0.319,
"predicted_R": 0.5358,
"predicted_RBI": 0.4013,
"predicted_SLG": 0.4479,
"predicted_SO": 0.9771
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1849,
"delta": 0.0029,
"percent_delta": 0.0159,
"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.152,
"after": 3.2049,
"delta": 0.0529,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2893,
"delta": -0.0107,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.221,
"delta": -0.037,
"percent_delta": -0.1434,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9058,
"delta": -0.0042,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1208,
"delta": 0.0008,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.319,
"delta": -0.002,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 0.5358,
"delta": 0.0208,
"percent_delta": 0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4013,
"delta": -0.0187,
"percent_delta": -0.0445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4479,
"delta": -0.0021,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.97,
"after": 0.9771,
"delta": 0.0071,
"percent_delta": 0.0073,
"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.152,
"after": 3.2049,
"delta": 0.0529,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2893,
"delta": -0.0107,
"percent_delta": -0.0357,
"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.1849,
"predicted_3B": 0.0008,
"predicted_AB": 3.2049,
"predicted_AVG": 0.2892,
"predicted_BB": 0.2244,
"predicted_H": 0.9269,
"predicted_HBP": 0.037,
"predicted_HR": 0.1233,
"predicted_OBP": 0.3357,
"predicted_R": 0.5594,
"predicted_RBI": 0.419,
"predicted_SLG": 0.4629,
"predicted_SO": 0.9621
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1849,
"after": 0.1849,
"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.2049,
"after": 3.2049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2893,
"after": 0.2892,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.2244,
"delta": 0.0034,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9058,
"after": 0.9269,
"delta": 0.0211,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1208,
"after": 0.1233,
"delta": 0.0025,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3357,
"delta": 0.0167,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5358,
"after": 0.5594,
"delta": 0.0236,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4013,
"after": 0.419,
"delta": 0.0177,
"percent_delta": 0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4479,
"after": 0.4629,
"delta": 0.015,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9771,
"after": 0.9621,
"delta": -0.015,
"percent_delta": -0.0154,
"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.319,
"after": 0.3357,
"delta": 0.0167,
"percent_delta": 0.0524,
"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.20), rates preserved: AVG=0.289 HR/AB=0.038",
"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.1849,
"after": 0.0,
"delta": -0.1849,
"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.2049,
"after": 3.0,
"delta": -0.2049,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2244,
"after": 0.0,
"delta": -0.2244,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9269,
"after": 1.0,
"delta": 0.0731,
"percent_delta": 0.0789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1233,
"after": 0.0,
"delta": -0.1233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9621,
"after": 1.0,
"delta": 0.0379,
"percent_delta": 0.0394,
"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_H",
"before": 0.9269,
"after": 1.0,
"delta": 0.0731,
"percent_delta": 0.0789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"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": 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": 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.5594,
"after": 1.0,
"delta": 0.4406,
"percent_delta": 0.7876,
"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.5594,
"after": 1.0,
"delta": 0.4406,
"percent_delta": 0.7876,
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.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.2892,
"after": 0.333,
"delta": 0.0438,
"percent_delta": 0.1515,
"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.3357,
"after": 0.333,
"delta": -0.0027,
"percent_delta": -0.008,
"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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4629,
"after": 0.333,
"delta": -0.1299,
"percent_delta": -0.2806,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2892,
"after": 0.333,
"delta": 0.0438,
"percent_delta": 0.1515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4629,
"after": 0.333,
"delta": -0.1299,
"percent_delta": -0.2806,
"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": 0.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": 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_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": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"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_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": 3.0,
"predicted_AVG": 0.2892,
"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.3357,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4629,
"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.2892,
"delta": -0.0438,
"percent_delta": -0.1315,
"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.3357,
"delta": 0.0027,
"percent_delta": 0.0082,
"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": 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.4629,
"delta": 0.1299,
"percent_delta": 0.39,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4629,
"delta": 0.1299,
"percent_delta": 0.39,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2892,
"delta": -0.0438,
"percent_delta": -0.1315,
"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.182,
"after": 0.0,
"delta": -0.182,
"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.152,
"after": 3.0,
"delta": -0.152,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2892,
"delta": -0.0108,
"percent_delta": -0.036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.0,
"delta": -0.258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3357,
"delta": 0.0147,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4629,
"delta": 0.0129,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"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_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_SO",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"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.182 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.152 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.258 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.515 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 0.970 | - |
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.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.205 | 0.053 |
| predicted_AVG | 0.289 | -0.011 |
| predicted_BB | 0.221 | -0.037 |
| predicted_H | 0.906 | -0.004 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.121 | 0.001 |
| predicted_OBP | 0.319 | -0.002 |
| predicted_R | 0.536 | 0.021 |
| predicted_RBI | 0.401 | -0.019 |
| predicted_SLG | 0.448 | -0.002 |
| predicted_SO | 0.977 | 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.185 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.205 | 0.000 |
| predicted_AVG | 0.289 | -0.000 |
| predicted_BB | 0.224 | 0.003 |
| predicted_H | 0.927 | 0.021 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.123 | 0.003 |
| predicted_OBP | 0.336 | 0.017 |
| predicted_R | 0.559 | 0.024 |
| predicted_RBI | 0.419 | 0.018 |
| predicted_SLG | 0.463 | 0.015 |
| predicted_SO | 0.962 | -0.015 |
AB rounded to 3 (raw=3.20), rates preserved: AVG=0.289 HR/AB=0.038
| 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 | 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.185 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.205 |
| predicted_AVG | 0.333 | 0.044 |
| predicted_BB | 0.000 | -0.224 |
| predicted_H | 1.000 | 0.073 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.333 | -0.003 |
| predicted_R | 1.000 | 0.441 |
| predicted_RBI | 0.000 | -0.419 |
| predicted_SLG | 0.333 | -0.130 |
| predicted_SO | 1.000 | 0.038 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.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 | - | 16.000 | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.3750 | 0.3750 | 0.4375 | 0.3750 | 0.0000 | 0.0000 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 34.000 | 8.000 | 2.000 | 0.000 | 1.000 | 3.000 | 5.000 | 0.000 | 13.000 | 0.2353 | 0.2353 | 0.3824 | 0.2353 | 0.0294 | 0.0882 | 0.0000 | 0.3824 |
| season | 0.60 | 66 | - | 208.000 | 54.000 | 12.000 | 0.000 | 11.000 | 33.000 | 34.000 | 17.000 | 64.000 | 0.2596 | 0.3261 | 0.4760 | 0.2596 | 0.0529 | 0.1587 | 0.0817 | 0.3077 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1890 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2790 |
| predicted_AVG | 0.2744 |
| predicted_BB | 0.1690 |
| predicted_H | 0.9000 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.3163 |
| predicted_R | 0.5650 |
| predicted_RBI | 0.3750 |
| predicted_SLG | 0.4449 |
| predicted_SO | 0.9870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1890 | 0.1849 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1520 | 3.2790 | 3.2049 | model_form_blend |
| predicted_AVG | 0.3000 | 0.2744 | 0.2893 | model_form_blend |
| predicted_BB | 0.2580 | 0.1690 | 0.2210 | model_form_blend |
| predicted_H | 0.9100 | 0.9000 | 0.9058 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.1200 | 0.1220 | 0.1208 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3163 | 0.3190 | model_form_blend |
| predicted_R | 0.5150 | 0.5650 | 0.5358 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3750 | 0.4013 | model_form_blend |
| predicted_SLG | 0.4500 | 0.4449 | 0.4479 | model_form_blend |
| predicted_SO | 0.9700 | 0.9870 | 0.9771 | 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 | 229 |
| Season rows before report date | 229 |
| 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 | 3 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.26 |
| 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 | 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 | C |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 687221 |
| playerID | 687221 |
| playerName | Dalton Rushing |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 27.7 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.354 |
| sl_xwoba | 0.342 |
| sl_xba | 0.256 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 44.1 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 49.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.184 | 0.000 | 0.000 | Hitting_2B | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 4.250 | 3.000 | 4.000 | Hitting_AB | 3.757 | 4.000 | -0.757 | -1.000 |
| predicted_AVG | 0.197 | 0.000 | 0.250 | Hitting_AVG | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_BB | 0.469 | 0.000 | 0.000 | Hitting_BB | 0.515 | 0.000 | -0.515 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.921 | 0.000 | -0.921 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_OBP | 0.298 | 0.000 | 0.250 | Hitting_OBP | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_R | 0.561 | 1.000 | 1.000 | Hitting_R | 0.624 | 0.000 | 0.376 | 1.000 |
| predicted_RBI | 0.650 | 1.000 | 1.000 | Hitting_RBI | 0.550 | 0.000 | 0.450 | 1.000 |
| predicted_SLG | 0.399 | 0.000 | 0.250 | Hitting_SLG | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_SO | 0.806 | 1.000 | 1.000 | Hitting_SO | 0.839 | 0.000 | 0.161 | 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_R: 0.5610 -> 1.0000 (boost 0.4390, better) |
| Biggest Deboost | predicted_AB: 4.2500 -> 3.0000 (deboost -1.2500, 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 | 3 | 3 | 4 | 2 | predicted_AVG: 0.1970 -> 0.2085 (boost 0.0115, better) | predicted_AB: 4.2500 -> 3.9412 (deboost -0.3088, 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.3078 -> 0.2962 (deboost -0.0116, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.6171 -> 1.0000 (boost 0.3829, better) | predicted_BB: 0.4688 -> 0.0000 (deboost -0.4688, worse) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.197 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5385 -> 1.0000 (boost 0.4615, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2125 -> 0.2500 (boost 0.0375, better) | predicted_SLG: 0.4081 -> 0.2500 (deboost -0.1581, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 2 | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) | predicted_AB: 4.0000 -> 3.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.4081 (boost 0.1581, better) | predicted_AVG: 0.2500 -> 0.2125 (deboost -0.0375, 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.184,
"predicted_3B": 0.02,
"predicted_AB": 4.25,
"predicted_AVG": 0.197,
"predicted_BB": 0.469,
"predicted_H": 0.84,
"predicted_HR": 0.2,
"predicted_OBP": 0.298,
"predicted_R": 0.561,
"predicted_RBI": 0.65,
"predicted_SLG": 0.399,
"predicted_SO": 0.806
},
"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.1526,
"predicted_3B": 0.0166,
"predicted_AB": 3.9412,
"predicted_AVG": 0.2085,
"predicted_BB": 0.4617,
"predicted_H": 0.8185,
"predicted_HBP": 0.079,
"predicted_HR": 0.191,
"predicted_OBP": 0.3078,
"predicted_R": 0.5158,
"predicted_RBI": 0.5911,
"predicted_SLG": 0.4054,
"predicted_SO": 0.7127
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.1526,
"delta": -0.0314,
"percent_delta": -0.1707,
"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": 4.25,
"after": 3.9412,
"delta": -0.3088,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2085,
"delta": 0.0115,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.469,
"after": 0.4617,
"delta": -0.0073,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8185,
"delta": -0.0215,
"percent_delta": -0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.191,
"delta": -0.009,
"percent_delta": -0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3078,
"delta": 0.0098,
"percent_delta": 0.0329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 0.5158,
"delta": -0.0452,
"percent_delta": -0.0806,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.5911,
"delta": -0.0589,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.4054,
"delta": 0.0064,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.806,
"after": 0.7127,
"delta": -0.0933,
"percent_delta": -0.1158,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2085,
"delta": 0.0115,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.25,
"after": 3.9412,
"delta": -0.3088,
"percent_delta": -0.0727,
"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": 98
}
},
{
"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.1526,
"predicted_3B": 0.0166,
"predicted_AB": 3.9412,
"predicted_AVG": 0.2125,
"predicted_BB": 0.4688,
"predicted_H": 0.8376,
"predicted_HBP": 0.079,
"predicted_HR": 0.195,
"predicted_OBP": 0.2962,
"predicted_R": 0.5385,
"predicted_RBI": 0.6171,
"predicted_SLG": 0.4081,
"predicted_SO": 0.7017
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1526,
"after": 0.1526,
"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": 3.9412,
"after": 3.9412,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2085,
"after": 0.2125,
"delta": 0.004,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4617,
"after": 0.4688,
"delta": 0.0071,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8185,
"after": 0.8376,
"delta": 0.0191,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.079,
"after": 0.079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.191,
"after": 0.195,
"delta": 0.004,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3078,
"after": 0.2962,
"delta": -0.0116,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5158,
"after": 0.5385,
"delta": 0.0227,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5911,
"after": 0.6171,
"delta": 0.026,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4054,
"after": 0.4081,
"delta": 0.0027,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7127,
"after": 0.7017,
"delta": -0.011,
"percent_delta": -0.0154,
"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.3078,
"after": 0.2962,
"delta": -0.0116,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.25), rates preserved: AVG=0.197 HR/AB=0.046",
"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.1526,
"after": 0.0,
"delta": -0.1526,
"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": 3.9412,
"after": 4.0,
"delta": 0.0588,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4688,
"after": 0.0,
"delta": -0.4688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8376,
"after": 1.0,
"delta": 0.1624,
"percent_delta": 0.1939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.079,
"after": 0.0,
"delta": -0.079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6171,
"after": 1.0,
"delta": 0.3829,
"percent_delta": 0.6205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7017,
"after": 1.0,
"delta": 0.2983,
"percent_delta": 0.4251,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6171,
"after": 1.0,
"delta": 0.3829,
"percent_delta": 0.6205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4688,
"after": 0.0,
"delta": -0.4688,
"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.5385,
"after": 1.0,
"delta": 0.4615,
"percent_delta": 0.857,
"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.5385,
"after": 1.0,
"delta": 0.4615,
"percent_delta": 0.857,
"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.2125,
"after": 0.25,
"delta": 0.0375,
"percent_delta": 0.1765,
"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.2962,
"after": 0.25,
"delta": -0.0462,
"percent_delta": -0.156,
"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.4081,
"after": 0.25,
"delta": -0.1581,
"percent_delta": -0.3874,
"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.2125,
"after": 0.25,
"delta": 0.0375,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4081,
"after": 0.25,
"delta": -0.1581,
"percent_delta": -0.3874,
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"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": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2125,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2962,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4081,
"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.25,
"after": 0.2125,
"delta": -0.0375,
"percent_delta": -0.1499,
"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.2962,
"delta": 0.0462,
"percent_delta": 0.1849,
"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": 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.25,
"after": 0.4081,
"delta": 0.1581,
"percent_delta": 0.6324,
"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.4081,
"delta": 0.1581,
"percent_delta": 0.6324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2125,
"delta": -0.0375,
"percent_delta": -0.1499,
"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.184,
"after": 0.0,
"delta": -0.184,
"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": 4.25,
"after": 3.0,
"delta": -1.25,
"percent_delta": -0.2941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2125,
"delta": 0.0155,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2962,
"delta": -0.0018,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.4081,
"delta": 0.0091,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.806,
"after": 1.0,
"delta": 0.194,
"percent_delta": 0.2407,
"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_R",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.25,
"after": 3.0,
"delta": -1.25,
"percent_delta": -0.2941,
"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.184 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.197 | - |
| predicted_BB | 0.469 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.561 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.399 | - |
| predicted_SO | 0.806 | - |
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.153 | -0.031 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.941 | -0.309 |
| predicted_AVG | 0.208 | 0.011 |
| predicted_BB | 0.462 | -0.007 |
| predicted_H | 0.819 | -0.021 |
| predicted_HBP | 0.079 | - |
| predicted_HR | 0.191 | -0.009 |
| predicted_OBP | 0.308 | 0.010 |
| predicted_R | 0.516 | -0.045 |
| predicted_RBI | 0.591 | -0.059 |
| predicted_SLG | 0.405 | 0.006 |
| predicted_SO | 0.713 | -0.093 |
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.153 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.941 | 0.000 |
| predicted_AVG | 0.212 | 0.004 |
| predicted_BB | 0.469 | 0.007 |
| predicted_H | 0.838 | 0.019 |
| predicted_HBP | 0.079 | 0.000 |
| predicted_HR | 0.195 | 0.004 |
| predicted_OBP | 0.296 | -0.012 |
| predicted_R | 0.538 | 0.023 |
| predicted_RBI | 0.617 | 0.026 |
| predicted_SLG | 0.408 | 0.003 |
| predicted_SO | 0.702 | -0.011 |
AB rounded to 4 (raw=4.25), rates preserved: AVG=0.197 HR/AB=0.046
| 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.153 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.059 |
| predicted_AVG | 0.250 | 0.038 |
| predicted_BB | 0.000 | -0.469 |
| predicted_H | 1.000 | 0.162 |
| predicted_HR | 0.000 | -0.195 |
| predicted_OBP | 0.250 | -0.046 |
| predicted_R | 1.000 | 0.462 |
| predicted_RBI | 1.000 | 0.383 |
| predicted_SLG | 0.250 | -0.158 |
| predicted_SO | 1.000 | 0.298 |
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 | -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 | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.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 | 4.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 3.000 | 1.000 | 0.2500 | 0.4000 | 0.6250 | 0.2500 | 0.1250 | 0.1875 | 0.1875 | 0.0625 |
| last_10 | 0.20 | 10 | - | 34.000 | 5.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 3.000 | 3.000 | 0.1471 | 0.2308 | 0.3235 | 0.1471 | 0.0588 | 0.1177 | 0.0882 | 0.0882 |
| season | 0.60 | 98 | - | 358.000 | 85.000 | 18.000 | 2.000 | 9.000 | 51.000 | 55.000 | 46.000 | 79.000 | 0.2374 | 0.3260 | 0.3743 | 0.2374 | 0.0251 | 0.1425 | 0.1285 | 0.2207 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1110 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.5320 |
| predicted_AVG | 0.2237 |
| predicted_BB | 0.4520 |
| predicted_H | 0.7900 |
| predicted_HBP | 0.0790 |
| predicted_HR | 0.1790 |
| predicted_OBP | 0.3207 |
| predicted_R | 0.4560 |
| predicted_RBI | 0.5130 |
| predicted_SLG | 0.4139 |
| predicted_SO | 0.5890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.1110 | 0.1526 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0166 | model_form_blend |
| predicted_AB | 4.2500 | 3.5320 | 3.9412 | model_form_blend |
| predicted_AVG | 0.1970 | 0.2237 | 0.2085 | model_form_blend |
| predicted_BB | 0.4690 | 0.4520 | 0.4617 | model_form_blend |
| predicted_H | 0.8400 | 0.7900 | 0.8185 | model_form_blend |
| predicted_HBP | - | 0.0790 | 0.0790 | form_only |
| predicted_HR | 0.2000 | 0.1790 | 0.1910 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3207 | 0.3078 | model_form_blend |
| predicted_R | 0.5610 | 0.4560 | 0.5158 | model_form_blend |
| predicted_RBI | 0.6500 | 0.5130 | 0.5911 | model_form_blend |
| predicted_SLG | 0.3990 | 0.4139 | 0.4054 | model_form_blend |
| predicted_SO | 0.8060 | 0.5890 | 0.7127 | 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 | 404 |
| Season rows before report date | 404 |
| Report year | 2026 |
| Profile rows used | 98 |
| 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 | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| 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 | 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 | 0 |
| 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 | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.318 |
| sl_xwoba | 0.339 |
| sl_xba | 0.264 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 22.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_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.722 | 1.000 | -0.722 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.722 | 3.000 | 1.278 | 3.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.100 | 7.000 | -0.100 | -2.000 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 5.222 | 9.000 | 2.778 | -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": "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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 8.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": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 2.0,
"predicted_SO": 8.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.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 | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 8.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 | 25.200 | 13.000 | 22.000 | 11.000 | 24.000 | 7.000 | 4.5584 | 1.2857 | 0.5065 | 0.8571 | 0.4286 | 0.9351 | 0.2727 |
| last_10 | 0.35 | 10 | 53.000 | 26.000 | 42.000 | 20.000 | 55.000 | 11.000 | 4.4151 | 1.1698 | 0.4906 | 0.7924 | 0.3774 | 1.0377 | 0.2076 |
| season | 0.20 | 18 | 93.200 | 49.000 | 85.000 | 36.000 | 94.000 | 20.000 | 4.7082 | 1.2918 | 0.5231 | 0.9075 | 0.3843 | 1.0036 | 0.2135 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0150 |
| predicted_ER | 2.5960 |
| predicted_ERA | 4.5418 |
| predicted_H | 4.4910 |
| predicted_HR | 1.1280 |
| predicted_IP | 5.0000 |
| predicted_SO | 5.0360 |
| predicted_WHIP | 1.2650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 2.0150 | 1.1247 | model_form_blend |
| predicted_ER | 2.0000 | 2.5960 | 2.3327 | model_form_blend |
| predicted_ERA | - | 4.5418 | 4.5418 | form_only |
| predicted_H | 6.0000 | 4.4910 | 5.1578 | model_form_blend |
| predicted_HR | 1.0000 | 1.1280 | 1.0714 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 8.0000 | 5.0360 | 6.3456 | model_form_blend |
| predicted_WHIP | - | 1.2650 | 1.2650 | 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 | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 6 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 8 |
| HR | 1 |
| BF | 21 |
| Pitches | 88 |
| 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 | 25 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.71 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 6 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 94 |
| Pitching_R | 1 |
| Pitching_SO | 9 |
| Pitching_Strikes | 63 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260724_LAD@NYM |
| game_type | full |
| mlbID | 808963 |
| playerID | 808963 |
| playerName | Roki Sasaki |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-24 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.342 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 43.9 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 50.5 |
| sl_avg_best_speed | 79.718460611 |
| sl_avg_hyper_speed | 94.596871226 |
| 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.357 | 0.000 | -0.357 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.429 | 1.000 | -0.429 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.964 | 1.100 | 0.036 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 0.000 | 0.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": "592779",
"player_name": "Brock Stewart",
"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": 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 | 6.000 | 1.000 | 1.000 | 1.000 | 5.000 | 0.000 | 1.5000 | 0.3333 | 0.1667 | 0.1667 | 0.1667 | 0.8333 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 3.000 | 4.000 | 3.000 | 10.000 | 1.000 | 2.5312 | 0.6562 | 0.2812 | 0.3750 | 0.2812 | 0.9375 | 0.0938 |
| season | 0.20 | 14 | 14.200 | 4.000 | 6.000 | 5.000 | 14.000 | 2.000 | 2.4545 | 0.7500 | 0.2727 | 0.4091 | 0.3409 | 0.9546 | 0.1364 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3310 |
| predicted_ER | 0.4260 |
| predicted_ERA | 3.6313 |
| predicted_H | 0.7620 |
| predicted_HR | 0.1240 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9870 |
| predicted_WHIP | 1.0360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3310 | 0.1269 | model_form_blend |
| predicted_ER | 0.0000 | 0.4260 | 0.1633 | model_form_blend |
| predicted_ERA | - | 3.6313 | 3.6313 | form_only |
| predicted_H | 0.0000 | 0.7620 | 0.2921 | model_form_blend |
| predicted_HR | 0.0000 | 0.1240 | 0.0475 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9870 | 0.9950 | model_form_blend |
| predicted_WHIP | - | 1.0360 | 1.0360 | 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 | 1 |
| HR | 0 |
| BF | 3 |
| 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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.45 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260728_SEA@LAD |
| game_type | full |
| mlbID | 592779 |
| playerID | 592779 |
| playerName | Brock Stewart |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-28 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.209 |
| sl_xwoba | 0.225 |
| sl_sweet_spot_percent | 22.2 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 22.2 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 47.9 |
| sl_avg_best_speed | 68.434117222 |
| sl_avg_hyper_speed | 91.803257222 |
| 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.143 | 0.000 | -0.143 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.714 | 1.000 | -0.714 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.143 | 1.000 | -1.143 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.886 | 0.200 | 0.114 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.286 | 1.000 | -0.286 | 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": "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": 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 | 4.000 | 5.000 | 1.000 | 5.000 | 4.000 | 7.7143 | 1.2857 | 0.8571 | 1.0714 | 0.2143 | 1.0714 | 0.8571 |
| last_10 | 0.35 | 7 | 6.200 | 5.000 | 8.000 | 1.000 | 9.000 | 4.000 | 6.7500 | 1.3500 | 0.7500 | 1.2000 | 0.1500 | 1.3500 | 0.6000 |
| season | 0.20 | 7 | 6.200 | 5.000 | 8.000 | 1.000 | 9.000 | 4.000 | 6.7500 | 1.3500 | 0.7500 | 1.2000 | 0.1500 | 1.3500 | 0.6000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3230 |
| predicted_ER | 0.5740 |
| predicted_ERA | 5.1698 |
| predicted_H | 1.0030 |
| predicted_HR | 0.2870 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9960 |
| predicted_WHIP | 1.3255 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3230 | 0.1021 | model_form_blend |
| predicted_ER | 0.0000 | 0.5740 | 0.1815 | model_form_blend |
| predicted_ERA | - | 5.1698 | 5.1698 | form_only |
| predicted_H | 0.0000 | 1.0030 | 0.3171 | model_form_blend |
| predicted_HR | 0.0000 | 0.2870 | 0.0907 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9960 | 0.9987 | model_form_blend |
| predicted_WHIP | - | 1.3255 | 1.3255 | 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 | 7 |
| Season rows before report date | 7 |
| Report year | 2026 |
| Profile rows used | 7 |
| 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 | 4 |
| 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 | 1 |
| Pitching_ERA | 6.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 10 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260726_LAD@NYM |
| game_type | full |
| mlbID | 623465 |
| playerID | 623465 |
| playerName | Evan Phillips |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-26 |
| sl_k_percent | 31.0 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.441 |
| sl_xwoba | 0.389 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 26.3 |
| sl_hard_hit_percent | 42.1 |
| sl_whiff_percent | 29.1 |
| sl_swing_percent | 45.1 |
| sl_avg_best_speed | 84.715043 |
| sl_avg_hyper_speed | 95.135141053 |
| 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.130 | 0.000 | -0.130 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.261 | 1.000 | -0.261 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.652 | 2.000 | -0.652 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.878 | 1.000 | 0.222 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.217 | 1.000 | -0.217 | 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": "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": 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.000 | 1.000 | 5.000 | 1.000 | 6.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 1.0000 | 0.2000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 9.000 | 3.000 | 14.000 | 0.000 | 3.8571 | 1.2857 | 0.4286 | 0.9643 | 0.3214 | 1.5000 | 0.0000 |
| season | 0.20 | 46 | 43.200 | 12.000 | 30.000 | 6.000 | 56.000 | 4.000 | 2.4733 | 0.8244 | 0.2748 | 0.6870 | 0.1374 | 1.2824 | 0.0916 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2760 |
| predicted_ER | 0.3720 |
| predicted_ERA | 3.3479 |
| predicted_H | 0.9440 |
| predicted_HR | 0.0670 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1890 |
| predicted_WHIP | 1.2195 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2760 | 0.1368 | model_form_blend |
| predicted_ER | 0.0000 | 0.3720 | 0.1844 | model_form_blend |
| predicted_ERA | - | 3.3479 | 3.3479 | form_only |
| predicted_H | 0.0000 | 0.9440 | 0.4681 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0332 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1890 | 1.0937 | model_form_blend |
| predicted_WHIP | - | 1.2195 | 1.2195 | 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 | 46 |
| Season rows before report date | 46 |
| Report year | 2026 |
| Profile rows used | 46 |
| 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 | 17 |
| 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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.47 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 34.6 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.227 |
| sl_xwoba | 0.26 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 33.0 |
| sl_whiff_percent | 36.1 |
| sl_swing_percent | 55.8 |
| sl_avg_best_speed | 79.339697917 |
| sl_avg_hyper_speed | 93.565739895 |
| 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.521 | 1.000 | -0.521 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.396 | 0.000 | -0.396 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.596 | 1.000 | -0.396 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.083 | 0.000 | -1.083 | 0.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.6667 -> 0.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: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681911",
"player_name": "Alex Vesia",
"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": 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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"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.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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": 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": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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 | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| 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.100 | 3.000 | 2.000 | 3.000 | 7.000 | 2.000 | 6.2308 | 1.1538 | 0.6923 | 0.4615 | 0.6923 | 1.6154 | 0.4615 |
| last_10 | 0.35 | 10 | 8.100 | 3.000 | 5.000 | 8.000 | 12.000 | 2.000 | 3.2400 | 1.5600 | 0.3600 | 0.6000 | 0.9600 | 1.4400 | 0.2400 |
| season | 0.20 | 48 | 37.000 | 11.000 | 19.000 | 25.000 | 52.000 | 2.000 | 2.6757 | 1.1892 | 0.2973 | 0.5135 | 0.6757 | 1.4054 | 0.0541 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4610 |
| predicted_ER | 0.3790 |
| predicted_ERA | 4.5060 |
| predicted_H | 0.5330 |
| predicted_HR | 0.1830 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9740 |
| predicted_WHIP | 1.3148 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4610 | 0.2209 | model_form_blend |
| predicted_ER | 0.0000 | 0.3790 | 0.1816 | model_form_blend |
| predicted_ERA | - | 4.5060 | 4.5060 | form_only |
| predicted_H | 0.0000 | 0.5330 | 0.2554 | model_form_blend |
| predicted_HR | 0.0000 | 0.1830 | 0.0877 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9740 | 0.4668 | model_form_blend |
| predicted_WHIP | - | 1.3148 | 1.3148 | 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 | 48 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 14 |
| 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 | 2.68 |
| Pitching_Flyouts | 3 |
| 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260729_SEA@LAD |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-29 |
| sl_k_percent | 34.2 |
| sl_bb_percent | 15.8 |
| sl_woba | 0.239 |
| sl_xwoba | 0.265 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 36.8 |
| sl_whiff_percent | 37.5 |
| sl_swing_percent | 46.9 |
| sl_avg_best_speed | 77.412293947 |
| sl_avg_hyper_speed | 92.867703553 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SF 2 - 4 SD | SD | 0.600 | scoring_simulation.final_score | True |
| Simulation draw | SF 1 - 5 SD | SD | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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 | 6.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6000 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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.404 | 4.845 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 2 | 4 | 0.6000 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 2 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 2 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 2 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 1 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6189134016222482,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.19249393464658188,
"confidence": 0.8257096000000002,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4514192000000004
},
"prediction": "low_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 6.6,
"low_score_model_expected_total_runs": 6.6,
"final_simulation_total_runs": 6,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 150,
"near_bucket_sample_size": 150,
"medium_bucket_sample_size": 169,
"wide_bucket_sample_size": 197,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.6667,
"bayesian_hit_rate": 0.6488,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8929,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6704,
"calibrated_pick_probability": 0.6417,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "SD",
"games": 108,
"wins": 55,
"losses": 53,
"win_pct": 0.5092592592592593,
"runs_scored": 453,
"runs_allowed": 471,
"run_differential": -18,
"run_differential_per_game": -0.16666666666666666,
"available": true
},
"away": {
"team": "SF",
"games": 109,
"wins": 47,
"losses": 62,
"win_pct": 0.43119266055045874,
"runs_scored": 464,
"runs_allowed": 506,
"run_differential": -42,
"run_differential_per_game": -0.3853211009174312,
"available": true
},
"run_differential_edge_per_game": 0.2187,
"win_pct_edge": 0.0781,
"quality_edge": 0.3358,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": false,
"reasons": [
"recent head-to-head is split and volatile"
],
"signals": {
"predicted_team": "SD",
"opponent_team": "SF",
"h2h_net_margin": 8,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-05-06",
"predicted_team_runs": 5,
"opponent_runs": 1,
"margin_for_predicted_team": 4,
"winner": "SD"
},
{
"date": "2026-05-06",
"predicted_team_runs": 10,
"opponent_runs": 5,
"margin_for_predicted_team": 5,
"winner": "SD"
},
{
"date": "2026-05-05",
"predicted_team_runs": 2,
"opponent_runs": 3,
"margin_for_predicted_team": -1,
"winner": "SF"
}
],
"prediction_memory": {
"available": false,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": []
},
"guardrail_predicted_team": "SD",
"guardrail_opponent_team": "SF",
"output_pre_simulation_winner": "SD",
"output_opponent_team": "SF",
"final_score_winner": "SD",
"pre_simulation_winner": "SD",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "SF 2 - 4 SD",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 5,
"score_text": "SF 1 - 5 SD",
"winner": "SD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 4,
"winner_quality_edge": 0.3358,
"winner": "SD",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "SD",
"games": 108,
"wins": 55,
"losses": 53,
"win_pct": 0.5092592592592593,
"runs_scored": 453,
"runs_allowed": 471,
"run_differential": -18,
"run_differential_per_game": -0.16666666666666666,
"available": true
},
"away": {
"team": "SF",
"games": 109,
"wins": 47,
"losses": 62,
"win_pct": 0.43119266055045874,
"runs_scored": 464,
"runs_allowed": 506,
"run_differential": -42,
"run_differential_per_game": -0.3853211009174312,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.9644,
"final_margin": 0.9644,
"margin_cap": 1.5,
"season_quality_edge": 0.3358,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.6,
"final_confidence": 0.6,
"confidence_cap": 0.66,
"score_gap": 2.0049,
"calibration_sample_size": 150,
"calibration_empirical_hit_rate": 0.6667,
"calibration_bayesian_hit_rate": 0.6488,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.3358,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"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": 2,
"home_runs": 4,
"score_text": "SF 2 - 4 SD",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 5,
"score_text": "SF 1 - 5 SD",
"winner": "SD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 4,
"winner_quality_edge": 0.3358,
"winner": "SD",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 1,
"home_runs": 5,
"confidence": 0.6,
"home_win_probability": 0.6,
"away_win_probability": 0.4,
"predicted_score_text": "SF 1 - 5 SD",
"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": "SF",
"original_runs": 2,
"run_delta": 0.1624,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 37.0,
"quality": 0.09246365625387928,
"contact": -0.011535731596915491,
"power": -0.12019770939008229,
"discipline": 0.12262625444722515,
"xwoba": 0.3091351351351352,
"recent_xwoba": 0.3091351351351352,
"barrel": 6.74054054054054,
"ab_hard_contact": -0.24247691815256675,
"ab_bat_speed": 68.48624592040814,
"ab_strikeout_rate": 0.19463412931315852,
"available_players": 9,
"top_players": [
{
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "DH",
"weight": 4.0,
"quality": 1.0092441304450226,
"contact": 0.9867779827095104,
"power": 1.3466955187669365,
"discipline": 0.4624409347714434,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 13.4,
"ab_hard_contact": 0.5853389467673057,
"ab_bat_speed": 72.86763989776702,
"ab_strikeout_rate": 0.276271186440678,
"available": 1.0
},
{
"player_id": "671218",
"player_name": "Heliot Ramos",
"position": "LF",
"weight": 5.0,
"quality": 0.6428983739633665,
"contact": 0.5615176239118795,
"power": 1.2086444918683745,
"discipline": -0.7852790604457272,
"xwoba": 0.327,
"recent_xwoba": 0.327,
"barrel": 14.7,
"ab_hard_contact": 0.6384136468913032,
"ab_bat_speed": 70.79222589653146,
"ab_strikeout_rate": 0.27213403880070547,
"available": 1.0
},
{
"player_id": "683766",
"player_name": "Christian Koss",
"position": "3B",
"weight": 3.0,
"quality": -0.1631275574732005,
"contact": -2.0,
"power": -2.0,
"discipline": -0.18007359307359305,
"xwoba": 0.204,
"recent_xwoba": 0.204,
"barrel": 0.0,
"ab_hard_contact": -1.5603200235343686,
"ab_bat_speed": 70.01591666666667,
"ab_strikeout_rate": 0.125,
"available": 1.0
},
{
"player_id": "646240",
"player_name": "Rafael Devers",
"position": "1B",
"weight": 4.0,
"quality": 0.4545619326079878,
"contact": 0.32096469143140616,
"power": 0.9558147454270259,
"discipline": -0.2479426406926407,
"xwoba": 0.325,
"recent_xwoba": 0.325,
"barrel": 11.199999999999998,
"ab_hard_contact": 0.2576282418738545,
"ab_bat_speed": 70.73977257936508,
"ab_strikeout_rate": 0.28901190476190475,
"available": 1.0
},
{
"player_id": "687551",
"player_name": "Drew Gilbert",
"position": "CF",
"weight": 3.0,
"quality": -0.37070550312207046,
"contact": -0.23230544590738858,
"power": -0.7932310409274415,
"discipline": 0.3106071581001158,
"xwoba": 0.302,
"recent_xwoba": 0.302,
"barrel": 2.8,
"ab_hard_contact": -0.7187160566440637,
"ab_bat_speed": 67.3001803599374,
"ab_strikeout_rate": 0.16431924882629106,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "676664",
"player_name": "JP Sears",
"quality": -0.11463279596624726,
"contact": -0.06888304873946868,
"command": -0.4492477072310404,
"movement": -0.8286393167563763,
"xwoba": 0.32,
"whiff": 20.6,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "SD",
"original_runs": 4,
"run_delta": 0.2356,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.23009680966307655,
"contact": 0.09761474873345248,
"power": 0.20304728785231801,
"discipline": -0.0608847152455081,
"xwoba": 0.3143125,
"recent_xwoba": 0.3143125,
"barrel": 8.790625,
"ab_hard_contact": 0.2774219475225484,
"ab_bat_speed": 70.67668552769204,
"ab_strikeout_rate": 0.23329103288620073,
"available_players": 9,
"top_players": [
{
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"weight": 5.0,
"quality": 0.9106600665291638,
"contact": 1.1965004946626985,
"power": 0.9154767973145235,
"discipline": -0.03140692640692651,
"xwoba": 0.356,
"recent_xwoba": 0.356,
"barrel": 10.6,
"ab_hard_contact": 0.9434407081952318,
"ab_bat_speed": 73.47236819727891,
"ab_strikeout_rate": 0.20133333333333334,
"available": 1.0
},
{
"player_id": "666023",
"player_name": "Freddy Fermin",
"position": "C",
"weight": 3.0,
"quality": -0.7436714290050421,
"contact": -1.2575978308086326,
"power": -1.2733443830976334,
"discipline": 0.23298423005565852,
"xwoba": 0.259,
"recent_xwoba": 0.259,
"barrel": 2.5,
"ab_hard_contact": -0.9152686143336276,
"ab_bat_speed": 65.94831597222222,
"ab_strikeout_rate": 0.20544217687074828,
"available": 1.0
},
{
"player_id": "664034",
"player_name": "Ty France",
"position": "1B",
"weight": 4.0,
"quality": 0.47851676583554487,
"contact": 0.5798052740791979,
"power": 0.960396560587778,
"discipline": -0.6713935125906957,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 11.6,
"ab_hard_contact": 0.3062169260412701,
"ab_bat_speed": 70.4946689909297,
"ab_strikeout_rate": 0.2676056338028169,
"available": 1.0
},
{
"player_id": "592518",
"player_name": "Manny Machado",
"position": "3B",
"weight": 4.0,
"quality": 0.48838294318678194,
"contact": 0.35137326093975485,
"power": 0.708273696585851,
"discipline": 0.3043876863876865,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 11.1,
"ab_hard_contact": 0.5521405983836849,
"ab_bat_speed": 73.0730990836197,
"ab_strikeout_rate": 0.22053872053872053,
"available": 1.0
},
{
"player_id": "701538",
"player_name": "Jackson Merrill",
"position": "CF",
"weight": 4.0,
"quality": 0.41950579231849694,
"contact": 0.34597311792800506,
"power": 0.6810518488946427,
"discipline": -0.3924715522572665,
"xwoba": 0.321,
"recent_xwoba": 0.321,
"barrel": 10.3,
"ab_hard_contact": 0.8926560255118945,
"ab_bat_speed": 71.64441579861112,
"ab_strikeout_rate": 0.24846938775510205,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "657277",
"player_name": "Logan Webb",
"quality": -0.008931878891885674,
"contact": 0.37573762035140484,
"command": -0.42267627865961194,
"movement": -0.3857151835411987,
"xwoba": 0.31,
"whiff": 20.6,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 2,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 2,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.3358,
"recent_form_edge_home_minus_away": 0.67,
"pitcher_matchup_edge_home_minus_away": 0.0718,
"composite_home_edge": 0.8702,
"existing_home_win_probability": 0.6417,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.8702
},
"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": 2,
"home_runs": 4,
"predicted_score_text": "SF 2 - 4 SD",
"confidence": 0.6,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "SF 2 - 4 SD",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 5,
"score_text": "SF 1 - 5 SD",
"winner": "SD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 4,
"winner_quality_edge": 0.3358,
"winner": "SD",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "SD",
"display_confidence": 0.6,
"internal_signal_score": 0.6624,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.6,
"confidence_compression_detected": false,
"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": 4,
"winner_quality_edge": 0.3358,
"winner_recent_form_edge": 0.6,
"winner_pitcher_matchup_edge": 0.0718,
"winner_simulation_draw_rate": 0.5625,
"blowout_draw_rate_margin_4_plus": 0.4375,
"high_total_draw_rate_11_plus": 0.0625,
"low_total_draw_rate_6_or_less": 0.5,
"total_runs_spread": {
"min": 3,
"median": 7,
"max": 11,
"range": 8
}
},
"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 SF | True | 1.0106 | 1.0106 | 1 | 9 | 0 |
| Home SD | True | 1.0204 | 1.0204 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Heliot Ramos | 189 | 1.0645 | 0.8606 | neutral | 0.3270 | 0.2640 | 0.4640 | 14.70 | 48.70 | 92.10 | 6.20 | 28.30 | 26.90 | 4.60 | 0.4571 |
| 2B | Luis Arraez | 26 | 0.9751 | -0.3322 | negative_batter_regression | 0.3020 | 0.2840 | 0.3690 | 0.50 | 20.40 | 87 | 15.50 | 7.90 | 4.50 | 5.60 | -1.2857 |
| DH | Bryce Eldridge | 170 | 1.0962 | 1.2827 | neutral | 0.3640 | 0.2560 | 0.4860 | 13.40 | 54.40 | 92.50 | 13.50 | 24.90 | 26.50 | 13.60 | 0.2000 |
| 1B | Rafael Devers | 84 | 1.0444 | 0.5918 | neutral | 0.3250 | 0.2330 | 0.4540 | 11.20 | 50.70 | 92.30 | 14.20 | 29.70 | 27.30 | 9.50 | -0.4286 |
| RF | Jung Hoo Lee | 160 | 0.9974 | -0.0342 | neutral | 0.3130 | 0.2930 | 0.3800 | 2.40 | 28.70 | 87 | 9.90 | 13.40 | 10.30 | 3.90 | -0.6000 |
| 3B | Christian Koss | 454 | 0.9395 | -0.8064 | neutral | 0.2040 | 0.1560 | 0.1770 | 0 | 14.30 | 82.50 | 18.10 | 30.60 | 17.20 | 6.90 | 0.7429 |
| C | Drew Cavanaugh | 338 | 1.0027 | 0.0354 | neutral | 0.3320 | 0.2390 | 0.3390 | 5.90 | 20.60 | 84.10 | 11.80 | 21.60 | 22.80 | 17.50 | 0.7714 |
| SS | Willy Adames | 95 | 0.9889 | -0.1481 | neutral | 0.2890 | 0.2190 | 0.3880 | 9.10 | 39.30 | 87.90 | 22.30 | 29.20 | 28.80 | 6.60 | -0.4857 |
| CF | Drew Gilbert | 282 | 0.9869 | -0.1745 | neutral | 0.3020 | 0.2500 | 0.3460 | 2.80 | 33.90 | 85.90 | 14.50 | 21.50 | 16.50 | 8.50 | 0.1143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Luis Rengifo | 345 | 1.0063 | 0.0842 | neutral | 0.3050 | 0.2570 | 0.3530 | 4.70 | 38 | 88.40 | 4.50 | 19.70 | 12.60 | 9.30 | 0.8000 |
| 1B | Ty France | 46 | 1.0468 | 0.6234 | negative_batter_regression | 0.3320 | 0.2530 | 0.4510 | 11.60 | 49.70 | 92.40 | 12.70 | 28.10 | 23.40 | 4.70 | -1.1714 |
| DH | Luis Campusano | 154 | 1.0114 | 0.1520 | negative_batter_regression | 0.3390 | 0.2460 | 0.3990 | 9.10 | 45.50 | 87.50 | 12.20 | 26.30 | 23.40 | 14 | -1.4857 |
| RF | Fernando Tatis Jr. | 112 | 1.0857 | 1.1425 | neutral | 0.3560 | 0.2890 | 0.4420 | 10.60 | 53.80 | 92.20 | 4.40 | 28.50 | 20 | 8.70 | 0.7143 |
| LF | Jase Bowen | 547 | 0.9666 | -0.4458 | positive_batter_regression | 0.2270 | 0.1890 | 0.2750 | 9.70 | 28.10 | 85.50 | 17.40 | 35.80 | 38.60 | 3.50 | 1.4857 |
| CF | Jackson Merrill | 147 | 1.0502 | 0.6693 | neutral | 0.3210 | 0.2530 | 0.4420 | 10.30 | 46.50 | 89.90 | 13.80 | 26.70 | 24.40 | 6.60 | 0.7143 |
| 3B | Manny Machado | 208 | 1.0522 | 0.6964 | neutral | 0.3320 | 0.2420 | 0.4400 | 11.10 | 44.40 | 90.50 | 13.30 | 26.50 | 21.50 | 11.30 | 0.3714 |
| SS | Xander Bogaerts | 175 | 1.0153 | 0.2038 | neutral | 0.3160 | 0.2420 | 0.3700 | 6.10 | 38.40 | 88.20 | 5.70 | 22.80 | 18.20 | 11.80 | 0.7714 |
| C | Freddy Fermin | 273 | 0.9489 | -0.6818 | neutral | 0.2590 | 0.1910 | 0.2770 | 2.50 | 25.40 | 86.40 | 16.20 | 24.10 | 19.80 | 9.60 | 0.4000 |
{
"home": {
"applied": true,
"offense_factor": 1.0204,
"raw_average_factor": 1.0204,
"team_espn_average_rank": 223.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "650859",
"player_name": "Luis Rengifo",
"offense_factor": 1.0063,
"quality_score": 0.0842,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650859",
"espn_id": 37237,
"player_name": "Luis Rengifo",
"team": "SD",
"role": "batter",
"espn_rank": 345,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 345,
"gp_value": 68.0,
"gp_rank": 252,
"ab_value": 221.0,
"ab_rank": 232,
"r_value": 26.0,
"r_rank": 238,
"h_value": 51.0,
"h_rank": 231,
"avg_value": 0.2307692,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 2.0,
"hr_rank": 372,
"rbi_value": 27.0,
"rbi_rank": 223,
"tb_value": 67.0,
"tb_rank": 2055,
"bb_value": 23.0,
"bb_rank": 189,
"so_value": 31.0,
"so_rank": 346,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3036437,
"obp_rank": "-",
"slg_value": 0.3031674,
"slg_rank": "-",
"ops_value": 0.6068111,
"ops_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 12.6,
"bb_percent": 9.3,
"woba": 0.277,
"xwoba": 0.305,
"xba": 0.257,
"xslg": 0.353,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 4.5,
"whiff_percent": 19.7,
"swing_percent": 49.7
},
"components": {
"expected_quality": -0.0323,
"regression_edge": 0.8,
"xwoba_edge": 0.0714,
"xba_edge": 0.5286,
"xslg_edge": -0.2643,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.0143,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.95,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "664034",
"player_name": "Ty France",
"offense_factor": 1.0468,
"quality_score": 0.6234,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664034",
"espn_id": 35591,
"player_name": "Ty France",
"team": "SD",
"role": "batter",
"espn_rank": 46,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 46,
"gp_value": 82.0,
"gp_rank": 184,
"ab_value": 256.0,
"ab_rank": 188,
"r_value": 33.0,
"r_rank": 190,
"h_value": 73.0,
"h_rank": 139,
"avg_value": 0.2851562,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": 157,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 16.0,
"hr_rank": 56,
"rbi_value": 46.0,
"rbi_rank": 95,
"tb_value": 138.0,
"tb_rank": 556,
"bb_value": 13.0,
"bb_rank": 306,
"so_value": 65.0,
"so_rank": 164,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3380782,
"obp_rank": "-",
"slg_value": 0.5390625,
"slg_rank": "-",
"ops_value": 0.8771407,
"ops_rank": null,
"war_value": 2.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 258.0,
"k_percent": 23.4,
"bb_percent": 4.7,
"woba": 0.373,
"xwoba": 0.332,
"xba": 0.253,
"xslg": 0.451,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 49.7,
"exit_velocity_avg": 92.4,
"launch_angle_avg": 12.7,
"whiff_percent": 28.1,
"swing_percent": 53.7
},
"components": {
"expected_quality": 0.9156,
"regression_edge": -1.1714,
"xwoba_edge": 0.8429,
"xba_edge": 0.4143,
"xslg_edge": 1.1357,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.6571,
"exit_velocity_edge": 1.48,
"sweet_spot_edge": 0.9,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "669134",
"player_name": "Luis Campusano",
"offense_factor": 1.0114,
"quality_score": 0.152,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669134",
"espn_id": 40521,
"player_name": "Luis Campusano",
"team": "SD",
"role": "batter",
"espn_rank": 154,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 154,
"gp_value": 34.0,
"gp_rank": 406,
"ab_value": 91.0,
"ab_rank": 402,
"r_value": 14.0,
"r_rank": 358,
"h_value": 26.0,
"h_rank": 364,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 14.0,
"rbi_rank": 339,
"tb_value": 46.0,
"tb_rank": 1959,
"bb_value": 15.0,
"bb_rank": 275,
"so_value": 25.0,
"so_rank": 390,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3925233,
"obp_rank": "-",
"slg_value": 0.5054945,
"slg_rank": "-",
"ops_value": 0.8980178,
"ops_rank": null,
"war_value": 1.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 95.0,
"k_percent": 23.4,
"bb_percent": 14.0,
"woba": 0.391,
"xwoba": 0.339,
"xba": 0.246,
"xslg": 0.399,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 45.5,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 12.2,
"whiff_percent": 26.3,
"swing_percent": 44.4
},
"components": {
"expected_quality": 0.6347,
"regression_edge": -1.4857,
"xwoba_edge": 1.0429,
"xba_edge": 0.2143,
"xslg_edge": 0.3929,
"barrel_edge": 0.5111,
"hard_hit_edge": 1.0571,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"offense_factor": 1.0857,
"quality_score": 1.1425,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665487",
"espn_id": 35983,
"player_name": "Fernando Tatis Jr.",
"team": "SD",
"role": "batter",
"espn_rank": 112,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 112,
"gp_value": 107.0,
"gp_rank": 20,
"ab_value": 420.0,
"ab_rank": 8,
"r_value": 54.0,
"r_rank": 59,
"h_value": 120.0,
"h_rank": 6,
"avg_value": 0.2857142,
"avg_rank": 18.0,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 49.0,
"rbi_rank": 78,
"tb_value": 169.0,
"tb_rank": 642,
"bb_value": 42.0,
"bb_rank": 55,
"so_value": 95.0,
"so_rank": 61,
"sb_value": 25.0,
"sb_rank": 7,
"obp_value": 0.3538135,
"obp_rank": "40",
"slg_value": 0.4023809,
"slg_rank": "103",
"ops_value": 0.7561944,
"ops_rank": 63.0,
"war_value": 1.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 438.0,
"k_percent": 20.0,
"bb_percent": 8.7,
"woba": 0.331,
"xwoba": 0.356,
"xba": 0.289,
"xslg": 0.442,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 53.8,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 4.4,
"whiff_percent": 28.5,
"swing_percent": 46.9
},
"components": {
"expected_quality": 1.2122,
"regression_edge": 0.7143,
"xwoba_edge": 1.5286,
"xba_edge": 1.4429,
"xslg_edge": 1.0071,
"barrel_edge": 0.8444,
"hard_hit_edge": 2.2429,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "687749",
"player_name": "Jase Bowen",
"offense_factor": 0.9666,
"quality_score": -0.4458,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "687749",
"espn_id": 42704,
"player_name": "Jase Bowen",
"team": "SD",
"role": "batter",
"espn_rank": 547,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 547,
"gp_value": 38.0,
"gp_rank": 389,
"ab_value": 54.0,
"ab_rank": 457,
"r_value": 8.0,
"r_rank": 426,
"h_value": 8.0,
"h_rank": 486,
"avg_value": 0.1481481,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 444,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 0.0,
"hr_rank": 493,
"rbi_value": 5.0,
"rbi_rank": 457,
"tb_value": 10.0,
"tb_rank": 2907,
"bb_value": 2.0,
"bb_rank": 488,
"so_value": 22.0,
"so_rank": 414,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.1929824,
"obp_rank": "-",
"slg_value": 0.1851851,
"slg_rank": "-",
"ops_value": 0.3781675,
"ops_rank": null,
"war_value": -0.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 54.0,
"k_percent": 38.6,
"bb_percent": 3.5,
"woba": 0.175,
"xwoba": 0.227,
"xba": 0.189,
"xslg": 0.275,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 28.1,
"exit_velocity_avg": 85.5,
"launch_angle_avg": 17.4,
"whiff_percent": 35.8,
"swing_percent": 49.7
},
"components": {
"expected_quality": -1.3939,
"regression_edge": 1.4857,
"xwoba_edge": -2.1571,
"xba_edge": -1.4143,
"xslg_edge": -1.3786,
"barrel_edge": 0.6444,
"hard_hit_edge": -1.4286,
"exit_velocity_edge": -1.28,
"sweet_spot_edge": -1.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "701538",
"player_name": "Jackson Merrill",
"offense_factor": 1.0502,
"quality_score": 0.6693,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701538",
"espn_id": 4872691,
"player_name": "Jackson Merrill",
"team": "SD",
"role": "batter",
"espn_rank": 147,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 147,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 407.0,
"ab_rank": 22,
"r_value": 51.0,
"r_rank": 78,
"h_value": 96.0,
"h_rank": 72,
"avg_value": 0.2358722,
"avg_rank": 122.0,
"2b_value": 17.0,
"2b_rank": 93,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 48.0,
"rbi_rank": 86,
"tb_value": 160.0,
"tb_rank": 578,
"bb_value": 29.0,
"bb_rank": 139,
"so_value": 107.0,
"so_rank": 36,
"sb_value": 21.0,
"sb_rank": 11,
"obp_value": 0.2876712,
"obp_rank": "149",
"slg_value": 0.3931203,
"slg_rank": "115",
"ops_value": 0.6807915,
"ops_rank": 264.0,
"war_value": 1.22,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 414.0,
"k_percent": 24.4,
"bb_percent": 6.6,
"woba": 0.296,
"xwoba": 0.321,
"xba": 0.253,
"xslg": 0.442,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 46.5,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 13.8,
"whiff_percent": 26.7,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.662,
"regression_edge": 0.7143,
"xwoba_edge": 0.5286,
"xba_edge": 0.4143,
"xslg_edge": 1.0071,
"barrel_edge": 0.7778,
"hard_hit_edge": 1.2,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "592518",
"player_name": "Manny Machado",
"offense_factor": 1.0522,
"quality_score": 0.6964,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592518",
"espn_id": 31097,
"player_name": "Manny Machado",
"team": "SD",
"role": "batter",
"espn_rank": 208,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 208,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 389.0,
"ab_rank": 54,
"r_value": 56.0,
"r_rank": 49,
"h_value": 84.0,
"h_rank": 109,
"avg_value": 0.2159383,
"avg_rank": 144.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 23.0,
"hr_rank": 13,
"rbi_value": 64.0,
"rbi_rank": 23,
"tb_value": 171.0,
"tb_rank": 722,
"bb_value": 50.0,
"bb_rank": 33,
"so_value": 96.0,
"so_rank": 57,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3011235,
"obp_rank": "134",
"slg_value": 0.4395886,
"slg_rank": "65",
"ops_value": 0.7407121,
"ops_rank": 199.0,
"war_value": 0.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 412.0,
"k_percent": 21.5,
"bb_percent": 11.3,
"woba": 0.319,
"xwoba": 0.332,
"xba": 0.242,
"xslg": 0.44,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 13.3,
"whiff_percent": 26.5,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.7493,
"regression_edge": 0.3714,
"xwoba_edge": 0.8429,
"xba_edge": 0.1,
"xslg_edge": 0.9786,
"barrel_edge": 0.9556,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"offense_factor": 1.0153,
"quality_score": 0.2038,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "593428",
"espn_id": 31606,
"player_name": "Xander Bogaerts",
"team": "SD",
"role": "batter",
"espn_rank": 175,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 175,
"gp_value": 102.0,
"gp_rank": 74,
"ab_value": 354.0,
"ab_rank": 93,
"r_value": 43.0,
"r_rank": 129,
"h_value": 77.0,
"h_rank": 130,
"avg_value": 0.2175141,
"avg_rank": 142.0,
"2b_value": 9.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 39.0,
"rbi_rank": 135,
"tb_value": 113.0,
"tb_rank": 1313,
"bb_value": 48.0,
"bb_rank": 38,
"so_value": 75.0,
"so_rank": 119,
"sb_value": 14.0,
"sb_rank": 38,
"obp_value": 0.3129584,
"obp_rank": "113",
"slg_value": 0.319209,
"slg_rank": "155",
"ops_value": 0.6321674,
"ops_rank": 42.0,
"war_value": 1.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 385.0,
"k_percent": 18.2,
"bb_percent": 11.8,
"woba": 0.289,
"xwoba": 0.316,
"xba": 0.242,
"xslg": 0.37,
"sweet_spot_percent": 28.1,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 38.4,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 5.7,
"whiff_percent": 22.8,
"swing_percent": 41.3
},
"components": {
"expected_quality": 0.1114,
"regression_edge": 0.7714,
"xwoba_edge": 0.3857,
"xba_edge": 0.1,
"xslg_edge": -0.0214,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.0429,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -0.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "666023",
"player_name": "Freddy Fermin",
"offense_factor": 0.9489,
"quality_score": -0.6818,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666023",
"espn_id": 41928,
"player_name": "Freddy Fermin",
"team": "SD",
"role": "batter",
"espn_rank": 273,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 273,
"gp_value": 67.0,
"gp_rank": 258,
"ab_value": 155.0,
"ab_rank": 307,
"r_value": 16.0,
"r_rank": 340,
"h_value": 26.0,
"h_rank": 364,
"avg_value": 0.1677419,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 11.0,
"rbi_rank": 371,
"tb_value": 43.0,
"tb_rank": 2082,
"bb_value": 17.0,
"bb_rank": 251,
"so_value": 35.0,
"so_rank": 323,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.259887,
"obp_rank": "-",
"slg_value": 0.2774193,
"slg_rank": "-",
"ops_value": 0.5373063,
"ops_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 165.0,
"k_percent": 19.8,
"bb_percent": 9.6,
"woba": 0.245,
"xwoba": 0.259,
"xba": 0.191,
"xslg": 0.277,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 25.4,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 16.2,
"whiff_percent": 24.1,
"swing_percent": 50.3
},
"components": {
"expected_quality": -1.1221,
"regression_edge": 0.4,
"xwoba_edge": -1.2429,
"xba_edge": -1.3571,
"xslg_edge": -1.35,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.8143,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -0.3667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0106,
"raw_average_factor": 1.0106,
"team_espn_average_rank": 199.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "671218",
"player_name": "Heliot Ramos",
"offense_factor": 1.0645,
"quality_score": 0.8606,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671218",
"espn_id": 39642,
"player_name": "Heliot Ramos",
"team": "SF",
"role": "batter",
"espn_rank": 189,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 189,
"gp_value": 70.0,
"gp_rank": 243,
"ab_value": 273.0,
"ab_rank": 174,
"r_value": 35.0,
"r_rank": 175,
"h_value": 73.0,
"h_rank": 139,
"avg_value": 0.2673992,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": 157,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 34.0,
"rbi_rank": 176,
"tb_value": 119.0,
"tb_rank": 784,
"bb_value": 14.0,
"bb_rank": 290,
"so_value": 76.0,
"so_rank": 118,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3044982,
"obp_rank": "-",
"slg_value": 0.4358974,
"slg_rank": "-",
"ops_value": 0.7403956,
"ops_rank": null,
"war_value": 0.9,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 254.0,
"k_percent": 26.9,
"bb_percent": 4.6,
"woba": 0.311,
"xwoba": 0.327,
"xba": 0.264,
"xslg": 0.464,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 14.7,
"hard_hit_percent": 48.7,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 6.2,
"whiff_percent": 28.3,
"swing_percent": 54.2
},
"components": {
"expected_quality": 0.9262,
"regression_edge": 0.4571,
"xwoba_edge": 0.7,
"xba_edge": 0.7286,
"xslg_edge": 1.3214,
"barrel_edge": 1.7556,
"hard_hit_edge": 1.5143,
"exit_velocity_edge": 1.36,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "650333",
"player_name": "Luis Arraez",
"offense_factor": 0.9751,
"quality_score": -0.3322,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650333",
"espn_id": 39572,
"player_name": "Luis Arraez",
"team": "SF",
"role": "batter",
"espn_rank": 26,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 26,
"gp_value": 102.0,
"gp_rank": 74,
"ab_value": 408.0,
"ab_rank": 20,
"r_value": 52.0,
"r_rank": 71,
"h_value": 135.0,
"h_rank": 2,
"avg_value": 0.3308823,
"avg_rank": 1.0,
"2b_value": 23.0,
"2b_rank": 17,
"3b_value": 7.0,
"3b_rank": 2,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 43.0,
"rbi_rank": 117,
"tb_value": 184.0,
"tb_rank": 856,
"bb_value": 25.0,
"bb_rank": 173,
"so_value": 20.0,
"so_rank": 431,
"sb_value": 10.0,
"sb_rank": 62,
"obp_value": 0.3662921,
"obp_rank": "25",
"slg_value": 0.4509803,
"slg_rank": "57",
"ops_value": 0.8172724,
"ops_rank": 32.0,
"war_value": 3.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 405.0,
"k_percent": 4.5,
"bb_percent": 5.6,
"woba": 0.347,
"xwoba": 0.302,
"xba": 0.284,
"xslg": 0.369,
"sweet_spot_percent": 40.2,
"barrel_batted_rate": 0.5,
"hard_hit_percent": 20.4,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 15.5,
"whiff_percent": 7.9,
"swing_percent": 49.2
},
"components": {
"expected_quality": -0.177,
"regression_edge": -1.2857,
"xwoba_edge": -0.0143,
"xba_edge": 1.3,
"xslg_edge": -0.0357,
"barrel_edge": -1.4,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 1.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"offense_factor": 1.0962,
"quality_score": 1.2827,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805811",
"espn_id": 5149064,
"player_name": "Bryce Eldridge",
"team": "SF",
"role": "batter",
"espn_rank": 170,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 170,
"gp_value": 66.0,
"gp_rank": 267,
"ab_value": 232.0,
"ab_rank": 218,
"r_value": 35.0,
"r_rank": 175,
"h_value": 58.0,
"h_rank": 209,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 26.0,
"rbi_rank": 230,
"tb_value": 105.0,
"tb_rank": 1195,
"bb_value": 37.0,
"bb_rank": 85,
"so_value": 71.0,
"so_rank": 142,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3518518,
"obp_rank": "-",
"slg_value": 0.4525862,
"slg_rank": "-",
"ops_value": 0.804438,
"ops_rank": null,
"war_value": 1.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 26.5,
"bb_percent": 13.6,
"woba": 0.357,
"xwoba": 0.364,
"xba": 0.256,
"xslg": 0.486,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 13.4,
"hard_hit_percent": 54.4,
"exit_velocity_avg": 92.5,
"launch_angle_avg": 13.5,
"whiff_percent": 24.9,
"swing_percent": 42.5
},
"components": {
"expected_quality": 1.459,
"regression_edge": 0.2,
"xwoba_edge": 1.7571,
"xba_edge": 0.5,
"xslg_edge": 1.6357,
"barrel_edge": 1.4667,
"hard_hit_edge": 2.3286,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": 0.25,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "646240",
"player_name": "Rafael Devers",
"offense_factor": 1.0444,
"quality_score": 0.5918,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "646240",
"espn_id": 33859,
"player_name": "Rafael Devers",
"team": "SF",
"role": "batter",
"espn_rank": 84,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 84,
"gp_value": 108.0,
"gp_rank": 7,
"ab_value": 411.0,
"ab_rank": 16,
"r_value": 56.0,
"r_rank": 49,
"h_value": 100.0,
"h_rank": 54,
"avg_value": 0.243309,
"avg_rank": 108.0,
"2b_value": 27.0,
"2b_rank": 1,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 22.0,
"hr_rank": 17,
"rbi_value": 60.0,
"rbi_rank": 37,
"tb_value": 195.0,
"tb_rank": 318,
"bb_value": 44.0,
"bb_rank": 50,
"so_value": 126.0,
"so_rank": 11,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3159041,
"obp_rank": "108",
"slg_value": 0.4744525,
"slg_rank": "36",
"ops_value": 0.7903566,
"ops_rank": 72.0,
"war_value": 1.96,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 423.0,
"k_percent": 27.3,
"bb_percent": 9.5,
"woba": 0.34,
"xwoba": 0.325,
"xba": 0.233,
"xslg": 0.454,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 50.7,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 14.2,
"whiff_percent": 29.7,
"swing_percent": 48.5
},
"components": {
"expected_quality": 0.7579,
"regression_edge": -0.4286,
"xwoba_edge": 0.6429,
"xba_edge": -0.1571,
"xslg_edge": 1.1786,
"barrel_edge": 0.9778,
"hard_hit_edge": 1.8,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"offense_factor": 0.9974,
"quality_score": -0.0342,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808982",
"espn_id": 5134621,
"player_name": "Jung Hoo Lee",
"team": "SF",
"role": "batter",
"espn_rank": 160,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 160,
"gp_value": 98.0,
"gp_rank": 112,
"ab_value": 371.0,
"ab_rank": 84,
"r_value": 52.0,
"r_rank": 71,
"h_value": 112.0,
"h_rank": 18,
"avg_value": 0.3018867,
"avg_rank": 6.0,
"2b_value": 23.0,
"2b_rank": 17,
"3b_value": 4.0,
"3b_rank": 12,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 40.0,
"rbi_rank": 128,
"tb_value": 161.0,
"tb_rank": 707,
"bb_value": 15.0,
"bb_rank": 275,
"so_value": 40.0,
"so_rank": 283,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3350253,
"obp_rank": "69",
"slg_value": 0.4339622,
"slg_rank": "71",
"ops_value": 0.7689875,
"ops_rank": 140.0,
"war_value": 1.15,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 372.0,
"k_percent": 10.3,
"bb_percent": 3.9,
"woba": 0.334,
"xwoba": 0.313,
"xba": 0.293,
"xslg": 0.38,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 28.7,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 9.9,
"whiff_percent": 13.4,
"swing_percent": 46.5
},
"components": {
"expected_quality": 0.0579,
"regression_edge": -0.6,
"xwoba_edge": 0.3,
"xba_edge": 1.5571,
"xslg_edge": 0.1214,
"barrel_edge": -0.9778,
"hard_hit_edge": -1.3429,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "683766",
"player_name": "Christian Koss",
"offense_factor": 0.9395,
"quality_score": -0.8064,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683766",
"espn_id": 4109031,
"player_name": "Christian Koss",
"team": "SF",
"role": "batter",
"espn_rank": 454,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 454,
"gp_value": 17.0,
"gp_rank": 483,
"ab_value": 31.0,
"ab_rank": 511,
"r_value": 4.0,
"r_rank": 480,
"h_value": 5.0,
"h_rank": 516,
"avg_value": 0.1612903,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 476,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 0.0,
"hr_rank": 493,
"rbi_value": 1.0,
"rbi_rank": 545,
"tb_value": 6.0,
"tb_rank": 2969,
"bb_value": 2.0,
"bb_rank": 488,
"so_value": 5.0,
"so_rank": 549,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.2352941,
"obp_rank": "-",
"slg_value": 0.1935483,
"slg_rank": "-",
"ops_value": 0.4288424,
"ops_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 22.0,
"k_percent": 17.2,
"bb_percent": 6.9,
"woba": 0.178,
"xwoba": 0.204,
"xba": 0.156,
"xslg": 0.177,
"sweet_spot_percent": 9.5,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 14.3,
"exit_velocity_avg": 82.5,
"launch_angle_avg": 18.1,
"whiff_percent": 30.6,
"swing_percent": 52.7
},
"components": {
"expected_quality": -2.2045,
"regression_edge": 0.7429,
"xwoba_edge": -2.5,
"xba_edge": -2.3571,
"xslg_edge": -2.5,
"barrel_edge": -1.5111,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.48,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "701852",
"player_name": "Drew Cavanaugh",
"offense_factor": 1.0027,
"quality_score": 0.0354,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701852",
"espn_id": 5270445,
"player_name": "Drew Cavanaugh",
"team": "SF",
"role": "batter",
"espn_rank": 338,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 338,
"gp_value": 21.0,
"gp_rank": 464,
"ab_value": 46.0,
"ab_rank": 472,
"r_value": 3.0,
"r_rank": 497,
"h_value": 12.0,
"h_rank": 447,
"avg_value": 0.2608695,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 533,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 0.0,
"hr_rank": 493,
"rbi_value": 3.0,
"rbi_rank": 495,
"tb_value": 12.0,
"tb_rank": 2957,
"bb_value": 10.0,
"bb_rank": 352,
"so_value": 13.0,
"so_rank": 474,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3928571,
"obp_rank": "-",
"slg_value": 0.2608695,
"slg_rank": "-",
"ops_value": 0.6537266,
"ops_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 45.0,
"k_percent": 22.8,
"bb_percent": 17.5,
"woba": 0.305,
"xwoba": 0.332,
"xba": 0.239,
"xslg": 0.339,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 20.6,
"exit_velocity_avg": 84.1,
"launch_angle_avg": 11.8,
"whiff_percent": 21.6,
"swing_percent": 46.4
},
"components": {
"expected_quality": -0.0342,
"regression_edge": 0.7714,
"xwoba_edge": 0.8429,
"xba_edge": 0.0143,
"xslg_edge": -0.4643,
"barrel_edge": -0.2,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.84,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "642715",
"player_name": "Willy Adames",
"offense_factor": 0.9889,
"quality_score": -0.1481,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642715",
"espn_id": 33675,
"player_name": "Willy Adames",
"team": "SF",
"role": "batter",
"espn_rank": 95,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 95,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 400.0,
"ab_rank": 30,
"r_value": 55.0,
"r_rank": 54,
"h_value": 91.0,
"h_rank": 89,
"avg_value": 0.2275,
"avg_rank": 132.0,
"2b_value": 24.0,
"2b_rank": 13,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 18.0,
"hr_rank": 39,
"rbi_value": 45.0,
"rbi_rank": 104,
"tb_value": 171.0,
"tb_rank": 431,
"bb_value": 29.0,
"bb_rank": 139,
"so_value": 123.0,
"so_rank": 14,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.2824074,
"obp_rank": "151",
"slg_value": 0.4275,
"slg_rank": "76",
"ops_value": 0.7099074,
"ops_rank": 75.0,
"war_value": 1.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 402.0,
"k_percent": 28.8,
"bb_percent": 6.6,
"woba": 0.306,
"xwoba": 0.289,
"xba": 0.219,
"xslg": 0.388,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 39.3,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 22.3,
"whiff_percent": 29.2,
"swing_percent": 48.4
},
"components": {
"expected_quality": -0.0931,
"regression_edge": -0.4857,
"xwoba_edge": -0.3857,
"xba_edge": -0.5571,
"xslg_edge": 0.2357,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.1714,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 0.6333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "687551",
"player_name": "Drew Gilbert",
"offense_factor": 0.9869,
"quality_score": -0.1745,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687551",
"espn_id": 4619467,
"player_name": "Drew Gilbert",
"team": "SF",
"role": "batter",
"espn_rank": 282,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 282,
"gp_value": 85.0,
"gp_rank": 170,
"ab_value": 219.0,
"ab_rank": 236,
"r_value": 25.0,
"r_rank": 244,
"h_value": 52.0,
"h_rank": 227,
"avg_value": 0.2374429,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 4.0,
"hr_rank": 279,
"rbi_value": 21.0,
"rbi_rank": 271,
"tb_value": 78.0,
"tb_rank": 1366,
"bb_value": 22.0,
"bb_rank": 203,
"so_value": 41.0,
"so_rank": 275,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3225806,
"obp_rank": "-",
"slg_value": 0.3561643,
"slg_rank": "-",
"ops_value": 0.6787449,
"ops_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 16.5,
"bb_percent": 8.5,
"woba": 0.298,
"xwoba": 0.302,
"xba": 0.25,
"xslg": 0.346,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 33.9,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 14.5,
"whiff_percent": 21.5,
"swing_percent": 42.0
},
"components": {
"expected_quality": -0.2252,
"regression_edge": 0.1143,
"xwoba_edge": -0.0143,
"xba_edge": 0.3286,
"xslg_edge": -0.3643,
"barrel_edge": -0.8889,
"hard_hit_edge": -0.6,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": 0.1833,
"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 SF | True | 91 | -0.0227 | 1 | 1.0019 | 0.9529 | 0.9480 | 0.9819 | neutral | 0.3100 | 0.2830 | 19.20 | 6.30 | 20.60 | 5.60 | 39.90 | |
| Home SD | True | 267 | -0.1210 | 0.4500 | 1.0103 | 0.9803 | 0.9901 | 1.0341 | neutral | 0.3200 | 0.3000 | 19.80 | 7.80 | 20.60 | 8.50 | 45.80 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SF | True | None | 93 | 88.87 | 2024 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0562 | |
| Home SD | True | None | 75 | 87.13 | 1988 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1535 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0046 |
| home_runs_vs_away_pitcher | 1.0019 |
| home_pitcher_quality_edge | -0.0983 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "676664",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 19.8,
"bb_percent": 7.8,
"woba": 0.3,
"xwoba": 0.32,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 45.8,
"avg_best_speed": 81.4723,
"avg_hyper_speed": 94.5565,
"whiff_percent": 20.6,
"swing_percent": 47.0
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.1873,
"command_and_miss": -0.3639,
"regression_edge": -0.5714,
"xwoba_edge": -0.2286,
"barrel_edge": -0.3111,
"hard_hit_edge": -1.1,
"whiff_edge": -0.7286,
"bb_edge": 0.275,
"pitch_design_score": -0.1535
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676664",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 75,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 75,
"pitch_usage": 0.0,
"release_speed": 87.13148127473565,
"release_spin_rate": 1987.6177334751017,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 75,
"pitch_usage": 0.0,
"release_speed": 87.13148127473565,
"release_spin_rate": 1987.6177334751017,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.1315,
"release_spin_rate": 1987.6177,
"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.1535,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0964,
"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.121,
"sample_weight": 0.45,
"run_prevention_factor": 1.0103,
"strikeout_factor": 0.9803,
"walk_factor": 0.9901,
"homer_factor": 1.0341,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676664",
"espn_id": 39818,
"player_name": "JP Sears",
"team": "SD",
"role": "pitcher",
"espn_rank": 267,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 267,
"gp_value": 6.0,
"gp_rank": 539,
"gs_value": 5.0,
"gs_rank": 193,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.8571,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 28.0,
"ip_rank": 391,
"h_value": 24.0,
"h_rank": 391,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 9.0,
"bb_rank": 441,
"k_value": 23.0,
"k_rank": 402,
"k_per_9_value": 7.392857,
"k_per_9_rank": 27,
"whip_value": 1.1785,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "657277",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 436.0,
"k_percent": 19.2,
"bb_percent": 6.3,
"woba": 0.283,
"xwoba": 0.31,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 39.9,
"avg_best_speed": 76.8306,
"avg_hyper_speed": 94.0595,
"whiff_percent": 20.6,
"swing_percent": 48.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2574,
"command_and_miss": -0.3275,
"regression_edge": -0.7714,
"xwoba_edge": 0.0571,
"barrel_edge": 0.3333,
"hard_hit_edge": -0.2571,
"whiff_edge": -0.7286,
"bb_edge": 0.65,
"pitch_design_score": -0.0562
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657277",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.86844300070544,
"release_spin_rate": 2024.4052835315058,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.86844300070544,
"release_spin_rate": 2024.4052835315058,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.8684,
"release_spin_rate": 2024.4053,
"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.0562,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4016,
"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.0227,
"sample_weight": 1.0,
"run_prevention_factor": 1.0019,
"strikeout_factor": 0.9529,
"walk_factor": 0.948,
"homer_factor": 0.9819,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657277",
"espn_id": 41216,
"player_name": "Logan Webb",
"team": "SF",
"role": "pitcher",
"espn_rank": 91,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 91,
"gp_value": 19.0,
"gp_rank": 327,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 12.0,
"qs_rank": 12,
"era_value": 3.9327,
"era_rank": 41.0,
"w_value": 6.0,
"w_rank": 62,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 119.0,
"ip_rank": 29,
"h_value": 103.0,
"h_rank": 51,
"er_value": 52.0,
"er_rank": 35,
"hr_value": 9.0,
"hr_rank": 133,
"bb_value": 30.0,
"bb_rank": 87,
"k_value": 93.0,
"k_rank": 65,
"k_per_9_value": 7.033613,
"k_per_9_rank": 60,
"whip_value": 1.1176,
"whip_rank": 22.0,
"war_value": 1.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0046,
"home_runs_vs_away_pitcher": 1.0019,
"home_pitcher_quality_edge": -0.0983
},
"score_before": {
"away_runs": 4.0,
"home_runs": 5.0
},
"score_after": {
"away_runs": 4.0185,
"home_runs": 5.0095,
"home_win_probability": 0.5825
},
"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 SF | 4-6 | 0.400 | 5.20 | 4.10 | 11 | 1W | hot | average |
| Home SD | 7-3 | 0.700 | 6.70 | 3.60 | 31 | 5W | hot | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SF | 47-62 | 0.431 | -42 | -0.385 | True |
| Home SD | 55-53 | 0.509 | -18 | -0.167 | True |
| Signal | - | - | 0.219 | 0.336 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-05-06 | SD @ SF | 5 - 1 | SD | 4 | blowout |
| 2026-05-06 | SD @ SF | 10 - 5 | SD | 5 | blowout |
| 2026-05-05 | SD @ SF | 2 - 3 | SF | 1 | close |
| 2026-04-01 | SF @ SD | 1 - 7 | SD | 6 | blowout |
| 2026-04-01 | SF @ SD | 9 - 3 | SF | 6 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SF | - | - | 2 | - | - | - | - |
| Game target SD | - | - | 4 | - | - | - | - |
| Player finalized SF | 37 | 10 | 5 | 0 | 5 | 2 | 8 |
| Player finalized SD | 32 | 9 | 3 | 0 | 4 | 0 | 8 |
| Player model fractional SF | 33.85 | 8.11 | 3.94 | 0.93 | 4.16 | 2.87 | 6.87 |
| Player model fractional SD | 31.35 | 8.01 | 4.02 | 1.08 | 4.42 | 2.88 | 7.16 |
| Simulation box SF | 32 | 5 | 1 | 0 | 1 | 1 | 6 |
| Simulation box SD | 33 | 9 | 5 | 2 | 5 | 1 | 5 |
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 SF | Starter | Logan Webb | 6 | 3 | 4 | 7 | 1 | 4.82 | 1.16 | True |
| Away SF | Middle Reliever | Erik Miller | 1 | 0 | 1 | 0 | 0 | 2.31 | 1.09 | True |
| Away SF | Middle Reliever | Caleb Kilian | 1 | 2 | 0 | 2 | 0 | 4.30 | 1.28 | True |
| Home SD | Starter | JP Sears | 5 | 1 | 4 | 5 | 0 | 4.26 | 1.24 | True |
| Home SD | Middle Reliever | Adrian Morejon | 1.20 | 0 | 0 | 0 | 0 | 2.33 | 1.23 | True |
| Home SD | Middle Reliever | Bradgley Rodriguez | 1 | 0 | 2 | 0 | 0 | 3.85 | 1.36 | True |
| Home SD | Middle Reliever | Mason Miller | 1.10 | 0 | 0 | 0 | 1 | 1.72 | 0.83 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | SF | batter | 1B | Rafael Devers | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.8410 | boost | worse |
| away | SF | batter | 2B | Luis Arraez | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -1.5300 | deboost | worse |
| home | SD | batter | 1B | Ty France | better | 10 | 6 | 4 | 7 | 3 | predicted_RBI | 1.4100 | boost | better |
| away | SF | batter | RF | Jung Hoo Lee | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | -1.3800 | deboost | worse |
| home | SD | batter | RF | Fernando Tatis Jr. | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.3500 | deboost | worse |
| home | SD | batter | 3B | Manny Machado | better | 10 | 8 | 2 | 9 | 1 | predicted_RBI | 1.3100 | boost | better |
| home | SD | batter | DH | Luis Campusano | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 1.2420 | boost | better |
| away | SF | batter | LF | Heliot Ramos | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.1010 | deboost | better |
| away | SF | batter | C | Drew Cavanaugh | worse | 10 | 3 | 7 | 4 | 6 | predicted_2B | 1.0000 | boost | better |
| away | SF | batter | SS | Willy Adames | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -0.9600 | deboost | worse |
| away | SF | pitcher | Middle Reliever | Caleb Kilian | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | SF | batter | DH | Bryce Eldridge | worse | 10 | 0 | 10 | 1 | 9 | predicted_H | -0.8600 | deboost | worse |
| home | SD | batter | C | Freddy Fermin | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 0.8400 | boost | better |
| home | SD | batter | CF | Jackson Merrill | neutral | 10 | 5 | 5 | 5 | 5 | predicted_2B | 0.8370 | boost | better |
| away | SF | batter | CF | Drew Gilbert | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | -0.7920 | deboost | worse |
| home | SD | batter | 2B | Luis Rengifo | better | 10 | 7 | 3 | 6 | 4 | predicted_AB | 0.7010 | boost | better |
| home | SD | batter | SS | Xander Bogaerts | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.6800 | deboost | worse |
| home | SD | batter | LF | Jase Bowen | better | 9 | 5 | 4 | 5 | 4 | predicted_H | 0.6300 | boost | better |
| away | SF | batter | 3B | Christian Koss | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 0.5970 | boost | better |
| home | SD | pitcher | Middle Reliever | Adrian Morejon | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| home | SD | pitcher | Middle Reliever | Mason Miller | 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 | Logan Webb |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0227 |
| ESPN Rank | 91 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0562 |
| Avg Velo | 88.8684 |
| Avg Spin | 2024.4053 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 3 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 3.9328 |
| Season WHIP | 1.1176 |
| Role Avg IP | 6.2630 |
| Recent Avg IP | 5.7330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 119,
"wins": 52,
"losses": 67,
"win_pct": 0.437,
"runs_scored": 518.0,
"runs_allowed": 543.0,
"run_differential": -25.0,
"run_differential_per_game": -0.2101,
"avg_runs_scored": 4.3529,
"avg_runs_allowed": 4.563,
"offense_index": 0.9621,
"defense_index": 0.9916,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.1,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1141
},
"opponent": {
"team": "SD",
"games": 114,
"wins": 57,
"losses": 57,
"win_pct": 0.5,
"runs_scored": 484.0,
"runs_allowed": 510.0,
"run_differential": -26.0,
"run_differential_per_game": -0.2281,
"avg_runs_scored": 4.2456,
"avg_runs_allowed": 4.4737,
"offense_index": 0.9383,
"defense_index": 1.0114,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 3.6,
"run_differential": 31.0
},
"available": true,
"quality_score": 0.0423
},
"edges": {
"quality_edge": -0.1564,
"offense_edge": -0.0379,
"opponent_offense_edge": -0.0617,
"defense_strength": -0.0084,
"opponent_defense_weakness": -0.0114,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.996,
"run_prevention": 0.9988,
"strikeout": 1.0002
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657277",
"profile": {
"available": true,
"pitcher_id": "657277",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 436.0,
"k_percent": 19.2,
"bb_percent": 6.3,
"woba": 0.283,
"xwoba": 0.31,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 39.9,
"avg_best_speed": 76.8306,
"avg_hyper_speed": 94.0595,
"whiff_percent": 20.6,
"swing_percent": 48.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2574,
"command_and_miss": -0.3275,
"regression_edge": -0.7714,
"xwoba_edge": 0.0571,
"barrel_edge": 0.3333,
"hard_hit_edge": -0.2571,
"whiff_edge": -0.7286,
"bb_edge": 0.65,
"pitch_design_score": -0.0562
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657277",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.86844300070544,
"release_spin_rate": 2024.4052835315058,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.86844300070544,
"release_spin_rate": 2024.4052835315058,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.8684,
"release_spin_rate": 2024.4053,
"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.0562,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4016,
"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.0227,
"sample_weight": 1.0,
"run_prevention_factor": 1.0019,
"strikeout_factor": 0.9529,
"walk_factor": 0.948,
"homer_factor": 0.9819,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657277",
"espn_id": 41216,
"player_name": "Logan Webb",
"team": "SF",
"role": "pitcher",
"espn_rank": 91,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 91,
"gp_value": 19.0,
"gp_rank": 327,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 12.0,
"qs_rank": 12,
"era_value": 3.9327,
"era_rank": 41.0,
"w_value": 6.0,
"w_rank": 62,
"l_value": 7.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 119.0,
"ip_rank": 29,
"h_value": 103.0,
"h_rank": 51,
"er_value": 52.0,
"er_rank": 35,
"hr_value": 9.0,
"hr_rank": 133,
"bb_value": 30.0,
"bb_rank": 87,
"k_value": 93.0,
"k_rank": 65,
"k_per_9_value": 7.033613,
"k_per_9_rank": 60,
"whip_value": 1.1176,
"whip_rank": 22.0,
"war_value": 1.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0019,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 1.0019,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.948,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9819,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9529,
"adjusted": 4
}
}
}
}{
"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": 66.2,
"ER": 24,
"H": 48,
"BB": 12,
"SO": 46,
"HR": 5,
"ERA": 3.2399999999999998,
"WHIP": 0.8999999999999999,
"K9": 6.21,
"HR9": 0.6749999999999999,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "657277",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.86844300070544,
"release_spin_rate": 2024.4052835315058,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.86844300070544,
"release_spin_rate": 2024.4052835315058,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.8684,
"release_spin_rate": 2024.4053,
"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.0562,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4016,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 19.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7917,
"prior_weight": 0.2083
},
"role": "pitcher",
"player_id": "657277",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 21.0,
"R": 21.0,
"H": 29.0,
"BB": 8.0,
"SO": 17.0,
"HR": 4.0,
"BF": 125.0,
"Pitches": 477.0
},
"per_game": {
"IP": 5.2,
"ER": 4.2,
"R": 4.2,
"H": 5.8,
"BB": 1.6,
"SO": 3.4,
"HR": 0.8,
"BF": 25.0,
"Pitches": 95.4
},
"rates": {
"ERA": 6.593,
"WHIP": 1.2907,
"ER_per_IP": 0.73256,
"H_per_IP": 1.01163,
"BB_per_IP": 0.27907,
"SO_per_IP": 0.59302,
"HR_per_IP": 0.13953
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 66.2,
"ER": 24.0,
"R": 25.0,
"H": 48.0,
"BB": 12.0,
"SO": 46.0,
"HR": 5.0,
"BF": 258.0,
"Pitches": 972.0
},
"per_game": {
"IP": 6.2,
"ER": 2.4,
"R": 2.5,
"H": 4.8,
"BB": 1.2,
"SO": 4.6,
"HR": 0.5,
"BF": 25.8,
"Pitches": 97.2
},
"rates": {
"ERA": 3.24,
"WHIP": 0.9,
"ER_per_IP": 0.36,
"H_per_IP": 0.72,
"BB_per_IP": 0.18,
"SO_per_IP": 0.69,
"HR_per_IP": 0.075
}
},
"season": {
"games": 19,
"totals": {
"IP": 119.0,
"ER": 52.0,
"R": 55.0,
"H": 103.0,
"BB": 30.0,
"SO": 93.0,
"HR": 9.0,
"BF": 486.0,
"Pitches": 1789.0
},
"per_game": {
"IP": 6.1,
"ER": 2.7368,
"R": 2.8947,
"H": 5.4211,
"BB": 1.5789,
"SO": 4.8947,
"HR": 0.4737,
"BF": 25.5789,
"Pitches": 94.1579
},
"rates": {
"ERA": 3.9328,
"WHIP": 1.1176,
"ER_per_IP": 0.43697,
"H_per_IP": 0.86555,
"BB_per_IP": 0.2521,
"SO_per_IP": 0.78151,
"HR_per_IP": 0.07563
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 3.276,
"predicted_H": 5.509,
"predicted_BB": 1.611,
"predicted_SO": 4.442,
"predicted_HR": 0.698,
"predicted_ERA": 4.8181,
"predicted_WHIP": 1.1636
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.438,
"form_weight": 0.562,
"form_reliability": 0.7917,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7917,
"prior_weight": 0.2083
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 3.276,
"final": 3.1551,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.509,
"final": 6.1621,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.611,
"final": 1.3434,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.442,
"final": 4.2484,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.698,
"final": 0.8303,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8181,
"final": 4.8181,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1636,
"final": 1.1636,
"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 | Erik Miller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3446 |
| ESPN Rank | 208 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1063 |
| Avg Velo | 91.7701 |
| Avg Spin | 2401.4422 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.5851 |
| Season WHIP | 1.3085 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 119,
"wins": 52,
"losses": 67,
"win_pct": 0.437,
"runs_scored": 518.0,
"runs_allowed": 543.0,
"run_differential": -25.0,
"run_differential_per_game": -0.2101,
"avg_runs_scored": 4.3529,
"avg_runs_allowed": 4.563,
"offense_index": 0.9621,
"defense_index": 0.9916,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.1,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1141
},
"opponent": {
"team": "SD",
"games": 114,
"wins": 57,
"losses": 57,
"win_pct": 0.5,
"runs_scored": 484.0,
"runs_allowed": 510.0,
"run_differential": -26.0,
"run_differential_per_game": -0.2281,
"avg_runs_scored": 4.2456,
"avg_runs_allowed": 4.4737,
"offense_index": 0.9383,
"defense_index": 1.0114,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 3.6,
"run_differential": 31.0
},
"available": true,
"quality_score": 0.0423
},
"edges": {
"quality_edge": -0.1564,
"offense_edge": -0.0379,
"opponent_offense_edge": -0.0617,
"defense_strength": -0.0084,
"opponent_defense_weakness": -0.0114,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.996,
"run_prevention": 0.9988,
"strikeout": 1.0002
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669062",
"profile": {
"available": true,
"pitcher_id": "669062",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 125.0,
"k_percent": 32.4,
"bb_percent": 16.2,
"woba": 0.289,
"xwoba": 0.277,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 27.5,
"avg_best_speed": 68.7053,
"avg_hyper_speed": 92.6541,
"whiff_percent": 35.6,
"swing_percent": 38.7
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.7941,
"command_and_miss": 0.7761,
"regression_edge": 0.3429,
"xwoba_edge": 1.0,
"barrel_edge": -0.0667,
"hard_hit_edge": 1.5143,
"whiff_edge": 1.4143,
"bb_edge": -1.825,
"pitch_design_score": 0.1063
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669062",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 91.77006514789245,
"release_spin_rate": 2401.4421954979553,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 91.77006514789245,
"release_spin_rate": 2401.4421954979553,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.7701,
"release_spin_rate": 2401.4422,
"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.1063,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.759,
"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.3446,
"sample_weight": 0.5,
"run_prevention_factor": 0.9707,
"strikeout_factor": 1.057,
"walk_factor": 1.073,
"homer_factor": 0.9574,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669062",
"espn_id": 4152950,
"player_name": "Erik Miller",
"team": "SF",
"role": "pitcher",
"espn_rank": 208,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 208,
"gp_value": 36.0,
"gp_rank": 124,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.8723,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 3.0,
"sv_rank": 53,
"hld_value": 10.0,
"hld_rank": 56,
"ip_value": 31.1,
"ip_rank": 367,
"h_value": 22.0,
"h_rank": 409,
"er_value": 10.0,
"er_rank": 446,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 22.0,
"bb_rank": 174,
"k_value": 44.0,
"k_rank": 245,
"k_per_9_value": 12.638298,
"k_per_9_rank": 18,
"whip_value": 1.4042,
"whip_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0365,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9787,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0285,
"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": 0,
"H": 5,
"BB": 4,
"SO": 15,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.8709677419354839,
"K9": 13.064516129032258,
"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-07-27T00:00:00"
}{
"available": true,
"pitcher_id": "669062",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 91.77006514789245,
"release_spin_rate": 2401.4421954979553,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 91.77006514789245,
"release_spin_rate": 2401.4421954979553,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.7701,
"release_spin_rate": 2401.4422,
"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.1063,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.759,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.244,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5553,
"prior_weight": 0.4447
},
"role": "pitcher",
"player_id": "669062",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 1.6,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.375,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 4.0,
"SO": 15.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.4,
"SO": 1.5,
"HR": 0.0,
"BF": 3.9,
"Pitches": 16.3
},
"rates": {
"ERA": 0.0,
"WHIP": 0.871,
"ER_per_IP": 0.0,
"H_per_IP": 0.48387,
"BB_per_IP": 0.3871,
"SO_per_IP": 1.45161,
"HR_per_IP": 0.0
}
},
"season": {
"games": 35,
"totals": {
"IP": 31.1,
"ER": 9.0,
"R": 9.0,
"H": 21.0,
"BB": 20.0,
"SO": 44.0,
"HR": 2.0,
"BF": 133.0,
"Pitches": 603.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2571,
"R": 0.2571,
"H": 0.6,
"BB": 0.5714,
"SO": 1.2571,
"HR": 0.0571,
"BF": 3.8,
"Pitches": 17.2286
},
"rates": {
"ERA": 2.5851,
"WHIP": 1.3085,
"ER_per_IP": 0.28723,
"H_per_IP": 0.67021,
"BB_per_IP": 0.6383,
"SO_per_IP": 1.40426,
"HR_per_IP": 0.06383
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.257,
"predicted_H": 0.696,
"predicted_BB": 0.398,
"predicted_SO": 1.239,
"predicted_HR": 0.075,
"predicted_ERA": 2.3125,
"predicted_WHIP": 1.0944
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5379,
"form_weight": 0.4621,
"form_reliability": 0.5553,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.244,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5553,
"prior_weight": 0.4447
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.257,
"final": 0.1188,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.696,
"final": 0.3216,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.398,
"final": 0.1839,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.239,
"final": 1.1104,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0347,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3125,
"final": 2.3125,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0944,
"final": 1.0944,
"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 | Caleb Kilian |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2874 |
| ESPN Rank | 368 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1079 |
| Avg Velo | 91.7987 |
| Avg Spin | 2479.7791 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.8268 |
| Season WHIP | 1.2520 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 119,
"wins": 52,
"losses": 67,
"win_pct": 0.437,
"runs_scored": 518.0,
"runs_allowed": 543.0,
"run_differential": -25.0,
"run_differential_per_game": -0.2101,
"avg_runs_scored": 4.3529,
"avg_runs_allowed": 4.563,
"offense_index": 0.9621,
"defense_index": 0.9916,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.1,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1141
},
"opponent": {
"team": "SD",
"games": 114,
"wins": 57,
"losses": 57,
"win_pct": 0.5,
"runs_scored": 484.0,
"runs_allowed": 510.0,
"run_differential": -26.0,
"run_differential_per_game": -0.2281,
"avg_runs_scored": 4.2456,
"avg_runs_allowed": 4.4737,
"offense_index": 0.9383,
"defense_index": 1.0114,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 3.6,
"run_differential": 31.0
},
"available": true,
"quality_score": 0.0423
},
"edges": {
"quality_edge": -0.1564,
"offense_edge": -0.0379,
"opponent_offense_edge": -0.0617,
"defense_strength": -0.0084,
"opponent_defense_weakness": -0.0114,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.996,
"run_prevention": 0.9988,
"strikeout": 1.0002
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668873",
"profile": {
"available": true,
"pitcher_id": "668873",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 171.0,
"k_percent": 27.1,
"bb_percent": 9.9,
"woba": 0.291,
"xwoba": 0.283,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 34.8,
"avg_best_speed": 76.3522,
"avg_hyper_speed": 93.3221,
"whiff_percent": 27.8,
"swing_percent": 48.9
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.5268,
"command_and_miss": 0.3604,
"regression_edge": 0.2286,
"xwoba_edge": 0.8286,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.4714,
"whiff_edge": 0.3,
"bb_edge": -0.25,
"pitch_design_score": 0.1079
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668873",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.79874133325703,
"release_spin_rate": 2479.7791037609086,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 91.79874133325703,
"release_spin_rate": 2479.7791037609086,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.7987,
"release_spin_rate": 2479.7791,
"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.1079,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7705,
"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.2874,
"sample_weight": 0.684,
"run_prevention_factor": 0.9756,
"strikeout_factor": 1.0268,
"walk_factor": 1.0137,
"homer_factor": 0.9713,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668873",
"espn_id": 4875969,
"player_name": "Caleb Kilian",
"team": "SF",
"role": "pitcher",
"espn_rank": 368,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 368,
"gp_value": 43.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.4645,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 6.0,
"l_rank": 63,
"sv_value": 8.0,
"sv_rank": 27,
"hld_value": 3.0,
"hld_rank": 179,
"ip_value": 42.1,
"ip_rank": 268,
"h_value": 38.0,
"h_rank": 248,
"er_value": 21.0,
"er_rank": 219,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 19.0,
"bb_rank": 216,
"k_value": 50.0,
"k_rank": 200,
"k_per_9_value": 10.629921,
"k_per_9_rank": 20,
"whip_value": 1.3464,
"whip_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9833,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9833,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0094,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9804,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0183,
"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.1,
"ER": 3,
"H": 9,
"BB": 1,
"SO": 10,
"HR": 0,
"ERA": 3.2400000000000007,
"WHIP": 1.2000000000000002,
"K9": 10.8,
"HR9": 0.0,
"games_pitched": 9,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "668873",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.79874133325703,
"release_spin_rate": 2479.7791037609086,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 91.79874133325703,
"release_spin_rate": 2479.7791037609086,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.7987,
"release_spin_rate": 2479.7791,
"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.1079,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7705,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.436,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6279,
"prior_weight": 0.3721
},
"role": "pitcher",
"player_id": "668873",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.2
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.9231,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 7.0,
"R": 7.0,
"H": 13.0,
"BB": 2.0,
"SO": 11.0,
"HR": 0.0,
"BF": 44.0,
"Pitches": 155.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.3,
"BB": 0.2,
"SO": 1.1,
"HR": 0.0,
"BF": 4.4,
"Pitches": 15.5
},
"rates": {
"ERA": 7.0,
"WHIP": 1.6667,
"ER_per_IP": 0.77778,
"H_per_IP": 1.44444,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.22222,
"HR_per_IP": 0.0
}
},
"season": {
"games": 42,
"totals": {
"IP": 42.1,
"ER": 18.0,
"R": 20.0,
"H": 35.0,
"BB": 18.0,
"SO": 50.0,
"HR": 5.0,
"BF": 182.0,
"Pitches": 674.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4286,
"R": 0.4762,
"H": 0.8333,
"BB": 0.4286,
"SO": 1.1905,
"HR": 0.119,
"BF": 4.3333,
"Pitches": 16.0476
},
"rates": {
"ERA": 3.8268,
"WHIP": 1.252,
"ER_per_IP": 0.4252,
"H_per_IP": 0.82677,
"BB_per_IP": 0.4252,
"SO_per_IP": 1.1811,
"HR_per_IP": 0.11811
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.359,
"predicted_H": 0.737,
"predicted_BB": 0.225,
"predicted_SO": 0.729,
"predicted_HR": 0.054,
"predicted_ERA": 4.3005,
"predicted_WHIP": 1.28
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5072,
"form_weight": 0.4928,
"form_reliability": 0.6279,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.436,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6279,
"prior_weight": 0.3721
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.359,
"final": 1.1913,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.737,
"final": 1.3776,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.225,
"final": 0.1109,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.729,
"final": 0.3592,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.054,
"final": 0.5338,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3005,
"final": 4.3005,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.28,
"final": 1.28,
"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.174 | 0.000 | 0.000 | Hitting_2B | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_AB | 4.660 | 4.000 | 5.000 | Hitting_AB | 3.996 | 5.000 | 0.004 | -1.000 |
| predicted_AVG | 0.285 | 0.250 | 0.200 | Hitting_AVG | 0.263 | 0.800 | -0.013 | -0.550 |
| predicted_BB | 0.188 | 0.000 | 0.000 | Hitting_BB | 0.188 | 1.000 | -0.188 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 1.000 | -0.004 | -1.000 |
| predicted_H | 1.330 | 1.000 | 1.000 | Hitting_H | 1.053 | 4.000 | -0.053 | -3.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_OBP | 0.297 | 0.250 | 0.200 | Hitting_OBP | 0.296 | 0.833 | -0.046 | -0.583 |
| predicted_R | 0.493 | 0.000 | 0.000 | Hitting_R | 0.564 | 1.000 | -0.564 | -1.000 |
| predicted_RBI | 0.750 | 0.000 | 1.000 | Hitting_RBI | 0.575 | 3.000 | -0.575 | -3.000 |
| predicted_SLG | 0.394 | 0.250 | 0.200 | Hitting_SLG | 0.457 | 0.800 | -0.207 | -0.550 |
| predicted_SO | 1.101 | 0.000 | 1.000 | Hitting_SO | 1.195 | 0.000 | -1.195 | 0.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_SLG: 0.3940 -> 0.4126 (boost 0.0186, better) |
| Biggest Deboost | predicted_SO: 1.1010 -> 0.0000 (deboost -1.1010, 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 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.6600 -> 4.3962 (deboost -0.2638, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3882 -> 0.4126 (boost 0.0244, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.3962 -> 5.0000 (boost 0.6038, better) | predicted_BB: 0.2061 -> 0.0000 (deboost -0.2061, worse) | AB rounded to 5 (raw=4.66), rates preserved: AVG=0.255 HR/AB=0.029 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4567 -> 0.0000 (deboost -0.4567, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4126 -> 0.2000 (deboost -0.2126, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | 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.4126 (boost 0.2126, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671218",
"player_name": "Heliot Ramos",
"position": "LF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.043,
"predicted_AB": 4.66,
"predicted_AVG": 0.285,
"predicted_BB": 0.188,
"predicted_H": 1.33,
"predicted_HR": 0.16,
"predicted_OBP": 0.297,
"predicted_R": 0.493,
"predicted_RBI": 0.75,
"predicted_SLG": 0.394,
"predicted_SO": 1.101
},
"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.1495,
"predicted_3B": 0.0358,
"predicted_AB": 4.3962,
"predicted_AVG": 0.275,
"predicted_BB": 0.2074,
"predicted_H": 1.2135,
"predicted_HBP": 0.029,
"predicted_HR": 0.1364,
"predicted_OBP": 0.3007,
"predicted_R": 0.4732,
"predicted_RBI": 0.6571,
"predicted_SLG": 0.3882,
"predicted_SO": 1.0778
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.1495,
"delta": -0.0245,
"percent_delta": -0.1408,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0358,
"delta": -0.0072,
"percent_delta": -0.1674,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.66,
"after": 4.3962,
"delta": -0.2638,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.275,
"delta": -0.01,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 0.2074,
"delta": 0.0194,
"percent_delta": 0.1032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.33,
"after": 1.2135,
"delta": -0.1165,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1364,
"delta": -0.0236,
"percent_delta": -0.1475,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3007,
"delta": 0.0037,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 0.4732,
"delta": -0.0198,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 0.6571,
"delta": -0.0929,
"percent_delta": -0.1239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3882,
"delta": -0.0058,
"percent_delta": -0.0147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.101,
"after": 1.0778,
"delta": -0.0232,
"percent_delta": -0.0211,
"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.66,
"after": 4.3962,
"delta": -0.2638,
"percent_delta": -0.0566,
"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.1495,
"predicted_3B": 0.0358,
"predicted_AB": 4.3962,
"predicted_AVG": 0.2705,
"predicted_BB": 0.2061,
"predicted_H": 1.1892,
"predicted_HBP": 0.029,
"predicted_HR": 0.1346,
"predicted_OBP": 0.3032,
"predicted_R": 0.4567,
"predicted_RBI": 0.6342,
"predicted_SLG": 0.4126,
"predicted_SO": 1.0845
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1495,
"after": 0.1495,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0358,
"after": 0.0358,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3962,
"after": 4.3962,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2705,
"delta": -0.0045,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2074,
"after": 0.2061,
"delta": -0.0013,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2135,
"after": 1.1892,
"delta": -0.0243,
"percent_delta": -0.02,
"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.1364,
"after": 0.1346,
"delta": -0.0018,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3007,
"after": 0.3032,
"delta": 0.0025,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4732,
"after": 0.4567,
"delta": -0.0165,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6571,
"after": 0.6342,
"delta": -0.0229,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3882,
"after": 0.4126,
"delta": 0.0244,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0778,
"after": 1.0845,
"delta": 0.0067,
"percent_delta": 0.0062,
"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_SLG",
"before": 0.3882,
"after": 0.4126,
"delta": 0.0244,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.66), rates preserved: AVG=0.255 HR/AB=0.029",
"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.1495,
"after": 0.0,
"delta": -0.1495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0358,
"after": 0.0,
"delta": -0.0358,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3962,
"after": 5.0,
"delta": 0.6038,
"percent_delta": 0.1373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2061,
"after": 0.0,
"delta": -0.2061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1892,
"after": 1.0,
"delta": -0.1892,
"percent_delta": -0.1591,
"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.1346,
"after": 0.0,
"delta": -0.1346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6342,
"after": 1.0,
"delta": 0.3658,
"percent_delta": 0.5768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0845,
"after": 1.0,
"delta": -0.0845,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3962,
"after": 5.0,
"delta": 0.6038,
"percent_delta": 0.1373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2061,
"after": 0.0,
"delta": -0.2061,
"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.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.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": 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": 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.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": 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.4567,
"after": 0.0,
"delta": -0.4567,
"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.4567,
"after": 0.0,
"delta": -0.4567,
"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": 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.2705,
"after": 0.2,
"delta": -0.0705,
"percent_delta": -0.2606,
"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.3032,
"after": 0.2,
"delta": -0.1032,
"percent_delta": -0.3404,
"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.4126,
"after": 0.2,
"delta": -0.2126,
"percent_delta": -0.5153,
"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.4126,
"after": 0.2,
"delta": -0.2126,
"percent_delta": -0.5153,
"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": 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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"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.2705,
"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.3032,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4126,
"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.2,
"after": 0.2705,
"delta": 0.0705,
"percent_delta": 0.3526,
"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.3032,
"delta": 0.1032,
"percent_delta": 0.5159,
"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.4126,
"delta": 0.2126,
"percent_delta": 1.0632,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4126,
"delta": 0.2126,
"percent_delta": 1.0632,
"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.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.66,
"after": 4.0,
"delta": -0.66,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.2705,
"delta": -0.0145,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.33,
"after": 1.0,
"delta": -0.33,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3032,
"delta": 0.0062,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 0.0,
"delta": -0.493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.4126,
"delta": 0.0186,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.101,
"after": 0.0,
"delta": -1.101,
"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_SLG",
"before": 0.394,
"after": 0.4126,
"delta": 0.0186,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.101,
"after": 0.0,
"delta": -1.101,
"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.174 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 4.660 | - |
| predicted_AVG | 0.285 | - |
| predicted_BB | 0.188 | - |
| predicted_H | 1.330 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.493 | - |
| predicted_RBI | 0.750 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 1.101 | - |
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.149 | -0.024 |
| predicted_3B | 0.036 | -0.007 |
| predicted_AB | 4.396 | -0.264 |
| predicted_AVG | 0.275 | -0.010 |
| predicted_BB | 0.207 | 0.019 |
| predicted_H | 1.214 | -0.117 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.136 | -0.024 |
| predicted_OBP | 0.301 | 0.004 |
| predicted_R | 0.473 | -0.020 |
| predicted_RBI | 0.657 | -0.093 |
| predicted_SLG | 0.388 | -0.006 |
| predicted_SO | 1.078 | -0.023 |
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.149 | 0.000 |
| predicted_3B | 0.036 | 0.000 |
| predicted_AB | 4.396 | 0.000 |
| predicted_AVG | 0.271 | -0.005 |
| predicted_BB | 0.206 | -0.001 |
| predicted_H | 1.189 | -0.024 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.135 | -0.002 |
| predicted_OBP | 0.303 | 0.003 |
| predicted_R | 0.457 | -0.017 |
| predicted_RBI | 0.634 | -0.023 |
| predicted_SLG | 0.413 | 0.024 |
| predicted_SO | 1.085 | 0.007 |
AB rounded to 5 (raw=4.66), rates preserved: AVG=0.255 HR/AB=0.029
| 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 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
| 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 |
| 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 | 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.149 |
| predicted_3B | 0.000 | -0.036 |
| predicted_AB | 5.000 | 0.604 |
| predicted_AVG | 0.200 | -0.071 |
| predicted_BB | 0.000 | -0.206 |
| predicted_H | 1.000 | -0.189 |
| predicted_HR | 0.000 | -0.135 |
| predicted_OBP | 0.200 | -0.103 |
| predicted_R | 0.000 | -0.457 |
| predicted_RBI | 1.000 | 0.366 |
| predicted_SLG | 0.200 | -0.213 |
| predicted_SO | 1.000 | -0.085 |
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 | -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 | 7.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 4.000 | 0.3182 | 0.3750 | 0.3182 | 0.3182 | 0.0000 | 0.1364 | 0.0909 | 0.1818 |
| last_10 | 0.20 | 10 | - | 42.000 | 9.000 | 0.000 | 0.000 | 1.000 | 6.000 | 3.000 | 2.000 | 12.000 | 0.2143 | 0.2667 | 0.2857 | 0.2143 | 0.0238 | 0.1429 | 0.0476 | 0.2857 |
| season | 0.60 | 69 | - | 269.000 | 70.000 | 12.000 | 3.000 | 9.000 | 34.000 | 34.000 | 13.000 | 76.000 | 0.2602 | 0.2958 | 0.4275 | 0.2602 | 0.0335 | 0.1264 | 0.0483 | 0.2825 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0260 |
| predicted_AB | 4.0350 |
| predicted_AVG | 0.2612 |
| predicted_BB | 0.2340 |
| predicted_H | 1.0540 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.1040 |
| predicted_OBP | 0.3058 |
| predicted_R | 0.4460 |
| predicted_RBI | 0.5300 |
| predicted_SLG | 0.3803 |
| predicted_SO | 1.0460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.1160 | 0.1495 | model_form_blend |
| predicted_3B | 0.0430 | 0.0260 | 0.0358 | model_form_blend |
| predicted_AB | 4.6600 | 4.0350 | 4.3962 | model_form_blend |
| predicted_AVG | 0.2850 | 0.2612 | 0.2750 | model_form_blend |
| predicted_BB | 0.1880 | 0.2340 | 0.2074 | model_form_blend |
| predicted_H | 1.3300 | 1.0540 | 1.2135 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.1600 | 0.1040 | 0.1364 | model_form_blend |
| predicted_OBP | 0.2970 | 0.3058 | 0.3007 | model_form_blend |
| predicted_R | 0.4930 | 0.4460 | 0.4732 | model_form_blend |
| predicted_RBI | 0.7500 | 0.5300 | 0.6571 | model_form_blend |
| predicted_SLG | 0.3940 | 0.3803 | 0.3882 | model_form_blend |
| predicted_SO | 1.1010 | 1.0460 | 1.0778 | 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 | 266 |
| Season rows before report date | 266 |
| 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 | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| 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.8 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| 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 | LF |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 671218 |
| playerID | 671218 |
| playerName | Heliot Ramos |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.9 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.311 |
| sl_xwoba | 0.327 |
| sl_xba | 0.264 |
| sl_xslg | 0.464 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 14.7 |
| sl_hard_hit_percent | 48.7 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 6.2 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 54.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.228 | 0.000 | 0.000 | Hitting_2B | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_3B | 0.069 | 0.000 | 0.000 | Hitting_3B | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_AB | 5.530 | 4.000 | 6.000 | Hitting_AB | 4.073 | 5.000 | -0.073 | -1.000 |
| predicted_AVG | 0.365 | 0.500 | 0.333 | Hitting_AVG | 0.329 | 0.800 | 0.171 | -0.300 |
| predicted_BB | 0.248 | 0.000 | 0.000 | Hitting_BB | 0.283 | 0.000 | -0.283 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 2.020 | 2.000 | 2.000 | Hitting_H | 1.342 | 4.000 | 0.658 | -2.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_OBP | 0.388 | 0.500 | 0.333 | Hitting_OBP | 0.369 | 0.800 | 0.131 | -0.300 |
| predicted_R | 0.505 | 1.000 | 1.000 | Hitting_R | 0.546 | 1.000 | 0.454 | 0.000 |
| predicted_RBI | 0.880 | 1.000 | 1.000 | Hitting_RBI | 0.445 | 2.000 | 0.555 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.087 | 1.000 | -0.087 | -1.000 |
| predicted_SLG | 0.464 | 0.500 | 0.333 | Hitting_SLG | 0.457 | 0.800 | 0.043 | -0.300 |
| predicted_SO | 0.188 | 0.000 | 1.000 | Hitting_SO | 0.192 | 0.000 | -0.192 | 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 | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.5050 -> 1.0000 (boost 0.4950, better) |
| Biggest Deboost | predicted_AB: 5.5300 -> 4.0000 (deboost -1.5300, 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 | 1 | 4 | 0 | 5 | predicted_SO: 0.1880 -> 0.2406 (boost 0.0526, worse) | predicted_AB: 5.5300 -> 4.9060 (deboost -0.6240, 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.4588 -> 0.4417 (deboost -0.0171, 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_AB: 4.9060 -> 6.0000 (boost 1.0940, better) | predicted_2B: 0.2224 -> 0.0000 (deboost -0.2224, worse) | AB rounded to 6 (raw=5.53), rates preserved: AVG=0.314 HR/AB=0.006 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5011 -> 1.0000 (boost 0.4989, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4417 -> 0.3330 (deboost -0.1087, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_AB: 6.0000 -> 4.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.3330 -> 0.4417 (boost 0.1087, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650333",
"player_name": "Luis Arraez",
"position": "2B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.228,
"predicted_3B": 0.069,
"predicted_AB": 5.53,
"predicted_AVG": 0.365,
"predicted_BB": 0.248,
"predicted_H": 2.02,
"predicted_HR": 0.03,
"predicted_OBP": 0.388,
"predicted_R": 0.505,
"predicted_RBI": 0.88,
"predicted_SLG": 0.464,
"predicted_SO": 0.188
},
"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.2224,
"predicted_3B": 0.0569,
"predicted_AB": 4.906,
"predicted_AVG": 0.3609,
"predicted_BB": 0.2182,
"predicted_H": 1.7746,
"predicted_HBP": 0.019,
"predicted_HR": 0.0309,
"predicted_OBP": 0.3847,
"predicted_R": 0.5192,
"predicted_RBI": 0.7709,
"predicted_SLG": 0.4588,
"predicted_SO": 0.2406
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.228,
"after": 0.2224,
"delta": -0.0056,
"percent_delta": -0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.069,
"after": 0.0569,
"delta": -0.0121,
"percent_delta": -0.1754,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.53,
"after": 4.906,
"delta": -0.624,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.365,
"after": 0.3609,
"delta": -0.0041,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.248,
"after": 0.2182,
"delta": -0.0298,
"percent_delta": -0.1202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.02,
"after": 1.7746,
"delta": -0.2454,
"percent_delta": -0.1215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0309,
"delta": 0.0009,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.3847,
"delta": -0.0033,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.5192,
"delta": 0.0142,
"percent_delta": 0.0281,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.88,
"after": 0.7709,
"delta": -0.1091,
"percent_delta": -0.124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.4588,
"delta": -0.0052,
"percent_delta": -0.0112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.188,
"after": 0.2406,
"delta": 0.0526,
"percent_delta": 0.2798,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.188,
"after": 0.2406,
"delta": 0.0526,
"percent_delta": 0.2798,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.53,
"after": 4.906,
"delta": -0.624,
"percent_delta": -0.1128,
"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.2224,
"predicted_3B": 0.0569,
"predicted_AB": 4.906,
"predicted_AVG": 0.3545,
"predicted_BB": 0.2168,
"predicted_H": 1.7391,
"predicted_HBP": 0.019,
"predicted_HR": 0.0305,
"predicted_OBP": 0.3818,
"predicted_R": 0.5011,
"predicted_RBI": 0.744,
"predicted_SLG": 0.4417,
"predicted_SO": 0.2421
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2224,
"after": 0.2224,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0569,
"after": 0.0569,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.906,
"after": 4.906,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3609,
"after": 0.3545,
"delta": -0.0064,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2182,
"after": 0.2168,
"delta": -0.0014,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7746,
"after": 1.7391,
"delta": -0.0355,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0309,
"after": 0.0305,
"delta": -0.0004,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3847,
"after": 0.3818,
"delta": -0.0029,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5192,
"after": 0.5011,
"delta": -0.0181,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7709,
"after": 0.744,
"delta": -0.0269,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4588,
"after": 0.4417,
"delta": -0.0171,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2406,
"after": 0.2421,
"delta": 0.0015,
"percent_delta": 0.0062,
"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.4588,
"after": 0.4417,
"delta": -0.0171,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.53), rates preserved: AVG=0.314 HR/AB=0.006",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 2.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.2224,
"after": 0.0,
"delta": -0.2224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0569,
"after": 0.0,
"delta": -0.0569,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.906,
"after": 6.0,
"delta": 1.094,
"percent_delta": 0.223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2168,
"after": 0.0,
"delta": -0.2168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7391,
"after": 2.0,
"delta": 0.2609,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0305,
"after": 0.0,
"delta": -0.0305,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.744,
"after": 1.0,
"delta": 0.256,
"percent_delta": 0.3441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2421,
"after": 1.0,
"delta": 0.7579,
"percent_delta": 3.1305,
"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_AB",
"before": 4.906,
"after": 6.0,
"delta": 1.094,
"percent_delta": 0.223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2224,
"after": 0.0,
"delta": -0.2224,
"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": 6.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": 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": 6.0,
"after": 6.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": 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_R",
"before": 0.5011,
"after": 1.0,
"delta": 0.4989,
"percent_delta": 0.9956,
"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.5011,
"after": 1.0,
"delta": 0.4989,
"percent_delta": 0.9956,
"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": 6.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3545,
"after": 0.333,
"delta": -0.0215,
"percent_delta": -0.0606,
"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": 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_OBP",
"before": 0.3818,
"after": 0.333,
"delta": -0.0488,
"percent_delta": -0.1278,
"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.4417,
"after": 0.333,
"delta": -0.1087,
"percent_delta": -0.2461,
"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.4417,
"after": 0.333,
"delta": -0.1087,
"percent_delta": -0.2461,
"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": 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": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"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_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": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"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.3545,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3818,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4417,
"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.3545,
"delta": 0.0215,
"percent_delta": 0.0645,
"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": 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.3818,
"delta": 0.0488,
"percent_delta": 0.1466,
"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.4417,
"delta": 0.1087,
"percent_delta": 0.3263,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4417,
"delta": 0.1087,
"percent_delta": 0.3263,
"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.228,
"after": 0.0,
"delta": -0.228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.53,
"after": 4.0,
"delta": -1.53,
"percent_delta": -0.2767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.365,
"after": 0.3545,
"delta": -0.0105,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.248,
"after": 0.0,
"delta": -0.248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.02,
"after": 2.0,
"delta": -0.02,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.3818,
"delta": -0.0062,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 1.0,
"delta": 0.495,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.4417,
"delta": -0.0223,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.505,
"after": 1.0,
"delta": 0.495,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.53,
"after": 4.0,
"delta": -1.53,
"percent_delta": -0.2767,
"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.228 | - |
| predicted_3B | 0.069 | - |
| predicted_AB | 5.530 | - |
| predicted_AVG | 0.365 | - |
| predicted_BB | 0.248 | - |
| predicted_H | 2.020 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.388 | - |
| predicted_R | 0.505 | - |
| predicted_RBI | 0.880 | - |
| predicted_SLG | 0.464 | - |
| predicted_SO | 0.188 | - |
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.222 | -0.006 |
| predicted_3B | 0.057 | -0.012 |
| predicted_AB | 4.906 | -0.624 |
| predicted_AVG | 0.361 | -0.004 |
| predicted_BB | 0.218 | -0.030 |
| predicted_H | 1.775 | -0.245 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.031 | 0.001 |
| predicted_OBP | 0.385 | -0.003 |
| predicted_R | 0.519 | 0.014 |
| predicted_RBI | 0.771 | -0.109 |
| predicted_SLG | 0.459 | -0.005 |
| predicted_SO | 0.241 | 0.053 |
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.222 | 0.000 |
| predicted_3B | 0.057 | 0.000 |
| predicted_AB | 4.906 | 0.000 |
| predicted_AVG | 0.354 | -0.006 |
| predicted_BB | 0.217 | -0.001 |
| predicted_H | 1.739 | -0.035 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.030 | -0.000 |
| predicted_OBP | 0.382 | -0.003 |
| predicted_R | 0.501 | -0.018 |
| predicted_RBI | 0.744 | -0.027 |
| predicted_SLG | 0.442 | -0.017 |
| predicted_SO | 0.242 | 0.002 |
AB rounded to 6 (raw=5.53), rates preserved: AVG=0.314 HR/AB=0.006
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 2.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 | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.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.222 |
| predicted_3B | 0.000 | -0.057 |
| predicted_AB | 6.000 | 1.094 |
| predicted_AVG | 0.333 | -0.021 |
| predicted_BB | 0.000 | -0.217 |
| predicted_H | 2.000 | 0.261 |
| predicted_HR | 0.000 | -0.030 |
| predicted_OBP | 0.333 | -0.049 |
| predicted_R | 1.000 | 0.499 |
| predicted_RBI | 1.000 | 0.256 |
| predicted_SLG | 0.333 | -0.109 |
| predicted_SO | 1.000 | 0.758 |
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 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.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 | - | 22.000 | 10.000 | 1.000 | 0.000 | 0.000 | 6.000 | 4.000 | 0.000 | 2.000 | 0.4545 | 0.4545 | 0.5000 | 0.4546 | 0.0000 | 0.2727 | 0.0000 | 0.0909 |
| last_10 | 0.20 | 10 | - | 42.000 | 15.000 | 2.000 | 0.000 | 0.000 | 8.000 | 4.000 | 1.000 | 4.000 | 0.3571 | 0.3636 | 0.4048 | 0.3571 | 0.0000 | 0.1905 | 0.0238 | 0.0952 |
| season | 0.60 | 101 | - | 401.000 | 134.000 | 23.000 | 7.000 | 4.000 | 42.000 | 51.000 | 25.000 | 19.000 | 0.3342 | 0.3699 | 0.4564 | 0.3342 | 0.0100 | 0.1047 | 0.0623 | 0.0474 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2150 |
| predicted_3B | 0.0410 |
| predicted_AB | 4.0830 |
| predicted_AVG | 0.3555 |
| predicted_BB | 0.1790 |
| predicted_H | 1.4510 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0320 |
| predicted_OBP | 0.3804 |
| predicted_R | 0.5380 |
| predicted_RBI | 0.6270 |
| predicted_SLG | 0.4519 |
| predicted_SO | 0.3100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2280 | 0.2150 | 0.2224 | model_form_blend |
| predicted_3B | 0.0690 | 0.0410 | 0.0569 | model_form_blend |
| predicted_AB | 5.5300 | 4.0830 | 4.9060 | model_form_blend |
| predicted_AVG | 0.3650 | 0.3555 | 0.3609 | model_form_blend |
| predicted_BB | 0.2480 | 0.1790 | 0.2182 | model_form_blend |
| predicted_H | 2.0200 | 1.4510 | 1.7746 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0300 | 0.0320 | 0.0309 | model_form_blend |
| predicted_OBP | 0.3880 | 0.3804 | 0.3847 | model_form_blend |
| predicted_R | 0.5050 | 0.5380 | 0.5192 | model_form_blend |
| predicted_RBI | 0.8800 | 0.6270 | 0.7709 | model_form_blend |
| predicted_SLG | 0.4640 | 0.4519 | 0.4588 | model_form_blend |
| predicted_SO | 0.1880 | 0.3100 | 0.2406 | 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 | 427 |
| Season rows before report date | 427 |
| 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 | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.334 |
| 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.8 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| 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 | 2B |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 650333 |
| playerID | 650333 |
| playerName | Luis Arraez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 4.5 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.347 |
| sl_xwoba | 0.302 |
| sl_xba | 0.284 |
| sl_xslg | 0.369 |
| sl_sweet_spot_percent | 40.2 |
| sl_barrel_batted_rate | 0.5 |
| sl_hard_hit_percent | 20.4 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 7.9 |
| 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.212 | 0.000 | 0.000 | Hitting_2B | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.400 | 4.000 | 4.000 | Hitting_AB | 3.593 | 5.000 | 0.407 | -1.000 |
| predicted_AVG | 0.194 | 0.000 | 0.250 | Hitting_AVG | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_BB | 0.561 | 0.000 | 1.000 | Hitting_BB | 0.549 | 1.000 | -0.549 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 0.000 | 1.000 | Hitting_H | 0.988 | 0.000 | -0.988 | 0.000 |
| predicted_HR | 0.350 | 0.000 | 0.000 | Hitting_HR | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_OBP | 0.305 | 0.000 | 0.400 | Hitting_OBP | 0.370 | 0.167 | -0.370 | -0.167 |
| predicted_R | 0.530 | 0.000 | 1.000 | Hitting_R | 0.569 | 2.000 | -0.569 | -2.000 |
| predicted_RBI | 0.690 | 0.000 | 1.000 | Hitting_RBI | 0.427 | 1.000 | -0.427 | -1.000 |
| predicted_SLG | 0.459 | 0.000 | 0.250 | Hitting_SLG | 0.503 | 0.000 | -0.503 | 0.000 |
| predicted_SO | 1.076 | 1.000 | 1.000 | Hitting_SO | 1.057 | 1.000 | -0.057 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, 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 | 0 | 6 | predicted_SO: 1.0760 -> 1.1462 (boost 0.0702, worse) | predicted_AB: 4.4000 -> 4.0350 (deboost -0.3650, 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 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4269 -> 0.4391 (boost 0.0122, better) | predicted_OBP: 0.3079 -> 0.2917 (deboost -0.0162, 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 | 4 | 2 | predicted_RBI: 0.5645 -> 1.0000 (boost 0.4355, better) | predicted_HR: 0.2731 -> 0.0000 (deboost -0.2731, worse) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.174 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5209 -> 1.0000 (boost 0.4791, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2917 -> 0.4000 (boost 0.1083, better) | predicted_SLG: 0.4391 -> 0.2500 (deboost -0.1891, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | 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.4391 (boost 0.1891, better) | predicted_OBP: 0.4000 -> 0.2917 (deboost -0.1083, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "DH",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.0,
"predicted_AB": 4.4,
"predicted_AVG": 0.194,
"predicted_BB": 0.561,
"predicted_H": 0.86,
"predicted_HR": 0.35,
"predicted_OBP": 0.305,
"predicted_R": 0.53,
"predicted_RBI": 0.69,
"predicted_SLG": 0.459,
"predicted_SO": 1.076
},
"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.1868,
"predicted_3B": 0.0004,
"predicted_AB": 4.035,
"predicted_AVG": 0.1923,
"predicted_BB": 0.5854,
"predicted_H": 0.7805,
"predicted_HBP": 0.003,
"predicted_HR": 0.2768,
"predicted_OBP": 0.3079,
"predicted_R": 0.5397,
"predicted_RBI": 0.5849,
"predicted_SLG": 0.4269,
"predicted_SO": 1.1462
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.1868,
"delta": -0.0252,
"percent_delta": -0.1189,
"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.4,
"after": 4.035,
"delta": -0.365,
"percent_delta": -0.083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.1923,
"delta": -0.0017,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.561,
"after": 0.5854,
"delta": 0.0244,
"percent_delta": 0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.7805,
"delta": -0.0795,
"percent_delta": -0.0924,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.35,
"after": 0.2768,
"delta": -0.0732,
"percent_delta": -0.2091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3079,
"delta": 0.0029,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.53,
"after": 0.5397,
"delta": 0.0097,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.5849,
"delta": -0.1051,
"percent_delta": -0.1523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4269,
"delta": -0.0321,
"percent_delta": -0.0699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.076,
"after": 1.1462,
"delta": 0.0702,
"percent_delta": 0.0652,
"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": 1.076,
"after": 1.1462,
"delta": 0.0702,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.035,
"delta": -0.365,
"percent_delta": -0.083,
"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.1868,
"predicted_3B": 0.0004,
"predicted_AB": 4.035,
"predicted_AVG": 0.1896,
"predicted_BB": 0.5818,
"predicted_H": 0.7649,
"predicted_HBP": 0.003,
"predicted_HR": 0.2731,
"predicted_OBP": 0.2917,
"predicted_R": 0.5209,
"predicted_RBI": 0.5645,
"predicted_SLG": 0.4391,
"predicted_SO": 1.1533
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1868,
"after": 0.1868,
"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.035,
"after": 4.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1923,
"after": 0.1896,
"delta": -0.0027,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5854,
"after": 0.5818,
"delta": -0.0036,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7805,
"after": 0.7649,
"delta": -0.0156,
"percent_delta": -0.02,
"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.2768,
"after": 0.2731,
"delta": -0.0037,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3079,
"after": 0.2917,
"delta": -0.0162,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5397,
"after": 0.5209,
"delta": -0.0188,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5849,
"after": 0.5645,
"delta": -0.0204,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4269,
"after": 0.4391,
"delta": 0.0122,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1462,
"after": 1.1533,
"delta": 0.0071,
"percent_delta": 0.0062,
"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_SLG",
"before": 0.4269,
"after": 0.4391,
"delta": 0.0122,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3079,
"after": 0.2917,
"delta": -0.0162,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.174 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.1868,
"after": 0.0,
"delta": -0.1868,
"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.035,
"after": 4.0,
"delta": -0.035,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5818,
"after": 1.0,
"delta": 0.4182,
"percent_delta": 0.7188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7649,
"after": 1.0,
"delta": 0.2351,
"percent_delta": 0.3074,
"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.2731,
"after": 0.0,
"delta": -0.2731,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5645,
"after": 1.0,
"delta": 0.4355,
"percent_delta": 0.7715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1533,
"after": 1.0,
"delta": -0.1533,
"percent_delta": -0.1329,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5645,
"after": 1.0,
"delta": 0.4355,
"percent_delta": 0.7715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2731,
"after": 0.0,
"delta": -0.2731,
"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.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"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.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"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.1896,
"after": 0.25,
"delta": 0.0604,
"percent_delta": 0.3186,
"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.2917,
"after": 0.4,
"delta": 0.1083,
"percent_delta": 0.3713,
"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.4391,
"after": 0.25,
"delta": -0.1891,
"percent_delta": -0.4307,
"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.2917,
"after": 0.4,
"delta": 0.1083,
"percent_delta": 0.3713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4391,
"after": 0.25,
"delta": -0.1891,
"percent_delta": -0.4307,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"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": 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.1896,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2917,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4391,
"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.1896,
"delta": -0.0604,
"percent_delta": -0.2417,
"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.2917,
"delta": -0.1083,
"percent_delta": -0.2708,
"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.4391,
"delta": 0.1891,
"percent_delta": 0.7563,
"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.4391,
"delta": 0.1891,
"percent_delta": 0.7563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.2917,
"delta": -0.1083,
"percent_delta": -0.2708,
"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.212,
"after": 0.0,
"delta": -0.212,
"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.4,
"after": 4.0,
"delta": -0.4,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.1896,
"delta": -0.0044,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.561,
"after": 0.0,
"delta": -0.561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2917,
"delta": -0.0133,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4391,
"delta": -0.0199,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.076,
"after": 1.0,
"delta": -0.076,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"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.212 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.194 | - |
| predicted_BB | 0.561 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.350 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.530 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.459 | - |
| predicted_SO | 1.076 | - |
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.187 | -0.025 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.035 | -0.365 |
| predicted_AVG | 0.192 | -0.002 |
| predicted_BB | 0.585 | 0.024 |
| predicted_H | 0.780 | -0.080 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.277 | -0.073 |
| predicted_OBP | 0.308 | 0.003 |
| predicted_R | 0.540 | 0.010 |
| predicted_RBI | 0.585 | -0.105 |
| predicted_SLG | 0.427 | -0.032 |
| predicted_SO | 1.146 | 0.070 |
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.187 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.035 | 0.000 |
| predicted_AVG | 0.190 | -0.003 |
| predicted_BB | 0.582 | -0.004 |
| predicted_H | 0.765 | -0.016 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.273 | -0.004 |
| predicted_OBP | 0.292 | -0.016 |
| predicted_R | 0.521 | -0.019 |
| predicted_RBI | 0.565 | -0.020 |
| predicted_SLG | 0.439 | 0.012 |
| predicted_SO | 1.153 | 0.007 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.174 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.187 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.035 |
| predicted_AVG | 0.250 | 0.060 |
| predicted_BB | 1.000 | 0.418 |
| predicted_H | 1.000 | 0.235 |
| predicted_HR | 0.000 | -0.273 |
| predicted_OBP | 0.400 | 0.108 |
| predicted_R | 1.000 | 0.479 |
| predicted_RBI | 1.000 | 0.435 |
| predicted_SLG | 0.250 | -0.189 |
| predicted_SO | 1.000 | -0.153 |
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 | -1.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 | - | 18.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 4.000 | 8.000 | 0.0556 | 0.2273 | 0.2222 | 0.0556 | 0.0556 | 0.1667 | 0.2222 | 0.4444 |
| last_10 | 0.20 | 10 | - | 35.000 | 4.000 | 1.000 | 0.000 | 2.000 | 4.000 | 6.000 | 8.000 | 16.000 | 0.1143 | 0.2791 | 0.3143 | 0.1143 | 0.0571 | 0.1143 | 0.2286 | 0.4571 |
| season | 0.60 | 66 | - | 229.000 | 57.000 | 14.000 | 0.000 | 11.000 | 26.000 | 35.000 | 37.000 | 71.000 | 0.2489 | 0.3521 | 0.4541 | 0.2489 | 0.0480 | 0.1135 | 0.1616 | 0.3100 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1520 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5320 |
| predicted_AVG | 0.1899 |
| predicted_BB | 0.6190 |
| predicted_H | 0.6710 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1760 |
| predicted_OBP | 0.3118 |
| predicted_R | 0.5530 |
| predicted_RBI | 0.4400 |
| predicted_SLG | 0.3827 |
| predicted_SO | 1.2430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.1520 | 0.1868 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.4000 | 3.5320 | 4.0350 | model_form_blend |
| predicted_AVG | 0.1940 | 0.1899 | 0.1923 | model_form_blend |
| predicted_BB | 0.5610 | 0.6190 | 0.5854 | model_form_blend |
| predicted_H | 0.8600 | 0.6710 | 0.7805 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.3500 | 0.1760 | 0.2768 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3118 | 0.3079 | model_form_blend |
| predicted_R | 0.5300 | 0.5530 | 0.5397 | model_form_blend |
| predicted_RBI | 0.6900 | 0.4400 | 0.5849 | model_form_blend |
| predicted_SLG | 0.4590 | 0.3827 | 0.4269 | model_form_blend |
| predicted_SO | 1.0760 | 1.2430 | 1.1462 | 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 | 246 |
| Season rows before report date | 246 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.249 |
| 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 | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| 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 | 1B |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 805811 |
| playerID | 805811 |
| playerName | Bryce Eldridge |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.357 |
| sl_xwoba | 0.364 |
| sl_xba | 0.256 |
| sl_xslg | 0.486 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 13.4 |
| sl_hard_hit_percent | 54.4 |
| sl_exit_velocity_avg | 92.5 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 42.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.252 | 0.000 | 0.000 | Hitting_2B | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.880 | 4.000 | 4.000 | Hitting_AB | 3.844 | 4.000 | 0.156 | 0.000 |
| predicted_AVG | 0.225 | 0.000 | 0.250 | Hitting_AVG | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_BB | 0.411 | 0.000 | 0.000 | Hitting_BB | 0.422 | 1.000 | -0.422 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 0.000 | 1.000 | Hitting_H | 0.966 | 0.000 | -0.966 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_OBP | 0.315 | 0.000 | 0.250 | Hitting_OBP | 0.324 | 0.200 | -0.324 | -0.200 |
| predicted_R | 0.514 | 0.000 | 1.000 | Hitting_R | 0.541 | 1.000 | -0.541 | -1.000 |
| predicted_RBI | 0.640 | 0.000 | 1.000 | Hitting_RBI | 0.544 | 0.000 | -0.544 | 0.000 |
| predicted_SLG | 0.409 | 0.000 | 0.250 | Hitting_SLG | 0.477 | 0.000 | -0.477 | 0.000 |
| predicted_SO | 1.159 | 3.000 | 1.000 | Hitting_SO | 1.186 | 2.000 | 1.814 | 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_SO: 1.1590 -> 3.0000 (boost 1.8410, worse) |
| Biggest Deboost | predicted_H: 0.8700 -> 0.0000 (deboost -0.8700, 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 | 3 | 1 | predicted_SLG: 0.4090 -> 0.4302 (boost 0.0212, better) | predicted_AB: 3.8800 -> 3.8075 (deboost -0.0725, 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.3186 -> 0.3045 (deboost -0.0141, 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_RBI: 0.6110 -> 1.0000 (boost 0.3890, better) | predicted_BB: 0.4364 -> 0.0000 (deboost -0.4364, worse) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.221 HR/AB=0.046 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5098 -> 1.0000 (boost 0.4902, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2248 -> 0.2500 (boost 0.0252, better) | predicted_SLG: 0.4325 -> 0.2500 (deboost -0.1825, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4325 (boost 0.1825, better) | predicted_AVG: 0.2500 -> 0.2248 (deboost -0.0252, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "646240",
"player_name": "Rafael Devers",
"position": "1B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.252,
"predicted_3B": 0.009,
"predicted_AB": 3.88,
"predicted_AVG": 0.225,
"predicted_BB": 0.411,
"predicted_H": 0.87,
"predicted_HR": 0.17,
"predicted_OBP": 0.315,
"predicted_R": 0.514,
"predicted_RBI": 0.64,
"predicted_SLG": 0.409,
"predicted_SO": 1.159
},
"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.2416,
"predicted_3B": 0.0077,
"predicted_AB": 3.8075,
"predicted_AVG": 0.23,
"predicted_BB": 0.4391,
"predicted_H": 0.8735,
"predicted_HBP": 0.007,
"predicted_HR": 0.1804,
"predicted_OBP": 0.3186,
"predicted_R": 0.5282,
"predicted_RBI": 0.6331,
"predicted_SLG": 0.4302,
"predicted_SO": 1.0994
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.252,
"after": 0.2416,
"delta": -0.0104,
"percent_delta": -0.0413,
"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.88,
"after": 3.8075,
"delta": -0.0725,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.23,
"delta": 0.005,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.411,
"after": 0.4391,
"delta": 0.0281,
"percent_delta": 0.0684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8735,
"delta": 0.0035,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1804,
"delta": 0.0104,
"percent_delta": 0.0612,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3186,
"delta": 0.0036,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.5282,
"delta": 0.0142,
"percent_delta": 0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6331,
"delta": -0.0069,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4302,
"delta": 0.0212,
"percent_delta": 0.0518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.159,
"after": 1.0994,
"delta": -0.0596,
"percent_delta": -0.0514,
"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.409,
"after": 0.4302,
"delta": 0.0212,
"percent_delta": 0.0518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 3.8075,
"delta": -0.0725,
"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": 107
}
},
{
"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.2416,
"predicted_3B": 0.0077,
"predicted_AB": 3.8075,
"predicted_AVG": 0.2248,
"predicted_BB": 0.4364,
"predicted_H": 0.856,
"predicted_HBP": 0.007,
"predicted_HR": 0.178,
"predicted_OBP": 0.3045,
"predicted_R": 0.5098,
"predicted_RBI": 0.611,
"predicted_SLG": 0.4325,
"predicted_SO": 1.1062
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2416,
"after": 0.2416,
"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.8075,
"after": 3.8075,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2248,
"delta": -0.0052,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4391,
"after": 0.4364,
"delta": -0.0027,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8735,
"after": 0.856,
"delta": -0.0175,
"percent_delta": -0.02,
"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.1804,
"after": 0.178,
"delta": -0.0024,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3186,
"after": 0.3045,
"delta": -0.0141,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5282,
"after": 0.5098,
"delta": -0.0184,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6331,
"after": 0.611,
"delta": -0.0221,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4302,
"after": 0.4325,
"delta": 0.0023,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0994,
"after": 1.1062,
"delta": 0.0068,
"percent_delta": 0.0062,
"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.3186,
"after": 0.3045,
"delta": -0.0141,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.88), rates preserved: AVG=0.221 HR/AB=0.046",
"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.2416,
"after": 0.0,
"delta": -0.2416,
"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.8075,
"after": 4.0,
"delta": 0.1925,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4364,
"after": 0.0,
"delta": -0.4364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.856,
"after": 1.0,
"delta": 0.144,
"percent_delta": 0.1682,
"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.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.611,
"after": 1.0,
"delta": 0.389,
"percent_delta": 0.6367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1062,
"after": 1.0,
"delta": -0.1062,
"percent_delta": -0.096,
"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_RBI",
"before": 0.611,
"after": 1.0,
"delta": 0.389,
"percent_delta": 0.6367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4364,
"after": 0.0,
"delta": -0.4364,
"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.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.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": 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.5098,
"after": 1.0,
"delta": 0.4902,
"percent_delta": 0.9616,
"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.5098,
"after": 1.0,
"delta": 0.4902,
"percent_delta": 0.9616,
"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": 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.2248,
"after": 0.25,
"delta": 0.0252,
"percent_delta": 0.1121,
"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.3045,
"after": 0.25,
"delta": -0.0545,
"percent_delta": -0.179,
"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.4325,
"after": 0.25,
"delta": -0.1825,
"percent_delta": -0.422,
"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.2248,
"after": 0.25,
"delta": 0.0252,
"percent_delta": 0.1121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4325,
"after": 0.25,
"delta": -0.1825,
"percent_delta": -0.422,
"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": 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_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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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": {
"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": 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.2248,
"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.3045,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4325,
"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.25,
"after": 0.2248,
"delta": -0.0252,
"percent_delta": -0.1007,
"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.3045,
"delta": 0.0545,
"percent_delta": 0.2181,
"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.4325,
"delta": 0.1825,
"percent_delta": 0.7302,
"direction": "boost",
"projection_effect": "better",
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4325,
"delta": 0.1825,
"percent_delta": 0.7302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2248,
"delta": -0.0252,
"percent_delta": -0.1007,
"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.252,
"after": 0.0,
"delta": -0.252,
"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.88,
"after": 4.0,
"delta": 0.12,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2248,
"delta": -0.0002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.411,
"after": 0.0,
"delta": -0.411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3045,
"delta": -0.0105,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4325,
"delta": 0.0235,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.159,
"after": 3.0,
"delta": 1.841,
"percent_delta": 1.5884,
"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": 1.159,
"after": 3.0,
"delta": 1.841,
"percent_delta": 1.5884,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"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.252 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.411 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.409 | - |
| predicted_SO | 1.159 | - |
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.242 | -0.010 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.808 | -0.072 |
| predicted_AVG | 0.230 | 0.005 |
| predicted_BB | 0.439 | 0.028 |
| predicted_H | 0.874 | 0.004 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.180 | 0.010 |
| predicted_OBP | 0.319 | 0.004 |
| predicted_R | 0.528 | 0.014 |
| predicted_RBI | 0.633 | -0.007 |
| predicted_SLG | 0.430 | 0.021 |
| predicted_SO | 1.099 | -0.060 |
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.242 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.808 | 0.000 |
| predicted_AVG | 0.225 | -0.005 |
| predicted_BB | 0.436 | -0.003 |
| predicted_H | 0.856 | -0.018 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.178 | -0.002 |
| predicted_OBP | 0.304 | -0.014 |
| predicted_R | 0.510 | -0.018 |
| predicted_RBI | 0.611 | -0.022 |
| predicted_SLG | 0.432 | 0.002 |
| predicted_SO | 1.106 | 0.007 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.221 HR/AB=0.046
| 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 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)
| 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 |
| 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 | 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.242 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.192 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 0.000 | -0.436 |
| predicted_H | 1.000 | 0.144 |
| predicted_HR | 0.000 | -0.178 |
| predicted_OBP | 0.250 | -0.054 |
| predicted_R | 1.000 | 0.490 |
| predicted_RBI | 1.000 | 0.389 |
| predicted_SLG | 0.250 | -0.182 |
| predicted_SO | 1.000 | -0.106 |
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 | -1.000 |
| RBI | 0.000 | -1.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 | - | 18.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 3.000 | 4.000 | 0.2222 | 0.3333 | 0.4444 | 0.2222 | 0.0556 | 0.2222 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 2.000 | 0.000 | 2.000 | 7.000 | 6.000 | 6.000 | 9.000 | 0.2222 | 0.3333 | 0.4444 | 0.2222 | 0.0556 | 0.1944 | 0.1667 | 0.2500 |
| season | 0.60 | 107 | - | 404.000 | 99.000 | 27.000 | 1.000 | 21.000 | 59.000 | 55.000 | 44.000 | 124.000 | 0.2450 | 0.3186 | 0.4728 | 0.2450 | 0.0520 | 0.1460 | 0.1089 | 0.3069 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2280 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.7120 |
| predicted_AVG | 0.2366 |
| predicted_BB | 0.4760 |
| predicted_H | 0.8780 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1940 |
| predicted_OBP | 0.3233 |
| predicted_R | 0.5470 |
| predicted_RBI | 0.6240 |
| predicted_SLG | 0.4582 |
| predicted_SO | 1.0210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2520 | 0.2280 | 0.2416 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 3.8800 | 3.7120 | 3.8075 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2366 | 0.2300 | model_form_blend |
| predicted_BB | 0.4110 | 0.4760 | 0.4391 | model_form_blend |
| predicted_H | 0.8700 | 0.8780 | 0.8735 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1700 | 0.1940 | 0.1804 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3233 | 0.3186 | model_form_blend |
| predicted_R | 0.5140 | 0.5470 | 0.5282 | model_form_blend |
| predicted_RBI | 0.6400 | 0.6240 | 0.6331 | model_form_blend |
| predicted_SLG | 0.4090 | 0.4582 | 0.4302 | model_form_blend |
| predicted_SO | 1.1590 | 1.0210 | 1.0994 | 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 | 436 |
| Season rows before report date | 436 |
| Report year | 2026 |
| Profile rows used | 107 |
| 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 | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.245 |
| 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 | 1 |
| 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 | 2 |
| 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 | DH |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 646240 |
| playerID | 646240 |
| playerName | Rafael Devers |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.34 |
| sl_xwoba | 0.325 |
| sl_xba | 0.233 |
| sl_xslg | 0.454 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 50.7 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 14.2 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 48.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.240 | 0.000 | 0.000 | Hitting_2B | 0.253 | 1.000 | -0.253 | -1.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_AB | 5.380 | 4.000 | 5.000 | Hitting_AB | 3.934 | 6.000 | 0.066 | -2.000 |
| predicted_AVG | 0.244 | 0.000 | 0.200 | Hitting_AVG | 0.320 | 0.333 | -0.320 | -0.333 |
| predicted_BB | 0.156 | 0.000 | 0.000 | Hitting_BB | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.310 | 0.000 | 1.000 | Hitting_H | 1.261 | 2.000 | -1.261 | -2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.333 | 0.000 | 0.200 | Hitting_OBP | 0.356 | 0.333 | -0.356 | -0.333 |
| predicted_R | 0.531 | 0.000 | 1.000 | Hitting_R | 0.589 | 1.000 | -0.589 | -1.000 |
| predicted_RBI | 1.000 | 0.000 | 1.000 | Hitting_RBI | 0.389 | 3.000 | -0.389 | -3.000 |
| predicted_SLG | 0.420 | 0.000 | 0.200 | Hitting_SLG | 0.441 | 0.500 | -0.441 | -0.500 |
| predicted_SO | 0.396 | 0.000 | 0.000 | Hitting_SO | 0.387 | 0.000 | -0.387 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.2440 -> 0.2569 (boost 0.0129, better) |
| Biggest Deboost | predicted_AB: 5.3800 -> 4.0000 (deboost -1.3800, 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 | 2 | 3 | 2 | 3 | predicted_SLG: 0.4200 -> 0.4426 (boost 0.0226, better) | predicted_AB: 5.3800 -> 4.7482 (deboost -0.6318, 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.3338 -> 0.2786 (deboost -0.0552, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 2 | 7 | 3 | 6 | predicted_AB: 4.7482 -> 5.0000 (boost 0.2518, better) | predicted_SO: 0.4446 -> 0.0000 (deboost -0.4446, better) | AB rounded to 5 (raw=5.38), rates preserved: AVG=0.227 HR/AB=0.017 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5220 -> 1.0000 (boost 0.4780, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3898 -> 0.2000 (deboost -0.1898, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | 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.3898 (boost 0.1898, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"position": "RF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.24,
"predicted_3B": 0.042,
"predicted_AB": 5.38,
"predicted_AVG": 0.244,
"predicted_BB": 0.156,
"predicted_H": 1.31,
"predicted_HR": 0.09,
"predicted_OBP": 0.333,
"predicted_R": 0.531,
"predicted_RBI": 1.0,
"predicted_SLG": 0.42,
"predicted_SO": 0.396
},
"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.2469,
"predicted_3B": 0.0574,
"predicted_AB": 4.7482,
"predicted_AVG": 0.2664,
"predicted_BB": 0.1436,
"predicted_H": 1.2448,
"predicted_HBP": 0.103,
"predicted_HR": 0.0909,
"predicted_OBP": 0.3338,
"predicted_R": 0.5409,
"predicted_RBI": 0.8417,
"predicted_SLG": 0.4426,
"predicted_SO": 0.4419
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.24,
"after": 0.2469,
"delta": 0.0069,
"percent_delta": 0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0574,
"delta": 0.0154,
"percent_delta": 0.3667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.38,
"after": 4.7482,
"delta": -0.6318,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2664,
"delta": 0.0224,
"percent_delta": 0.0918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.1436,
"delta": -0.0124,
"percent_delta": -0.0795,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.31,
"after": 1.2448,
"delta": -0.0652,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0909,
"delta": 0.0009,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3338,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 0.5409,
"delta": 0.0099,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.8417,
"delta": -0.1583,
"percent_delta": -0.1583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4426,
"delta": 0.0226,
"percent_delta": 0.0538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.396,
"after": 0.4419,
"delta": 0.0459,
"percent_delta": 0.1159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4426,
"delta": 0.0226,
"percent_delta": 0.0538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.38,
"after": 4.7482,
"delta": -0.6318,
"percent_delta": -0.1174,
"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": 96
}
},
{
"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.2469,
"predicted_3B": 0.0574,
"predicted_AB": 4.7482,
"predicted_AVG": 0.2569,
"predicted_BB": 0.1427,
"predicted_H": 1.2199,
"predicted_HBP": 0.103,
"predicted_HR": 0.0897,
"predicted_OBP": 0.2786,
"predicted_R": 0.522,
"predicted_RBI": 0.8123,
"predicted_SLG": 0.3898,
"predicted_SO": 0.4446
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2469,
"after": 0.2469,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0574,
"after": 0.0574,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7482,
"after": 4.7482,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2664,
"after": 0.2569,
"delta": -0.0095,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1436,
"after": 0.1427,
"delta": -0.0009,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2448,
"after": 1.2199,
"delta": -0.0249,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.103,
"after": 0.103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0909,
"after": 0.0897,
"delta": -0.0012,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3338,
"after": 0.2786,
"delta": -0.0552,
"percent_delta": -0.1654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5409,
"after": 0.522,
"delta": -0.0189,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8417,
"after": 0.8123,
"delta": -0.0294,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4426,
"after": 0.3898,
"delta": -0.0528,
"percent_delta": -0.1193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4419,
"after": 0.4446,
"delta": 0.0027,
"percent_delta": 0.0061,
"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.3338,
"after": 0.2786,
"delta": -0.0552,
"percent_delta": -0.1654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.38), rates preserved: AVG=0.227 HR/AB=0.017",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2469,
"after": 0.0,
"delta": -0.2469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0574,
"after": 0.0,
"delta": -0.0574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.7482,
"after": 5.0,
"delta": 0.2518,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1427,
"after": 0.0,
"delta": -0.1427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2199,
"after": 1.0,
"delta": -0.2199,
"percent_delta": -0.1803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0897,
"after": 0.0,
"delta": -0.0897,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8123,
"after": 1.0,
"delta": 0.1877,
"percent_delta": 0.2311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4446,
"after": 0.0,
"delta": -0.4446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.7482,
"after": 5.0,
"delta": 0.2518,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4446,
"after": 0.0,
"delta": -0.4446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.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": 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_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": 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": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 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": 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.522,
"after": 1.0,
"delta": 0.478,
"percent_delta": 0.9157,
"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": 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_R",
"before": 0.522,
"after": 1.0,
"delta": 0.478,
"percent_delta": 0.9157,
"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": 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": 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.2569,
"after": 0.2,
"delta": -0.0569,
"percent_delta": -0.2215,
"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.2786,
"after": 0.2,
"delta": -0.0786,
"percent_delta": -0.2821,
"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.3898,
"after": 0.2,
"delta": -0.1898,
"percent_delta": -0.4869,
"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_SLG",
"before": 0.3898,
"after": 0.2,
"delta": -0.1898,
"percent_delta": -0.4869,
"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": 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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 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.2569,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2786,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3898,
"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.2,
"after": 0.2569,
"delta": 0.0569,
"percent_delta": 0.2846,
"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.2,
"after": 0.2786,
"delta": 0.0786,
"percent_delta": 0.393,
"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.3898,
"delta": 0.1898,
"percent_delta": 0.9488,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3898,
"delta": 0.1898,
"percent_delta": 0.9488,
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.38,
"after": 4.0,
"delta": -1.38,
"percent_delta": -0.2565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2569,
"delta": 0.0129,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.31,
"after": 0.0,
"delta": -1.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2786,
"delta": -0.0544,
"percent_delta": -0.1634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 0.0,
"delta": -0.531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_SLG",
"before": 0.42,
"after": 0.3898,
"delta": -0.0302,
"percent_delta": -0.0719,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2569,
"delta": 0.0129,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.38,
"after": 4.0,
"delta": -1.38,
"percent_delta": -0.2565,
"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.240 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 5.380 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.156 | - |
| predicted_H | 1.310 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.531 | - |
| predicted_RBI | 1.000 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.396 | - |
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.247 | 0.007 |
| predicted_3B | 0.057 | 0.015 |
| predicted_AB | 4.748 | -0.632 |
| predicted_AVG | 0.266 | 0.022 |
| predicted_BB | 0.144 | -0.012 |
| predicted_H | 1.245 | -0.065 |
| predicted_HBP | 0.103 | - |
| predicted_HR | 0.091 | 0.001 |
| predicted_OBP | 0.334 | 0.001 |
| predicted_R | 0.541 | 0.010 |
| predicted_RBI | 0.842 | -0.158 |
| predicted_SLG | 0.443 | 0.023 |
| predicted_SO | 0.442 | 0.046 |
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.247 | 0.000 |
| predicted_3B | 0.057 | 0.000 |
| predicted_AB | 4.748 | 0.000 |
| predicted_AVG | 0.257 | -0.010 |
| predicted_BB | 0.143 | -0.001 |
| predicted_H | 1.220 | -0.025 |
| predicted_HBP | 0.103 | 0.000 |
| predicted_HR | 0.090 | -0.001 |
| predicted_OBP | 0.279 | -0.055 |
| predicted_R | 0.522 | -0.019 |
| predicted_RBI | 0.812 | -0.029 |
| predicted_SLG | 0.390 | -0.053 |
| predicted_SO | 0.445 | 0.003 |
AB rounded to 5 (raw=5.38), rates preserved: AVG=0.227 HR/AB=0.017
| 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 | 0.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| 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 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.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 | 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 | 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.247 |
| predicted_3B | 0.000 | -0.057 |
| predicted_AB | 5.000 | 0.252 |
| predicted_AVG | 0.200 | -0.057 |
| predicted_BB | 0.000 | -0.143 |
| predicted_H | 1.000 | -0.220 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.200 | -0.079 |
| predicted_R | 1.000 | 0.478 |
| predicted_RBI | 1.000 | 0.188 |
| predicted_SLG | 0.200 | -0.190 |
| predicted_SO | 0.000 | -0.445 |
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 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 21.000 | 6.000 | 2.000 | 1.000 | 1.000 | 7.000 | 3.000 | 0.000 | 3.000 | 0.2857 | 0.3182 | 0.6190 | 0.2857 | 0.0476 | 0.3333 | 0.0000 | 0.1429 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 2.000 | 1.000 | 1.000 | 7.000 | 6.000 | 1.000 | 6.000 | 0.3000 | 0.3488 | 0.4750 | 0.3000 | 0.0250 | 0.1750 | 0.0250 | 0.1500 |
| season | 0.60 | 96 | - | 364.000 | 111.000 | 23.000 | 4.000 | 5.000 | 38.000 | 51.000 | 15.000 | 38.000 | 0.3049 | 0.3394 | 0.4313 | 0.3049 | 0.0137 | 0.1044 | 0.0412 | 0.1044 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2560 |
| predicted_3B | 0.0780 |
| predicted_AB | 3.9070 |
| predicted_AVG | 0.2963 |
| predicted_BB | 0.1270 |
| predicted_H | 1.1580 |
| predicted_HBP | 0.1030 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.3348 |
| predicted_R | 0.5540 |
| predicted_RBI | 0.6310 |
| predicted_SLG | 0.4727 |
| predicted_SO | 0.5030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2400 | 0.2560 | 0.2469 | model_form_blend |
| predicted_3B | 0.0420 | 0.0780 | 0.0574 | model_form_blend |
| predicted_AB | 5.3800 | 3.9070 | 4.7482 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2963 | 0.2664 | model_form_blend |
| predicted_BB | 0.1560 | 0.1270 | 0.1436 | model_form_blend |
| predicted_H | 1.3100 | 1.1580 | 1.2448 | model_form_blend |
| predicted_HBP | - | 0.1030 | 0.1030 | form_only |
| predicted_HR | 0.0900 | 0.0920 | 0.0909 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3348 | 0.3338 | model_form_blend |
| predicted_R | 0.5310 | 0.5540 | 0.5409 | model_form_blend |
| predicted_RBI | 1.0000 | 0.6310 | 0.8417 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4727 | 0.4426 | model_form_blend |
| predicted_SO | 0.3960 | 0.5030 | 0.4419 | 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 | 380 |
| Season rows before report date | 380 |
| Report year | 2026 |
| Profile rows used | 96 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.305 |
| 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 | 6 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| 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 | RF |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 808982 |
| playerID | 808982 |
| playerName | Jung Hoo Lee |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 10.3 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.334 |
| sl_xwoba | 0.313 |
| sl_xba | 0.293 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 28.7 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 9.9 |
| sl_whiff_percent | 13.4 |
| sl_swing_percent | 46.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.081 | 0.000 | 0.000 | Hitting_2B | 0.033 | 0.000 | -0.033 | 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.367 | 5.000 | 0.633 | -2.000 |
| predicted_AVG | 0.161 | 0.333 | 0.333 | Hitting_AVG | 0.141 | 0.400 | 0.192 | -0.067 |
| predicted_BB | 0.161 | 0.000 | 0.000 | Hitting_BB | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.403 | 1.000 | 1.000 | Hitting_H | 0.333 | 2.000 | 0.667 | -1.000 |
| predicted_HR | 0.000 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.212 | 0.333 | 0.333 | Hitting_OBP | 0.197 | 0.400 | 0.136 | -0.067 |
| predicted_R | 0.323 | 0.000 | 0.000 | Hitting_R | 0.133 | 3.000 | -0.133 | -3.000 |
| predicted_RBI | 0.081 | 0.000 | 0.000 | Hitting_RBI | 0.033 | 1.000 | -0.033 | -1.000 |
| predicted_SLG | 0.194 | 0.333 | 0.333 | Hitting_SLG | 0.155 | 0.400 | 0.178 | -0.067 |
| predicted_SO | 0.403 | 0.000 | 1.000 | Hitting_SO | 0.267 | 0.000 | -0.267 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.4030 -> 1.0000 (boost 0.5970, better) |
| Biggest Deboost | predicted_SO: 0.4030 -> 0.0000 (deboost -0.4030, 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 | 7 | 7 | 0 | 6 | 1 | predicted_AB: 2.5000 -> 2.6815 (boost 0.1815, 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 | 2 | 4 | predicted_H: 0.4698 -> 1.0000 (boost 0.5302, better) | predicted_BB: 0.1847 -> 0.0000 (deboost -0.1847, worse) | AB rounded to 3 (raw=2.68), rates preserved: AVG=0.175 HR/AB=0.006 |
| 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 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1752 -> 0.3330 (boost 0.1578, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | 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.1752 (deboost -0.1578, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683766",
"player_name": "Christian Koss",
"position": "3B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.081,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.161,
"predicted_BB": 0.161,
"predicted_H": 0.403,
"predicted_HR": 0.0,
"predicted_OBP": 0.212,
"predicted_R": 0.323,
"predicted_RBI": 0.081,
"predicted_SLG": 0.194,
"predicted_SO": 0.403
},
"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.0872,
"predicted_3B": 0.0019,
"predicted_AB": 2.6815,
"predicted_AVG": 0.1764,
"predicted_BB": 0.1859,
"predicted_H": 0.4794,
"predicted_HBP": 0.013,
"predicted_HR": 0.0162,
"predicted_OBP": 0.2304,
"predicted_R": 0.3618,
"predicted_RBI": 0.1354,
"predicted_SLG": 0.2261,
"predicted_SO": 0.4726
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.081,
"after": 0.0872,
"delta": 0.0062,
"percent_delta": 0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6815,
"delta": 0.1815,
"percent_delta": 0.0726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.161,
"after": 0.1764,
"delta": 0.0154,
"percent_delta": 0.0957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.161,
"after": 0.1859,
"delta": 0.0249,
"percent_delta": 0.1547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.403,
"after": 0.4794,
"delta": 0.0764,
"percent_delta": 0.1896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0162,
"delta": 0.0162,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.212,
"after": 0.2304,
"delta": 0.0184,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.323,
"after": 0.3618,
"delta": 0.0388,
"percent_delta": 0.1201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.081,
"after": 0.1354,
"delta": 0.0544,
"percent_delta": 0.6716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.194,
"after": 0.2261,
"delta": 0.0321,
"percent_delta": 0.1655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.403,
"after": 0.4726,
"delta": 0.0696,
"percent_delta": 0.1727,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6815,
"delta": 0.1815,
"percent_delta": 0.0726,
"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": 13
}
},
{
"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.0872,
"predicted_3B": 0.0019,
"predicted_AB": 2.6815,
"predicted_AVG": 0.1752,
"predicted_BB": 0.1847,
"predicted_H": 0.4698,
"predicted_HBP": 0.013,
"predicted_HR": 0.016,
"predicted_OBP": 0.2284,
"predicted_R": 0.3492,
"predicted_RBI": 0.1307,
"predicted_SLG": 0.227,
"predicted_SO": 0.4755
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0872,
"after": 0.0872,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6815,
"after": 2.6815,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1764,
"after": 0.1752,
"delta": -0.0012,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1859,
"after": 0.1847,
"delta": -0.0012,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4794,
"after": 0.4698,
"delta": -0.0096,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0162,
"after": 0.016,
"delta": -0.0002,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2304,
"after": 0.2284,
"delta": -0.002,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3618,
"after": 0.3492,
"delta": -0.0126,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1354,
"after": 0.1307,
"delta": -0.0047,
"percent_delta": -0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2261,
"after": 0.227,
"delta": 0.0009,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4726,
"after": 0.4755,
"delta": 0.0029,
"percent_delta": 0.0061,
"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.68), rates preserved: AVG=0.175 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.0872,
"after": 0.0,
"delta": -0.0872,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6815,
"after": 3.0,
"delta": 0.3185,
"percent_delta": 0.1188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1847,
"after": 0.0,
"delta": -0.1847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4698,
"after": 1.0,
"delta": 0.5302,
"percent_delta": 1.1286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1307,
"after": 0.0,
"delta": -0.1307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4755,
"after": 1.0,
"delta": 0.5245,
"percent_delta": 1.103,
"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.4698,
"after": 1.0,
"delta": 0.5302,
"percent_delta": 1.1286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.1847,
"after": 0.0,
"delta": -0.1847,
"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.3492,
"after": 0.0,
"delta": -0.3492,
"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.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": 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.1752,
"after": 0.333,
"delta": 0.1578,
"percent_delta": 0.9007,
"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.2284,
"after": 0.333,
"delta": 0.1046,
"percent_delta": 0.458,
"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.227,
"after": 0.333,
"delta": 0.106,
"percent_delta": 0.467,
"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.1752,
"after": 0.333,
"delta": 0.1578,
"percent_delta": 0.9007,
"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": 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_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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"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": "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": 3.0,
"predicted_AVG": 0.1752,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.227,
"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": 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.1752,
"delta": -0.1578,
"percent_delta": -0.4739,
"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.2284,
"delta": -0.1046,
"percent_delta": -0.3142,
"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.227,
"delta": -0.106,
"percent_delta": -0.3183,
"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.1752,
"delta": -0.1578,
"percent_delta": -0.4739,
"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.081,
"after": 0.0,
"delta": -0.081,
"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": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.161,
"after": 0.1752,
"delta": 0.0142,
"percent_delta": 0.0882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.403,
"after": 1.0,
"delta": 0.597,
"percent_delta": 1.4814,
"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_OBP",
"before": 0.212,
"after": 0.2284,
"delta": 0.0164,
"percent_delta": 0.0774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.323,
"after": 0.0,
"delta": -0.323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.194,
"after": 0.227,
"delta": 0.033,
"percent_delta": 0.1701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.403,
"after": 1.0,
"delta": 0.597,
"percent_delta": 1.4814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"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.081 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.161 | - |
| predicted_BB | 0.161 | - |
| predicted_H | 0.403 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.212 | - |
| predicted_R | 0.323 | - |
| predicted_RBI | 0.081 | - |
| predicted_SLG | 0.194 | - |
| predicted_SO | 0.403 | - |
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.087 | 0.006 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.682 | 0.182 |
| predicted_AVG | 0.176 | 0.015 |
| predicted_BB | 0.186 | 0.025 |
| predicted_H | 0.479 | 0.076 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.016 | 0.016 |
| predicted_OBP | 0.230 | 0.018 |
| predicted_R | 0.362 | 0.039 |
| predicted_RBI | 0.135 | 0.054 |
| predicted_SLG | 0.226 | 0.032 |
| predicted_SO | 0.473 | 0.070 |
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.087 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.682 | 0.000 |
| predicted_AVG | 0.175 | -0.001 |
| predicted_BB | 0.185 | -0.001 |
| predicted_H | 0.470 | -0.010 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.016 | -0.000 |
| predicted_OBP | 0.228 | -0.002 |
| predicted_R | 0.349 | -0.013 |
| predicted_RBI | 0.131 | -0.005 |
| predicted_SLG | 0.227 | 0.001 |
| predicted_SO | 0.475 | 0.003 |
AB rounded to 3 (raw=2.68), rates preserved: AVG=0.175 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.087 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.318 |
| predicted_AVG | 0.333 | 0.158 |
| predicted_BB | 0.000 | -0.185 |
| predicted_H | 1.000 | 0.530 |
| predicted_HR | 0.000 | -0.016 |
| predicted_OBP | 0.333 | 0.105 |
| predicted_R | 0.000 | -0.349 |
| predicted_RBI | 0.000 | -0.131 |
| predicted_SLG | 0.333 | 0.106 |
| predicted_SO | 1.000 | 0.524 |
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 | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | - | 13.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 0.2308 | 0.3333 | 0.2308 | 0.2308 | 0.0000 | 0.0769 | 0.1538 | 0.2308 |
| last_10 | 0.20 | 10 | - | 24.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 5.000 | 0.1667 | 0.2308 | 0.1667 | 0.1667 | 0.0000 | 0.0417 | 0.0833 | 0.2083 |
| season | 0.60 | 13 | - | 31.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 5.000 | 0.1613 | 0.2121 | 0.1935 | 0.1613 | 0.0000 | 0.0323 | 0.0645 | 0.1613 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1010 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.0840 |
| predicted_AVG | 0.2105 |
| predicted_BB | 0.2410 |
| predicted_H | 0.6490 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0520 |
| predicted_OBP | 0.2712 |
| predicted_R | 0.4480 |
| predicted_RBI | 0.2560 |
| predicted_SLG | 0.2974 |
| predicted_SO | 0.6270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0810 | 0.1010 | 0.0872 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 2.5000 | 3.0840 | 2.6815 | model_form_blend |
| predicted_AVG | 0.1610 | 0.2105 | 0.1764 | model_form_blend |
| predicted_BB | 0.1610 | 0.2410 | 0.1859 | model_form_blend |
| predicted_H | 0.4030 | 0.6490 | 0.4794 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0000 | 0.0520 | 0.0162 | model_form_blend |
| predicted_OBP | 0.2120 | 0.2712 | 0.2304 | model_form_blend |
| predicted_R | 0.3230 | 0.4480 | 0.3618 | model_form_blend |
| predicted_RBI | 0.0810 | 0.2560 | 0.1354 | model_form_blend |
| predicted_SLG | 0.1940 | 0.2974 | 0.2261 | model_form_blend |
| predicted_SO | 0.4030 | 0.6270 | 0.4726 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 13 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.161 |
| 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.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 1 |
| 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 | 3B |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 683766 |
| playerID | 683766 |
| playerName | Christian Koss |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.178 |
| sl_xwoba | 0.204 |
| sl_xba | 0.156 |
| sl_xslg | 0.177 |
| sl_sweet_spot_percent | 9.5 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 14.3 |
| sl_exit_velocity_avg | 82.5 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 52.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.000 | 1.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 1.000 | 1.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.593 | 1.000 | 0.407 | 2.000 |
| predicted_AVG | 0.342 | 0.333 | 0.333 | Hitting_AVG | 0.257 | 1.000 | 0.076 | -0.667 |
| predicted_BB | 0.543 | 0.000 | 1.000 | Hitting_BB | 0.574 | 0.000 | -0.574 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.310 | 1.000 | 1.000 | Hitting_H | 0.667 | 1.000 | 0.333 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.400 | 0.333 | 0.500 | Hitting_OBP | 0.392 | 1.000 | -0.058 | -0.667 |
| predicted_R | 0.163 | 0.000 | 0.000 | Hitting_R | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.111 | 1.000 | -0.111 | -1.000 |
| predicted_SLG | 0.332 | 0.667 | 0.333 | Hitting_SLG | 0.257 | 1.000 | 0.410 | -0.333 |
| predicted_SO | 0.707 | 0.000 | 1.000 | Hitting_SO | 0.759 | 0.000 | -0.759 | 0.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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 0.7070 -> 0.0000 (deboost -0.7070, 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 | 2 | 1 | 2 | 1 | predicted_H: 0.3100 -> 0.4621 (boost 0.1521, better) | predicted_AVG: 0.3420 -> 0.3199 (deboost -0.0221, 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.3199 -> 0.1767 (deboost -0.1432, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 4 | 1 | 3 | 2 | predicted_H: 0.4529 -> 1.0000 (boost 0.5471, better) | predicted_RBI: 0.1529 -> 0.0000 (deboost -0.1529, worse) | AB rounded to 3 (raw=2.56), rates preserved: AVG=0.177 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1939 -> 0.0000 (deboost -0.1939, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3220 -> 0.5000 (boost 0.1780, 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_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 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.5000 -> 0.3220 (deboost -0.1780, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701852",
"player_name": "Drew Cavanaugh",
"position": "C",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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.342,
"predicted_BB": 0.543,
"predicted_H": 0.31,
"predicted_HR": 0.04,
"predicted_OBP": 0.4,
"predicted_R": 0.163,
"predicted_RBI": 0.11,
"predicted_SLG": 0.332,
"predicted_SO": 0.707
},
"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.0153,
"predicted_3B": 0.0014,
"predicted_AB": 2.563,
"predicted_AVG": 0.3199,
"predicted_BB": 0.5527,
"predicted_H": 0.4621,
"predicted_HBP": 0.008,
"predicted_HR": 0.0376,
"predicted_OBP": 0.3995,
"predicted_R": 0.2009,
"predicted_RBI": 0.1584,
"predicted_SLG": 0.3329,
"predicted_SO": 0.684
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0153,
"delta": 0.0153,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.563,
"delta": 0.063,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.342,
"after": 0.3199,
"delta": -0.0221,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.543,
"after": 0.5527,
"delta": 0.0097,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.4621,
"delta": 0.1521,
"percent_delta": 0.4906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0376,
"delta": -0.0024,
"percent_delta": -0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3995,
"delta": -0.0005,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.163,
"after": 0.2009,
"delta": 0.0379,
"percent_delta": 0.2325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1584,
"delta": 0.0484,
"percent_delta": 0.44,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3329,
"delta": 0.0009,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.707,
"after": 0.684,
"delta": -0.023,
"percent_delta": -0.0325,
"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.31,
"after": 0.4621,
"delta": 0.1521,
"percent_delta": 0.4906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.342,
"after": 0.3199,
"delta": -0.0221,
"percent_delta": -0.0646,
"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": 20
}
},
{
"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.0153,
"predicted_3B": 0.0014,
"predicted_AB": 2.563,
"predicted_AVG": 0.1767,
"predicted_BB": 0.5493,
"predicted_H": 0.4529,
"predicted_HBP": 0.008,
"predicted_HR": 0.0371,
"predicted_OBP": 0.322,
"predicted_R": 0.1939,
"predicted_RBI": 0.1529,
"predicted_SLG": 0.2272,
"predicted_SO": 0.6882
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0153,
"after": 0.0153,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.563,
"after": 2.563,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3199,
"after": 0.1767,
"delta": -0.1432,
"percent_delta": -0.4476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5527,
"after": 0.5493,
"delta": -0.0034,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4621,
"after": 0.4529,
"delta": -0.0092,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0376,
"after": 0.0371,
"delta": -0.0005,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3995,
"after": 0.322,
"delta": -0.0775,
"percent_delta": -0.194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2009,
"after": 0.1939,
"delta": -0.007,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1584,
"after": 0.1529,
"delta": -0.0055,
"percent_delta": -0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3329,
"after": 0.2272,
"delta": -0.1057,
"percent_delta": -0.3175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.684,
"after": 0.6882,
"delta": 0.0042,
"percent_delta": 0.0061,
"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.3199,
"after": 0.1767,
"delta": -0.1432,
"percent_delta": -0.4476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.56), rates preserved: AVG=0.177 HR/AB=0.014",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0153,
"after": 0.0,
"delta": -0.0153,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.563,
"after": 3.0,
"delta": 0.437,
"percent_delta": 0.1705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5493,
"after": 1.0,
"delta": 0.4507,
"percent_delta": 0.8205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4529,
"after": 1.0,
"delta": 0.5471,
"percent_delta": 1.208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0371,
"after": 0.0,
"delta": -0.0371,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1529,
"after": 0.0,
"delta": -0.1529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6882,
"after": 1.0,
"delta": 0.3118,
"percent_delta": 0.4531,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4529,
"after": 1.0,
"delta": 0.5471,
"percent_delta": 1.208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.1529,
"after": 0.0,
"delta": -0.1529,
"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": 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": 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.1939,
"after": 0.0,
"delta": -0.1939,
"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.1939,
"after": 0.0,
"delta": -0.1939,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"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.1767,
"after": 0.333,
"delta": 0.1563,
"percent_delta": 0.8846,
"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.322,
"after": 0.5,
"delta": 0.178,
"percent_delta": 0.5528,
"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.2272,
"after": 0.333,
"delta": 0.1058,
"percent_delta": 0.4657,
"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_OBP",
"before": 0.322,
"after": 0.5,
"delta": 0.178,
"percent_delta": 0.5528,
"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": 1.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": 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": 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": 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_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": 3.0,
"predicted_AVG": 0.1767,
"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.322,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2272,
"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": 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.1767,
"delta": -0.1563,
"percent_delta": -0.4694,
"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.322,
"delta": -0.178,
"percent_delta": -0.356,
"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.2272,
"delta": -0.1058,
"percent_delta": -0.3178,
"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_OBP",
"before": 0.5,
"after": 0.322,
"delta": -0.178,
"percent_delta": -0.356,
"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": 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": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.342,
"after": 0.1767,
"delta": -0.1653,
"percent_delta": -0.4833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.543,
"after": 0.0,
"delta": -0.543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"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.4,
"after": 0.322,
"delta": -0.078,
"percent_delta": -0.195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.2272,
"delta": -0.1048,
"percent_delta": -0.3157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.707,
"after": 0.0,
"delta": -0.707,
"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_2B",
"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": 0.707,
"after": 0.0,
"delta": -0.707,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.342 | - |
| predicted_BB | 0.543 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.400 | - |
| predicted_R | 0.163 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.332 | - |
| predicted_SO | 0.707 | - |
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.015 | 0.015 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.563 | 0.063 |
| predicted_AVG | 0.320 | -0.022 |
| predicted_BB | 0.553 | 0.010 |
| predicted_H | 0.462 | 0.152 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.038 | -0.002 |
| predicted_OBP | 0.400 | -0.001 |
| predicted_R | 0.201 | 0.038 |
| predicted_RBI | 0.158 | 0.048 |
| predicted_SLG | 0.333 | 0.001 |
| predicted_SO | 0.684 | -0.023 |
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.015 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.563 | 0.000 |
| predicted_AVG | 0.177 | -0.143 |
| predicted_BB | 0.549 | -0.003 |
| predicted_H | 0.453 | -0.009 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.037 | -0.001 |
| predicted_OBP | 0.322 | -0.078 |
| predicted_R | 0.194 | -0.007 |
| predicted_RBI | 0.153 | -0.006 |
| predicted_SLG | 0.227 | -0.106 |
| predicted_SO | 0.688 | 0.004 |
AB rounded to 3 (raw=2.56), rates preserved: AVG=0.177 HR/AB=0.014
| 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 | 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 | 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.015 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.437 |
| predicted_AVG | 0.333 | 0.156 |
| predicted_BB | 1.000 | 0.451 |
| predicted_H | 1.000 | 0.547 |
| predicted_HR | 0.000 | -0.037 |
| predicted_OBP | 0.500 | 0.178 |
| predicted_R | 0.000 | -0.194 |
| predicted_RBI | 0.000 | -0.153 |
| predicted_SLG | 0.333 | 0.106 |
| 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 | 3.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 | 3.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 | - | 8.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 1.000 | 0.3750 | 0.5455 | 0.3750 | 0.3750 | 0.0000 | 0.1250 | 0.3750 | 0.1250 |
| last_10 | 0.20 | 10 | - | 19.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 8.000 | 5.000 | 0.3158 | 0.5185 | 0.3158 | 0.3158 | 0.0000 | 0.0526 | 0.4210 | 0.2632 |
| season | 0.60 | 20 | - | 46.000 | 12.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 10.000 | 13.000 | 0.2609 | 0.3929 | 0.2609 | 0.2609 | 0.0000 | 0.0652 | 0.2174 | 0.2826 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0440 |
| predicted_3B | 0.0040 |
| predicted_AB | 2.6810 |
| predicted_AVG | 0.2785 |
| predicted_BB | 0.5710 |
| predicted_H | 0.7470 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0330 |
| predicted_OBP | 0.3987 |
| predicted_R | 0.2720 |
| predicted_RBI | 0.2490 |
| predicted_SLG | 0.3347 |
| predicted_SO | 0.6410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0440 | 0.0153 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.5000 | 2.6810 | 2.5630 | model_form_blend |
| predicted_AVG | 0.3420 | 0.2785 | 0.3199 | model_form_blend |
| predicted_BB | 0.5430 | 0.5710 | 0.5527 | model_form_blend |
| predicted_H | 0.3100 | 0.7470 | 0.4621 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0400 | 0.0330 | 0.0376 | model_form_blend |
| predicted_OBP | 0.4000 | 0.3987 | 0.3995 | model_form_blend |
| predicted_R | 0.1630 | 0.2720 | 0.2009 | model_form_blend |
| predicted_RBI | 0.1100 | 0.2490 | 0.1584 | model_form_blend |
| predicted_SLG | 0.3320 | 0.3347 | 0.3329 | model_form_blend |
| predicted_SO | 0.7070 | 0.6410 | 0.6840 | 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 | 54 |
| Season rows before report date | 54 |
| Report year | 2026 |
| Profile rows used | 20 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| 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 | 4 |
| 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 | 20260729_MIL@SF |
| game_type | ph |
| mlbID | 701852 |
| note | Singled for Devers in the 8th. |
| playerID | 701852 |
| playerName | Drew Cavanaugh |
| pos | C |
| started | False |
| startingPosition | PH |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 17.5 |
| sl_woba | 0.305 |
| sl_xwoba | 0.332 |
| sl_xba | 0.239 |
| sl_xslg | 0.339 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 20.6 |
| sl_exit_velocity_avg | 84.1 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 21.6 |
| 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.235 | 0.000 | 0.000 | Hitting_2B | 0.246 | 0.000 | -0.246 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 4.080 | 4.000 | 4.000 | Hitting_AB | 4.012 | 3.000 | -0.012 | 1.000 |
| predicted_AVG | 0.236 | 0.000 | 0.250 | Hitting_AVG | 0.236 | 0.333 | -0.236 | -0.333 |
| predicted_BB | 0.275 | 0.000 | 0.000 | Hitting_BB | 0.270 | 1.000 | -0.270 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 0.946 | 1.000 | -0.946 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_OBP | 0.311 | 0.000 | 0.250 | Hitting_OBP | 0.285 | 0.600 | -0.285 | -0.600 |
| predicted_R | 0.529 | 0.000 | 1.000 | Hitting_R | 0.543 | 2.000 | -0.543 | -2.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.506 | 0.000 | -0.506 | 0.000 |
| predicted_SLG | 0.415 | 0.000 | 0.250 | Hitting_SLG | 0.438 | 0.333 | -0.438 | -0.333 |
| predicted_SO | 1.196 | 2.000 | 1.000 | Hitting_SO | 1.217 | 0.000 | 0.783 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 1.1960 -> 2.0000 (boost 0.8040, worse) |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, 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 | 2 | 1 | 1 | 1 | 1 | predicted_R: 0.5290 -> 0.5940 (boost 0.0650, better) | predicted_AB: 4.0800 -> 3.9103 (deboost -0.1697, 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.3108 -> 0.2855 (deboost -0.0253, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_H: 0.9053 -> 1.0000 (boost 0.0947, better) | predicted_RBI: 0.3646 -> 0.0000 (deboost -0.3646, worse) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.222 HR/AB=0.034 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5733 -> 1.0000 (boost 0.4267, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2315 -> 0.2500 (boost 0.0185, better) | predicted_SLG: 0.4081 -> 0.2500 (deboost -0.1581, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4081 (boost 0.1581, better) | predicted_AVG: 0.2500 -> 0.2315 (deboost -0.0185, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642715",
"player_name": "Willy Adames",
"position": "SS",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.01,
"predicted_AB": 4.08,
"predicted_AVG": 0.236,
"predicted_BB": 0.275,
"predicted_H": 0.96,
"predicted_HR": 0.16,
"predicted_OBP": 0.311,
"predicted_R": 0.529,
"predicted_RBI": 0.42,
"predicted_SLG": 0.415,
"predicted_SO": 1.196
},
"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.254,
"predicted_3B": 0.0083,
"predicted_AB": 3.9103,
"predicted_AVG": 0.2368,
"predicted_BB": 0.297,
"predicted_H": 0.9238,
"predicted_HBP": 0.073,
"predicted_HR": 0.1419,
"predicted_OBP": 0.3108,
"predicted_R": 0.594,
"predicted_RBI": 0.3778,
"predicted_SLG": 0.4141,
"predicted_SO": 1.1628
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.254,
"delta": 0.019,
"percent_delta": 0.0809,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0083,
"delta": -0.0017,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 3.9103,
"delta": -0.1697,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2368,
"delta": 0.0008,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.297,
"delta": 0.022,
"percent_delta": 0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9238,
"delta": -0.0362,
"percent_delta": -0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1419,
"delta": -0.0181,
"percent_delta": -0.1131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3108,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.594,
"delta": 0.065,
"percent_delta": 0.1229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.3778,
"delta": -0.0422,
"percent_delta": -0.1005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4141,
"delta": -0.0009,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 1.1628,
"delta": -0.0332,
"percent_delta": -0.0278,
"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_R",
"before": 0.529,
"after": 0.594,
"delta": 0.065,
"percent_delta": 0.1229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 3.9103,
"delta": -0.1697,
"percent_delta": -0.0416,
"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.254,
"predicted_3B": 0.0083,
"predicted_AB": 3.9103,
"predicted_AVG": 0.2315,
"predicted_BB": 0.2952,
"predicted_H": 0.9053,
"predicted_HBP": 0.073,
"predicted_HR": 0.14,
"predicted_OBP": 0.2855,
"predicted_R": 0.5733,
"predicted_RBI": 0.3646,
"predicted_SLG": 0.4081,
"predicted_SO": 1.17
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.254,
"after": 0.254,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9103,
"after": 3.9103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2368,
"after": 0.2315,
"delta": -0.0053,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.2952,
"delta": -0.0018,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9238,
"after": 0.9053,
"delta": -0.0185,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1419,
"after": 0.14,
"delta": -0.0019,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3108,
"after": 0.2855,
"delta": -0.0253,
"percent_delta": -0.0814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.594,
"after": 0.5733,
"delta": -0.0207,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3778,
"after": 0.3646,
"delta": -0.0132,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4141,
"after": 0.4081,
"delta": -0.006,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1628,
"after": 1.17,
"delta": 0.0072,
"percent_delta": 0.0062,
"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.3108,
"after": 0.2855,
"delta": -0.0253,
"percent_delta": -0.0814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.222 HR/AB=0.034",
"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.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0,
"delta": -0.0083,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9103,
"after": 4.0,
"delta": 0.0897,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2952,
"after": 0.0,
"delta": -0.2952,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9053,
"after": 1.0,
"delta": 0.0947,
"percent_delta": 0.1046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3646,
"after": 0.0,
"delta": -0.3646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.17,
"after": 1.0,
"delta": -0.17,
"percent_delta": -0.1453,
"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.9053,
"after": 1.0,
"delta": 0.0947,
"percent_delta": 0.1046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3646,
"after": 0.0,
"delta": -0.3646,
"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.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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_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": 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.5733,
"after": 1.0,
"delta": 0.4267,
"percent_delta": 0.7443,
"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.5733,
"after": 1.0,
"delta": 0.4267,
"percent_delta": 0.7443,
"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": 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.2315,
"after": 0.25,
"delta": 0.0185,
"percent_delta": 0.0799,
"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.2855,
"after": 0.25,
"delta": -0.0355,
"percent_delta": -0.1243,
"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.4081,
"after": 0.25,
"delta": -0.1581,
"percent_delta": -0.3874,
"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.2315,
"after": 0.25,
"delta": 0.0185,
"percent_delta": 0.0799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4081,
"after": 0.25,
"delta": -0.1581,
"percent_delta": -0.3874,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"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_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": 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.2315,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2855,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4081,
"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.2315,
"delta": -0.0185,
"percent_delta": -0.0739,
"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.2855,
"delta": 0.0355,
"percent_delta": 0.1418,
"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.4081,
"delta": 0.1581,
"percent_delta": 0.6325,
"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.4081,
"delta": 0.1581,
"percent_delta": 0.6325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2315,
"delta": -0.0185,
"percent_delta": -0.0739,
"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.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 4.0,
"delta": -0.08,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2315,
"delta": -0.0045,
"percent_delta": -0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.0,
"delta": -0.275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.2855,
"delta": -0.0255,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4081,
"delta": -0.0069,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 2.0,
"delta": 0.804,
"percent_delta": 0.6722,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.196,
"after": 2.0,
"delta": 0.804,
"percent_delta": 0.6722,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"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.235 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.275 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.529 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.415 | - |
| predicted_SO | 1.196 | - |
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.254 | 0.019 |
| predicted_3B | 0.008 | -0.002 |
| predicted_AB | 3.910 | -0.170 |
| predicted_AVG | 0.237 | 0.001 |
| predicted_BB | 0.297 | 0.022 |
| predicted_H | 0.924 | -0.036 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.142 | -0.018 |
| predicted_OBP | 0.311 | -0.000 |
| predicted_R | 0.594 | 0.065 |
| predicted_RBI | 0.378 | -0.042 |
| predicted_SLG | 0.414 | -0.001 |
| predicted_SO | 1.163 | -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.254 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.910 | 0.000 |
| predicted_AVG | 0.232 | -0.005 |
| predicted_BB | 0.295 | -0.002 |
| predicted_H | 0.905 | -0.018 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.140 | -0.002 |
| predicted_OBP | 0.285 | -0.025 |
| predicted_R | 0.573 | -0.021 |
| predicted_RBI | 0.365 | -0.013 |
| predicted_SLG | 0.408 | -0.006 |
| predicted_SO | 1.170 | 0.007 |
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.222 HR/AB=0.034
| 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 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)
| 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 |
| 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 | 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.254 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.090 |
| predicted_AVG | 0.250 | 0.018 |
| predicted_BB | 0.000 | -0.295 |
| predicted_H | 1.000 | 0.095 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.250 | -0.035 |
| predicted_R | 1.000 | 0.427 |
| predicted_RBI | 0.000 | -0.365 |
| predicted_SLG | 0.250 | -0.158 |
| predicted_SO | 1.000 | -0.170 |
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 | -1.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 | 5.000 | 2.000 | 0.000 | 0.000 | 0.000 | 5.000 | 2.000 | 4.000 | 0.2941 | 0.4000 | 0.4118 | 0.2941 | 0.0000 | 0.0000 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 3.000 | 0.000 | 1.000 | 3.000 | 8.000 | 4.000 | 13.000 | 0.2059 | 0.3077 | 0.3824 | 0.2059 | 0.0294 | 0.0882 | 0.1177 | 0.3824 |
| season | 0.60 | 102 | - | 394.000 | 90.000 | 24.000 | 1.000 | 17.000 | 44.000 | 54.000 | 28.000 | 122.000 | 0.2284 | 0.2824 | 0.4239 | 0.2284 | 0.0432 | 0.1117 | 0.0711 | 0.3096 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2790 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.6860 |
| predicted_AVG | 0.2378 |
| predicted_BB | 0.3260 |
| predicted_H | 0.8760 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.1180 |
| predicted_OBP | 0.3106 |
| predicted_R | 0.6800 |
| predicted_RBI | 0.3220 |
| predicted_SLG | 0.4129 |
| predicted_SO | 1.1190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.2790 | 0.2540 | model_form_blend |
| predicted_3B | 0.0100 | 0.0060 | 0.0083 | model_form_blend |
| predicted_AB | 4.0800 | 3.6860 | 3.9103 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2378 | 0.2368 | model_form_blend |
| predicted_BB | 0.2750 | 0.3260 | 0.2970 | model_form_blend |
| predicted_H | 0.9600 | 0.8760 | 0.9238 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.1600 | 0.1180 | 0.1419 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3106 | 0.3108 | model_form_blend |
| predicted_R | 0.5290 | 0.6800 | 0.5940 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3220 | 0.3778 | model_form_blend |
| predicted_SLG | 0.4150 | 0.4129 | 0.4141 | model_form_blend |
| predicted_SO | 1.1960 | 1.1190 | 1.1628 | 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 | 411 |
| Season rows before report date | 411 |
| 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 | 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.228 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| 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 | SS |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 642715 |
| playerID | 642715 |
| playerName | Willy Adames |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 28.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.306 |
| sl_xwoba | 0.289 |
| sl_xba | 0.219 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 39.3 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 22.3 |
| sl_whiff_percent | 29.2 |
| 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.130 | 0.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_AB | 2.792 | 2.000 | 3.000 | Hitting_AB | 3.082 | 1.000 | -1.082 | 1.000 |
| predicted_AVG | 0.343 | 0.000 | 0.333 | Hitting_AVG | 0.243 | 1.000 | -0.243 | -1.000 |
| predicted_BB | 0.208 | 1.000 | 0.000 | Hitting_BB | 0.276 | 1.000 | 0.724 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.340 | 0.000 | 1.000 | Hitting_H | 0.749 | 1.000 | -0.749 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.368 | 0.333 | 0.333 | Hitting_OBP | 0.325 | 1.000 | 0.008 | -0.667 |
| predicted_R | 0.299 | 0.000 | 0.000 | Hitting_R | 0.346 | 1.000 | -0.346 | -1.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_SLG | 0.367 | 0.000 | 0.333 | Hitting_SLG | 0.383 | 1.000 | -0.383 | -1.000 |
| predicted_SO | 0.506 | 0.000 | 1.000 | Hitting_SO | 0.568 | 0.000 | -0.568 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2080 -> 1.0000 (boost 0.7920, better) |
| Biggest Deboost | predicted_AB: 2.7920 -> 2.0000 (deboost -0.7920, 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 | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.3400 -> 0.5277 (boost 0.1877, better) | predicted_AVG: 0.3430 -> 0.3168 (deboost -0.0262, 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.3168 -> 0.1845 (deboost -0.1323, 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.5078 -> 1.0000 (boost 0.4922, worse) | predicted_BB: 0.2540 -> 0.0000 (deboost -0.2540, worse) | AB rounded to 3 (raw=2.80), rates preserved: AVG=0.184 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3143 -> 0.0000 (deboost -0.3143, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1845 -> 0.3330 (boost 0.1485, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.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.1845 (deboost -0.1485, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687551",
"player_name": "Drew Gilbert",
"position": "CF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.13,
"predicted_3B": 0.026,
"predicted_AB": 2.792,
"predicted_AVG": 0.343,
"predicted_BB": 0.208,
"predicted_H": 0.34,
"predicted_HR": 0.03,
"predicted_OBP": 0.368,
"predicted_R": 0.299,
"predicted_RBI": 0.12,
"predicted_SLG": 0.367,
"predicted_SO": 0.506
},
"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.1112,
"predicted_3B": 0.0214,
"predicted_AB": 2.8037,
"predicted_AVG": 0.3168,
"predicted_BB": 0.2556,
"predicted_H": 0.5277,
"predicted_HBP": 0.072,
"predicted_HR": 0.0338,
"predicted_OBP": 0.3657,
"predicted_R": 0.3257,
"predicted_RBI": 0.155,
"predicted_SLG": 0.3652,
"predicted_SO": 0.5047
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.1112,
"delta": -0.0188,
"percent_delta": -0.1446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0214,
"delta": -0.0046,
"percent_delta": -0.1769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.792,
"after": 2.8037,
"delta": 0.0117,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.343,
"after": 0.3168,
"delta": -0.0262,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.208,
"after": 0.2556,
"delta": 0.0476,
"percent_delta": 0.2288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 0.5277,
"delta": 0.1877,
"percent_delta": 0.5521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0338,
"delta": 0.0038,
"percent_delta": 0.1267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3657,
"delta": -0.0023,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.3257,
"delta": 0.0267,
"percent_delta": 0.0893,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.155,
"delta": 0.035,
"percent_delta": 0.2917,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3652,
"delta": -0.0018,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.506,
"after": 0.5047,
"delta": -0.0013,
"percent_delta": -0.0026,
"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.34,
"after": 0.5277,
"delta": 0.1877,
"percent_delta": 0.5521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.343,
"after": 0.3168,
"delta": -0.0262,
"percent_delta": -0.0764,
"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": 77
}
},
{
"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.1112,
"predicted_3B": 0.0214,
"predicted_AB": 2.8037,
"predicted_AVG": 0.1845,
"predicted_BB": 0.254,
"predicted_H": 0.5171,
"predicted_HBP": 0.072,
"predicted_HR": 0.0333,
"predicted_OBP": 0.2522,
"predicted_R": 0.3143,
"predicted_RBI": 0.1496,
"predicted_SLG": 0.2751,
"predicted_SO": 0.5078
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1112,
"after": 0.1112,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0214,
"after": 0.0214,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8037,
"after": 2.8037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3168,
"after": 0.1845,
"delta": -0.1323,
"percent_delta": -0.4176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2556,
"after": 0.254,
"delta": -0.0016,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5277,
"after": 0.5171,
"delta": -0.0106,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.072,
"after": 0.072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0338,
"after": 0.0333,
"delta": -0.0005,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3657,
"after": 0.2522,
"delta": -0.1135,
"percent_delta": -0.3104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3257,
"after": 0.3143,
"delta": -0.0114,
"percent_delta": -0.035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.155,
"after": 0.1496,
"delta": -0.0054,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3652,
"after": 0.2751,
"delta": -0.0901,
"percent_delta": -0.2467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5047,
"after": 0.5078,
"delta": 0.0031,
"percent_delta": 0.0061,
"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.3168,
"after": 0.1845,
"delta": -0.1323,
"percent_delta": -0.4176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.80), rates preserved: AVG=0.184 HR/AB=0.012",
"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.1112,
"after": 0.0,
"delta": -0.1112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0214,
"after": 0.0,
"delta": -0.0214,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8037,
"after": 3.0,
"delta": 0.1963,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5171,
"after": 1.0,
"delta": 0.4829,
"percent_delta": 0.9339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.072,
"after": 0.0,
"delta": -0.072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0333,
"after": 0.0,
"delta": -0.0333,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1496,
"after": 0.0,
"delta": -0.1496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5078,
"after": 1.0,
"delta": 0.4922,
"percent_delta": 0.9693,
"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.5078,
"after": 1.0,
"delta": 0.4922,
"percent_delta": 0.9693,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"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.3143,
"after": 0.0,
"delta": -0.3143,
"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.3143,
"after": 0.0,
"delta": -0.3143,
"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.1845,
"after": 0.333,
"delta": 0.1485,
"percent_delta": 0.8049,
"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.2522,
"after": 0.333,
"delta": 0.0808,
"percent_delta": 0.3204,
"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.2751,
"after": 0.333,
"delta": 0.0579,
"percent_delta": 0.2105,
"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.1845,
"after": 0.333,
"delta": 0.1485,
"percent_delta": 0.8049,
"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": 2.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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 2.0,
"predicted_AVG": 0.1845,
"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.2522,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2751,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1845,
"delta": -0.1485,
"percent_delta": -0.4461,
"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.2522,
"delta": -0.0808,
"percent_delta": -0.2426,
"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.2751,
"delta": -0.0579,
"percent_delta": -0.174,
"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.1845,
"delta": -0.1485,
"percent_delta": -0.4461,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.792,
"after": 2.0,
"delta": -0.792,
"percent_delta": -0.2837,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.343,
"after": 0.1845,
"delta": -0.1585,
"percent_delta": -0.4621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.208,
"after": 1.0,
"delta": 0.792,
"percent_delta": 3.8077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.2522,
"delta": -0.1158,
"percent_delta": -0.3147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.0,
"delta": -0.299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.2751,
"delta": -0.0919,
"percent_delta": -0.2504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.506,
"after": 0.0,
"delta": -0.506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.208,
"after": 1.0,
"delta": 0.792,
"percent_delta": 3.8077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.792,
"after": 2.0,
"delta": -0.792,
"percent_delta": -0.2837,
"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.130 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 2.792 | - |
| predicted_AVG | 0.343 | - |
| predicted_BB | 0.208 | - |
| predicted_H | 0.340 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.368 | - |
| predicted_R | 0.299 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.506 | - |
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.111 | -0.019 |
| predicted_3B | 0.021 | -0.005 |
| predicted_AB | 2.804 | 0.012 |
| predicted_AVG | 0.317 | -0.026 |
| predicted_BB | 0.256 | 0.048 |
| predicted_H | 0.528 | 0.188 |
| predicted_HBP | 0.072 | - |
| predicted_HR | 0.034 | 0.004 |
| predicted_OBP | 0.366 | -0.002 |
| predicted_R | 0.326 | 0.027 |
| predicted_RBI | 0.155 | 0.035 |
| predicted_SLG | 0.365 | -0.002 |
| predicted_SO | 0.505 | -0.001 |
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.111 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 2.804 | 0.000 |
| predicted_AVG | 0.184 | -0.132 |
| predicted_BB | 0.254 | -0.002 |
| predicted_H | 0.517 | -0.011 |
| predicted_HBP | 0.072 | 0.000 |
| predicted_HR | 0.033 | -0.000 |
| predicted_OBP | 0.252 | -0.114 |
| predicted_R | 0.314 | -0.011 |
| predicted_RBI | 0.150 | -0.005 |
| predicted_SLG | 0.275 | -0.090 |
| predicted_SO | 0.508 | 0.003 |
AB rounded to 3 (raw=2.80), rates preserved: AVG=0.184 HR/AB=0.012
| 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.111 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | 0.196 |
| predicted_AVG | 0.333 | 0.149 |
| predicted_BB | 0.000 | -0.254 |
| predicted_H | 1.000 | 0.483 |
| predicted_HR | 0.000 | -0.033 |
| predicted_OBP | 0.333 | 0.081 |
| predicted_R | 0.000 | -0.314 |
| predicted_RBI | 0.000 | -0.150 |
| predicted_SLG | 0.333 | 0.058 |
| predicted_SO | 1.000 | 0.492 |
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 | 2.000 | -1.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 | 3.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 | - | 11.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.4545 | 0.5714 | 0.4545 | 0.4546 | 0.0000 | 0.0000 | 0.2727 | 0.1818 |
| last_10 | 0.20 | 10 | - | 29.000 | 7.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 4.000 | 0.2414 | 0.3529 | 0.2414 | 0.2414 | 0.0000 | 0.0345 | 0.1035 | 0.1379 |
| season | 0.60 | 77 | - | 215.000 | 52.000 | 10.000 | 2.000 | 4.000 | 21.000 | 23.000 | 16.000 | 39.000 | 0.2419 | 0.3080 | 0.3628 | 0.2419 | 0.0186 | 0.0977 | 0.0744 | 0.1814 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0850 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.8200 |
| predicted_AVG | 0.2803 |
| predicted_BB | 0.3220 |
| predicted_H | 0.7900 |
| predicted_HBP | 0.0720 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3625 |
| predicted_R | 0.3630 |
| predicted_RBI | 0.2040 |
| predicted_SLG | 0.3628 |
| predicted_SO | 0.5030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.0850 | 0.1112 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0214 | model_form_blend |
| predicted_AB | 2.7920 | 2.8200 | 2.8037 | model_form_blend |
| predicted_AVG | 0.3430 | 0.2803 | 0.3168 | model_form_blend |
| predicted_BB | 0.2080 | 0.3220 | 0.2556 | model_form_blend |
| predicted_H | 0.3400 | 0.7900 | 0.5277 | model_form_blend |
| predicted_HBP | - | 0.0720 | 0.0720 | form_only |
| predicted_HR | 0.0300 | 0.0390 | 0.0338 | model_form_blend |
| predicted_OBP | 0.3680 | 0.3625 | 0.3657 | model_form_blend |
| predicted_R | 0.2990 | 0.3630 | 0.3257 | model_form_blend |
| predicted_RBI | 0.1200 | 0.2040 | 0.1550 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3628 | 0.3652 | model_form_blend |
| predicted_SO | 0.5060 | 0.5030 | 0.5047 | 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 | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 77 |
| 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 | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| 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 | 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 | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 2 |
| 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 | 20260729_MIL@SF |
| game_type | short |
| mlbID | 687551 |
| playerID | 687551 |
| playerName | Drew Gilbert |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 16.5 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.298 |
| sl_xwoba | 0.302 |
| sl_xba | 0.25 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 33.9 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 42.0 |
| 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.579 | 1.000 | -0.579 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.737 | 2.000 | 0.263 | 1.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.421 | 5.000 | 1.579 | 2.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 6.226 | 6.000 | -0.226 | 0.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 4.895 | 4.000 | -0.895 | 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 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | 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": "657277",
"player_name": "Logan Webb",
"position": "Starter",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}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 | 6.000 | - |
| 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 | 1.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 4.000 | 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 | 28.200 | 21.000 | 29.000 | 8.000 | 17.000 | 4.000 | 6.5930 | 1.2907 | 0.7326 | 1.0116 | 0.2791 | 0.5930 | 0.1395 |
| last_10 | 0.35 | 10 | 66.200 | 24.000 | 48.000 | 12.000 | 46.000 | 5.000 | 3.2400 | 0.9000 | 0.3600 | 0.7200 | 0.1800 | 0.6900 | 0.0750 |
| season | 0.20 | 19 | 119.000 | 52.000 | 103.000 | 30.000 | 93.000 | 9.000 | 3.9328 | 1.1176 | 0.4370 | 0.8656 | 0.2521 | 0.7815 | 0.0756 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6110 |
| predicted_ER | 3.2760 |
| predicted_ERA | 4.8181 |
| predicted_H | 5.5090 |
| predicted_HR | 0.6980 |
| predicted_IP | 6.0000 |
| predicted_SO | 4.4420 |
| predicted_WHIP | 1.1636 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6110 | 1.3434 | model_form_blend |
| predicted_ER | 3.0000 | 3.2760 | 3.1551 | model_form_blend |
| predicted_ERA | - | 4.8181 | 4.8181 | form_only |
| predicted_H | 7.0000 | 5.5090 | 6.1621 | model_form_blend |
| predicted_HR | 1.0000 | 0.6980 | 0.8303 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 4.0000 | 4.4420 | 4.2484 | model_form_blend |
| predicted_WHIP | - | 1.1636 | 1.1636 | 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 | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 7 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 26 |
| Pitches | 101 |
| 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 | 3.93 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 8 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 2 |
| Pitching_SO | 4 |
| Pitching_Strikes | 61 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 657277 |
| playerID | 657277 |
| playerName | Logan Webb |
| pos | P |
| started | True |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.283 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 39.9 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 76.830551786 |
| sl_avg_hyper_speed | 94.059526 |
| 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.611 | 0.000 | -0.611 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.611 | 0.000 | -0.611 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.747 | 1.000 | 0.253 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.222 | 2.000 | -0.222 | -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": "669062",
"player_name": "Erik Miller",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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 | 5.100 | 0.000 | 2.000 | 2.000 | 8.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.3750 | 0.3750 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 0.000 | 5.000 | 4.000 | 15.000 | 0.000 | 0.0000 | 0.8710 | 0.0000 | 0.4839 | 0.3871 | 1.4516 | 0.0000 |
| season | 0.20 | 35 | 31.100 | 9.000 | 21.000 | 20.000 | 44.000 | 2.000 | 2.5851 | 1.3085 | 0.2872 | 0.6702 | 0.6383 | 1.4043 | 0.0638 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3980 |
| predicted_ER | 0.2570 |
| predicted_ERA | 2.3125 |
| predicted_H | 0.6960 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2390 |
| predicted_WHIP | 1.0944 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3980 | 0.1839 | model_form_blend |
| predicted_ER | 0.0000 | 0.2570 | 0.1188 | model_form_blend |
| predicted_ERA | - | 2.3125 | 2.3125 | form_only |
| predicted_H | 0.0000 | 0.6960 | 0.3216 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0347 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2390 | 1.1104 | model_form_blend |
| predicted_WHIP | - | 1.0944 | 1.0944 | 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 | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 35 |
| 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 | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.87 |
| 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 | 14 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260727_MIL@SF |
| game_type | full |
| mlbID | 669062 |
| playerID | 669062 |
| playerName | Erik Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-27 |
| sl_k_percent | 32.4 |
| sl_bb_percent | 16.2 |
| sl_woba | 0.289 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 27.5 |
| sl_whiff_percent | 35.6 |
| sl_swing_percent | 38.7 |
| sl_avg_best_speed | 68.70526697 |
| sl_avg_hyper_speed | 92.654108182 |
| 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.442 | 1.000 | -0.442 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.488 | 0.000 | 1.512 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.884 | 1.000 | 1.116 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.865 | 1.000 | 0.135 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.163 | 1.000 | -1.163 | -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.1000 -> 1.0000 (boost 0.9000, 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.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668873",
"player_name": "Caleb Kilian",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 0.1,
"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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"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 | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.100 | - |
| 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.100 | 1.000 | 3.000 | 1.000 | 3.000 | 0.000 | 2.0769 | 0.9231 | 0.2308 | 0.6923 | 0.2308 | 0.6923 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 7.000 | 13.000 | 2.000 | 11.000 | 0.000 | 7.0000 | 1.6667 | 0.7778 | 1.4444 | 0.2222 | 1.2222 | 0.0000 |
| season | 0.20 | 42 | 42.100 | 18.000 | 35.000 | 18.000 | 50.000 | 5.000 | 3.8268 | 1.2520 | 0.4252 | 0.8268 | 0.4252 | 1.1811 | 0.1181 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2250 |
| predicted_ER | 0.3590 |
| predicted_ERA | 4.3005 |
| predicted_H | 0.7370 |
| predicted_HR | 0.0540 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7290 |
| predicted_WHIP | 1.2800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2250 | 0.1109 | model_form_blend |
| predicted_ER | 2.0000 | 0.3590 | 1.1913 | model_form_blend |
| predicted_ERA | - | 4.3005 | 4.3005 | form_only |
| predicted_H | 2.0000 | 0.7370 | 1.3776 | model_form_blend |
| predicted_HR | 1.0000 | 0.0540 | 0.5338 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7290 | 0.3592 | model_form_blend |
| predicted_WHIP | - | 1.2800 | 1.2800 | 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.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 5 |
| Pitches | 14 |
| 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 | 0 |
| Pitching_ERA | 4.46 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_MIL@SF |
| game_type | full |
| mlbID | 668873 |
| playerID | 668873 |
| playerName | Caleb Kilian |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-29 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.291 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 76.352207778 |
| sl_avg_hyper_speed | 93.32213514 |
| Field | Value |
|---|---|
| Pitcher | JP Sears |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1210 |
| ESPN Rank | 267 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1535 |
| Avg Velo | 87.1315 |
| Avg Spin | 1987.6177 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 1 |
| Pre H | 5 |
| Pre BB | 0 |
| Pre SO | 4 |
| Season ERA | 3.8571 |
| Season WHIP | 1.1786 |
| Role Avg IP | 4.9330 |
| Recent Avg IP | 4.9330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 114,
"wins": 57,
"losses": 57,
"win_pct": 0.5,
"runs_scored": 484.0,
"runs_allowed": 510.0,
"run_differential": -26.0,
"run_differential_per_game": -0.2281,
"avg_runs_scored": 4.2456,
"avg_runs_allowed": 4.4737,
"offense_index": 0.9383,
"defense_index": 1.0114,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 3.6,
"run_differential": 31.0
},
"available": true,
"quality_score": 0.0423
},
"opponent": {
"team": "SF",
"games": 119,
"wins": 52,
"losses": 67,
"win_pct": 0.437,
"runs_scored": 518.0,
"runs_allowed": 543.0,
"run_differential": -25.0,
"run_differential_per_game": -0.2101,
"avg_runs_scored": 4.3529,
"avg_runs_allowed": 4.563,
"offense_index": 0.9621,
"defense_index": 0.9916,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.1,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1141
},
"edges": {
"quality_edge": 0.1564,
"offense_edge": -0.0617,
"opponent_offense_edge": -0.0379,
"defense_strength": 0.0114,
"opponent_defense_weakness": 0.0084,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0081,
"run_prevention": 0.985,
"strikeout": 1.0077
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676664",
"profile": {
"available": true,
"pitcher_id": "676664",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 19.8,
"bb_percent": 7.8,
"woba": 0.3,
"xwoba": 0.32,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 45.8,
"avg_best_speed": 81.4723,
"avg_hyper_speed": 94.5565,
"whiff_percent": 20.6,
"swing_percent": 47.0
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.1873,
"command_and_miss": -0.3639,
"regression_edge": -0.5714,
"xwoba_edge": -0.2286,
"barrel_edge": -0.3111,
"hard_hit_edge": -1.1,
"whiff_edge": -0.7286,
"bb_edge": 0.275,
"pitch_design_score": -0.1535
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676664",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 75,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 75,
"pitch_usage": 0.0,
"release_speed": 87.13148127473565,
"release_spin_rate": 1987.6177334751017,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 75,
"pitch_usage": 0.0,
"release_speed": 87.13148127473565,
"release_spin_rate": 1987.6177334751017,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.1315,
"release_spin_rate": 1987.6177,
"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.1535,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0964,
"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.121,
"sample_weight": 0.45,
"run_prevention_factor": 1.0103,
"strikeout_factor": 0.9803,
"walk_factor": 0.9901,
"homer_factor": 1.0341,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676664",
"espn_id": 39818,
"player_name": "JP Sears",
"team": "SD",
"role": "pitcher",
"espn_rank": 267,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 267,
"gp_value": 6.0,
"gp_rank": 539,
"gs_value": 5.0,
"gs_rank": 193,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.8571,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 28.0,
"ip_rank": 391,
"h_value": 24.0,
"h_rank": 391,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 9.0,
"bb_rank": 441,
"k_value": 23.0,
"k_rank": 402,
"k_per_9_value": 7.392857,
"k_per_9_rank": 27,
"whip_value": 1.1785,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0046,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0046,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9955,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0153,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9911,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 28.0,
"ER": 12,
"H": 24,
"BB": 9,
"SO": 23,
"HR": 5,
"ERA": 3.8571428571428568,
"WHIP": 1.1785714285714284,
"K9": 7.392857142857142,
"HR9": 1.607142857142857,
"games_pitched": 6,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 6,
"error_prone": false
},
"games_count": 6,
"latest_game_date": "2026-07-25T00:00:00"
}{
"available": true,
"pitcher_id": "676664",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 75,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 75,
"pitch_usage": 0.0,
"release_speed": 87.13148127473565,
"release_spin_rate": 1987.6177334751017,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 75,
"pitch_usage": 0.0,
"release_speed": 87.13148127473565,
"release_spin_rate": 1987.6177334751017,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.1315,
"release_spin_rate": 1987.6177,
"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.1535,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0964,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.8653846153846154,
"last_10": 0.1346153846153846
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
},
"role": "pitcher",
"player_id": "676664",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 6,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.1,
"ER": 10.0,
"R": 12.0,
"H": 19.0,
"BB": 7.0,
"SO": 18.0,
"HR": 4.0,
"BF": 91.0,
"Pitches": 353.0
},
"per_game": {
"IP": 4.1,
"ER": 2.0,
"R": 2.4,
"H": 3.8,
"BB": 1.4,
"SO": 3.6,
"HR": 0.8,
"BF": 18.2,
"Pitches": 70.6
},
"rates": {
"ERA": 4.0299,
"WHIP": 1.1642,
"ER_per_IP": 0.44776,
"H_per_IP": 0.85075,
"BB_per_IP": 0.31343,
"SO_per_IP": 0.80597,
"HR_per_IP": 0.1791
}
},
"last_10": {
"games": 6,
"totals": {
"IP": 28.0,
"ER": 12.0,
"R": 14.0,
"H": 24.0,
"BB": 9.0,
"SO": 23.0,
"HR": 5.0,
"BF": 116.0,
"Pitches": 434.0
},
"per_game": {
"IP": 4.2,
"ER": 2.0,
"R": 2.3333,
"H": 4.0,
"BB": 1.5,
"SO": 3.8333,
"HR": 0.8333,
"BF": 19.3333,
"Pitches": 72.3333
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.1786,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.32143,
"SO_per_IP": 0.82143,
"HR_per_IP": 0.17857
}
},
"season": {
"games": 6,
"totals": {
"IP": 28.0,
"ER": 12.0,
"R": 14.0,
"H": 24.0,
"BB": 9.0,
"SO": 23.0,
"HR": 5.0,
"BF": 116.0,
"Pitches": 434.0
},
"per_game": {
"IP": 4.2,
"ER": 2.0,
"R": 2.3333,
"H": 4.0,
"BB": 1.5,
"SO": 3.8333,
"HR": 0.8333,
"BF": 19.3333,
"Pitches": 72.3333
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.1786,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.32143,
"SO_per_IP": 0.82143,
"HR_per_IP": 0.17857
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.204,
"predicted_H": 4.233,
"predicted_BB": 1.553,
"predicted_SO": 4.086,
"predicted_HR": 0.776,
"predicted_ERA": 4.2557,
"predicted_WHIP": 1.2415
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.542,
"form_weight": 0.458,
"form_reliability": 0.5455,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.2,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.204,
"final": 1.5514,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.233,
"final": 4.6487,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.553,
"final": 0.7112,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.086,
"final": 4.0394,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.776,
"final": 0.3554,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2557,
"final": 4.2557,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2415,
"final": 1.2415,
"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 | Adrian Morejon |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.8900 |
| ESPN Rank | 171 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.9415 |
| Avg Spin | 2257.3688 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.1395 |
| Season WHIP | 1.1163 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 114,
"wins": 57,
"losses": 57,
"win_pct": 0.5,
"runs_scored": 484.0,
"runs_allowed": 510.0,
"run_differential": -26.0,
"run_differential_per_game": -0.2281,
"avg_runs_scored": 4.2456,
"avg_runs_allowed": 4.4737,
"offense_index": 0.9383,
"defense_index": 1.0114,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 3.6,
"run_differential": 31.0
},
"available": true,
"quality_score": 0.0423
},
"opponent": {
"team": "SF",
"games": 119,
"wins": 52,
"losses": 67,
"win_pct": 0.437,
"runs_scored": 518.0,
"runs_allowed": 543.0,
"run_differential": -25.0,
"run_differential_per_game": -0.2101,
"avg_runs_scored": 4.3529,
"avg_runs_allowed": 4.563,
"offense_index": 0.9621,
"defense_index": 0.9916,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.1,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1141
},
"edges": {
"quality_edge": 0.1564,
"offense_edge": -0.0617,
"opponent_offense_edge": -0.0379,
"defense_strength": 0.0114,
"opponent_defense_weakness": 0.0084,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0081,
"run_prevention": 0.985,
"strikeout": 1.0077
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670970",
"profile": {
"available": true,
"pitcher_id": "670970",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 27.0,
"bb_percent": 6.3,
"woba": 0.256,
"xwoba": 0.251,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 1.9,
"hard_hit_percent": 31.0,
"avg_best_speed": 74.1559,
"avg_hyper_speed": 93.0643,
"whiff_percent": 33.6,
"swing_percent": 51.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.3915,
"command_and_miss": 0.8239,
"regression_edge": 0.1429,
"xwoba_edge": 1.7429,
"barrel_edge": 1.1556,
"hard_hit_edge": 1.0143,
"whiff_edge": 1.1286,
"bb_edge": 0.65,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670970",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 95.94149382264807,
"release_spin_rate": 2257.3688499979494,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 95.94149382264807,
"release_spin_rate": 2257.3688499979494,
"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": 95.9415,
"release_spin_rate": 2257.3688,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.89,
"sample_weight": 0.864,
"run_prevention_factor": 0.9243,
"strikeout_factor": 1.062,
"walk_factor": 0.9551,
"homer_factor": 0.8399,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670970",
"espn_id": 40917,
"player_name": "Adrian Morejon",
"team": "SD",
"role": "pitcher",
"espn_rank": 171,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 171,
"gp_value": 50.0,
"gp_rank": 9,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.1395,
"era_rank": null,
"w_value": 8.0,
"w_rank": 30,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 16.0,
"hld_rank": 15,
"ip_value": 57.1,
"ip_rank": 168,
"h_value": 49.0,
"h_rank": 179,
"er_value": 20.0,
"er_rank": 237,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 15.0,
"bb_rank": 288,
"k_value": 64.0,
"k_rank": 139,
"k_per_9_value": 10.046512,
"k_per_9_rank": 22,
"whip_value": 1.1162,
"whip_rank": null,
"war_value": 0.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9346,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9346,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9612,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8617,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0536,
"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": 13.0,
"ER": 3,
"H": 12,
"BB": 5,
"SO": 13,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 1.307692307692308,
"K9": 9.000000000000002,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "670970",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 95.94149382264807,
"release_spin_rate": 2257.3688499979494,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 95.94149382264807,
"release_spin_rate": 2257.3688499979494,
"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": 95.9415,
"release_spin_rate": 2257.3688,
"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.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.426,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6956,
"prior_weight": 0.3044
},
"role": "pitcher",
"player_id": "670970",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.8,
"Pitches": 19.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.125,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.375,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 3.0,
"R": 4.0,
"H": 12.0,
"BB": 5.0,
"SO": 13.0,
"HR": 0.0,
"BF": 57.0,
"Pitches": 207.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.4,
"H": 1.2,
"BB": 0.5,
"SO": 1.3,
"HR": 0.0,
"BF": 5.7,
"Pitches": 20.7
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3077,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.38462,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 50,
"totals": {
"IP": 57.1,
"ER": 20.0,
"R": 23.0,
"H": 49.0,
"BB": 15.0,
"SO": 64.0,
"HR": 3.0,
"BF": 237.0,
"Pitches": 908.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.46,
"H": 0.98,
"BB": 0.3,
"SO": 1.28,
"HR": 0.06,
"BF": 4.74,
"Pitches": 18.16
},
"rates": {
"ERA": 3.1395,
"WHIP": 1.1163,
"ER_per_IP": 0.34884,
"H_per_IP": 0.85465,
"BB_per_IP": 0.26163,
"SO_per_IP": 1.11628,
"HR_per_IP": 0.05233
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.28,
"predicted_H": 0.947,
"predicted_BB": 0.385,
"predicted_SO": 1.064,
"predicted_HR": 0.058,
"predicted_ERA": 2.3288,
"predicted_WHIP": 1.2313
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4786,
"form_weight": 0.5214,
"form_reliability": 0.6956,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.426,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6956,
"prior_weight": 0.3044
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.28,
"final": 0.146,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.947,
"final": 0.4938,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.385,
"final": 0.2007,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.064,
"final": 0.5548,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.058,
"final": 0.0302,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3288,
"final": 2.3288,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2313,
"final": 1.2313,
"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 | Bradgley Rodriguez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.6677 |
| ESPN Rank | 153 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2118 |
| Avg Velo | 93.6549 |
| Avg Spin | 2134.4992 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.3309 |
| Season WHIP | 1.1655 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 114,
"wins": 57,
"losses": 57,
"win_pct": 0.5,
"runs_scored": 484.0,
"runs_allowed": 510.0,
"run_differential": -26.0,
"run_differential_per_game": -0.2281,
"avg_runs_scored": 4.2456,
"avg_runs_allowed": 4.4737,
"offense_index": 0.9383,
"defense_index": 1.0114,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 3.6,
"run_differential": 31.0
},
"available": true,
"quality_score": 0.0423
},
"opponent": {
"team": "SF",
"games": 119,
"wins": 52,
"losses": 67,
"win_pct": 0.437,
"runs_scored": 518.0,
"runs_allowed": 543.0,
"run_differential": -25.0,
"run_differential_per_game": -0.2101,
"avg_runs_scored": 4.3529,
"avg_runs_allowed": 4.563,
"offense_index": 0.9621,
"defense_index": 0.9916,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.1,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1141
},
"edges": {
"quality_edge": 0.1564,
"offense_edge": -0.0617,
"opponent_offense_edge": -0.0379,
"defense_strength": 0.0114,
"opponent_defense_weakness": 0.0084,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0081,
"run_prevention": 0.985,
"strikeout": 1.0077
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "699134",
"profile": {
"available": true,
"pitcher_id": "699134",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 174.0,
"k_percent": 24.1,
"bb_percent": 8.4,
"woba": 0.264,
"xwoba": 0.242,
"sweet_spot_percent": 21.7,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 31.8,
"avg_best_speed": 76.5687,
"avg_hyper_speed": 92.9257,
"whiff_percent": 28.9,
"swing_percent": 51.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.4326,
"command_and_miss": 0.2975,
"regression_edge": 0.6286,
"xwoba_edge": 2.0,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.9,
"whiff_edge": 0.4571,
"bb_edge": 0.125,
"pitch_design_score": 0.2118
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "699134",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.65490748446746,
"release_spin_rate": 2134.4992491847097,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 93.65490748446746,
"release_spin_rate": 2134.4992491847097,
"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.6549,
"release_spin_rate": 2134.4992,
"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.2118,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.513,
"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.6677,
"sample_weight": 0.696,
"run_prevention_factor": 0.9432,
"strikeout_factor": 1.0197,
"walk_factor": 0.993,
"homer_factor": 0.8738,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699134",
"espn_id": 5266086,
"player_name": "Bradgley Rodriguez",
"team": "SD",
"role": "pitcher",
"espn_rank": 153,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 153,
"gp_value": 44.0,
"gp_rank": 49,
"gs_value": 3.0,
"gs_rank": 223,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.3309,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 7.0,
"hld_rank": 89,
"ip_value": 46.1,
"ip_rank": 218,
"h_value": 38.0,
"h_rank": 248,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 16.0,
"bb_rank": 272,
"k_value": 47.0,
"k_rank": 221,
"k_per_9_value": 9.129497,
"k_per_9_rank": 27,
"whip_value": 1.1654,
"whip_rank": null,
"war_value": 0.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9605,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9605,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9122,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0137,
"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": 3,
"H": 8,
"BB": 2,
"SO": 12,
"HR": 1,
"ERA": 2.793103448275862,
"WHIP": 1.0344827586206897,
"K9": 11.172413793103448,
"HR9": 0.9310344827586208,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "699134",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.65490748446746,
"release_spin_rate": 2134.4992491847097,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 93.65490748446746,
"release_spin_rate": 2134.4992491847097,
"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.6549,
"release_spin_rate": 2134.4992,
"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.2118,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.513,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.234,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6487,
"prior_weight": 0.3513
},
"role": "pitcher",
"player_id": "699134",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 44,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 78.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.6
},
"rates": {
"ERA": 4.5,
"WHIP": 1.75,
"ER_per_IP": 0.5,
"H_per_IP": 1.5,
"BB_per_IP": 0.25,
"SO_per_IP": 1.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 2.0,
"SO": 12.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.1,
"BF": 3.9,
"Pitches": 16.0
},
"rates": {
"ERA": 2.7931,
"WHIP": 1.0345,
"ER_per_IP": 0.31034,
"H_per_IP": 0.82759,
"BB_per_IP": 0.2069,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 44,
"totals": {
"IP": 46.1,
"ER": 12.0,
"R": 16.0,
"H": 38.0,
"BB": 16.0,
"SO": 47.0,
"HR": 2.0,
"BF": 194.0,
"Pitches": 758.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2727,
"R": 0.3636,
"H": 0.8636,
"BB": 0.3636,
"SO": 1.0682,
"HR": 0.0455,
"BF": 4.4091,
"Pitches": 17.2273
},
"rates": {
"ERA": 2.3309,
"WHIP": 1.1655,
"ER_per_IP": 0.25899,
"H_per_IP": 0.82014,
"BB_per_IP": 0.34532,
"SO_per_IP": 1.01439,
"HR_per_IP": 0.04317
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.386,
"predicted_H": 0.97,
"predicted_BB": 0.262,
"predicted_SO": 1.138,
"predicted_HR": 0.074,
"predicted_ERA": 3.8502,
"predicted_WHIP": 1.3649
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4984,
"form_weight": 0.5016,
"form_reliability": 0.6487,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.234,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6487,
"prior_weight": 0.3513
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.386,
"final": 0.1936,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.97,
"final": 0.4865,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.262,
"final": 0.1314,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.138,
"final": 1.5676,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.074,
"final": 0.0371,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8502,
"final": 3.8502,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3649,
"final": 1.3649,
"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 | Mason Miller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 1.0113 |
| ESPN Rank | 29 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2342 |
| Avg Velo | 94.0544 |
| Avg Spin | 2466.3086 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 0.7883 |
| Season WHIP | 0.7883 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 114,
"wins": 57,
"losses": 57,
"win_pct": 0.5,
"runs_scored": 484.0,
"runs_allowed": 510.0,
"run_differential": -26.0,
"run_differential_per_game": -0.2281,
"avg_runs_scored": 4.2456,
"avg_runs_allowed": 4.4737,
"offense_index": 0.9383,
"defense_index": 1.0114,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 3.6,
"run_differential": 31.0
},
"available": true,
"quality_score": 0.0423
},
"opponent": {
"team": "SF",
"games": 119,
"wins": 52,
"losses": 67,
"win_pct": 0.437,
"runs_scored": 518.0,
"runs_allowed": 543.0,
"run_differential": -25.0,
"run_differential_per_game": -0.2101,
"avg_runs_scored": 4.3529,
"avg_runs_allowed": 4.563,
"offense_index": 0.9621,
"defense_index": 0.9916,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.1,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1141
},
"edges": {
"quality_edge": 0.1564,
"offense_edge": -0.0617,
"opponent_offense_edge": -0.0379,
"defense_strength": 0.0114,
"opponent_defense_weakness": 0.0084,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0081,
"run_prevention": 0.985,
"strikeout": 1.0077
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695243",
"profile": {
"available": true,
"pitcher_id": "695243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 159.0,
"k_percent": 49.1,
"bb_percent": 8.9,
"woba": 0.176,
"xwoba": 0.177,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 25.7,
"avg_best_speed": 73.9937,
"avg_hyper_speed": 91.9172,
"whiff_percent": 47.8,
"swing_percent": 47.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.8826,
"command_and_miss": 2.0,
"regression_edge": -0.0286,
"xwoba_edge": 2.5,
"barrel_edge": 0.9333,
"hard_hit_edge": 1.7714,
"whiff_edge": 2.5,
"bb_edge": 0.0,
"pitch_design_score": 0.2342
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695243",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 94.05443262321592,
"release_spin_rate": 2466.308557290237,
"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": 20,
"pitch_usage": 0.0,
"release_speed": 94.05443262321592,
"release_spin_rate": 2466.308557290237,
"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": 94.0544,
"release_spin_rate": 2466.3086,
"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.2342,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6728,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 1.0113,
"sample_weight": 0.636,
"run_prevention_factor": 0.914,
"strikeout_factor": 1.1272,
"walk_factor": 1.0,
"homer_factor": 0.8597,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695243",
"espn_id": 4730225,
"player_name": "Mason Miller",
"team": "SD",
"role": "pitcher",
"espn_rank": 29,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 29,
"gp_value": 44.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 0.7883,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 28.0,
"sv_rank": 3,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 45.2,
"ip_rank": 227,
"h_value": 21.0,
"h_rank": 422,
"er_value": 4.0,
"er_rank": 606,
"hr_value": 0.0,
"hr_rank": 670,
"bb_value": 15.0,
"bb_rank": 288,
"k_value": 85.0,
"k_rank": 88,
"k_per_9_value": 16.751823,
"k_per_9_rank": 10,
"whip_value": 0.7883,
"whip_rank": null,
"war_value": 2.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9453,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9453,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9108,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0809,
"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.0,
"ER": 0,
"H": 4,
"BB": 2,
"SO": 19,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.6,
"K9": 17.1,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "695243",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 94.05443262321592,
"release_spin_rate": 2466.308557290237,
"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": 20,
"pitch_usage": 0.0,
"release_speed": 94.05443262321592,
"release_spin_rate": 2466.308557290237,
"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": 94.0544,
"release_spin_rate": 2466.3086,
"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.2342,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6728,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.101,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6454,
"prior_weight": 0.3546
},
"role": "pitcher",
"player_id": "695243",
"report_date": "20260730_S",
"season_year": 2026,
"rows_used": 44,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 10.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 2.0,
"HR": 0.0,
"BF": 3.4,
"Pitches": 14.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.2,
"SO_per_IP": 2.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 2.0,
"SO": 19.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.9,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 1.9,
"HR_per_IP": 0.0
}
},
"season": {
"games": 44,
"totals": {
"IP": 45.2,
"ER": 4.0,
"R": 6.0,
"H": 21.0,
"BB": 15.0,
"SO": 85.0,
"HR": 0.0,
"BF": 172.0,
"Pitches": 723.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0909,
"R": 0.1364,
"H": 0.4773,
"BB": 0.3409,
"SO": 1.9318,
"HR": 0.0,
"BF": 3.9091,
"Pitches": 16.4318
},
"rates": {
"ERA": 0.7883,
"WHIP": 0.7883,
"ER_per_IP": 0.08759,
"H_per_IP": 0.45985,
"BB_per_IP": 0.32847,
"SO_per_IP": 1.86131,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.191,
"predicted_H": 0.554,
"predicted_BB": 0.272,
"predicted_SO": 1.59,
"predicted_HR": 0.054,
"predicted_ERA": 1.7168,
"predicted_WHIP": 0.8258
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4998,
"form_weight": 0.5002,
"form_reliability": 0.6454,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.101,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6454,
"prior_weight": 0.3546
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.191,
"final": 0.0955,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.554,
"final": 0.2771,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.272,
"final": 0.6359,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.59,
"final": 0.7953,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.054,
"final": 0.027,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7168,
"final": 1.7168,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8258,
"final": 0.8258,
"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.149 | 0.000 | 0.000 | Hitting_2B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.299 | 4.000 | 3.000 | Hitting_AB | 3.931 | 3.000 | 0.069 | 1.000 |
| predicted_AVG | 0.231 | 0.250 | 0.333 | Hitting_AVG | 0.395 | 0.000 | -0.145 | 0.250 |
| predicted_BB | 0.343 | 0.000 | 0.000 | Hitting_BB | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.761 | 1.000 | 1.000 | Hitting_H | 1.552 | 0.000 | -0.552 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_OBP | 0.303 | 0.250 | 0.333 | Hitting_OBP | 0.452 | 0.000 | -0.202 | 0.250 |
| predicted_R | 0.373 | 1.000 | 0.000 | Hitting_R | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_RBI | 0.403 | 0.000 | 0.000 | Hitting_RBI | 0.931 | 1.000 | -0.931 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_SLG | 0.303 | 0.250 | 0.333 | Hitting_SLG | 0.561 | 0.000 | -0.311 | 0.250 |
| predicted_SO | 0.463 | 1.000 | 0.000 | Hitting_SO | 1.000 | 0.000 | 0.000 | 1.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 | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 3.2990 -> 4.0000 (boost 0.7010, better) |
| Biggest Deboost | predicted_RBI: 0.4030 -> 0.0000 (deboost -0.4030, 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.7610 -> 0.8129 (boost 0.0519, 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 | 1 | 6 | 2 | 5 | predicted_H: 0.8209 -> 1.0000 (boost 0.1791, better) | predicted_SO: 0.4653 -> 0.0000 (deboost -0.4653, better) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.249 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4127 -> 0.0000 (deboost -0.4127, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2494 -> 0.3330 (boost 0.0836, better) | predicted_SLG: 0.3517 -> 0.3330 (deboost -0.0187, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3517 (boost 0.0187, better) | predicted_AVG: 0.3330 -> 0.2494 (deboost -0.0836, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650859",
"player_name": "Luis Rengifo",
"position": "2B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.149,
"predicted_3B": 0.0,
"predicted_AB": 3.299,
"predicted_AVG": 0.231,
"predicted_BB": 0.343,
"predicted_H": 0.761,
"predicted_HR": 0.03,
"predicted_OBP": 0.303,
"predicted_R": 0.373,
"predicted_RBI": 0.403,
"predicted_SLG": 0.303,
"predicted_SO": 0.463
},
"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.1515,
"predicted_3B": 0.0004,
"predicted_AB": 3.2919,
"predicted_AVG": 0.2471,
"predicted_BB": 0.3501,
"predicted_H": 0.8129,
"predicted_HBP": 0.011,
"predicted_HR": 0.0614,
"predicted_OBP": 0.3194,
"predicted_R": 0.4052,
"predicted_RBI": 0.4532,
"predicted_SLG": 0.3491,
"predicted_SO": 0.4663
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.1515,
"delta": 0.0025,
"percent_delta": 0.0168,
"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.299,
"after": 3.2919,
"delta": -0.0071,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2471,
"delta": 0.0161,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.3501,
"delta": 0.0071,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.761,
"after": 0.8129,
"delta": 0.0519,
"percent_delta": 0.0682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0614,
"delta": 0.0314,
"percent_delta": 1.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3194,
"delta": 0.0164,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 0.4052,
"delta": 0.0322,
"percent_delta": 0.0863,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.403,
"after": 0.4532,
"delta": 0.0502,
"percent_delta": 0.1246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.3491,
"delta": 0.0461,
"percent_delta": 0.1521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.463,
"after": 0.4663,
"delta": 0.0033,
"percent_delta": 0.0071,
"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.761,
"after": 0.8129,
"delta": 0.0519,
"percent_delta": 0.0682,
"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": 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.1515,
"predicted_3B": 0.0004,
"predicted_AB": 3.2919,
"predicted_AVG": 0.2494,
"predicted_BB": 0.3509,
"predicted_H": 0.8209,
"predicted_HBP": 0.011,
"predicted_HR": 0.0615,
"predicted_OBP": 0.3217,
"predicted_R": 0.4127,
"predicted_RBI": 0.4616,
"predicted_SLG": 0.3517,
"predicted_SO": 0.4653
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1515,
"after": 0.1515,
"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.2919,
"after": 3.2919,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2471,
"after": 0.2494,
"delta": 0.0023,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3501,
"after": 0.3509,
"delta": 0.0008,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8129,
"after": 0.8209,
"delta": 0.008,
"percent_delta": 0.0098,
"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.0614,
"after": 0.0615,
"delta": 0.0001,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3194,
"after": 0.3217,
"delta": 0.0023,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4052,
"after": 0.4127,
"delta": 0.0075,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4532,
"after": 0.4616,
"delta": 0.0084,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3491,
"after": 0.3517,
"delta": 0.0026,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4663,
"after": 0.4653,
"delta": -0.001,
"percent_delta": -0.0021,
"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.30), rates preserved: AVG=0.249 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1515,
"after": 0.0,
"delta": -0.1515,
"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.2919,
"after": 3.0,
"delta": -0.2919,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3509,
"after": 0.0,
"delta": -0.3509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8209,
"after": 1.0,
"delta": 0.1791,
"percent_delta": 0.2182,
"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.0615,
"after": 0.0,
"delta": -0.0615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4616,
"after": 0.0,
"delta": -0.4616,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4653,
"after": 0.0,
"delta": -0.4653,
"percent_delta": -1.0,
"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.8209,
"after": 1.0,
"delta": 0.1791,
"percent_delta": 0.2182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4653,
"after": 0.0,
"delta": -0.4653,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"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": 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_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": 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": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 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.4127,
"after": 0.0,
"delta": -0.4127,
"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.4127,
"after": 0.0,
"delta": -0.4127,
"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": 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.2494,
"after": 0.333,
"delta": 0.0836,
"percent_delta": 0.3352,
"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.3217,
"after": 0.333,
"delta": 0.0113,
"percent_delta": 0.0351,
"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.3517,
"after": 0.333,
"delta": -0.0187,
"percent_delta": -0.0532,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2494,
"after": 0.333,
"delta": 0.0836,
"percent_delta": 0.3352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3517,
"after": 0.333,
"delta": -0.0187,
"percent_delta": -0.0532,
"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": 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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"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": 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.2494,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3217,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3517,
"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.2494,
"delta": -0.0836,
"percent_delta": -0.2512,
"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.3217,
"delta": -0.0113,
"percent_delta": -0.0341,
"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.3517,
"delta": 0.0187,
"percent_delta": 0.056,
"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.3517,
"delta": 0.0187,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2494,
"delta": -0.0836,
"percent_delta": -0.2512,
"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.149,
"after": 0.0,
"delta": -0.149,
"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.299,
"after": 4.0,
"delta": 0.701,
"percent_delta": 0.2125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2494,
"delta": 0.0184,
"percent_delta": 0.0797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.761,
"after": 1.0,
"delta": 0.239,
"percent_delta": 0.3141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3217,
"delta": 0.0187,
"percent_delta": 0.0617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 1.0,
"delta": 0.627,
"percent_delta": 1.681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.3517,
"delta": 0.0487,
"percent_delta": 0.1607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.463,
"after": 1.0,
"delta": 0.537,
"percent_delta": 1.1598,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.299,
"after": 4.0,
"delta": 0.701,
"percent_delta": 0.2125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"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.149 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.299 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.343 | - |
| predicted_H | 0.761 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.373 | - |
| predicted_RBI | 0.403 | - |
| predicted_SLG | 0.303 | - |
| predicted_SO | 0.463 | - |
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.151 | 0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.292 | -0.007 |
| predicted_AVG | 0.247 | 0.016 |
| predicted_BB | 0.350 | 0.007 |
| predicted_H | 0.813 | 0.052 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.061 | 0.031 |
| predicted_OBP | 0.319 | 0.016 |
| predicted_R | 0.405 | 0.032 |
| predicted_RBI | 0.453 | 0.050 |
| predicted_SLG | 0.349 | 0.046 |
| predicted_SO | 0.466 | 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.151 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.292 | 0.000 |
| predicted_AVG | 0.249 | 0.002 |
| predicted_BB | 0.351 | 0.001 |
| predicted_H | 0.821 | 0.008 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.061 | 0.000 |
| predicted_OBP | 0.322 | 0.002 |
| predicted_R | 0.413 | 0.008 |
| predicted_RBI | 0.462 | 0.008 |
| predicted_SLG | 0.352 | 0.003 |
| predicted_SO | 0.465 | -0.001 |
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.249 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 | 0.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| 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 | 0.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 | 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.151 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.292 |
| predicted_AVG | 0.333 | 0.084 |
| predicted_BB | 0.000 | -0.351 |
| predicted_H | 1.000 | 0.179 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.333 | 0.011 |
| predicted_R | 0.000 | -0.413 |
| predicted_RBI | 0.000 | -0.462 |
| predicted_SLG | 0.333 | -0.019 |
| predicted_SO | 0.000 | -0.465 |
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 | 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 | - | 14.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 1.000 | 0.2857 | 0.3750 | 0.5714 | 0.2857 | 0.0714 | 0.2143 | 0.1429 | 0.0714 |
| last_10 | 0.20 | 10 | - | 34.000 | 13.000 | 1.000 | 0.000 | 2.000 | 8.000 | 7.000 | 4.000 | 6.000 | 0.3824 | 0.4474 | 0.5882 | 0.3824 | 0.0588 | 0.2353 | 0.1177 | 0.1765 |
| season | 0.60 | 67 | - | 221.000 | 51.000 | 10.000 | 0.000 | 2.000 | 27.000 | 25.000 | 23.000 | 31.000 | 0.2308 | 0.3036 | 0.3032 | 0.2308 | 0.0091 | 0.1222 | 0.1041 | 0.1403 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1550 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2820 |
| predicted_AVG | 0.2695 |
| predicted_BB | 0.3600 |
| predicted_H | 0.8850 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.3422 |
| predicted_R | 0.4500 |
| predicted_RBI | 0.5230 |
| predicted_SLG | 0.4133 |
| predicted_SO | 0.4710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.1550 | 0.1515 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2990 | 3.2820 | 3.2919 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2695 | 0.2471 | model_form_blend |
| predicted_BB | 0.3430 | 0.3600 | 0.3501 | model_form_blend |
| predicted_H | 0.7610 | 0.8850 | 0.8129 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0300 | 0.1050 | 0.0614 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3422 | 0.3194 | model_form_blend |
| predicted_R | 0.3730 | 0.4500 | 0.4052 | model_form_blend |
| predicted_RBI | 0.4030 | 0.5230 | 0.4532 | model_form_blend |
| predicted_SLG | 0.3030 | 0.4133 | 0.3491 | model_form_blend |
| predicted_SO | 0.4630 | 0.4710 | 0.4663 | 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 | 29 |
| Season rows before report date | 29 |
| 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.231 |
| 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 | 1 |
| 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 | LF |
| gameID | 20260729_COL@SD |
| game_type | full |
| mlbID | 650859 |
| playerID | 650859 |
| playerName | Luis Rengifo |
| pos | 3B |
| started | True |
| startingPosition | LF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 12.6 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.277 |
| sl_xwoba | 0.305 |
| sl_xba | 0.257 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 4.5 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 49.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.171 | 0.000 | 0.000 | Hitting_2B | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.368 | 4.000 | 4.000 | Hitting_AB | 3.527 | 3.000 | 0.473 | 1.000 |
| predicted_AVG | 0.304 | 0.500 | 0.250 | Hitting_AVG | 0.285 | 0.333 | 0.215 | 0.167 |
| predicted_BB | 0.171 | 0.000 | 0.000 | Hitting_BB | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 0.970 | 2.000 | 1.000 | Hitting_H | 1.004 | 1.000 | 0.996 | 1.000 |
| predicted_HR | 0.190 | 1.000 | 0.000 | Hitting_HR | 0.249 | 0.000 | 0.751 | 1.000 |
| predicted_OBP | 0.355 | 0.500 | 0.250 | Hitting_OBP | 0.339 | 0.500 | 0.161 | 0.000 |
| predicted_R | 0.434 | 1.000 | 0.000 | Hitting_R | 0.473 | 1.000 | 0.527 | 0.000 |
| predicted_RBI | 0.590 | 2.000 | 1.000 | Hitting_RBI | 0.670 | 0.000 | 1.330 | 2.000 |
| predicted_SLG | 0.474 | 1.250 | 0.250 | Hitting_SLG | 0.562 | 0.333 | 0.688 | 0.917 |
| predicted_SO | 0.855 | 0.000 | 1.000 | Hitting_SO | 0.890 | 0.000 | -0.890 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5900 -> 2.0000 (boost 1.4100, better) |
| Biggest Deboost | predicted_SO: 0.8550 -> 0.0000 (deboost -0.8550, 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 | 3 | 0 | 3 | 0 | predicted_AB: 3.3680 -> 3.5126 (boost 0.1446, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4985 -> 0.5303 (boost 0.0318, better) | predicted_OBP: 0.3542 -> 0.3309 (deboost -0.0233, 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_AB: 3.5126 -> 4.0000 (boost 0.4874, better) | predicted_HR: 0.1941 -> 0.0000 (deboost -0.1941, worse) | AB rounded to 4 (raw=3.51), rates preserved: AVG=0.302 HR/AB=0.055 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4764 -> 0.0000 (deboost -0.4764, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5303 -> 0.2500 (deboost -0.2803, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5303 (boost 0.2803, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664034",
"player_name": "Ty France",
"position": "1B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.026,
"predicted_AB": 3.368,
"predicted_AVG": 0.304,
"predicted_BB": 0.171,
"predicted_H": 0.97,
"predicted_HR": 0.19,
"predicted_OBP": 0.355,
"predicted_R": 0.434,
"predicted_RBI": 0.59,
"predicted_SLG": 0.474,
"predicted_SO": 0.855
},
"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.1761,
"predicted_3B": 0.0222,
"predicted_AB": 3.5126,
"predicted_AVG": 0.3075,
"predicted_BB": 0.1524,
"predicted_H": 1.0497,
"predicted_HBP": 0.115,
"predicted_HR": 0.1938,
"predicted_OBP": 0.3542,
"predicted_R": 0.4677,
"predicted_RBI": 0.6322,
"predicted_SLG": 0.4985,
"predicted_SO": 0.836
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.1761,
"delta": 0.0051,
"percent_delta": 0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0222,
"delta": -0.0038,
"percent_delta": -0.1462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.368,
"after": 3.5126,
"delta": 0.1446,
"percent_delta": 0.0429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.3075,
"delta": 0.0035,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.1524,
"delta": -0.0186,
"percent_delta": -0.1088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0497,
"delta": 0.0797,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1938,
"delta": 0.0038,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3542,
"delta": -0.0008,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 0.4677,
"delta": 0.0337,
"percent_delta": 0.0776,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6322,
"delta": 0.0422,
"percent_delta": 0.0715,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.4985,
"delta": 0.0245,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.855,
"after": 0.836,
"delta": -0.019,
"percent_delta": -0.0222,
"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.368,
"after": 3.5126,
"delta": 0.1446,
"percent_delta": 0.0429,
"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": 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.1761,
"predicted_3B": 0.0222,
"predicted_AB": 3.5126,
"predicted_AVG": 0.3018,
"predicted_BB": 0.1527,
"predicted_H": 1.06,
"predicted_HBP": 0.115,
"predicted_HR": 0.1941,
"predicted_OBP": 0.3309,
"predicted_R": 0.4764,
"predicted_RBI": 0.644,
"predicted_SLG": 0.5303,
"predicted_SO": 0.8342
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1761,
"after": 0.1761,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0222,
"after": 0.0222,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5126,
"after": 3.5126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3075,
"after": 0.3018,
"delta": -0.0057,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1524,
"after": 0.1527,
"delta": 0.0003,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0497,
"after": 1.06,
"delta": 0.0103,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.115,
"after": 0.115,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1938,
"after": 0.1941,
"delta": 0.0003,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3542,
"after": 0.3309,
"delta": -0.0233,
"percent_delta": -0.0658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4677,
"after": 0.4764,
"delta": 0.0087,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6322,
"after": 0.644,
"delta": 0.0118,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4985,
"after": 0.5303,
"delta": 0.0318,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.836,
"after": 0.8342,
"delta": -0.0018,
"percent_delta": -0.0022,
"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.4985,
"after": 0.5303,
"delta": 0.0318,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3542,
"after": 0.3309,
"delta": -0.0233,
"percent_delta": -0.0658,
"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.302 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.1761,
"after": 0.0,
"delta": -0.1761,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0222,
"after": 0.0,
"delta": -0.0222,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5126,
"after": 4.0,
"delta": 0.4874,
"percent_delta": 0.1388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1527,
"after": 0.0,
"delta": -0.1527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.115,
"after": 0.0,
"delta": -0.115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1941,
"after": 0.0,
"delta": -0.1941,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.644,
"after": 1.0,
"delta": 0.356,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8342,
"after": 1.0,
"delta": 0.1658,
"percent_delta": 0.1988,
"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": 3.5126,
"after": 4.0,
"delta": 0.4874,
"percent_delta": 0.1388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1941,
"after": 0.0,
"delta": -0.1941,
"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=9.0, weight=0.092, BvP AVG=0.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.9077,
"bvp": 0.0923
},
"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": 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.4764,
"after": 0.0,
"delta": -0.4764,
"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.4764,
"after": 0.0,
"delta": -0.4764,
"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": 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.3018,
"after": 0.25,
"delta": -0.0518,
"percent_delta": -0.1716,
"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.3309,
"after": 0.25,
"delta": -0.0809,
"percent_delta": -0.2445,
"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.5303,
"after": 0.25,
"delta": -0.2803,
"percent_delta": -0.5286,
"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.5303,
"after": 0.25,
"delta": -0.2803,
"percent_delta": -0.5286,
"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": 2.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": 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": 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": 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": 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": 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_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_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": 4.0,
"predicted_AVG": 0.3018,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3309,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5303,
"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.3018,
"delta": 0.0518,
"percent_delta": 0.2071,
"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": 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": 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.3309,
"delta": 0.0809,
"percent_delta": 0.3235,
"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.5303,
"delta": 0.2803,
"percent_delta": 1.1211,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5303,
"delta": 0.2803,
"percent_delta": 1.1211,
"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.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.368,
"after": 4.0,
"delta": 0.632,
"percent_delta": 0.1876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.3018,
"delta": -0.0022,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 2.0,
"delta": 1.03,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3309,
"delta": -0.0241,
"percent_delta": -0.0679,
"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.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.5303,
"delta": 0.0563,
"percent_delta": 0.1188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.855,
"after": 0.0,
"delta": -0.855,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.855,
"after": 0.0,
"delta": -0.855,
"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.171 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.368 | - |
| predicted_AVG | 0.304 | - |
| predicted_BB | 0.171 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.434 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.474 | - |
| predicted_SO | 0.855 | - |
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.005 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.513 | 0.145 |
| predicted_AVG | 0.307 | 0.004 |
| predicted_BB | 0.152 | -0.019 |
| predicted_H | 1.050 | 0.080 |
| predicted_HBP | 0.115 | - |
| predicted_HR | 0.194 | 0.004 |
| predicted_OBP | 0.354 | -0.001 |
| predicted_R | 0.468 | 0.034 |
| predicted_RBI | 0.632 | 0.042 |
| predicted_SLG | 0.498 | 0.025 |
| predicted_SO | 0.836 | -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.176 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.513 | 0.000 |
| predicted_AVG | 0.302 | -0.006 |
| predicted_BB | 0.153 | 0.000 |
| predicted_H | 1.060 | 0.010 |
| predicted_HBP | 0.115 | 0.000 |
| predicted_HR | 0.194 | 0.000 |
| predicted_OBP | 0.331 | -0.023 |
| predicted_R | 0.476 | 0.009 |
| predicted_RBI | 0.644 | 0.012 |
| predicted_SLG | 0.530 | 0.032 |
| predicted_SO | 0.834 | -0.002 |
AB rounded to 4 (raw=3.51), rates preserved: AVG=0.302 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 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
| 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 |
| 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 | 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.176 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | 0.487 |
| predicted_AVG | 0.250 | -0.052 |
| predicted_BB | 0.000 | -0.153 |
| predicted_H | 1.000 | -0.060 |
| predicted_HR | 0.000 | -0.194 |
| predicted_OBP | 0.250 | -0.081 |
| predicted_R | 0.000 | -0.476 |
| predicted_RBI | 1.000 | 0.356 |
| predicted_SLG | 0.250 | -0.280 |
| predicted_SO | 1.000 | 0.166 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.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 | - | 20.000 | 8.000 | 1.000 | 0.000 | 0.000 | 3.000 | 3.000 | 0.000 | 2.000 | 0.4000 | 0.4286 | 0.4500 | 0.4000 | 0.0000 | 0.1500 | 0.0000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 44.000 | 15.000 | 2.000 | 0.000 | 4.000 | 12.000 | 7.000 | 0.000 | 10.000 | 0.3409 | 0.3556 | 0.6591 | 0.3409 | 0.0909 | 0.2727 | 0.0000 | 0.2273 |
| season | 0.60 | 76 | - | 256.000 | 73.000 | 13.000 | 2.000 | 16.000 | 46.000 | 33.000 | 13.000 | 65.000 | 0.2852 | 0.3357 | 0.5391 | 0.2852 | 0.0625 | 0.1797 | 0.0508 | 0.2539 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1830 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.7110 |
| predicted_AVG | 0.3124 |
| predicted_BB | 0.1270 |
| predicted_H | 1.1590 |
| predicted_HBP | 0.1150 |
| predicted_HR | 0.1990 |
| predicted_OBP | 0.3532 |
| predicted_R | 0.5140 |
| predicted_RBI | 0.6900 |
| predicted_SLG | 0.5321 |
| predicted_SO | 0.8100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.1830 | 0.1761 | model_form_blend |
| predicted_3B | 0.0260 | 0.0170 | 0.0222 | model_form_blend |
| predicted_AB | 3.3680 | 3.7110 | 3.5126 | model_form_blend |
| predicted_AVG | 0.3040 | 0.3124 | 0.3075 | model_form_blend |
| predicted_BB | 0.1710 | 0.1270 | 0.1524 | model_form_blend |
| predicted_H | 0.9700 | 1.1590 | 1.0497 | model_form_blend |
| predicted_HBP | - | 0.1150 | 0.1150 | form_only |
| predicted_HR | 0.1900 | 0.1990 | 0.1938 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3532 | 0.3542 | model_form_blend |
| predicted_R | 0.4340 | 0.5140 | 0.4677 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6900 | 0.6322 | model_form_blend |
| predicted_SLG | 0.4740 | 0.5321 | 0.4985 | model_form_blend |
| predicted_SO | 0.8550 | 0.8100 | 0.8360 | 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 | 273 |
| Season rows before report date | 273 |
| 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| 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 | 1 |
| 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 | 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 | 1B |
| gameID | 20260729_COL@SD |
| game_type | full |
| mlbID | 664034 |
| playerID | 664034 |
| playerName | Ty France |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.373 |
| sl_xwoba | 0.332 |
| sl_xba | 0.253 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 49.7 |
| sl_exit_velocity_avg | 92.4 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 53.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.242 | 0.000 | 0.000 | Hitting_2B | 0.232 | 1.000 | -0.232 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.758 | 4.000 | 3.000 | Hitting_AB | 2.949 | 4.000 | 1.051 | 0.000 |
| predicted_AVG | 0.286 | 0.000 | 0.333 | Hitting_AVG | 0.284 | 0.500 | -0.284 | -0.500 |
| predicted_BB | 0.424 | 0.000 | 0.000 | Hitting_BB | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.788 | 0.000 | 1.000 | Hitting_H | 0.838 | 2.000 | -0.838 | -2.000 |
| predicted_HR | 0.121 | 0.000 | 0.000 | Hitting_HR | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_OBP | 0.381 | 0.000 | 0.333 | Hitting_OBP | 0.387 | 0.500 | -0.387 | -0.500 |
| predicted_R | 0.424 | 0.000 | 0.000 | Hitting_R | 0.515 | 0.000 | -0.515 | 0.000 |
| predicted_RBI | 0.424 | 0.000 | 0.000 | Hitting_RBI | 0.434 | 1.000 | -0.434 | -1.000 |
| predicted_SLG | 0.505 | 0.000 | 0.333 | Hitting_SLG | 0.517 | 0.750 | -0.517 | -0.750 |
| predicted_SO | 0.758 | 0.000 | 1.000 | Hitting_SO | 0.788 | 0.000 | -0.788 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.7580 -> 4.0000 (boost 1.2420, better) |
| Biggest Deboost | predicted_H: 0.7880 -> 0.0000 (deboost -0.7880, 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_AB: 2.7580 -> 2.8879 (boost 0.1299, better) | predicted_SLG: 0.5050 -> 0.4690 (deboost -0.0360, 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 | 2 | 5 | predicted_SO: 0.7841 -> 1.0000 (boost 0.2159, worse) | predicted_RBI: 0.4295 -> 0.0000 (deboost -0.4295, worse) | AB rounded to 3 (raw=2.89), rates preserved: AVG=0.277 HR/AB=0.038 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4016 -> 0.0000 (deboost -0.4016, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2771 -> 0.3330 (boost 0.0559, better) | predicted_SLG: 0.4695 -> 0.3330 (deboost -0.1365, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4695 (boost 0.1365, better) | predicted_AVG: 0.3330 -> 0.2771 (deboost -0.0559, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669134",
"player_name": "Luis Campusano",
"position": "DH",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.242,
"predicted_3B": 0.0,
"predicted_AB": 2.758,
"predicted_AVG": 0.286,
"predicted_BB": 0.424,
"predicted_H": 0.788,
"predicted_HR": 0.121,
"predicted_OBP": 0.381,
"predicted_R": 0.424,
"predicted_RBI": 0.424,
"predicted_SLG": 0.505,
"predicted_SO": 0.758
},
"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.2277,
"predicted_3B": 0.0012,
"predicted_AB": 2.8879,
"predicted_AVG": 0.2754,
"predicted_BB": 0.4263,
"predicted_H": 0.7926,
"predicted_HBP": 0.022,
"predicted_HR": 0.1083,
"predicted_OBP": 0.37,
"predicted_R": 0.3943,
"predicted_RBI": 0.4217,
"predicted_SLG": 0.469,
"predicted_SO": 0.7858
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.2277,
"delta": -0.0143,
"percent_delta": -0.0591,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.758,
"after": 2.8879,
"delta": 0.1299,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2754,
"delta": -0.0106,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 0.4263,
"delta": 0.0023,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.788,
"after": 0.7926,
"delta": 0.0046,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.121,
"after": 0.1083,
"delta": -0.0127,
"percent_delta": -0.105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.37,
"delta": -0.011,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.3943,
"delta": -0.0297,
"percent_delta": -0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.424,
"after": 0.4217,
"delta": -0.0023,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.505,
"after": 0.469,
"delta": -0.036,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.758,
"after": 0.7858,
"delta": 0.0278,
"percent_delta": 0.0367,
"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.758,
"after": 2.8879,
"delta": 0.1299,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.505,
"after": 0.469,
"delta": -0.036,
"percent_delta": -0.0713,
"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": 33
}
},
{
"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.2277,
"predicted_3B": 0.0012,
"predicted_AB": 2.8879,
"predicted_AVG": 0.2771,
"predicted_BB": 0.4272,
"predicted_H": 0.8004,
"predicted_HBP": 0.022,
"predicted_HR": 0.1084,
"predicted_OBP": 0.3703,
"predicted_R": 0.4016,
"predicted_RBI": 0.4295,
"predicted_SLG": 0.4695,
"predicted_SO": 0.7841
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2277,
"after": 0.2277,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8879,
"after": 2.8879,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2754,
"after": 0.2771,
"delta": 0.0017,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4263,
"after": 0.4272,
"delta": 0.0009,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7926,
"after": 0.8004,
"delta": 0.0078,
"percent_delta": 0.0098,
"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.1083,
"after": 0.1084,
"delta": 0.0001,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.3703,
"delta": 0.0003,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3943,
"after": 0.4016,
"delta": 0.0073,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4217,
"after": 0.4295,
"delta": 0.0078,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.469,
"after": 0.4695,
"delta": 0.0005,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7858,
"after": 0.7841,
"delta": -0.0017,
"percent_delta": -0.0022,
"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.89), rates preserved: AVG=0.277 HR/AB=0.038",
"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.2277,
"after": 0.0,
"delta": -0.2277,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8879,
"after": 3.0,
"delta": 0.1121,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4272,
"after": 0.0,
"delta": -0.4272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8004,
"after": 1.0,
"delta": 0.1996,
"percent_delta": 0.2494,
"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.1084,
"after": 0.0,
"delta": -0.1084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4295,
"after": 0.0,
"delta": -0.4295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7841,
"after": 1.0,
"delta": 0.2159,
"percent_delta": 0.2753,
"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.7841,
"after": 1.0,
"delta": 0.2159,
"percent_delta": 0.2753,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4295,
"after": 0.0,
"delta": -0.4295,
"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.167)",
"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.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": 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.4016,
"after": 0.0,
"delta": -0.4016,
"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.4016,
"after": 0.0,
"delta": -0.4016,
"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.2771,
"after": 0.333,
"delta": 0.0559,
"percent_delta": 0.2017,
"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.3703,
"after": 0.333,
"delta": -0.0373,
"percent_delta": -0.1007,
"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.4695,
"after": 0.333,
"delta": -0.1365,
"percent_delta": -0.2907,
"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.2771,
"after": 0.333,
"delta": 0.0559,
"percent_delta": 0.2017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4695,
"after": 0.333,
"delta": -0.1365,
"percent_delta": -0.2907,
"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": 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": 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_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": 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.2771,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3703,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4695,
"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.2771,
"delta": -0.0559,
"percent_delta": -0.1677,
"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.3703,
"delta": 0.0373,
"percent_delta": 0.112,
"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.333,
"after": 0.4695,
"delta": 0.1365,
"percent_delta": 0.4098,
"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.4695,
"delta": 0.1365,
"percent_delta": 0.4098,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2771,
"delta": -0.0559,
"percent_delta": -0.1677,
"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.242,
"after": 0.0,
"delta": -0.242,
"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.758,
"after": 4.0,
"delta": 1.242,
"percent_delta": 0.4503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2771,
"delta": -0.0089,
"percent_delta": -0.0311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.788,
"after": 0.0,
"delta": -0.788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.121,
"after": 0.0,
"delta": -0.121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3703,
"delta": -0.0107,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.505,
"after": 0.4695,
"delta": -0.0355,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.758,
"after": 0.0,
"delta": -0.758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.758,
"after": 4.0,
"delta": 1.242,
"percent_delta": 0.4503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.788,
"after": 0.0,
"delta": -0.788,
"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.242 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.758 | - |
| predicted_AVG | 0.286 | - |
| predicted_BB | 0.424 | - |
| predicted_H | 0.788 | - |
| predicted_HR | 0.121 | - |
| predicted_OBP | 0.381 | - |
| predicted_R | 0.424 | - |
| predicted_RBI | 0.424 | - |
| predicted_SLG | 0.505 | - |
| predicted_SO | 0.758 | - |
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.228 | -0.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.888 | 0.130 |
| predicted_AVG | 0.275 | -0.011 |
| predicted_BB | 0.426 | 0.002 |
| predicted_H | 0.793 | 0.005 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.108 | -0.013 |
| predicted_OBP | 0.370 | -0.011 |
| predicted_R | 0.394 | -0.030 |
| predicted_RBI | 0.422 | -0.002 |
| predicted_SLG | 0.469 | -0.036 |
| predicted_SO | 0.786 | 0.028 |
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.228 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.888 | 0.000 |
| predicted_AVG | 0.277 | 0.002 |
| predicted_BB | 0.427 | 0.001 |
| predicted_H | 0.800 | 0.008 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.108 | 0.000 |
| predicted_OBP | 0.370 | 0.000 |
| predicted_R | 0.402 | 0.007 |
| predicted_RBI | 0.429 | 0.008 |
| predicted_SLG | 0.469 | 0.001 |
| predicted_SO | 0.784 | -0.002 |
AB rounded to 3 (raw=2.89), rates preserved: AVG=0.277 HR/AB=0.038
| 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=6.0, weight=0.067, BvP AVG=0.167)
| 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.228 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.112 |
| predicted_AVG | 0.333 | 0.056 |
| predicted_BB | 0.000 | -0.427 |
| predicted_H | 1.000 | 0.200 |
| predicted_HR | 0.000 | -0.108 |
| predicted_OBP | 0.333 | -0.037 |
| predicted_R | 0.000 | -0.402 |
| predicted_RBI | 0.000 | -0.429 |
| predicted_SLG | 0.333 | -0.136 |
| predicted_SO | 1.000 | 0.216 |
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 | 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 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 5.000 | 0.2353 | 0.3158 | 0.2941 | 0.2353 | 0.0000 | 0.1177 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 28.000 | 6.000 | 1.000 | 0.000 | 0.000 | 3.000 | 2.000 | 6.000 | 8.000 | 0.2143 | 0.3529 | 0.2500 | 0.2143 | 0.0000 | 0.1071 | 0.2143 | 0.2857 |
| season | 0.60 | 33 | - | 91.000 | 26.000 | 8.000 | 0.000 | 4.000 | 14.000 | 14.000 | 14.000 | 25.000 | 0.2857 | 0.3868 | 0.5055 | 0.2857 | 0.0440 | 0.1538 | 0.1538 | 0.2747 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2050 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.0950 |
| predicted_AVG | 0.2584 |
| predicted_BB | 0.4300 |
| predicted_H | 0.8000 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.3525 |
| predicted_R | 0.3470 |
| predicted_RBI | 0.4180 |
| predicted_SLG | 0.4115 |
| predicted_SO | 0.8300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2420 | 0.2050 | 0.2277 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.7580 | 3.0950 | 2.8879 | model_form_blend |
| predicted_AVG | 0.2860 | 0.2584 | 0.2754 | model_form_blend |
| predicted_BB | 0.4240 | 0.4300 | 0.4263 | model_form_blend |
| predicted_H | 0.7880 | 0.8000 | 0.7926 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1210 | 0.0880 | 0.1083 | model_form_blend |
| predicted_OBP | 0.3810 | 0.3525 | 0.3700 | model_form_blend |
| predicted_R | 0.4240 | 0.3470 | 0.3943 | model_form_blend |
| predicted_RBI | 0.4240 | 0.4180 | 0.4217 | model_form_blend |
| predicted_SLG | 0.5050 | 0.4115 | 0.4690 | model_form_blend |
| predicted_SO | 0.7580 | 0.8300 | 0.7858 | 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 | 99 |
| Season rows before report date | 99 |
| Report year | 2026 |
| Profile rows used | 33 |
| 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 | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 2 |
| 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 | 3 |
| 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 | 20260728_COL@SD |
| game_type | full |
| mlbID | 669134 |
| playerID | 669134 |
| playerName | Luis Campusano |
| pos | C |
| started | True |
| startingPosition | C |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-28 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.391 |
| sl_xwoba | 0.339 |
| sl_xba | 0.246 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 45.5 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 26.3 |
| 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_2B | 0.198 | 0.000 | 0.000 | Hitting_2B | 0.217 | 1.000 | -0.217 | -1.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.840 | 4.000 | 5.000 | Hitting_AB | 4.038 | 3.000 | -0.038 | 1.000 |
| predicted_AVG | 0.280 | 0.000 | 0.200 | Hitting_AVG | 0.291 | 0.333 | -0.291 | -0.333 |
| predicted_BB | 0.396 | 0.000 | 0.000 | Hitting_BB | 0.399 | 1.000 | -0.399 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 1.350 | 0.000 | 1.000 | Hitting_H | 1.175 | 1.000 | -1.175 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.374 | 0.000 | 0.200 | Hitting_OBP | 0.357 | 0.500 | -0.357 | -0.500 |
| predicted_R | 0.509 | 0.000 | 1.000 | Hitting_R | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_RBI | 0.720 | 0.000 | 1.000 | Hitting_RBI | 0.497 | 0.000 | -0.497 | 0.000 |
| predicted_SLG | 0.442 | 0.000 | 0.200 | Hitting_SLG | 0.419 | 0.667 | -0.419 | -0.667 |
| predicted_SO | 0.896 | 0.000 | 1.000 | Hitting_SO | 0.918 | 1.000 | -0.918 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.2800 -> 0.2857 (boost 0.0057, better) |
| Biggest Deboost | predicted_H: 1.3500 -> 0.0000 (deboost -1.3500, 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: 4.8400 -> 4.4867 (deboost -0.3533, 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.3711 -> 0.3455 (deboost -0.0256, 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_AB: 4.4867 -> 5.0000 (boost 0.5133, better) | predicted_BB: 0.4099 -> 0.0000 (deboost -0.4099, worse) | AB rounded to 5 (raw=4.84), rates preserved: AVG=0.265 HR/AB=0.027 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=38.0, weight=0.224, BvP AVG=0.237) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5334 -> 1.0000 (boost 0.4666, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4271 -> 0.2000 (deboost -0.2271, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | 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.4271 (boost 0.2271, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.198,
"predicted_3B": 0.019,
"predicted_AB": 4.84,
"predicted_AVG": 0.28,
"predicted_BB": 0.396,
"predicted_H": 1.35,
"predicted_HR": 0.16,
"predicted_OBP": 0.374,
"predicted_R": 0.509,
"predicted_RBI": 0.72,
"predicted_SLG": 0.442,
"predicted_SO": 0.896
},
"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.198,
"predicted_3B": 0.0238,
"predicted_AB": 4.4867,
"predicted_AVG": 0.2841,
"predicted_BB": 0.409,
"predicted_H": 1.2696,
"predicted_HBP": 0.084,
"predicted_HR": 0.1293,
"predicted_OBP": 0.3711,
"predicted_R": 0.5237,
"predicted_RBI": 0.6608,
"predicted_SLG": 0.4323,
"predicted_SO": 0.8956
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0238,
"delta": 0.0048,
"percent_delta": 0.2526,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.84,
"after": 4.4867,
"delta": -0.3533,
"percent_delta": -0.073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.2841,
"delta": 0.0041,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.409,
"delta": 0.013,
"percent_delta": 0.0328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.35,
"after": 1.2696,
"delta": -0.0804,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1293,
"delta": -0.0307,
"percent_delta": -0.1919,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3711,
"delta": -0.0029,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.509,
"after": 0.5237,
"delta": 0.0147,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.6608,
"delta": -0.0592,
"percent_delta": -0.0822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4323,
"delta": -0.0097,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.896,
"after": 0.8956,
"delta": -0.0004,
"percent_delta": -0.0004,
"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": 4.84,
"after": 4.4867,
"delta": -0.3533,
"percent_delta": -0.073,
"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": 106
}
},
{
"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.198,
"predicted_3B": 0.0238,
"predicted_AB": 4.4867,
"predicted_AVG": 0.2857,
"predicted_BB": 0.4099,
"predicted_H": 1.282,
"predicted_HBP": 0.084,
"predicted_HR": 0.1295,
"predicted_OBP": 0.3455,
"predicted_R": 0.5334,
"predicted_RBI": 0.6731,
"predicted_SLG": 0.4271,
"predicted_SO": 0.8936
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.198,
"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": 4.4867,
"after": 4.4867,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2841,
"after": 0.2857,
"delta": 0.0016,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.4099,
"delta": 0.0009,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2696,
"after": 1.282,
"delta": 0.0124,
"percent_delta": 0.0098,
"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.1293,
"after": 0.1295,
"delta": 0.0002,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3711,
"after": 0.3455,
"delta": -0.0256,
"percent_delta": -0.069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5237,
"after": 0.5334,
"delta": 0.0097,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6608,
"after": 0.6731,
"delta": 0.0123,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4323,
"after": 0.4271,
"delta": -0.0052,
"percent_delta": -0.012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8956,
"after": 0.8936,
"delta": -0.002,
"percent_delta": -0.0022,
"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.3711,
"after": 0.3455,
"delta": -0.0256,
"percent_delta": -0.069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.84), rates preserved: AVG=0.265 HR/AB=0.027",
"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.198,
"after": 0.0,
"delta": -0.198,
"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": 4.4867,
"after": 5.0,
"delta": 0.5133,
"percent_delta": 0.1144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4099,
"after": 0.0,
"delta": -0.4099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.282,
"after": 1.0,
"delta": -0.282,
"percent_delta": -0.22,
"direction": "deboost",
"projection_effect": "worse",
"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.1295,
"after": 0.0,
"delta": -0.1295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6731,
"after": 1.0,
"delta": 0.3269,
"percent_delta": 0.4857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8936,
"after": 1.0,
"delta": 0.1064,
"percent_delta": 0.1191,
"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": 4.4867,
"after": 5.0,
"delta": 0.5133,
"percent_delta": 0.1144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4099,
"after": 0.0,
"delta": -0.4099,
"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=38.0, weight=0.224, BvP AVG=0.237)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.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": 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": 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.7765,
"bvp": 0.2235
},
"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": 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.5334,
"after": 1.0,
"delta": 0.4666,
"percent_delta": 0.8748,
"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.5334,
"after": 1.0,
"delta": 0.4666,
"percent_delta": 0.8748,
"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": 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.2857,
"after": 0.2,
"delta": -0.0857,
"percent_delta": -0.3,
"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.3455,
"after": 0.2,
"delta": -0.1455,
"percent_delta": -0.4211,
"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.4271,
"after": 0.2,
"delta": -0.2271,
"percent_delta": -0.5317,
"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.4271,
"after": 0.2,
"delta": -0.2271,
"percent_delta": -0.5317,
"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": 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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"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.2857,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3455,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4271,
"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.2,
"after": 0.2857,
"delta": 0.0857,
"percent_delta": 0.4287,
"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.2,
"after": 0.3455,
"delta": 0.1455,
"percent_delta": 0.7277,
"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.4271,
"delta": 0.2271,
"percent_delta": 1.1353,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4271,
"delta": 0.2271,
"percent_delta": 1.1353,
"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.198,
"after": 0.0,
"delta": -0.198,
"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": 4.84,
"after": 4.0,
"delta": -0.84,
"percent_delta": -0.1736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.2857,
"delta": 0.0057,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.35,
"after": 0.0,
"delta": -1.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3455,
"delta": -0.0285,
"percent_delta": -0.0762,
"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.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4271,
"delta": -0.0149,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.896,
"after": 0.0,
"delta": -0.896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.2857,
"delta": 0.0057,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.35,
"after": 0.0,
"delta": -1.35,
"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.198 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.840 | - |
| predicted_AVG | 0.280 | - |
| predicted_BB | 0.396 | - |
| predicted_H | 1.350 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.374 | - |
| predicted_R | 0.509 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.896 | - |
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.198 | 0.000 |
| predicted_3B | 0.024 | 0.005 |
| predicted_AB | 4.487 | -0.353 |
| predicted_AVG | 0.284 | 0.004 |
| predicted_BB | 0.409 | 0.013 |
| predicted_H | 1.270 | -0.080 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.129 | -0.031 |
| predicted_OBP | 0.371 | -0.003 |
| predicted_R | 0.524 | 0.015 |
| predicted_RBI | 0.661 | -0.059 |
| predicted_SLG | 0.432 | -0.010 |
| predicted_SO | 0.896 | -0.000 |
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.198 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 4.487 | 0.000 |
| predicted_AVG | 0.286 | 0.002 |
| predicted_BB | 0.410 | 0.001 |
| predicted_H | 1.282 | 0.012 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.130 | 0.000 |
| predicted_OBP | 0.345 | -0.026 |
| predicted_R | 0.533 | 0.010 |
| predicted_RBI | 0.673 | 0.012 |
| predicted_SLG | 0.427 | -0.005 |
| predicted_SO | 0.894 | -0.002 |
AB rounded to 5 (raw=4.84), rates preserved: AVG=0.265 HR/AB=0.027
| 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 | - |
Sample-size BvP blend (BvP AB=38.0, weight=0.224, BvP AVG=0.237)
| 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 |
| 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 | 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.198 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 5.000 | 0.513 |
| predicted_AVG | 0.200 | -0.086 |
| predicted_BB | 0.000 | -0.410 |
| predicted_H | 1.000 | -0.282 |
| predicted_HR | 0.000 | -0.130 |
| predicted_OBP | 0.200 | -0.145 |
| predicted_R | 1.000 | 0.467 |
| predicted_RBI | 1.000 | 0.327 |
| predicted_SLG | 0.200 | -0.227 |
| predicted_SO | 1.000 | 0.106 |
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 | -1.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 | - | 21.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 5.000 | 0.2857 | 0.3750 | 0.3333 | 0.2857 | 0.0000 | 0.0952 | 0.0952 | 0.2381 |
| last_10 | 0.20 | 10 | - | 41.000 | 13.000 | 2.000 | 1.000 | 2.000 | 12.000 | 8.000 | 6.000 | 8.000 | 0.3171 | 0.4167 | 0.5610 | 0.3171 | 0.0488 | 0.2927 | 0.1463 | 0.1951 |
| season | 0.60 | 106 | - | 420.000 | 120.000 | 21.000 | 2.000 | 8.000 | 48.000 | 54.000 | 42.000 | 95.000 | 0.2857 | 0.3546 | 0.4024 | 0.2857 | 0.0191 | 0.1143 | 0.1000 | 0.2262 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1980 |
| predicted_3B | 0.0300 |
| predicted_AB | 4.0230 |
| predicted_AVG | 0.2894 |
| predicted_BB | 0.4260 |
| predicted_H | 1.1640 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.0890 |
| predicted_OBP | 0.3672 |
| predicted_R | 0.5430 |
| predicted_RBI | 0.5830 |
| predicted_SLG | 0.4196 |
| predicted_SO | 0.8950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.1980 | 0.1980 | model_form_blend |
| predicted_3B | 0.0190 | 0.0300 | 0.0238 | model_form_blend |
| predicted_AB | 4.8400 | 4.0230 | 4.4867 | model_form_blend |
| predicted_AVG | 0.2800 | 0.2894 | 0.2841 | model_form_blend |
| predicted_BB | 0.3960 | 0.4260 | 0.4090 | model_form_blend |
| predicted_H | 1.3500 | 1.1640 | 1.2696 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.1600 | 0.0890 | 0.1293 | model_form_blend |
| predicted_OBP | 0.3740 | 0.3672 | 0.3711 | model_form_blend |
| predicted_R | 0.5090 | 0.5430 | 0.5237 | model_form_blend |
| predicted_RBI | 0.7200 | 0.5830 | 0.6608 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4196 | 0.4323 | model_form_blend |
| predicted_SO | 0.8960 | 0.8950 | 0.8956 | 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 | 106 |
| 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 | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| 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 | 2 |
| 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 | RF |
| gameID | 20260729_COL@SD |
| game_type | full |
| mlbID | 665487 |
| playerID | 665487 |
| playerName | Fernando Tatis Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.331 |
| sl_xwoba | 0.356 |
| sl_xba | 0.289 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 53.8 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 4.4 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 46.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.093 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 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.417 | 0.000 | 0.583 | 3.000 |
| predicted_AVG | 0.148 | 0.333 | 0.333 | Hitting_AVG | 0.184 | - | 0.149 | - |
| predicted_BB | 0.093 | 0.000 | 0.000 | Hitting_BB | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.370 | 1.000 | 1.000 | Hitting_H | 0.444 | 0.000 | 0.556 | 1.000 |
| predicted_HR | 0.000 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.179 | 0.333 | 0.333 | Hitting_OBP | 0.241 | - | 0.093 | - |
| predicted_R | 0.231 | 0.000 | 0.000 | Hitting_R | 0.319 | 0.000 | -0.319 | 0.000 |
| predicted_RBI | 0.231 | 0.000 | 0.000 | Hitting_RBI | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_SLG | 0.185 | 0.333 | 0.333 | Hitting_SLG | 0.236 | - | 0.098 | - |
| predicted_SO | 1.019 | 1.000 | 1.000 | Hitting_SO | 0.889 | 0.000 | 0.111 | 1.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 | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.3700 -> 1.0000 (boost 0.6300, better) |
| Biggest Deboost | predicted_R: 0.2310 -> 0.0000 (deboost -0.2310, 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 | 7 | 7 | 0 | 7 | 0 | predicted_AB: 2.5000 -> 2.6131 (boost 0.1131, 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 | 2 | 4 | predicted_H: 0.4438 -> 1.0000 (boost 0.5562, better) | predicted_RBI: 0.3089 -> 0.0000 (deboost -0.3089, worse) | AB rounded to 3 (raw=2.61), rates preserved: AVG=0.170 HR/AB=0.005 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2872 -> 0.0000 (deboost -0.2872, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1698 -> 0.3330 (boost 0.1632, better) | - | 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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1698 (deboost -0.1632, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687749",
"player_name": "Jase Bowen",
"position": "LF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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": 2.5,
"predicted_AVG": 0.148,
"predicted_BB": 0.093,
"predicted_H": 0.37,
"predicted_HR": 0.0,
"predicted_OBP": 0.179,
"predicted_R": 0.231,
"predicted_RBI": 0.231,
"predicted_SLG": 0.185,
"predicted_SO": 1.019
},
"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.108,
"predicted_3B": 0.0014,
"predicted_AB": 2.6131,
"predicted_AVG": 0.1667,
"predicted_BB": 0.0986,
"predicted_H": 0.4395,
"predicted_HBP": 0.077,
"predicted_HR": 0.0119,
"predicted_OBP": 0.2042,
"predicted_R": 0.282,
"predicted_RBI": 0.3033,
"predicted_SLG": 0.2212,
"predicted_SO": 0.9942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.108,
"delta": 0.015,
"percent_delta": 0.1613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6131,
"delta": 0.1131,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.148,
"after": 0.1667,
"delta": 0.0187,
"percent_delta": 0.1264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.093,
"after": 0.0986,
"delta": 0.0056,
"percent_delta": 0.0602,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 0.4395,
"delta": 0.0695,
"percent_delta": 0.1878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0119,
"delta": 0.0119,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.179,
"after": 0.2042,
"delta": 0.0252,
"percent_delta": 0.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.231,
"after": 0.282,
"delta": 0.051,
"percent_delta": 0.2208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.231,
"after": 0.3033,
"delta": 0.0723,
"percent_delta": 0.313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.185,
"after": 0.2212,
"delta": 0.0362,
"percent_delta": 0.1957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.019,
"after": 0.9942,
"delta": -0.0248,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6131,
"delta": 0.1131,
"percent_delta": 0.0452,
"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": 23
}
},
{
"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.108,
"predicted_3B": 0.0014,
"predicted_AB": 2.6131,
"predicted_AVG": 0.1698,
"predicted_BB": 0.0988,
"predicted_H": 0.4438,
"predicted_HBP": 0.077,
"predicted_HR": 0.0119,
"predicted_OBP": 0.2001,
"predicted_R": 0.2872,
"predicted_RBI": 0.3089,
"predicted_SLG": 0.2259,
"predicted_SO": 0.992
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.108,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6131,
"after": 2.6131,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1667,
"after": 0.1698,
"delta": 0.0031,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0986,
"after": 0.0988,
"delta": 0.0002,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4395,
"after": 0.4438,
"delta": 0.0043,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2042,
"after": 0.2001,
"delta": -0.0041,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.282,
"after": 0.2872,
"delta": 0.0052,
"percent_delta": 0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3033,
"after": 0.3089,
"delta": 0.0056,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2212,
"after": 0.2259,
"delta": 0.0047,
"percent_delta": 0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9942,
"after": 0.992,
"delta": -0.0022,
"percent_delta": -0.0022,
"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.61), rates preserved: AVG=0.170 HR/AB=0.005",
"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.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6131,
"after": 3.0,
"delta": 0.3869,
"percent_delta": 0.1481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0988,
"after": 0.0,
"delta": -0.0988,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4438,
"after": 1.0,
"delta": 0.5562,
"percent_delta": 1.2533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3089,
"after": 0.0,
"delta": -0.3089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.992,
"after": 1.0,
"delta": 0.008,
"percent_delta": 0.0081,
"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.4438,
"after": 1.0,
"delta": 0.5562,
"percent_delta": 1.2533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3089,
"after": 0.0,
"delta": -0.3089,
"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.2872,
"after": 0.0,
"delta": -0.2872,
"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.2872,
"after": 0.0,
"delta": -0.2872,
"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.1698,
"after": 0.333,
"delta": 0.1632,
"percent_delta": 0.9611,
"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.2001,
"after": 0.333,
"delta": 0.1329,
"percent_delta": 0.6642,
"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.2259,
"after": 0.333,
"delta": 0.1071,
"percent_delta": 0.4741,
"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.1698,
"after": 0.333,
"delta": 0.1632,
"percent_delta": 0.9611,
"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": 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_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": 3.0,
"predicted_AVG": 0.1698,
"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.2001,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2259,
"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.1698,
"delta": -0.1632,
"percent_delta": -0.49,
"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.2001,
"delta": -0.1329,
"percent_delta": -0.3991,
"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.2259,
"delta": -0.1071,
"percent_delta": -0.3216,
"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.1698,
"delta": -0.1632,
"percent_delta": -0.49,
"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": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.148,
"after": 0.1698,
"delta": 0.0218,
"percent_delta": 0.1473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"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_OBP",
"before": 0.179,
"after": 0.2001,
"delta": 0.0211,
"percent_delta": 0.1179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.185,
"after": 0.2259,
"delta": 0.0409,
"percent_delta": 0.2211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.019,
"after": 1.0,
"delta": -0.019,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"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.093 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.148 | - |
| predicted_BB | 0.093 | - |
| predicted_H | 0.370 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.179 | - |
| predicted_R | 0.231 | - |
| predicted_RBI | 0.231 | - |
| predicted_SLG | 0.185 | - |
| predicted_SO | 1.019 | - |
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.108 | 0.015 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.613 | 0.113 |
| predicted_AVG | 0.167 | 0.019 |
| predicted_BB | 0.099 | 0.006 |
| predicted_H | 0.440 | 0.070 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.012 | 0.012 |
| predicted_OBP | 0.204 | 0.025 |
| predicted_R | 0.282 | 0.051 |
| predicted_RBI | 0.303 | 0.072 |
| predicted_SLG | 0.221 | 0.036 |
| predicted_SO | 0.994 | -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.108 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.613 | 0.000 |
| predicted_AVG | 0.170 | 0.003 |
| predicted_BB | 0.099 | 0.000 |
| predicted_H | 0.444 | 0.004 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.012 | 0.000 |
| predicted_OBP | 0.200 | -0.004 |
| predicted_R | 0.287 | 0.005 |
| predicted_RBI | 0.309 | 0.006 |
| predicted_SLG | 0.226 | 0.005 |
| predicted_SO | 0.992 | -0.002 |
AB rounded to 3 (raw=2.61), rates preserved: AVG=0.170 HR/AB=0.005
| 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.108 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.387 |
| predicted_AVG | 0.333 | 0.163 |
| predicted_BB | 0.000 | -0.099 |
| predicted_H | 1.000 | 0.556 |
| predicted_HR | 0.000 | -0.012 |
| predicted_OBP | 0.333 | 0.133 |
| predicted_R | 0.000 | -0.287 |
| predicted_RBI | 0.000 | -0.309 |
| predicted_SLG | 0.333 | 0.107 |
| predicted_SO | 1.000 | 0.008 |
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 | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | 3.000 | 1.000 | 0.000 | 0.000 | 4.000 | 3.000 | 0.000 | 5.000 | 0.2500 | 0.3077 | 0.3333 | 0.2500 | 0.0000 | 0.3333 | 0.0000 | 0.4167 |
| last_10 | 0.20 | 10 | - | 21.000 | 4.000 | 1.000 | 0.000 | 0.000 | 5.000 | 3.000 | 0.000 | 7.000 | 0.1905 | 0.2273 | 0.2381 | 0.1905 | 0.0000 | 0.2381 | 0.0000 | 0.3333 |
| season | 0.60 | 23 | - | 54.000 | 8.000 | 2.000 | 0.000 | 0.000 | 5.000 | 5.000 | 2.000 | 22.000 | 0.1481 | 0.1930 | 0.1852 | 0.1482 | 0.0000 | 0.0926 | 0.0370 | 0.4074 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0040 |
| predicted_AB | 2.8240 |
| predicted_AVG | 0.2015 |
| predicted_BB | 0.1090 |
| predicted_H | 0.5690 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.2513 |
| predicted_R | 0.3770 |
| predicted_RBI | 0.4380 |
| predicted_SLG | 0.2888 |
| predicted_SO | 0.9480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.1360 | 0.1080 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.5000 | 2.8240 | 2.6131 | model_form_blend |
| predicted_AVG | 0.1480 | 0.2015 | 0.1667 | model_form_blend |
| predicted_BB | 0.0930 | 0.1090 | 0.0986 | model_form_blend |
| predicted_H | 0.3700 | 0.5690 | 0.4395 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.0000 | 0.0340 | 0.0119 | model_form_blend |
| predicted_OBP | 0.1790 | 0.2513 | 0.2042 | model_form_blend |
| predicted_R | 0.2310 | 0.3770 | 0.2820 | model_form_blend |
| predicted_RBI | 0.2310 | 0.4380 | 0.3033 | model_form_blend |
| predicted_SLG | 0.1850 | 0.2888 | 0.2212 | model_form_blend |
| predicted_SO | 1.0190 | 0.9480 | 0.9942 | 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 | 72 |
| Season rows before report date | 72 |
| Report year | 2026 |
| Profile rows used | 23 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.148 |
| 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 | 6 |
| 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 | LF |
| gameID | 20260729_COL@SD |
| game_type | short |
| mlbID | 687749 |
| playerID | 687749 |
| playerName | Jase Bowen |
| pos | CF |
| started | False |
| startingPosition | LF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 38.6 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.175 |
| sl_xwoba | 0.227 |
| sl_xba | 0.189 |
| sl_xslg | 0.275 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 28.1 |
| sl_exit_velocity_avg | 85.5 |
| sl_launch_angle_avg | 17.4 |
| sl_whiff_percent | 35.8 |
| sl_swing_percent | 49.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.163 | 1.000 | 0.000 | Hitting_2B | 0.159 | 0.000 | 0.841 | 1.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 4.270 | 4.000 | 4.000 | Hitting_AB | 4.019 | 3.000 | -0.019 | 1.000 |
| predicted_AVG | 0.286 | 0.500 | 0.250 | Hitting_AVG | 0.238 | 0.333 | 0.262 | 0.167 |
| predicted_BB | 0.279 | 0.000 | 0.000 | Hitting_BB | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 1.220 | 2.000 | 1.000 | Hitting_H | 0.956 | 1.000 | 1.044 | 1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.362 | 0.500 | 0.250 | Hitting_OBP | 0.293 | 0.333 | 0.207 | 0.167 |
| predicted_R | 0.490 | 1.000 | 1.000 | Hitting_R | 0.516 | 0.000 | 0.484 | 1.000 |
| predicted_RBI | 0.720 | 0.000 | 1.000 | Hitting_RBI | 0.495 | 1.000 | -0.495 | -1.000 |
| predicted_SLG | 0.501 | 0.750 | 0.250 | Hitting_SLG | 0.399 | 0.333 | 0.351 | 0.417 |
| predicted_SO | 1.029 | 1.000 | 1.000 | Hitting_SO | 1.044 | 0.000 | -0.044 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1630 -> 1.0000 (boost 0.8370, better) |
| Biggest Deboost | predicted_RBI: 0.7200 -> 0.0000 (deboost -0.7200, 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 | 3 | 2 | 4 | 1 | predicted_R: 0.4900 -> 0.5413 (boost 0.0513, better) | predicted_AB: 4.2700 -> 4.0949 (deboost -0.1751, 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.3585 -> 0.3417 (deboost -0.0168, 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 | 1 | 5 | predicted_RBI: 0.6939 -> 1.0000 (boost 0.3061, better) | predicted_BB: 0.2415 -> 0.0000 (deboost -0.2415, worse) | AB rounded to 4 (raw=4.27), rates preserved: AVG=0.290 HR/AB=0.053 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.611) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5514 -> 1.0000 (boost 0.4486, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5186 -> 0.2500 (deboost -0.2686, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.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.2500 -> 0.5186 (boost 0.2686, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701538",
"player_name": "Jackson Merrill",
"position": "CF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.01,
"predicted_AB": 4.27,
"predicted_AVG": 0.286,
"predicted_BB": 0.279,
"predicted_H": 1.22,
"predicted_HR": 0.23,
"predicted_OBP": 0.362,
"predicted_R": 0.49,
"predicted_RBI": 0.72,
"predicted_SLG": 0.501,
"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.1863,
"predicted_3B": 0.0083,
"predicted_AB": 4.0949,
"predicted_AVG": 0.301,
"predicted_BB": 0.241,
"predicted_H": 1.2282,
"predicted_HBP": 0.007,
"predicted_HR": 0.2265,
"predicted_OBP": 0.3585,
"predicted_R": 0.5413,
"predicted_RBI": 0.6812,
"predicted_SLG": 0.5232,
"predicted_SO": 0.9617
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.1863,
"delta": 0.0233,
"percent_delta": 0.1429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0083,
"delta": -0.0017,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 4.0949,
"delta": -0.1751,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.301,
"delta": 0.015,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.241,
"delta": -0.038,
"percent_delta": -0.1362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.2282,
"delta": 0.0082,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2265,
"delta": -0.0035,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3585,
"delta": -0.0035,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 0.5413,
"delta": 0.0513,
"percent_delta": 0.1047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.6812,
"delta": -0.0388,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.501,
"after": 0.5232,
"delta": 0.0222,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.029,
"after": 0.9617,
"delta": -0.0673,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.49,
"after": 0.5413,
"delta": 0.0513,
"percent_delta": 0.1047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 4.0949,
"delta": -0.1751,
"percent_delta": -0.041,
"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": 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.1863,
"predicted_3B": 0.0083,
"predicted_AB": 4.0949,
"predicted_AVG": 0.3029,
"predicted_BB": 0.2415,
"predicted_H": 1.2402,
"predicted_HBP": 0.007,
"predicted_HR": 0.2268,
"predicted_OBP": 0.3417,
"predicted_R": 0.5514,
"predicted_RBI": 0.6939,
"predicted_SLG": 0.5186,
"predicted_SO": 0.9596
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1863,
"after": 0.1863,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0949,
"after": 4.0949,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.3029,
"delta": 0.0019,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.2415,
"delta": 0.0005,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2282,
"after": 1.2402,
"delta": 0.012,
"percent_delta": 0.0098,
"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.2265,
"after": 0.2268,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3585,
"after": 0.3417,
"delta": -0.0168,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5413,
"after": 0.5514,
"delta": 0.0101,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6812,
"after": 0.6939,
"delta": 0.0127,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5232,
"after": 0.5186,
"delta": -0.0046,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9617,
"after": 0.9596,
"delta": -0.0021,
"percent_delta": -0.0022,
"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.3585,
"after": 0.3417,
"delta": -0.0168,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.27), rates preserved: AVG=0.290 HR/AB=0.053",
"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.1863,
"after": 0.0,
"delta": -0.1863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0,
"delta": -0.0083,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0949,
"after": 4.0,
"delta": -0.0949,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2415,
"after": 0.0,
"delta": -0.2415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2402,
"after": 1.0,
"delta": -0.2402,
"percent_delta": -0.1937,
"direction": "deboost",
"projection_effect": "worse",
"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.2268,
"after": 0.0,
"delta": -0.2268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6939,
"after": 1.0,
"delta": 0.3061,
"percent_delta": 0.4411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9596,
"after": 1.0,
"delta": 0.0404,
"percent_delta": 0.0421,
"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_RBI",
"before": 0.6939,
"after": 1.0,
"delta": 0.3061,
"percent_delta": 0.4411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2415,
"after": 0.0,
"delta": -0.2415,
"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=18.0, weight=0.150, BvP AVG=0.611)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.85,
"bvp": 0.15
},
"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": 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.5514,
"after": 1.0,
"delta": 0.4486,
"percent_delta": 0.8136,
"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.5514,
"after": 1.0,
"delta": 0.4486,
"percent_delta": 0.8136,
"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": 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.3029,
"after": 0.25,
"delta": -0.0529,
"percent_delta": -0.1746,
"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.3417,
"after": 0.25,
"delta": -0.0917,
"percent_delta": -0.2684,
"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.5186,
"after": 0.25,
"delta": -0.2686,
"percent_delta": -0.5179,
"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.5186,
"after": 0.25,
"delta": -0.2686,
"percent_delta": -0.5179,
"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": 1.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": 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": 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": 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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"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_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": 9,
"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.3029,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3417,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5186,
"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.25,
"after": 0.3029,
"delta": 0.0529,
"percent_delta": 0.2115,
"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": 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.3417,
"delta": 0.0917,
"percent_delta": 0.3668,
"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.25,
"after": 0.5186,
"delta": 0.2686,
"percent_delta": 1.0743,
"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.5186,
"delta": 0.2686,
"percent_delta": 1.0743,
"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.163,
"after": 1.0,
"delta": 0.837,
"percent_delta": 5.135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 4.0,
"delta": -0.27,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.3029,
"delta": 0.0169,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 2.0,
"delta": 0.78,
"percent_delta": 0.6393,
"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.362,
"after": 0.3417,
"delta": -0.0203,
"percent_delta": -0.0561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.501,
"after": 0.5186,
"delta": 0.0176,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.029,
"after": 1.0,
"delta": -0.029,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.163,
"after": 1.0,
"delta": 0.837,
"percent_delta": 5.135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.270 | - |
| predicted_AVG | 0.286 | - |
| predicted_BB | 0.279 | - |
| predicted_H | 1.220 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.362 | - |
| predicted_R | 0.490 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.501 | - |
| 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.186 | 0.023 |
| predicted_3B | 0.008 | -0.002 |
| predicted_AB | 4.095 | -0.175 |
| predicted_AVG | 0.301 | 0.015 |
| predicted_BB | 0.241 | -0.038 |
| predicted_H | 1.228 | 0.008 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.227 | -0.004 |
| predicted_OBP | 0.358 | -0.004 |
| predicted_R | 0.541 | 0.051 |
| predicted_RBI | 0.681 | -0.039 |
| predicted_SLG | 0.523 | 0.022 |
| predicted_SO | 0.962 | -0.067 |
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.186 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 4.095 | 0.000 |
| predicted_AVG | 0.303 | 0.002 |
| predicted_BB | 0.241 | 0.001 |
| predicted_H | 1.240 | 0.012 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.227 | 0.000 |
| predicted_OBP | 0.342 | -0.017 |
| predicted_R | 0.551 | 0.010 |
| predicted_RBI | 0.694 | 0.013 |
| predicted_SLG | 0.519 | -0.005 |
| predicted_SO | 0.960 | -0.002 |
AB rounded to 4 (raw=4.27), rates preserved: AVG=0.290 HR/AB=0.053
| 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 | - |
Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.611)
| 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 |
| 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 | 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.186 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | -0.095 |
| predicted_AVG | 0.250 | -0.053 |
| predicted_BB | 0.000 | -0.241 |
| predicted_H | 1.000 | -0.240 |
| predicted_HR | 0.000 | -0.227 |
| predicted_OBP | 0.250 | -0.092 |
| predicted_R | 1.000 | 0.449 |
| predicted_RBI | 1.000 | 0.306 |
| predicted_SLG | 0.250 | -0.269 |
| predicted_SO | 1.000 | 0.040 |
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 | 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 | 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 | - | 19.000 | 9.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 0.000 | 3.000 | 0.4737 | 0.4737 | 0.7368 | 0.4737 | 0.0526 | 0.2105 | 0.0000 | 0.1579 |
| last_10 | 0.20 | 10 | - | 38.000 | 17.000 | 2.000 | 0.000 | 5.000 | 10.000 | 8.000 | 1.000 | 7.000 | 0.4474 | 0.4500 | 0.8947 | 0.4474 | 0.1316 | 0.2632 | 0.0263 | 0.1842 |
| season | 0.60 | 104 | - | 407.000 | 96.000 | 17.000 | 1.000 | 15.000 | 48.000 | 51.000 | 29.000 | 107.000 | 0.2359 | 0.2877 | 0.3931 | 0.2359 | 0.0369 | 0.1179 | 0.0712 | 0.2629 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2170 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.8640 |
| predicted_AVG | 0.3208 |
| predicted_BB | 0.1910 |
| predicted_H | 1.2390 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.2220 |
| predicted_OBP | 0.3540 |
| predicted_R | 0.6090 |
| predicted_RBI | 0.6300 |
| predicted_SLG | 0.5524 |
| predicted_SO | 0.8730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.2170 | 0.1863 | model_form_blend |
| predicted_3B | 0.0100 | 0.0060 | 0.0083 | model_form_blend |
| predicted_AB | 4.2700 | 3.8640 | 4.0949 | model_form_blend |
| predicted_AVG | 0.2860 | 0.3208 | 0.3010 | model_form_blend |
| predicted_BB | 0.2790 | 0.1910 | 0.2410 | model_form_blend |
| predicted_H | 1.2200 | 1.2390 | 1.2282 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.2300 | 0.2220 | 0.2265 | model_form_blend |
| predicted_OBP | 0.3620 | 0.3540 | 0.3585 | model_form_blend |
| predicted_R | 0.4900 | 0.6090 | 0.5413 | model_form_blend |
| predicted_RBI | 0.7200 | 0.6300 | 0.6812 | model_form_blend |
| predicted_SLG | 0.5010 | 0.5524 | 0.5232 | model_form_blend |
| predicted_SO | 1.0290 | 0.8730 | 0.9617 | 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 | 428 |
| Season rows before report date | 428 |
| 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 | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| 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 | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | CF |
| gameID | 20260729_COL@SD |
| game_type | full |
| mlbID | 701538 |
| playerID | 701538 |
| playerName | Jackson Merrill |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.296 |
| sl_xwoba | 0.321 |
| sl_xba | 0.253 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 46.5 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 55.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.171 | 1.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | 0.835 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.220 | 3.000 | 4.000 | Hitting_AB | 3.708 | 4.000 | -0.708 | -1.000 |
| predicted_AVG | 0.265 | 0.667 | 0.250 | Hitting_AVG | 0.209 | 0.250 | 0.458 | 0.417 |
| predicted_BB | 0.476 | 1.000 | 0.000 | Hitting_BB | 0.504 | 0.000 | 0.496 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 1.120 | 2.000 | 1.000 | Hitting_H | 0.774 | 1.000 | 1.226 | 1.000 |
| predicted_HR | 0.220 | 1.000 | 0.000 | Hitting_HR | 0.231 | 0.000 | 0.769 | 1.000 |
| predicted_OBP | 0.342 | 0.750 | 0.250 | Hitting_OBP | 0.299 | 0.250 | 0.451 | 0.500 |
| predicted_R | 0.533 | 1.000 | 1.000 | Hitting_R | 0.541 | 1.000 | 0.459 | 0.000 |
| predicted_RBI | 0.690 | 2.000 | 1.000 | Hitting_RBI | 0.642 | 0.000 | 1.358 | 2.000 |
| predicted_SLG | 0.466 | 2.000 | 0.250 | Hitting_SLG | 0.440 | 0.250 | 1.560 | 1.750 |
| predicted_SO | 0.914 | 0.000 | 1.000 | Hitting_SO | 0.934 | 1.000 | -0.934 | -1.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 | 9 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_RBI: 0.6900 -> 2.0000 (boost 1.3100, better) |
| Biggest Deboost | predicted_AB: 4.2200 -> 3.0000 (deboost -1.2200, 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 | 3 | 1 | predicted_R: 0.5330 -> 0.6020 (boost 0.0690, better) | predicted_AB: 4.2200 -> 4.1130 (deboost -0.1070, 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 | 2 | 5 | 1 | 6 | predicted_RBI: 0.7160 -> 1.0000 (boost 0.2840, better) | predicted_BB: 0.4477 -> 0.0000 (deboost -0.4477, worse) | AB rounded to 4 (raw=4.22), rates preserved: AVG=0.266 HR/AB=0.055 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=46.0, weight=0.242, BvP AVG=0.283) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6132 -> 1.0000 (boost 0.3868, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4876 -> 0.2500 (deboost -0.2376, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 5 | 2 | 6 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.2500 -> 0.4876 (boost 0.2376, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592518",
"player_name": "Manny Machado",
"position": "3B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.0,
"predicted_AB": 4.22,
"predicted_AVG": 0.265,
"predicted_BB": 0.476,
"predicted_H": 1.12,
"predicted_HR": 0.22,
"predicted_OBP": 0.342,
"predicted_R": 0.533,
"predicted_RBI": 0.69,
"predicted_SLG": 0.466,
"predicted_SO": 0.914
},
"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.19,
"predicted_3B": 0.0004,
"predicted_AB": 4.113,
"predicted_AVG": 0.2703,
"predicted_BB": 0.4467,
"predicted_H": 1.1118,
"predicted_HBP": 0.002,
"predicted_HR": 0.2304,
"predicted_OBP": 0.3422,
"predicted_R": 0.602,
"predicted_RBI": 0.7029,
"predicted_SLG": 0.4877,
"predicted_SO": 0.8847
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.19,
"delta": 0.019,
"percent_delta": 0.1111,
"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.22,
"after": 4.113,
"delta": -0.107,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2703,
"delta": 0.0053,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.476,
"after": 0.4467,
"delta": -0.0293,
"percent_delta": -0.0616,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1118,
"delta": -0.0082,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2304,
"delta": 0.0104,
"percent_delta": 0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3422,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 0.602,
"delta": 0.069,
"percent_delta": 0.1295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.7029,
"delta": 0.0129,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4877,
"delta": 0.0217,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.914,
"after": 0.8847,
"delta": -0.0293,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.533,
"after": 0.602,
"delta": 0.069,
"percent_delta": 0.1295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.22,
"after": 4.113,
"delta": -0.107,
"percent_delta": -0.0254,
"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": 105
}
},
{
"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.19,
"predicted_3B": 0.0004,
"predicted_AB": 4.113,
"predicted_AVG": 0.273,
"predicted_BB": 0.4477,
"predicted_H": 1.1227,
"predicted_HBP": 0.002,
"predicted_HR": 0.2307,
"predicted_OBP": 0.3443,
"predicted_R": 0.6132,
"predicted_RBI": 0.716,
"predicted_SLG": 0.4876,
"predicted_SO": 0.8828
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.19,
"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.113,
"after": 4.113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2703,
"after": 0.273,
"delta": 0.0027,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4467,
"after": 0.4477,
"delta": 0.001,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1118,
"after": 1.1227,
"delta": 0.0109,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2304,
"after": 0.2307,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3422,
"after": 0.3443,
"delta": 0.0021,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.602,
"after": 0.6132,
"delta": 0.0112,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7029,
"after": 0.716,
"delta": 0.0131,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4877,
"after": 0.4876,
"delta": -0.0001,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8847,
"after": 0.8828,
"delta": -0.0019,
"percent_delta": -0.0021,
"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=4.22), rates preserved: AVG=0.266 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.19,
"after": 0.0,
"delta": -0.19,
"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.113,
"after": 4.0,
"delta": -0.113,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4477,
"after": 0.0,
"delta": -0.4477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1227,
"after": 1.0,
"delta": -0.1227,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2307,
"after": 0.0,
"delta": -0.2307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.716,
"after": 1.0,
"delta": 0.284,
"percent_delta": 0.3966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8828,
"after": 1.0,
"delta": 0.1172,
"percent_delta": 0.1328,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.716,
"after": 1.0,
"delta": 0.284,
"percent_delta": 0.3966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4477,
"after": 0.0,
"delta": -0.4477,
"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=46.0, weight=0.242, BvP AVG=0.283)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.7579,
"bvp": 0.2421
},
"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": 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.6132,
"after": 1.0,
"delta": 0.3868,
"percent_delta": 0.6308,
"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.6132,
"after": 1.0,
"delta": 0.3868,
"percent_delta": 0.6308,
"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": 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.273,
"after": 0.25,
"delta": -0.023,
"percent_delta": -0.0842,
"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.3443,
"after": 0.25,
"delta": -0.0943,
"percent_delta": -0.2739,
"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.4876,
"after": 0.25,
"delta": -0.2376,
"percent_delta": -0.4873,
"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.4876,
"after": 0.25,
"delta": -0.2376,
"percent_delta": -0.4873,
"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": 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": 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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 6,
"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_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.273,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3443,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4876,
"predicted_SO": 0.0,
"predicted_TB": 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.25,
"after": 0.273,
"delta": 0.023,
"percent_delta": 0.0919,
"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": 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.3443,
"delta": 0.0943,
"percent_delta": 0.3773,
"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.4876,
"delta": 0.2376,
"percent_delta": 0.9505,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4876,
"delta": 0.2376,
"percent_delta": 0.9505,
"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.171,
"after": 1.0,
"delta": 0.829,
"percent_delta": 4.848,
"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.22,
"after": 3.0,
"delta": -1.22,
"percent_delta": -0.2891,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.273,
"delta": 0.008,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.476,
"after": 1.0,
"delta": 0.524,
"percent_delta": 1.1008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3443,
"delta": 0.0023,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4876,
"delta": 0.0216,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.914,
"after": 0.0,
"delta": -0.914,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.22,
"after": 3.0,
"delta": -1.22,
"percent_delta": -0.2891,
"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.171 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.220 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.476 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.533 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.466 | - |
| predicted_SO | 0.914 | - |
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.190 | 0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.113 | -0.107 |
| predicted_AVG | 0.270 | 0.005 |
| predicted_BB | 0.447 | -0.029 |
| predicted_H | 1.112 | -0.008 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.230 | 0.010 |
| predicted_OBP | 0.342 | 0.000 |
| predicted_R | 0.602 | 0.069 |
| predicted_RBI | 0.703 | 0.013 |
| predicted_SLG | 0.488 | 0.022 |
| predicted_SO | 0.885 | -0.029 |
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.190 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.113 | 0.000 |
| predicted_AVG | 0.273 | 0.003 |
| predicted_BB | 0.448 | 0.001 |
| predicted_H | 1.123 | 0.011 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.231 | 0.000 |
| predicted_OBP | 0.344 | 0.002 |
| predicted_R | 0.613 | 0.011 |
| predicted_RBI | 0.716 | 0.013 |
| predicted_SLG | 0.488 | -0.000 |
| predicted_SO | 0.883 | -0.002 |
AB rounded to 4 (raw=4.22), rates preserved: AVG=0.266 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 | - |
Sample-size BvP blend (BvP AB=46.0, weight=0.242, BvP AVG=0.283)
| 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 |
| 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 | 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.190 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.113 |
| predicted_AVG | 0.250 | -0.023 |
| predicted_BB | 0.000 | -0.448 |
| predicted_H | 1.000 | -0.123 |
| predicted_HR | 0.000 | -0.231 |
| predicted_OBP | 0.250 | -0.094 |
| predicted_R | 1.000 | 0.387 |
| predicted_RBI | 1.000 | 0.284 |
| predicted_SLG | 0.250 | -0.238 |
| predicted_SO | 1.000 | 0.117 |
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 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.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 | - | 23.000 | 9.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 1.000 | 3.000 | 0.3913 | 0.4167 | 0.6087 | 0.3913 | 0.0435 | 0.2174 | 0.0435 | 0.1304 |
| last_10 | 0.20 | 10 | - | 42.000 | 15.000 | 2.000 | 0.000 | 4.000 | 9.000 | 10.000 | 4.000 | 8.000 | 0.3571 | 0.4043 | 0.6905 | 0.3571 | 0.0952 | 0.2143 | 0.0952 | 0.1905 |
| season | 0.60 | 105 | - | 389.000 | 84.000 | 18.000 | 0.000 | 23.000 | 64.000 | 56.000 | 50.000 | 96.000 | 0.2159 | 0.3011 | 0.4396 | 0.2159 | 0.0591 | 0.1645 | 0.1285 | 0.2468 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2150 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9720 |
| predicted_AVG | 0.2773 |
| predicted_BB | 0.4080 |
| predicted_H | 1.1010 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.2440 |
| predicted_OBP | 0.3424 |
| predicted_R | 0.6930 |
| predicted_RBI | 0.7200 |
| predicted_SLG | 0.5164 |
| predicted_SO | 0.8460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.2150 | 0.1900 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2200 | 3.9720 | 4.1130 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2773 | 0.2703 | model_form_blend |
| predicted_BB | 0.4760 | 0.4080 | 0.4467 | model_form_blend |
| predicted_H | 1.1200 | 1.1010 | 1.1118 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.2200 | 0.2440 | 0.2304 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3424 | 0.3422 | model_form_blend |
| predicted_R | 0.5330 | 0.6930 | 0.6020 | model_form_blend |
| predicted_RBI | 0.6900 | 0.7200 | 0.7029 | model_form_blend |
| predicted_SLG | 0.4660 | 0.5164 | 0.4877 | model_form_blend |
| predicted_SO | 0.9140 | 0.8460 | 0.8847 | 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 | 425 |
| Season rows before report date | 425 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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 | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.216 |
| 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 | 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 | 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 | 3B |
| gameID | 20260729_COL@SD |
| game_type | full |
| mlbID | 592518 |
| playerID | 592518 |
| playerName | Manny Machado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.319 |
| sl_xwoba | 0.332 |
| sl_xba | 0.242 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 47.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.088 | 0.000 | 0.000 | Hitting_2B | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.471 | 4.000 | 3.000 | Hitting_AB | 3.565 | 3.000 | 0.435 | 1.000 |
| predicted_AVG | 0.205 | 0.000 | 0.333 | Hitting_AVG | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_BB | 0.471 | 0.000 | 0.000 | Hitting_BB | 0.476 | 0.000 | -0.476 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 0.680 | 0.000 | 1.000 | Hitting_H | 0.800 | 0.000 | -0.800 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_OBP | 0.283 | 0.000 | 0.333 | Hitting_OBP | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_R | 0.422 | 0.000 | 0.000 | Hitting_R | 0.441 | 0.000 | -0.441 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.420 | 0.000 | -0.420 | 0.000 |
| predicted_SLG | 0.297 | 0.000 | 0.333 | Hitting_SLG | 0.332 | 0.000 | -0.332 | 0.000 |
| predicted_SO | 0.735 | 1.000 | 1.000 | Hitting_SO | 0.744 | 1.000 | 0.256 | 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_AB: 3.4710 -> 4.0000 (boost 0.5290, better) |
| Biggest Deboost | predicted_H: 0.6800 -> 0.0000 (deboost -0.6800, 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.2830 -> 0.2890 (boost 0.0060, better) | predicted_SLG: 0.2970 -> 0.2850 (deboost -0.0120, 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 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2890 -> 0.2967 (boost 0.0077, better) | predicted_SLG: 0.2850 -> 0.2784 (deboost -0.0066, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.6727 -> 1.0000 (boost 0.3273, better) | predicted_BB: 0.4970 -> 0.0000 (deboost -0.4970, worse) | AB rounded to 3 (raw=3.47), rates preserved: AVG=0.194 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=32.0, weight=0.206, BvP AVG=0.219) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4369 -> 0.0000 (deboost -0.4369, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1953 -> 0.3330 (boost 0.1377, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1953 (deboost -0.1377, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"position": "SS",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.088,
"predicted_3B": 0.0,
"predicted_AB": 3.471,
"predicted_AVG": 0.205,
"predicted_BB": 0.471,
"predicted_H": 0.68,
"predicted_HR": 0.07,
"predicted_OBP": 0.283,
"predicted_R": 0.422,
"predicted_RBI": 0.35,
"predicted_SLG": 0.297,
"predicted_SO": 0.735
},
"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.0923,
"predicted_3B": 0.0004,
"predicted_AB": 3.4452,
"predicted_AVG": 0.1986,
"predicted_BB": 0.4959,
"predicted_H": 0.6662,
"predicted_HBP": 0.018,
"predicted_HR": 0.0644,
"predicted_OBP": 0.289,
"predicted_R": 0.4289,
"predicted_RBI": 0.3281,
"predicted_SLG": 0.285,
"predicted_SO": 0.7161
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.088,
"after": 0.0923,
"delta": 0.0043,
"percent_delta": 0.0489,
"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.471,
"after": 3.4452,
"delta": -0.0258,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.1986,
"delta": -0.0064,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.471,
"after": 0.4959,
"delta": 0.0249,
"percent_delta": 0.0529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.6662,
"delta": -0.0138,
"percent_delta": -0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0644,
"delta": -0.0056,
"percent_delta": -0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.289,
"delta": 0.006,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.4289,
"delta": 0.0069,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3281,
"delta": -0.0219,
"percent_delta": -0.0626,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.285,
"delta": -0.012,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.735,
"after": 0.7161,
"delta": -0.0189,
"percent_delta": -0.0257,
"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.283,
"after": 0.289,
"delta": 0.006,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.285,
"delta": -0.012,
"percent_delta": -0.0404,
"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.0923,
"predicted_3B": 0.0004,
"predicted_AB": 3.4452,
"predicted_AVG": 0.1953,
"predicted_BB": 0.497,
"predicted_H": 0.6727,
"predicted_HBP": 0.018,
"predicted_HR": 0.0645,
"predicted_OBP": 0.2967,
"predicted_R": 0.4369,
"predicted_RBI": 0.3342,
"predicted_SLG": 0.2784,
"predicted_SO": 0.7145
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0923,
"after": 0.0923,
"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.4452,
"after": 3.4452,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1986,
"after": 0.1953,
"delta": -0.0033,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4959,
"after": 0.497,
"delta": 0.0011,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6662,
"after": 0.6727,
"delta": 0.0065,
"percent_delta": 0.0098,
"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.0644,
"after": 0.0645,
"delta": 0.0001,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2967,
"delta": 0.0077,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4289,
"after": 0.4369,
"delta": 0.008,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3281,
"after": 0.3342,
"delta": 0.0061,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.285,
"after": 0.2784,
"delta": -0.0066,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7161,
"after": 0.7145,
"delta": -0.0016,
"percent_delta": -0.0022,
"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_OBP",
"before": 0.289,
"after": 0.2967,
"delta": 0.0077,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.285,
"after": 0.2784,
"delta": -0.0066,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.47), rates preserved: AVG=0.194 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.0923,
"after": 0.0,
"delta": -0.0923,
"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.4452,
"after": 3.0,
"delta": -0.4452,
"percent_delta": -0.1292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.497,
"after": 0.0,
"delta": -0.497,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6727,
"after": 1.0,
"delta": 0.3273,
"percent_delta": 0.4865,
"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.0645,
"after": 0.0,
"delta": -0.0645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3342,
"after": 0.0,
"delta": -0.3342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7145,
"after": 1.0,
"delta": 0.2855,
"percent_delta": 0.3996,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6727,
"after": 1.0,
"delta": 0.3273,
"percent_delta": 0.4865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.497,
"after": 0.0,
"delta": -0.497,
"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=32.0, weight=0.206, BvP AVG=0.219)",
"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.7935,
"bvp": 0.2065
},
"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.4369,
"after": 0.0,
"delta": -0.4369,
"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.4369,
"after": 0.0,
"delta": -0.4369,
"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.1953,
"after": 0.333,
"delta": 0.1377,
"percent_delta": 0.7051,
"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.2967,
"after": 0.333,
"delta": 0.0363,
"percent_delta": 0.1223,
"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.2784,
"after": 0.333,
"delta": 0.0546,
"percent_delta": 0.1961,
"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.1953,
"after": 0.333,
"delta": 0.1377,
"percent_delta": 0.7051,
"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": 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": 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.1953,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2967,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2784,
"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.1953,
"delta": -0.1377,
"percent_delta": -0.4136,
"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.2967,
"delta": -0.0363,
"percent_delta": -0.109,
"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.2784,
"delta": -0.0546,
"percent_delta": -0.1638,
"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.1953,
"delta": -0.1377,
"percent_delta": -0.4136,
"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.088,
"after": 0.0,
"delta": -0.088,
"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.471,
"after": 4.0,
"delta": 0.529,
"percent_delta": 0.1524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.1953,
"delta": -0.0097,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.471,
"after": 0.0,
"delta": -0.471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"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.283,
"after": 0.2967,
"delta": 0.0137,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.2784,
"delta": -0.0186,
"percent_delta": -0.0626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.735,
"after": 1.0,
"delta": 0.265,
"percent_delta": 0.3605,
"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.471,
"after": 4.0,
"delta": 0.529,
"percent_delta": 0.1524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"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.088 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.471 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.471 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.422 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.297 | - |
| predicted_SO | 0.735 | - |
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.092 | 0.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.445 | -0.026 |
| predicted_AVG | 0.199 | -0.006 |
| predicted_BB | 0.496 | 0.025 |
| predicted_H | 0.666 | -0.014 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.064 | -0.006 |
| predicted_OBP | 0.289 | 0.006 |
| predicted_R | 0.429 | 0.007 |
| predicted_RBI | 0.328 | -0.022 |
| predicted_SLG | 0.285 | -0.012 |
| predicted_SO | 0.716 | -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.092 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.445 | 0.000 |
| predicted_AVG | 0.195 | -0.003 |
| predicted_BB | 0.497 | 0.001 |
| predicted_H | 0.673 | 0.006 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.065 | 0.000 |
| predicted_OBP | 0.297 | 0.008 |
| predicted_R | 0.437 | 0.008 |
| predicted_RBI | 0.334 | 0.006 |
| predicted_SLG | 0.278 | -0.007 |
| predicted_SO | 0.715 | -0.002 |
AB rounded to 3 (raw=3.47), rates preserved: AVG=0.194 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 | - |
Sample-size BvP blend (BvP AB=32.0, weight=0.206, BvP AVG=0.219)
| 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.092 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.445 |
| predicted_AVG | 0.333 | 0.138 |
| predicted_BB | 0.000 | -0.497 |
| predicted_H | 1.000 | 0.327 |
| predicted_HR | 0.000 | -0.065 |
| predicted_OBP | 0.333 | 0.036 |
| predicted_R | 0.000 | -0.437 |
| predicted_RBI | 0.000 | -0.334 |
| predicted_SLG | 0.333 | 0.055 |
| predicted_SO | 1.000 | 0.285 |
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 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 0.1250 | 0.2500 | 0.1250 | 0.1250 | 0.0000 | 0.0625 | 0.1875 | 0.1875 |
| last_10 | 0.20 | 10 | - | 33.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 5.000 | 7.000 | 6.000 | 0.1515 | 0.2927 | 0.2121 | 0.1515 | 0.0000 | 0.0303 | 0.2121 | 0.1818 |
| season | 0.60 | 102 | - | 354.000 | 77.000 | 9.000 | 0.000 | 9.000 | 39.000 | 43.000 | 48.000 | 75.000 | 0.2175 | 0.3130 | 0.3192 | 0.2175 | 0.0254 | 0.1102 | 0.1356 | 0.2119 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4110 |
| predicted_AVG | 0.1901 |
| predicted_BB | 0.5290 |
| predicted_H | 0.6480 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0570 |
| predicted_OBP | 0.2970 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.2990 |
| predicted_SLG | 0.2692 |
| predicted_SO | 0.6910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0880 | 0.0980 | 0.0923 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4710 | 3.4110 | 3.4452 | model_form_blend |
| predicted_AVG | 0.2050 | 0.1901 | 0.1986 | model_form_blend |
| predicted_BB | 0.4710 | 0.5290 | 0.4959 | model_form_blend |
| predicted_H | 0.6800 | 0.6480 | 0.6662 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0700 | 0.0570 | 0.0644 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2970 | 0.2890 | model_form_blend |
| predicted_R | 0.4220 | 0.4380 | 0.4289 | model_form_blend |
| predicted_RBI | 0.3500 | 0.2990 | 0.3281 | model_form_blend |
| predicted_SLG | 0.2970 | 0.2692 | 0.2850 | model_form_blend |
| predicted_SO | 0.7350 | 0.6910 | 0.7161 | 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 | 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.218 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| 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 | 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 | 20260729_COL@SD |
| game_type | full |
| mlbID | 593428 |
| playerID | 593428 |
| playerName | Xander Bogaerts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.289 |
| sl_xwoba | 0.316 |
| sl_xba | 0.242 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 28.1 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 38.4 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 5.7 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 41.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.151 | 0.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.925 | 3.000 | 3.000 | Hitting_AB | 2.892 | 3.000 | 0.108 | 0.000 |
| predicted_AVG | 0.232 | 0.333 | 0.333 | Hitting_AVG | 0.162 | 0.333 | 0.172 | 0.000 |
| predicted_BB | 0.302 | 0.000 | 0.000 | Hitting_BB | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.500 | 1.000 | 1.000 | Hitting_H | 0.468 | 1.000 | 0.532 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.290 | 0.333 | 0.333 | Hitting_OBP | 0.251 | 0.333 | 0.082 | 0.000 |
| predicted_R | 0.302 | 1.000 | 0.000 | Hitting_R | 0.323 | 0.000 | 0.677 | 1.000 |
| predicted_RBI | 0.160 | 1.000 | 0.000 | Hitting_RBI | 0.226 | 0.000 | 0.774 | 1.000 |
| predicted_SLG | 0.294 | 0.333 | 0.333 | Hitting_SLG | 0.277 | 0.333 | 0.056 | 0.000 |
| predicted_SO | 0.660 | 1.000 | 1.000 | Hitting_SO | 0.661 | 0.000 | 0.339 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.1600 -> 1.0000 (boost 0.8400, better) |
| Biggest Deboost | predicted_BB: 0.3020 -> 0.0000 (deboost -0.3020, 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 | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.5000 -> 0.5644 (boost 0.0644, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2307 -> 0.1963 (deboost -0.0344, 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.5699 -> 1.0000 (boost 0.4301, better) | predicted_BB: 0.2533 -> 0.0000 (deboost -0.2533, worse) | AB rounded to 3 (raw=2.92), rates preserved: AVG=0.195 HR/AB=0.018 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3022 -> 0.0000 (deboost -0.3022, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1963 -> 0.3330 (boost 0.1367, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1963 (deboost -0.1367, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666023",
"player_name": "Freddy Fermin",
"position": "C",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.151,
"predicted_3B": 0.0,
"predicted_AB": 2.925,
"predicted_AVG": 0.232,
"predicted_BB": 0.302,
"predicted_H": 0.5,
"predicted_HR": 0.06,
"predicted_OBP": 0.29,
"predicted_R": 0.302,
"predicted_RBI": 0.16,
"predicted_SLG": 0.294,
"predicted_SO": 0.66
},
"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.1534,
"predicted_3B": 0.0008,
"predicted_AB": 2.9038,
"predicted_AVG": 0.2307,
"predicted_BB": 0.2527,
"predicted_H": 0.5644,
"predicted_HBP": 0.093,
"predicted_HR": 0.0531,
"predicted_OBP": 0.2924,
"predicted_R": 0.2967,
"predicted_RBI": 0.1592,
"predicted_SLG": 0.3087,
"predicted_SO": 0.6396
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.1534,
"delta": 0.0024,
"percent_delta": 0.0159,
"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.925,
"after": 2.9038,
"delta": -0.0212,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2307,
"delta": -0.0013,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.302,
"after": 0.2527,
"delta": -0.0493,
"percent_delta": -0.1632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.5644,
"delta": 0.0644,
"percent_delta": 0.1288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0531,
"delta": -0.0069,
"percent_delta": -0.115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2924,
"delta": 0.0024,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.302,
"after": 0.2967,
"delta": -0.0053,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.1592,
"delta": -0.0008,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.294,
"after": 0.3087,
"delta": 0.0147,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.66,
"after": 0.6396,
"delta": -0.0204,
"percent_delta": -0.0309,
"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.5,
"after": 0.5644,
"delta": 0.0644,
"percent_delta": 0.1288,
"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": 53
}
},
{
"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.1534,
"predicted_3B": 0.0008,
"predicted_AB": 2.9038,
"predicted_AVG": 0.1963,
"predicted_BB": 0.2533,
"predicted_H": 0.5699,
"predicted_HBP": 0.093,
"predicted_HR": 0.0532,
"predicted_OBP": 0.2607,
"predicted_R": 0.3022,
"predicted_RBI": 0.1622,
"predicted_SLG": 0.3046,
"predicted_SO": 0.6382
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1534,
"after": 0.1534,
"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.9038,
"after": 2.9038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2307,
"after": 0.1963,
"delta": -0.0344,
"percent_delta": -0.1491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2527,
"after": 0.2533,
"delta": 0.0006,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5644,
"after": 0.5699,
"delta": 0.0055,
"percent_delta": 0.0097,
"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.0531,
"after": 0.0532,
"delta": 0.0001,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2924,
"after": 0.2607,
"delta": -0.0317,
"percent_delta": -0.1084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2967,
"after": 0.3022,
"delta": 0.0055,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1592,
"after": 0.1622,
"delta": 0.003,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3087,
"after": 0.3046,
"delta": -0.0041,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6396,
"after": 0.6382,
"delta": -0.0014,
"percent_delta": -0.0022,
"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.2307,
"after": 0.1963,
"delta": -0.0344,
"percent_delta": -0.1491,
"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.195 HR/AB=0.018",
"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.1534,
"after": 0.0,
"delta": -0.1534,
"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.9038,
"after": 3.0,
"delta": 0.0962,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2533,
"after": 0.0,
"delta": -0.2533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5699,
"after": 1.0,
"delta": 0.4301,
"percent_delta": 0.7547,
"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.0532,
"after": 0.0,
"delta": -0.0532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1622,
"after": 0.0,
"delta": -0.1622,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"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.5699,
"after": 1.0,
"delta": 0.4301,
"percent_delta": 0.7547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2533,
"after": 0.0,
"delta": -0.2533,
"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=7.0, weight=0.076, BvP AVG=0.143)",
"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.9243,
"bvp": 0.0757
},
"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.3022,
"after": 0.0,
"delta": -0.3022,
"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.3022,
"after": 0.0,
"delta": -0.3022,
"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.1963,
"after": 0.333,
"delta": 0.1367,
"percent_delta": 0.6964,
"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.2607,
"after": 0.333,
"delta": 0.0723,
"percent_delta": 0.2773,
"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.3046,
"after": 0.333,
"delta": 0.0284,
"percent_delta": 0.0932,
"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.1963,
"after": 0.333,
"delta": 0.1367,
"percent_delta": 0.6964,
"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": 3.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": 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": 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": 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_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": 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": 3.0,
"predicted_AVG": 0.1963,
"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.2607,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3046,
"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.1963,
"delta": -0.1367,
"percent_delta": -0.4106,
"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.2607,
"delta": -0.0723,
"percent_delta": -0.217,
"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.3046,
"delta": -0.0284,
"percent_delta": -0.0853,
"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.1963,
"delta": -0.1367,
"percent_delta": -0.4106,
"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.151,
"after": 0.0,
"delta": -0.151,
"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.925,
"after": 3.0,
"delta": 0.075,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.1963,
"delta": -0.0357,
"percent_delta": -0.1539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.302,
"after": 0.0,
"delta": -0.302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"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.29,
"after": 0.2607,
"delta": -0.0293,
"percent_delta": -0.101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.302,
"after": 1.0,
"delta": 0.698,
"percent_delta": 2.3113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.294,
"after": 0.3046,
"delta": 0.0106,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.302,
"after": 0.0,
"delta": -0.302,
"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.151 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.925 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.302 | - |
| predicted_H | 0.500 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.302 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.294 | - |
| predicted_SO | 0.660 | - |
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.153 | 0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.904 | -0.021 |
| predicted_AVG | 0.231 | -0.001 |
| predicted_BB | 0.253 | -0.049 |
| predicted_H | 0.564 | 0.064 |
| predicted_HBP | 0.093 | - |
| predicted_HR | 0.053 | -0.007 |
| predicted_OBP | 0.292 | 0.002 |
| predicted_R | 0.297 | -0.005 |
| predicted_RBI | 0.159 | -0.001 |
| predicted_SLG | 0.309 | 0.015 |
| predicted_SO | 0.640 | -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.153 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.904 | 0.000 |
| predicted_AVG | 0.196 | -0.034 |
| predicted_BB | 0.253 | 0.001 |
| predicted_H | 0.570 | 0.005 |
| predicted_HBP | 0.093 | 0.000 |
| predicted_HR | 0.053 | 0.000 |
| predicted_OBP | 0.261 | -0.032 |
| predicted_R | 0.302 | 0.006 |
| predicted_RBI | 0.162 | 0.003 |
| predicted_SLG | 0.305 | -0.004 |
| predicted_SO | 0.638 | -0.001 |
AB rounded to 3 (raw=2.92), rates preserved: AVG=0.195 HR/AB=0.018
| 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=7.0, weight=0.076, BvP AVG=0.143)
| 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.153 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.096 |
| predicted_AVG | 0.333 | 0.137 |
| predicted_BB | 0.000 | -0.253 |
| predicted_H | 1.000 | 0.430 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.333 | 0.072 |
| predicted_R | 0.000 | -0.302 |
| predicted_RBI | 0.000 | -0.162 |
| predicted_SLG | 0.333 | 0.028 |
| predicted_SO | 1.000 | 0.362 |
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 | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | - | 12.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 0.3333 | 0.3846 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 24.000 | 7.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 0.2917 | 0.3200 | 0.4167 | 0.2917 | 0.0000 | 0.0000 | 0.0000 | 0.1250 |
| season | 0.60 | 53 | - | 155.000 | 26.000 | 8.000 | 0.000 | 3.000 | 11.000 | 16.000 | 16.000 | 35.000 | 0.1677 | 0.2557 | 0.2774 | 0.1677 | 0.0193 | 0.0710 | 0.1032 | 0.2258 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.8730 |
| predicted_AVG | 0.2289 |
| predicted_BB | 0.1810 |
| predicted_H | 0.6580 |
| predicted_HBP | 0.0930 |
| predicted_HR | 0.0430 |
| predicted_OBP | 0.2960 |
| predicted_R | 0.2890 |
| predicted_RBI | 0.1580 |
| predicted_SLG | 0.3300 |
| predicted_SO | 0.6100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.1570 | 0.1534 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9250 | 2.8730 | 2.9038 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2289 | 0.2307 | model_form_blend |
| predicted_BB | 0.3020 | 0.1810 | 0.2527 | model_form_blend |
| predicted_H | 0.5000 | 0.6580 | 0.5644 | model_form_blend |
| predicted_HBP | - | 0.0930 | 0.0930 | form_only |
| predicted_HR | 0.0600 | 0.0430 | 0.0531 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2960 | 0.2924 | model_form_blend |
| predicted_R | 0.3020 | 0.2890 | 0.2967 | model_form_blend |
| predicted_RBI | 0.1600 | 0.1580 | 0.1592 | model_form_blend |
| predicted_SLG | 0.2940 | 0.3300 | 0.3087 | model_form_blend |
| predicted_SO | 0.6600 | 0.6100 | 0.6396 | 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 | 186 |
| Season rows before report date | 186 |
| Report year | 2026 |
| Profile rows used | 53 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.168 |
| 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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| 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 | C |
| gameID | 20260729_COL@SD |
| game_type | full |
| mlbID | 666023 |
| playerID | 666023 |
| playerName | Freddy Fermin |
| pos | C |
| started | True |
| startingPosition | C |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.245 |
| sl_xwoba | 0.259 |
| sl_xba | 0.191 |
| sl_xslg | 0.277 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 25.4 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 50.3 |
| 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.500 | 1.000 | -1.500 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.000 | 0.000 | -1.000 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.000 | 1.000 | 1.000 | 4.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.433 | 3.100 | 0.567 | 1.900 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 3.833 | 3.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": "676664",
"player_name": "JP Sears",
"position": "Starter",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"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 | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| 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 | 22.100 | 10.000 | 19.000 | 7.000 | 18.000 | 4.000 | 4.0299 | 1.1642 | 0.4478 | 0.8508 | 0.3134 | 0.8060 | 0.1791 |
| last_10 | 0.35 | 6 | 28.000 | 12.000 | 24.000 | 9.000 | 23.000 | 5.000 | 3.8571 | 1.1786 | 0.4286 | 0.8571 | 0.3214 | 0.8214 | 0.1786 |
| season | 0.20 | 6 | 28.000 | 12.000 | 24.000 | 9.000 | 23.000 | 5.000 | 3.8571 | 1.1786 | 0.4286 | 0.8571 | 0.3214 | 0.8214 | 0.1786 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5530 |
| predicted_ER | 2.2040 |
| predicted_ERA | 4.2557 |
| predicted_H | 4.2330 |
| predicted_HR | 0.7760 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.0860 |
| predicted_WHIP | 1.2415 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.5530 | 0.7112 | model_form_blend |
| predicted_ER | 1.0000 | 2.2040 | 1.5514 | model_form_blend |
| predicted_ERA | - | 4.2557 | 4.2557 | form_only |
| predicted_H | 5.0000 | 4.2330 | 4.6487 | model_form_blend |
| predicted_HR | 0.0000 | 0.7760 | 0.3554 | model_form_blend |
| predicted_IP | 5.0000 | 4.2000 | 5.0000 | model_form_blend |
| predicted_SO | 4.0000 | 4.0860 | 4.0394 | model_form_blend |
| predicted_WHIP | - | 1.2415 | 1.2415 | 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 | 6 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 5 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 4 |
| HR | 0 |
| BF | 20 |
| Pitches | 78 |
| 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 | 12 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.86 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 4 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.1 |
| Pitching_Pitches | 55 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 34 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260725_SD@MIA |
| game_type | full |
| mlbID | 676664 |
| playerID | 676664 |
| playerName | JP Sears |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-25 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.3 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 26.5 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 45.8 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 81.472346829 |
| sl_avg_hyper_speed | 94.55653 |
| 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.300 | 1.000 | -0.300 | -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.980 | 2.000 | -0.980 | -2.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.002 | 1.000 | 0.198 | 0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.280 | 1.000 | -1.280 | -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.2000 (boost 0.2000, 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.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670970",
"player_name": "Adrian Morejon",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"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": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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 | 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 | 5.100 | 0.000 | 4.000 | 2.000 | 5.000 | 0.000 | 0.0000 | 1.1250 | 0.0000 | 0.7500 | 0.3750 | 0.9375 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 3.000 | 12.000 | 5.000 | 13.000 | 0.000 | 2.0769 | 1.3077 | 0.2308 | 0.9231 | 0.3846 | 1.0000 | 0.0000 |
| season | 0.20 | 50 | 57.100 | 20.000 | 49.000 | 15.000 | 64.000 | 3.000 | 3.1395 | 1.1163 | 0.3488 | 0.8547 | 0.2616 | 1.1163 | 0.0523 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3850 |
| predicted_ER | 0.2800 |
| predicted_ERA | 2.3288 |
| predicted_H | 0.9470 |
| predicted_HR | 0.0580 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0640 |
| predicted_WHIP | 1.2313 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3850 | 0.2007 | model_form_blend |
| predicted_ER | 0.0000 | 0.2800 | 0.1460 | model_form_blend |
| predicted_ERA | - | 2.3288 | 2.3288 | form_only |
| predicted_H | 0.0000 | 0.9470 | 0.4938 | model_form_blend |
| predicted_HR | 0.0000 | 0.0580 | 0.0302 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0640 | 0.5548 | model_form_blend |
| predicted_WHIP | - | 1.2313 | 1.2313 | 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 | 50 |
| Season rows before report date | 50 |
| Report year | 2026 |
| Profile rows used | 50 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| 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 | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.14 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 32 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 23 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260728_COL@SD |
| game_type | full |
| mlbID | 670970 |
| playerID | 670970 |
| playerName | Adrian Morejon |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-28 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.256 |
| sl_xwoba | 0.251 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 1.9 |
| sl_hard_hit_percent | 31.0 |
| sl_whiff_percent | 33.6 |
| sl_swing_percent | 51.4 |
| sl_avg_best_speed | 74.155912468 |
| sl_avg_hyper_speed | 93.064271299 |
| 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.364 | 0.000 | -0.364 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.864 | 1.000 | -0.864 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.889 | 0.200 | 0.111 | 0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.068 | 1.000 | 0.932 | 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": "699134",
"player_name": "Bradgley Rodriguez",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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.000 | 2.000 | 6.000 | 1.000 | 7.000 | 0.000 | 4.5000 | 1.7500 | 0.5000 | 1.5000 | 0.2500 | 1.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 8.000 | 2.000 | 12.000 | 1.000 | 2.7931 | 1.0345 | 0.3103 | 0.8276 | 0.2069 | 1.2414 | 0.1035 |
| season | 0.20 | 44 | 46.100 | 12.000 | 38.000 | 16.000 | 47.000 | 2.000 | 2.3309 | 1.1655 | 0.2590 | 0.8201 | 0.3453 | 1.0144 | 0.0432 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2620 |
| predicted_ER | 0.3860 |
| predicted_ERA | 3.8502 |
| predicted_H | 0.9700 |
| predicted_HR | 0.0740 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1380 |
| predicted_WHIP | 1.3649 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2620 | 0.1314 | model_form_blend |
| predicted_ER | 0.0000 | 0.3860 | 0.1936 | model_form_blend |
| predicted_ERA | - | 3.8502 | 3.8502 | form_only |
| predicted_H | 0.0000 | 0.9700 | 0.4865 | model_form_blend |
| predicted_HR | 0.0000 | 0.0740 | 0.0371 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.1380 | 1.5676 | model_form_blend |
| predicted_WHIP | - | 1.3649 | 1.3649 | 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 | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 44 |
| 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 | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.33 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_COL@SD |
| game_type | full |
| mlbID | 699134 |
| playerID | 699134 |
| playerName | Bradgley Rodriguez |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.264 |
| sl_xwoba | 0.242 |
| sl_sweet_spot_percent | 21.7 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 31.8 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 51.8 |
| sl_avg_best_speed | 76.568688571 |
| sl_avg_hyper_speed | 92.925664127 |
| 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 | 0.341 | 0.000 | 0.659 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.477 | 0.000 | -0.477 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.980 | 1.000 | 0.120 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.932 | 2.000 | -1.932 | -2.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": "695243",
"player_name": "Mason Miller",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.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 | 5.000 | 0.000 | 1.000 | 1.000 | 10.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.2000 | 0.2000 | 2.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 4.000 | 2.000 | 19.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.4000 | 0.2000 | 1.9000 | 0.0000 |
| season | 0.20 | 44 | 45.200 | 4.000 | 21.000 | 15.000 | 85.000 | 0.000 | 0.7883 | 0.7883 | 0.0876 | 0.4598 | 0.3285 | 1.8613 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2720 |
| predicted_ER | 0.1910 |
| predicted_ERA | 1.7168 |
| predicted_H | 0.5540 |
| predicted_HR | 0.0540 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.5900 |
| predicted_WHIP | 0.8258 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2720 | 0.6359 | model_form_blend |
| predicted_ER | 0.0000 | 0.1910 | 0.0955 | model_form_blend |
| predicted_ERA | - | 1.7168 | 1.7168 | form_only |
| predicted_H | 0.0000 | 0.5540 | 0.2771 | model_form_blend |
| predicted_HR | 0.0000 | 0.0540 | 0.0270 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.5900 | 0.7953 | model_form_blend |
| predicted_WHIP | - | 0.8258 | 0.8258 | 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 | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 44 |
| 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 | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.79 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260729_COL@SD |
| game_type | full |
| mlbID | 695243 |
| playerID | 695243 |
| playerName | Mason Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-29 |
| sl_k_percent | 49.1 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.176 |
| sl_xwoba | 0.177 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 25.7 |
| sl_whiff_percent | 47.8 |
| sl_swing_percent | 47.6 |
| sl_avg_best_speed | 73.993734 |
| sl_avg_hyper_speed | 91.917242571 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TEX 3 - 4 TB | TB | 0.560 | scoring_simulation.final_score | True |
| Simulation draw | TEX 3 - 5 TB | TB | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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 | 6.9000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5600 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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.310 | 5.400 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5600 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 3 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 3 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5468943876152956,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.12047492063962933,
"confidence": 0.7412633920000001,
"factors": {
"environmental": 1.079568,
"pitcher_form": 1.1,
"team_form": 1.08,
"situational": 1.0,
"combined": 1.2825267840000003
},
"prediction": "low_scoring",
"expected_total_runs": 8,
"pre_simulation_expected_total_runs": 6.9,
"low_score_model_expected_total_runs": 6.9,
"final_simulation_total_runs": 8,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 134,
"near_bucket_sample_size": 134,
"medium_bucket_sample_size": 150,
"wide_bucket_sample_size": 195,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5299,
"bayesian_hit_rate": 0.5263,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8816,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5108,
"calibrated_pick_probability": 0.5181,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "TB",
"games": 107,
"wins": 63,
"losses": 44,
"win_pct": 0.5887850467289719,
"runs_scored": 478,
"runs_allowed": 436,
"run_differential": 42,
"run_differential_per_game": 0.3925233644859813,
"available": true
},
"away": {
"team": "TEX",
"games": 108,
"wins": 55,
"losses": 53,
"win_pct": 0.5092592592592593,
"runs_scored": 454,
"runs_allowed": 475,
"run_differential": -21,
"run_differential_per_game": -0.19444444444444445,
"available": true
},
"run_differential_edge_per_game": 0.587,
"win_pct_edge": 0.0795,
"quality_edge": 0.7063,
"margin_adjustment": 0.2966,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 3.071,
"home_runs": 5.198,
"home_win_probability": 0.6808
}
}{
"applied": true,
"confidence_cap": 0.56,
"winner_flipped": false,
"reasons": [
"recent head-to-head is split and volatile",
"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"
],
"signals": {
"predicted_team": "TB",
"opponent_team": "TEX",
"h2h_net_margin": 0,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-07-29",
"predicted_team_runs": 3,
"opponent_runs": 0,
"margin_for_predicted_team": 3,
"winner": "TB"
},
{
"date": "2026-07-28",
"predicted_team_runs": 1,
"opponent_runs": 4,
"margin_for_predicted_team": -3,
"winner": "TEX"
}
],
"prediction_memory": {
"available": true,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "2026-07-29",
"predicted_team": "TB",
"confidence": 0.53,
"actual_winner": "TB",
"actual_margin": 3,
"path": "20260729_TEX@TB.json"
},
{
"date": "2026-07-28",
"predicted_team": "TB",
"confidence": 0.5968097858606976,
"actual_winner": "TEX",
"actual_margin": 3,
"path": "20260728_TEX@TB.json"
}
]
},
"guardrail_predicted_team": "TB",
"guardrail_opponent_team": "TEX",
"output_pre_simulation_winner": "TB",
"output_opponent_team": "TEX",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "TEX 3 - 4 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "TEX 3 - 5 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 0.7063,
"winner": "TB",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "TB",
"games": 107,
"wins": 63,
"losses": 44,
"win_pct": 0.5887850467289719,
"runs_scored": 478,
"runs_allowed": 436,
"run_differential": 42,
"run_differential_per_game": 0.3925233644859813,
"available": true
},
"away": {
"team": "TEX",
"games": 108,
"wins": 55,
"losses": 53,
"win_pct": 0.5092592592592593,
"runs_scored": 454,
"runs_allowed": 475,
"run_differential": -21,
"run_differential_per_game": -0.19444444444444445,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.1271,
"final_margin": 0.1271,
"margin_cap": 1.5,
"season_quality_edge": 0.7063,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.512871,
"final_confidence": 0.512871,
"confidence_cap": 0.66,
"score_gap": 0.1271,
"calibration_sample_size": 134,
"calibration_empirical_hit_rate": 0.5299,
"calibration_bayesian_hit_rate": 0.5263,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.7063,
"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": 4,
"score_text": "TEX 3 - 4 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "TEX 3 - 5 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 0.7063,
"winner": "TB",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 5,
"confidence": 0.56,
"home_win_probability": 0.56,
"away_win_probability": 0.43999999999999995,
"predicted_score_text": "TEX 3 - 5 TB",
"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.0755,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.032205112651595494,
"contact": -0.09280082205593654,
"power": -0.1311447071421714,
"discipline": -0.1655490935225219,
"xwoba": 0.3070625,
"recent_xwoba": 0.3070625,
"barrel": 6.578125,
"ab_hard_contact": -0.0499893809386715,
"ab_bat_speed": 70.04697294276923,
"ab_strikeout_rate": 0.21330362544892884,
"available_players": 9,
"top_players": [
{
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "DH",
"weight": 4.0,
"quality": 1.076919807668612,
"contact": 1.2621281868682126,
"power": 1.2620754062215869,
"discipline": -0.009970836181362356,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 11.800000000000002,
"ab_hard_contact": 0.5668414577650616,
"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.6173825025077415,
"contact": -0.7408494589644541,
"power": -1.4345035595915836,
"discipline": -0.112849175647048,
"xwoba": 0.267,
"recent_xwoba": 0.267,
"barrel": 0.0,
"ab_hard_contact": -1.482833096593582,
"ab_bat_speed": 62.676705082742316,
"ab_strikeout_rate": 0.15141843971631205,
"available": 1.0
},
{
"player_id": "696030",
"player_name": "Alejandro Osuna",
"position": "RF",
"weight": 3.0,
"quality": -0.3599485751630598,
"contact": -0.12521434061442763,
"power": -1.0973052686156302,
"discipline": 0.55238230075935,
"xwoba": 0.305,
"recent_xwoba": 0.305,
"barrel": 0.6999999999999998,
"ab_hard_contact": -0.37734346755072035,
"ab_bat_speed": 69.52907638888888,
"ab_strikeout_rate": 0.1349726775956284,
"available": 1.0
},
{
"player_id": "695508",
"player_name": "Cameron Cauley",
"position": "CF",
"weight": 3.0,
"quality": -0.17932284907650542,
"contact": -0.953773009623016,
"power": -1.482017484470715,
"discipline": 0.19580735930735932,
"xwoba": 0.276,
"recent_xwoba": 0.276,
"barrel": 0.0,
"ab_hard_contact": -0.026254451319062982,
"ab_bat_speed": 68.67893162393162,
"ab_strikeout_rate": 0.16904761904761906,
"available": 1.0
},
{
"player_id": "642851",
"player_name": "Austin Wynns",
"position": "C",
"weight": 3.0,
"quality": -0.2040488694492221,
"contact": -1.1761960334325392,
"power": -0.8419811275725069,
"discipline": -0.47287191240132426,
"xwoba": 0.255,
"recent_xwoba": 0.255,
"barrel": 4.4,
"ab_hard_contact": -0.5619082657358561,
"ab_bat_speed": 70.11420138888889,
"ab_strikeout_rate": 0.20294117647058824,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "663556",
"player_name": "Shane McClanahan",
"quality": 0.020610087673422314,
"contact": 0.19929663585624546,
"command": -0.05210485008818343,
"movement": -0.04460573985939605,
"xwoba": 0.315,
"whiff": 27.0,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "TB",
"original_runs": 4,
"run_delta": -0.03,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.014929678402065261,
"contact": 0.02051393343263905,
"power": -0.042569967766485146,
"discipline": 0.2641192766723115,
"xwoba": 0.3134516129032258,
"recent_xwoba": 0.3134516129032258,
"barrel": 7.064516129032258,
"ab_hard_contact": -0.013193518156122097,
"ab_bat_speed": 70.12616592033409,
"ab_strikeout_rate": 0.21730943440156092,
"available_players": 9,
"top_players": [
{
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"weight": 3.0,
"quality": -1.2755495550974103,
"contact": -1.5621960299404765,
"power": -1.4934181835969467,
"discipline": 0.21187878787878792,
"xwoba": 0.249,
"recent_xwoba": 0.24900000000000003,
"barrel": 2.7,
"ab_hard_contact": -1.245125576700835,
"ab_bat_speed": 62.8438291005291,
"ab_strikeout_rate": 0.24933333333333332,
"available": 1.0
},
{
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"weight": 4.0,
"quality": 1.1209464342988544,
"contact": 1.2527147224178006,
"power": 1.3677734073419046,
"discipline": 0.6770454545454546,
"xwoba": 0.37,
"recent_xwoba": 0.37,
"barrel": 13.0,
"ab_hard_contact": 0.7459443373142841,
"ab_bat_speed": 78.56901781746032,
"ab_strikeout_rate": 0.19402380952380952,
"available": 1.0
},
{
"player_id": "656775",
"player_name": "Cedric Mullins",
"position": "CF",
"weight": 4.0,
"quality": -0.8505232174819244,
"contact": -1.1298603362336597,
"power": -0.8481168956122431,
"discipline": 0.015962821492233256,
"xwoba": 0.258,
"recent_xwoba": 0.258,
"barrel": 4.1,
"ab_hard_contact": -0.8537664836734312,
"ab_bat_speed": 67.31136741363213,
"ab_strikeout_rate": 0.2203921568627451,
"available": 1.0
},
{
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"weight": 4.0,
"quality": 0.7112122651021138,
"contact": 0.8150782157257089,
"power": 0.7489362933219069,
"discipline": 0.49530110630110635,
"xwoba": 0.35799999999999993,
"recent_xwoba": 0.358,
"barrel": 10.2,
"ab_hard_contact": 0.8282496759619549,
"ab_bat_speed": 68.97055551547218,
"ab_strikeout_rate": 0.22205387205387206,
"available": 1.0
},
{
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"weight": 4.0,
"quality": 0.7624399568591741,
"contact": 1.1424783583200373,
"power": 0.48312853362584157,
"discipline": 0.7114423617619492,
"xwoba": 0.355,
"recent_xwoba": 0.355,
"barrel": 6.900000000000001,
"ab_hard_contact": 0.8355230534692094,
"ab_bat_speed": 73.05398195876289,
"ab_strikeout_rate": 0.13676975945017184,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "668390",
"player_name": "Cole Winn",
"quality": -0.08898013714007885,
"contact": -0.39495303660494513,
"command": 0.10946657848324531,
"movement": 0.2301870684663082,
"xwoba": 0.34,
"whiff": 27.8,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.7063,
"recent_form_edge_home_minus_away": 0.38,
"pitcher_matchup_edge_home_minus_away": -0.0622,
"composite_home_edge": 0.5266,
"existing_home_win_probability": 0.5181,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.5266
},
"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": 4,
"predicted_score_text": "TEX 3 - 4 TB",
"confidence": 0.56,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "TEX 3 - 4 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "TEX 3 - 5 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 0.7063,
"winner": "TB",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "TB",
"display_confidence": 0.56,
"internal_signal_score": 0.633,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.56,
"confidence_compression_detected": false,
"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": 2,
"winner_quality_edge": 0.7063,
"winner_recent_form_edge": 0.38,
"winner_pitcher_matchup_edge": -0.0622,
"winner_simulation_draw_rate": 0.8182,
"blowout_draw_rate_margin_4_plus": 0.3636,
"high_total_draw_rate_11_plus": 0.0909,
"low_total_draw_rate_6_or_less": 0.2727,
"total_runs_spread": {
"min": 3,
"median": 8,
"max": 11,
"range": 8
}
},
"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.0046 | 1.0046 | 1 | 9 | 0 |
| Home TB | True | 1.0030 | 1.0030 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Brandon Nimmo | 82 | 1.1109 | 1.4791 | positive_batter_regression | 0.3690 | 0.2890 | 0.5010 | 11.80 | 51.70 | 92.20 | 10.70 | 22.50 | 21.90 | 7.70 | 1.0286 |
| 3B | Ezequiel Duran | 45 | 1.0056 | 0.0752 | neutral | 0.3120 | 0.2590 | 0.3920 | 6.70 | 36.30 | 88.70 | 11.40 | 26.30 | 23 | 7 | -0.7429 |
| CF | Cameron Cauley | 399 | 0.9624 | -0.5009 | negative_batter_regression | 0.2760 | 0.2200 | 0.2780 | 0 | 20.70 | 85.60 | 17.50 | 29 | 17.10 | 9.80 | -1.9429 |
| SS | Nicky Lopez | 327 | 0.9519 | -0.6414 | negative_batter_regression | 0.2670 | 0.2540 | 0.3010 | 0 | 23.50 | 85.20 | 1.90 | 19.60 | 15.10 | 4.20 | -1.2571 |
| 2B | Justin Foscue | 248 | 1.0257 | 0.3432 | neutral | 0.3370 | 0.2520 | 0.4540 | 11.20 | 41.60 | 89.10 | 17.60 | 20.30 | 25.70 | 7.40 | -0.5429 |
| RF | Alejandro Osuna | 319 | 0.9805 | -0.2594 | neutral | 0.3050 | 0.2570 | 0.3140 | 0.70 | 29.10 | 86.90 | 5.90 | 16 | 14.60 | 8.30 | 0 |
| C | Austin Wynns | 551 | 0.9826 | -0.2314 | positive_batter_regression | 0.2550 | 0.2070 | 0.3190 | 4.40 | 31.10 | 86.20 | 19.40 | 27.50 | 25.80 | 6.10 | 2 |
| 1B | Jake Burger | 106 | 1.0117 | 0.1564 | neutral | 0.3030 | 0.2320 | 0.4000 | 10.90 | 46.10 | 89.90 | 13.50 | 34.70 | 26.80 | 7.50 | -0.4000 |
| LF | Wyatt Langford | 68 | 1.0100 | 0.1335 | negative_batter_regression | 0.3140 | 0.2480 | 0.4330 | 8.80 | 38 | 89.40 | 19.40 | 23.40 | 21.90 | 5.50 | -1.3429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Jonathan Aranda | 109 | 1.0726 | 0.9676 | neutral | 0.3580 | 0.2640 | 0.4510 | 10.20 | 44.70 | 91 | 13.60 | 21.80 | 23.20 | 11.90 | 0 |
| LF | Jonny DeLuca | 204 | 0.9696 | -0.4059 | neutral | 0.2870 | 0.2540 | 0.3640 | 3.90 | 29.70 | 85 | 14.30 | 26.60 | 20.30 | 4.80 | -0.8286 |
| DH | Yandy Díaz | 64 | 1.0614 | 0.8187 | neutral | 0.3550 | 0.2850 | 0.4410 | 6.90 | 47 | 90.70 | 5.50 | 14.30 | 14.50 | 9.10 | -0.2286 |
| CF | Cedric Mullins | 235 | 0.9302 | -0.9308 | neutral | 0.2580 | 0.1850 | 0.3080 | 4.10 | 30.50 | 88 | 27.70 | 23.70 | 20.90 | 8.10 | -0.6000 |
| 3B | Junior Caminero | 13 | 1.0928 | 1.2375 | neutral | 0.3700 | 0.2780 | 0.5010 | 13 | 50.80 | 93 | 9.40 | 22.60 | 18.10 | 12.30 | -0.5714 |
| RF | Victor Mesa Jr. | 178 | 1.0115 | 0.1531 | neutral | 0.3200 | 0.2370 | 0.4020 | 11 | 39 | 88.50 | 20.60 | 25.20 | 24.80 | 11.60 | -0.3714 |
| 2B | Ben Williamson | 155 | 0.9796 | -0.2715 | neutral | 0.2940 | 0.2570 | 0.3370 | 1.60 | 33.70 | 87.30 | 3.90 | 17 | 18.70 | 7.90 | 0.0857 |
| C | Hunter Feduccia | 250 | 1.0036 | 0.0486 | neutral | 0.3010 | 0.2290 | 0.3660 | 8.20 | 37.50 | 90.20 | 16.80 | 23.90 | 27.30 | 9.10 | 0.4000 |
| SS | Taylor Walls | 69 | 0.9053 | -1.2622 | neutral | 0.2490 | 0.1860 | 0.2540 | 2.70 | 22.50 | 85.30 | 19.40 | 23.60 | 25.90 | 10.90 | -0.8000 |
{
"home": {
"applied": true,
"offense_factor": 1.003,
"raw_average_factor": 1.003,
"team_espn_average_rank": 141.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.0726,
"quality_score": 0.9676,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666018",
"espn_id": 40810,
"player_name": "Jonathan Aranda",
"team": "TB",
"role": "batter",
"espn_rank": 109,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 109,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 387.0,
"ab_rank": 56,
"r_value": 51.0,
"r_rank": 78,
"h_value": 110.0,
"h_rank": 21,
"avg_value": 0.2842377,
"avg_rank": 23.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 14.0,
"hr_rank": 81,
"rbi_value": 65.0,
"rbi_rank": 20,
"tb_value": 170.0,
"tb_rank": 838,
"bb_value": 54.0,
"bb_rank": 25,
"so_value": 107.0,
"so_rank": 36,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3771929,
"obp_rank": "14",
"slg_value": 0.4392764,
"slg_rank": "67",
"ops_value": 0.8164693,
"ops_rank": 53.0,
"war_value": 1.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 429.0,
"k_percent": 23.2,
"bb_percent": 11.9,
"woba": 0.358,
"xwoba": 0.358,
"xba": 0.264,
"xslg": 0.451,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 44.7,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 13.6,
"whiff_percent": 21.8,
"swing_percent": 46.0
},
"components": {
"expected_quality": 1.1251,
"regression_edge": 0.0,
"xwoba_edge": 1.5857,
"xba_edge": 0.7286,
"xslg_edge": 1.1357,
"barrel_edge": 0.7556,
"hard_hit_edge": 0.9429,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"offense_factor": 0.9696,
"quality_score": -0.4059,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676356",
"espn_id": 5005912,
"player_name": "Jonny DeLuca",
"team": "TB",
"role": "batter",
"espn_rank": 204,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 204,
"gp_value": 66.0,
"gp_rank": 267,
"ab_value": 198.0,
"ab_rank": 257,
"r_value": 27.0,
"r_rank": 230,
"h_value": 51.0,
"h_rank": 231,
"avg_value": 0.2575757,
"avg_rank": null,
"2b_value": 15.0,
"2b_rank": 120,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 32.0,
"rbi_rank": 194,
"tb_value": 84.0,
"tb_rank": 1533,
"bb_value": 10.0,
"bb_rank": 352,
"so_value": 43.0,
"so_rank": 267,
"sb_value": 10.0,
"sb_rank": 62,
"obp_value": 0.2932692,
"obp_rank": "-",
"slg_value": 0.4242424,
"slg_rank": "-",
"ops_value": 0.7175116,
"ops_rank": null,
"war_value": 0.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 192.0,
"k_percent": 20.3,
"bb_percent": 4.8,
"woba": 0.316,
"xwoba": 0.287,
"xba": 0.254,
"xslg": 0.364,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 29.7,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 14.3,
"whiff_percent": 26.6,
"swing_percent": 53.1
},
"components": {
"expected_quality": -0.4059,
"regression_edge": -0.8286,
"xwoba_edge": -0.4429,
"xba_edge": 0.4429,
"xslg_edge": -0.1071,
"barrel_edge": -0.6444,
"hard_hit_edge": -1.2,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0614,
"quality_score": 0.8187,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650490",
"espn_id": 33481,
"player_name": "Yandy Diaz",
"team": "TB",
"role": "batter",
"espn_rank": 64,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 64,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 399.0,
"ab_rank": 32,
"r_value": 59.0,
"r_rank": 36,
"h_value": 120.0,
"h_rank": 6,
"avg_value": 0.3007518,
"avg_rank": 8.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 15.0,
"hr_rank": 67,
"rbi_value": 62.0,
"rbi_rank": 28,
"tb_value": 185.0,
"tb_rank": 495,
"bb_value": 42.0,
"bb_rank": 55,
"so_value": 65.0,
"so_rank": 164,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3774834,
"obp_rank": "14",
"slg_value": 0.4636591,
"slg_rank": "41",
"ops_value": 0.8411425,
"ops_rank": 27.0,
"war_value": 2.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 426.0,
"k_percent": 14.5,
"bb_percent": 9.1,
"woba": 0.363,
"xwoba": 0.355,
"xba": 0.285,
"xslg": 0.441,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 47.0,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 5.5,
"whiff_percent": 14.3,
"swing_percent": 46.2
},
"components": {
"expected_quality": 0.9892,
"regression_edge": -0.2286,
"xwoba_edge": 1.5,
"xba_edge": 1.3286,
"xslg_edge": 0.9929,
"barrel_edge": 0.0222,
"hard_hit_edge": 1.2714,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "656775",
"player_name": "Cedric Mullins",
"offense_factor": 0.9302,
"quality_score": -0.9308,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656775",
"espn_id": 35578,
"player_name": "Cedric Mullins",
"team": "TB",
"role": "batter",
"espn_rank": 235,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 235,
"gp_value": 92.0,
"gp_rank": 145,
"ab_value": 313.0,
"ab_rank": 129,
"r_value": 38.0,
"r_rank": 151,
"h_value": 63.0,
"h_rank": 187,
"avg_value": 0.2012779,
"avg_rank": 155.0,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 12.0,
"hr_rank": 105,
"rbi_value": 33.0,
"rbi_rank": 184,
"tb_value": 109.0,
"tb_rank": 900,
"bb_value": 29.0,
"bb_rank": 139,
"so_value": 75.0,
"so_rank": 119,
"sb_value": 16.0,
"sb_rank": 26,
"obp_value": 0.2792022,
"obp_rank": "153",
"slg_value": 0.3482428,
"slg_rank": "143",
"ops_value": 0.627445,
"ops_rank": 10.0,
"war_value": 0.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 333.0,
"k_percent": 20.9,
"bb_percent": 8.1,
"woba": 0.279,
"xwoba": 0.258,
"xba": 0.185,
"xslg": 0.308,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 30.5,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 27.7,
"whiff_percent": 23.7,
"swing_percent": 50.6
},
"components": {
"expected_quality": -0.9847,
"regression_edge": -0.6,
"xwoba_edge": -1.2714,
"xba_edge": -1.5286,
"xslg_edge": -0.9071,
"barrel_edge": -0.6,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": -1.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.0928,
"quality_score": 1.2375,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691406",
"espn_id": 4905921,
"player_name": "Junior Caminero",
"team": "TB",
"role": "batter",
"espn_rank": 13,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 13,
"gp_value": 107.0,
"gp_rank": 20,
"ab_value": 407.0,
"ab_rank": 22,
"r_value": 65.0,
"r_rank": 20,
"h_value": 115.0,
"h_rank": 11,
"avg_value": 0.2825552,
"avg_rank": 25.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 29.0,
"hr_rank": 6,
"rbi_value": 65.0,
"rbi_rank": 20,
"tb_value": 222.0,
"tb_rank": 281,
"bb_value": 57.0,
"bb_rank": 17,
"so_value": 85.0,
"so_rank": 82,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3704496,
"obp_rank": "20",
"slg_value": 0.5454545,
"slg_rank": "6",
"ops_value": 0.9159041,
"ops_rank": 26.0,
"war_value": 4.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 432.0,
"k_percent": 18.1,
"bb_percent": 12.3,
"woba": 0.39,
"xwoba": 0.37,
"xba": 0.278,
"xslg": 0.501,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 50.8,
"exit_velocity_avg": 93.0,
"launch_angle_avg": 9.4,
"whiff_percent": 22.6,
"swing_percent": 42.5
},
"components": {
"expected_quality": 1.532,
"regression_edge": -0.5714,
"xwoba_edge": 1.9286,
"xba_edge": 1.1286,
"xslg_edge": 1.85,
"barrel_edge": 1.3778,
"hard_hit_edge": 1.8143,
"exit_velocity_edge": 1.72,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"offense_factor": 1.0115,
"quality_score": 0.1531,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683748",
"espn_id": 4917849,
"player_name": "Victor Mesa Jr.",
"team": "TB",
"role": "batter",
"espn_rank": 178,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 178,
"gp_value": 42.0,
"gp_rank": 368,
"ab_value": 112.0,
"ab_rank": 370,
"r_value": 17.0,
"r_rank": 328,
"h_value": 25.0,
"h_rank": 370,
"avg_value": 0.2232142,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 444,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 8.0,
"hr_rank": 170,
"rbi_value": 17.0,
"rbi_rank": 314,
"tb_value": 51.0,
"tb_rank": 1822,
"bb_value": 15.0,
"bb_rank": 275,
"so_value": 32.0,
"so_rank": 339,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.4553571,
"slg_rank": "-",
"ops_value": 0.7678571,
"ops_rank": null,
"war_value": 0.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 121.0,
"k_percent": 24.8,
"bb_percent": 11.6,
"woba": 0.333,
"xwoba": 0.32,
"xba": 0.237,
"xslg": 0.402,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 39.0,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 20.6,
"whiff_percent": 25.2,
"swing_percent": 52.9
},
"components": {
"expected_quality": 0.3841,
"regression_edge": -0.3714,
"xwoba_edge": 0.5,
"xba_edge": -0.0429,
"xslg_edge": 0.4357,
"barrel_edge": 0.9333,
"hard_hit_edge": 0.1286,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "810938",
"player_name": "Ben Williamson",
"offense_factor": 0.9796,
"quality_score": -0.2715,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "810938",
"espn_id": 4626239,
"player_name": "Ben Williamson",
"team": "TB",
"role": "batter",
"espn_rank": 155,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 155,
"gp_value": 78.0,
"gp_rank": 206,
"ab_value": 232.0,
"ab_rank": 218,
"r_value": 29.0,
"r_rank": 211,
"h_value": 58.0,
"h_rank": 209,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 2.0,
"hr_rank": 372,
"rbi_value": 25.0,
"rbi_rank": 241,
"tb_value": 76.0,
"tb_rank": 1747,
"bb_value": 20.0,
"bb_rank": 219,
"so_value": 49.0,
"so_rank": 241,
"sb_value": 8.0,
"sb_rank": 83,
"obp_value": 0.3149606,
"obp_rank": "-",
"slg_value": 0.3275862,
"slg_rank": "-",
"ops_value": 0.6425468,
"ops_rank": null,
"war_value": 1.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 18.7,
"bb_percent": 7.9,
"woba": 0.291,
"xwoba": 0.294,
"xba": 0.257,
"xslg": 0.337,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 33.7,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 3.9,
"whiff_percent": 17.0,
"swing_percent": 42.8
},
"components": {
"expected_quality": -0.3297,
"regression_edge": 0.0857,
"xwoba_edge": -0.2429,
"xba_edge": 0.5286,
"xslg_edge": -0.4929,
"barrel_edge": -1.1556,
"hard_hit_edge": -0.6286,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"offense_factor": 1.0036,
"quality_score": 0.0486,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676439",
"espn_id": 41801,
"player_name": "Hunter Feduccia",
"team": "TB",
"role": "batter",
"espn_rank": 250,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 250,
"gp_value": 58.0,
"gp_rank": 299,
"ab_value": 135.0,
"ab_rank": 332,
"r_value": 14.0,
"r_rank": 358,
"h_value": 31.0,
"h_rank": 333,
"avg_value": 0.2296296,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 306,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 2.0,
"hr_rank": 372,
"rbi_value": 12.0,
"rbi_rank": 358,
"tb_value": 45.0,
"tb_rank": 1967,
"bb_value": 14.0,
"bb_rank": 290,
"so_value": 42.0,
"so_rank": 272,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3046357,
"obp_rank": "-",
"slg_value": 0.3333333,
"slg_rank": "-",
"ops_value": 0.637969,
"ops_rank": null,
"war_value": 0.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 142.0,
"k_percent": 27.3,
"bb_percent": 9.1,
"woba": 0.287,
"xwoba": 0.301,
"xba": 0.229,
"xslg": 0.366,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 16.8,
"whiff_percent": 23.9,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.0225,
"regression_edge": 0.4,
"xwoba_edge": -0.0429,
"xba_edge": -0.2714,
"xslg_edge": -0.0786,
"barrel_edge": 0.3111,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "670764",
"player_name": "Taylor Walls",
"offense_factor": 0.9053,
"quality_score": -1.2622,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670764",
"espn_id": 40576,
"player_name": "Taylor Walls",
"team": "TB",
"role": "batter",
"espn_rank": 69,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 69,
"gp_value": 86.0,
"gp_rank": 167,
"ab_value": 252.0,
"ab_rank": 193,
"r_value": 38.0,
"r_rank": 151,
"h_value": 55.0,
"h_rank": 214,
"avg_value": 0.2182539,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 0.0,
"hr_rank": 493,
"rbi_value": 21.0,
"rbi_rank": 271,
"tb_value": 73.0,
"tb_rank": 1919,
"bb_value": 32.0,
"bb_rank": 122,
"so_value": 77.0,
"so_rank": 115,
"sb_value": 15.0,
"sb_rank": 29,
"obp_value": 0.3079584,
"obp_rank": "-",
"slg_value": 0.2896825,
"slg_rank": "-",
"ops_value": 0.5976409,
"ops_rank": null,
"war_value": 2.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 279.0,
"k_percent": 25.9,
"bb_percent": 10.9,
"woba": 0.277,
"xwoba": 0.249,
"xba": 0.186,
"xslg": 0.254,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 22.5,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 19.4,
"whiff_percent": 23.6,
"swing_percent": 43.4
},
"components": {
"expected_quality": -1.3374,
"regression_edge": -0.8,
"xwoba_edge": -1.5286,
"xba_edge": -1.5,
"xslg_edge": -1.6786,
"barrel_edge": -0.9111,
"hard_hit_edge": -2.2286,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0046,
"raw_average_factor": 1.0046,
"team_espn_average_rank": 238.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"offense_factor": 1.1109,
"quality_score": 1.4791,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "607043",
"espn_id": 32159,
"player_name": "Brandon Nimmo",
"team": "TEX",
"role": "batter",
"espn_rank": 82,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 82,
"gp_value": 102.0,
"gp_rank": 74,
"ab_value": 392.0,
"ab_rank": 46,
"r_value": 44.0,
"r_rank": 127,
"h_value": 105.0,
"h_rank": 36,
"avg_value": 0.2678571,
"avg_rank": 53.0,
"2b_value": 26.0,
"2b_rank": 5,
"3b_value": 4.0,
"3b_rank": 12,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 39.0,
"rbi_rank": 135,
"tb_value": 169.0,
"tb_rank": 467,
"bb_value": 33.0,
"bb_rank": 116,
"so_value": 95.0,
"so_rank": 61,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3325635,
"obp_rank": "72",
"slg_value": 0.4311224,
"slg_rank": "73",
"ops_value": 0.7636859,
"ops_rank": 1.0,
"war_value": 1.98,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 403.0,
"k_percent": 21.9,
"bb_percent": 7.7,
"woba": 0.333,
"xwoba": 0.369,
"xba": 0.289,
"xslg": 0.501,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 51.7,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 10.7,
"whiff_percent": 22.5,
"swing_percent": 50.4
},
"components": {
"expected_quality": 1.5524,
"regression_edge": 1.0286,
"xwoba_edge": 1.9,
"xba_edge": 1.4429,
"xslg_edge": 1.85,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.9429,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"offense_factor": 1.0056,
"quality_score": 0.0752,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677649",
"espn_id": 42457,
"player_name": "Ezequiel Duran",
"team": "TEX",
"role": "batter",
"espn_rank": 45,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 45,
"gp_value": 99.0,
"gp_rank": 106,
"ab_value": 339.0,
"ab_rank": 112,
"r_value": 48.0,
"r_rank": 98,
"h_value": 92.0,
"h_rank": 85,
"avg_value": 0.2713864,
"avg_rank": 47.0,
"2b_value": 19.0,
"2b_rank": 61,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 12.0,
"hr_rank": 105,
"rbi_value": 57.0,
"rbi_rank": 46,
"tb_value": 153.0,
"tb_rank": 499,
"bb_value": 26.0,
"bb_rank": 165,
"so_value": 85.0,
"so_rank": 82,
"sb_value": 8.0,
"sb_rank": 83,
"obp_value": 0.3225806,
"obp_rank": "89",
"slg_value": 0.4513274,
"slg_rank": "57",
"ops_value": 0.773908,
"ops_rank": 146.0,
"war_value": 2.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 339.0,
"k_percent": 23.0,
"bb_percent": 7.0,
"woba": 0.338,
"xwoba": 0.312,
"xba": 0.259,
"xslg": 0.392,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 36.3,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 11.4,
"whiff_percent": 26.3,
"swing_percent": 51.9
},
"components": {
"expected_quality": 0.2084,
"regression_edge": -0.7429,
"xwoba_edge": 0.2714,
"xba_edge": 0.5857,
"xslg_edge": 0.2929,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.2571,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "695508",
"player_name": "Cameron Cauley",
"offense_factor": 0.9624,
"quality_score": -0.5009,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695508",
"espn_id": 4917917,
"player_name": "Cam Cauley",
"team": "TEX",
"role": "batter",
"espn_rank": 399,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 399,
"gp_value": 18.0,
"gp_rank": 481,
"ab_value": 39.0,
"ab_rank": 487,
"r_value": 8.0,
"r_rank": 426,
"h_value": 10.0,
"h_rank": 463,
"avg_value": 0.2564102,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 408,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 1.0,
"rbi_rank": 545,
"tb_value": 18.0,
"tb_rank": 2331,
"bb_value": 4.0,
"bb_rank": 452,
"so_value": 9.0,
"so_rank": 499,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.340909,
"obp_rank": "-",
"slg_value": 0.4615384,
"slg_rank": "-",
"ops_value": 0.8024474,
"ops_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 38.0,
"k_percent": 17.1,
"bb_percent": 9.8,
"woba": 0.344,
"xwoba": 0.276,
"xba": 0.22,
"xslg": 0.278,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 20.7,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 17.5,
"whiff_percent": 29.0,
"swing_percent": 50.0
},
"components": {
"expected_quality": -0.978,
"regression_edge": -1.9429,
"xwoba_edge": -0.7571,
"xba_edge": -0.5286,
"xslg_edge": -1.3357,
"barrel_edge": -1.5111,
"hard_hit_edge": -2.4857,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670032",
"player_name": "Nicky Lopez",
"offense_factor": 0.9519,
"quality_score": -0.6414,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670032",
"espn_id": 38106,
"player_name": "Nicky Lopez",
"team": "TEX",
"role": "batter",
"espn_rank": 327,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 327,
"gp_value": 55.0,
"gp_rank": 315,
"ab_value": 152.0,
"ab_rank": 313,
"r_value": 17.0,
"r_rank": 328,
"h_value": 46.0,
"h_rank": 254,
"avg_value": 0.3026315,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 408,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 18.0,
"rbi_rank": 304,
"tb_value": 52.0,
"tb_rank": 2408,
"bb_value": 8.0,
"bb_rank": 380,
"so_value": 25.0,
"so_rank": 390,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3435582,
"obp_rank": "-",
"slg_value": 0.3421052,
"slg_rank": "-",
"ops_value": 0.6856634,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 139.0,
"k_percent": 15.1,
"bb_percent": 4.2,
"woba": 0.311,
"xwoba": 0.267,
"xba": 0.254,
"xslg": 0.301,
"sweet_spot_percent": 25.8,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 23.5,
"exit_velocity_avg": 85.2,
"launch_angle_avg": 1.9,
"whiff_percent": 19.6,
"swing_percent": 52.7
},
"components": {
"expected_quality": -0.9757,
"regression_edge": -1.2571,
"xwoba_edge": -1.0143,
"xba_edge": 0.4429,
"xslg_edge": -1.0071,
"barrel_edge": -1.5111,
"hard_hit_edge": -2.0857,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": -1.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "679822",
"player_name": "Justin Foscue",
"offense_factor": 1.0257,
"quality_score": 0.3432,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679822",
"espn_id": 4298639,
"player_name": "Justin Foscue",
"team": "TEX",
"role": "batter",
"espn_rank": 248,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 248,
"gp_value": 55.0,
"gp_rank": 315,
"ab_value": 125.0,
"ab_rank": 346,
"r_value": 15.0,
"r_rank": 354,
"h_value": 33.0,
"h_rank": 322,
"avg_value": 0.264,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 285,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 19.0,
"rbi_rank": 294,
"tb_value": 61.0,
"tb_rank": 1696,
"bb_value": 10.0,
"bb_rank": 352,
"so_value": 36.0,
"so_rank": 316,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3260869,
"obp_rank": "-",
"slg_value": 0.488,
"slg_rank": "-",
"ops_value": 0.8140869,
"ops_rank": null,
"war_value": 0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 124.0,
"k_percent": 25.7,
"bb_percent": 7.4,
"woba": 0.356,
"xwoba": 0.337,
"xba": 0.252,
"xslg": 0.454,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 41.6,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 17.6,
"whiff_percent": 20.3,
"swing_percent": 43.8
},
"components": {
"expected_quality": 0.7965,
"regression_edge": -0.5429,
"xwoba_edge": 0.9857,
"xba_edge": 0.3857,
"xslg_edge": 1.1786,
"barrel_edge": 0.9778,
"hard_hit_edge": 0.5,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.6333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"offense_factor": 0.9805,
"quality_score": -0.2594,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696030",
"espn_id": 4916547,
"player_name": "Alejandro Osuna",
"team": "TEX",
"role": "batter",
"espn_rank": 319,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 319,
"gp_value": 69.0,
"gp_rank": 247,
"ab_value": 183.0,
"ab_rank": 271,
"r_value": 23.0,
"r_rank": 264,
"h_value": 47.0,
"h_rank": 250,
"avg_value": 0.2568306,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 339,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 23.0,
"rbi_rank": 253,
"tb_value": 55.0,
"tb_rank": 2335,
"bb_value": 17.0,
"bb_rank": 251,
"so_value": 30.0,
"so_rank": 359,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3461538,
"obp_rank": "-",
"slg_value": 0.3005464,
"slg_rank": "-",
"ops_value": 0.6467002,
"ops_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 191.0,
"k_percent": 14.6,
"bb_percent": 8.3,
"woba": 0.305,
"xwoba": 0.305,
"xba": 0.257,
"xslg": 0.314,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 0.7,
"hard_hit_percent": 29.1,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 5.9,
"whiff_percent": 16.0,
"swing_percent": 47.8
},
"components": {
"expected_quality": -0.3474,
"regression_edge": 0.0,
"xwoba_edge": 0.0714,
"xba_edge": 0.5286,
"xslg_edge": -0.8214,
"barrel_edge": -1.3556,
"hard_hit_edge": -1.2857,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "642851",
"player_name": "Austin Wynns",
"offense_factor": 0.9826,
"quality_score": -0.2314,
"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": 551,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 551,
"gp_value": 24.0,
"gp_rank": 451,
"ab_value": 61.0,
"ab_rank": 449,
"r_value": 4.0,
"r_rank": 480,
"h_value": 6.0,
"h_rank": 505,
"avg_value": 0.0983606,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 533,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 1.0,
"rbi_rank": 545,
"tb_value": 9.0,
"tb_rank": 2784,
"bb_value": 4.0,
"bb_rank": 452,
"so_value": 17.0,
"so_rank": 448,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.1538461,
"obp_rank": "-",
"slg_value": 0.1475409,
"slg_rank": "-",
"ops_value": 0.301387,
"ops_rank": null,
"war_value": -0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 57.0,
"k_percent": 25.8,
"bb_percent": 6.1,
"woba": 0.143,
"xwoba": 0.255,
"xba": 0.207,
"xslg": 0.319,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 31.1,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 19.4,
"whiff_percent": 27.5,
"swing_percent": 55.7
},
"components": {
"expected_quality": -0.9234,
"regression_edge": 2.0,
"xwoba_edge": -1.3571,
"xba_edge": -0.9,
"xslg_edge": -0.75,
"barrel_edge": -0.5333,
"hard_hit_edge": -1.0,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "669394",
"player_name": "Jake Burger",
"offense_factor": 1.0117,
"quality_score": 0.1564,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669394",
"espn_id": 39882,
"player_name": "Jake Burger",
"team": "TEX",
"role": "batter",
"espn_rank": 106,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 106,
"gp_value": 103.0,
"gp_rank": 59,
"ab_value": 382.0,
"ab_rank": 70,
"r_value": 45.0,
"r_rank": 119,
"h_value": 91.0,
"h_rank": 89,
"avg_value": 0.2382198,
"avg_rank": 116.0,
"2b_value": 16.0,
"2b_rank": 107,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 19.0,
"hr_rank": 34,
"rbi_value": 66.0,
"rbi_rank": 16,
"tb_value": 164.0,
"tb_rank": 796,
"bb_value": 31.0,
"bb_rank": 127,
"so_value": 111.0,
"so_rank": 29,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.299043,
"obp_rank": "137",
"slg_value": 0.4293193,
"slg_rank": "74",
"ops_value": 0.7283623,
"ops_rank": 63.0,
"war_value": 1.68,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 388.0,
"k_percent": 26.8,
"bb_percent": 7.5,
"woba": 0.317,
"xwoba": 0.303,
"xba": 0.232,
"xslg": 0.4,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 13.5,
"whiff_percent": 34.7,
"swing_percent": 50.5
},
"components": {
"expected_quality": 0.247,
"regression_edge": -0.4,
"xwoba_edge": 0.0143,
"xba_edge": -0.1857,
"xslg_edge": 0.4071,
"barrel_edge": 0.9111,
"hard_hit_edge": 1.1429,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.65,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "694671",
"player_name": "Wyatt Langford",
"offense_factor": 1.01,
"quality_score": 0.1335,
"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": 68,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 68,
"gp_value": 56.0,
"gp_rank": 306,
"ab_value": 227.0,
"ab_rank": 226,
"r_value": 34.0,
"r_rank": 184,
"h_value": 63.0,
"h_rank": 187,
"avg_value": 0.277533,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 172,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 12.0,
"hr_rank": 105,
"rbi_value": 29.0,
"rbi_rank": 208,
"tb_value": 115.0,
"tb_rank": 766,
"bb_value": 13.0,
"bb_rank": 306,
"so_value": 54.0,
"so_rank": 217,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.319502,
"obp_rank": "-",
"slg_value": 0.5066079,
"slg_rank": "-",
"ops_value": 0.8261099,
"ops_rank": null,
"war_value": 2.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 21.9,
"bb_percent": 5.5,
"woba": 0.361,
"xwoba": 0.314,
"xba": 0.248,
"xslg": 0.433,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 19.4,
"whiff_percent": 23.4,
"swing_percent": 49.8
},
"components": {
"expected_quality": 0.3767,
"regression_edge": -1.3429,
"xwoba_edge": 0.3286,
"xba_edge": 0.2714,
"xslg_edge": 0.8786,
"barrel_edge": 0.4444,
"hard_hit_edge": -0.0143,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.2,
"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 | 748 | -0.1248 | 0.5960 | 1.0106 | 1.0097 | 0.9702 | 1.0365 | neutral | 0.3400 | 0.3410 | 23.10 | 6.40 | 27.80 | 7.30 | 44 | |
| Home TB | True | 102 | -0.0588 | 1 | 1.0050 | 1.0066 | 0.9880 | 1.0419 | negative_pitcher_regression | 0.3150 | 0.2710 | 22.20 | 8.30 | 27 | 8.80 | 39.70 |
| 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 | 12 | 90.52 | 2384 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0365 | |
| Home TB | True | None | 79 | 89.75 | 2091 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0068 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0050 |
| home_runs_vs_away_pitcher | 1.0063 |
| home_pitcher_quality_edge | 0.0660 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "663556",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 376.0,
"k_percent": 22.2,
"bb_percent": 8.3,
"woba": 0.271,
"xwoba": 0.315,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 39.7,
"avg_best_speed": 78.2247,
"avg_hyper_speed": 94.3166,
"whiff_percent": 27.0,
"swing_percent": 48.7
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.0809,
"command_and_miss": 0.0854,
"regression_edge": -1.2571,
"xwoba_edge": -0.0857,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.2286,
"whiff_edge": 0.1857,
"bb_edge": 0.15,
"pitch_design_score": -0.0068
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663556",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 89.75094707107394,
"release_spin_rate": 2091.1953922047865,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 89.75094707107394,
"release_spin_rate": 2091.1953922047865,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7509,
"release_spin_rate": 2091.1954,
"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.0068,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0486,
"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.0588,
"sample_weight": 1.0,
"run_prevention_factor": 1.005,
"strikeout_factor": 1.0066,
"walk_factor": 0.988,
"homer_factor": 1.0419,
"woba_minus_xwoba": -0.044,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663556",
"espn_id": 41199,
"player_name": "Shane McClanahan",
"team": "TB",
"role": "pitcher",
"espn_rank": 102,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 102,
"gp_value": 19.0,
"gp_rank": 327,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 4.0,
"qs_rank": 98,
"era_value": 3.0937,
"era_rank": null,
"w_value": 9.0,
"w_rank": 20,
"l_value": 6.0,
"l_rank": 63,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 96.0,
"ip_rank": 87,
"h_value": 76.0,
"h_rank": 108,
"er_value": 33.0,
"er_rank": 127,
"hr_value": 7.0,
"hr_rank": 177,
"bb_value": 33.0,
"bb_rank": 73,
"k_value": 88.0,
"k_rank": 77,
"k_per_9_value": 8.25,
"k_per_9_rank": 23,
"whip_value": 1.1354,
"whip_rank": null,
"war_value": 1.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "668390",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 149.0,
"k_percent": 23.1,
"bb_percent": 6.4,
"woba": 0.341,
"xwoba": 0.34,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 44.0,
"avg_best_speed": 75.6222,
"avg_hyper_speed": 94.6499,
"whiff_percent": 27.8,
"swing_percent": 54.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.5133,
"command_and_miss": 0.2782,
"regression_edge": 0.0286,
"xwoba_edge": -0.8,
"barrel_edge": -0.0444,
"hard_hit_edge": -0.8429,
"whiff_edge": 0.3,
"bb_edge": 0.625,
"pitch_design_score": 0.0365
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668390",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.52371090508707,
"release_spin_rate": 2384.363135117597,
"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": 12,
"pitch_usage": 0.0,
"release_speed": 90.52371090508707,
"release_spin_rate": 2384.363135117597,
"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.5237,
"release_spin_rate": 2384.3631,
"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.0365,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2605,
"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.1248,
"sample_weight": 0.596,
"run_prevention_factor": 1.0106,
"strikeout_factor": 1.0097,
"walk_factor": 0.9702,
"homer_factor": 1.0365,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668390",
"espn_id": 41177,
"player_name": "Cole Winn",
"team": "TEX",
"role": "pitcher",
"espn_rank": 748,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 748,
"gp_value": 39.0,
"gp_rank": 99,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 6.1132,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 9.0,
"hld_rank": 65,
"ip_value": 35.1,
"ip_rank": 324,
"h_value": 38.0,
"h_rank": 248,
"er_value": 24.0,
"er_rank": 192,
"hr_value": 7.0,
"hr_rank": 177,
"bb_value": 10.0,
"bb_rank": 415,
"k_value": 36.0,
"k_rank": 304,
"k_per_9_value": 9.169811,
"k_per_9_rank": 25,
"whip_value": 1.3584,
"whip_rank": null,
"war_value": -0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.005,
"home_runs_vs_away_pitcher": 1.0063,
"home_pitcher_quality_edge": 0.066
},
"score_before": {
"away_runs": 3.0,
"home_runs": 5.0
},
"score_after": {
"away_runs": 3.015,
"home_runs": 5.0316,
"home_win_probability": 0.6726
},
"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 | 4.70 | 4 | 7 | 1L | average | average |
| Home TB | 7-3 | 0.700 | 4.40 | 2.10 | 23 | 1W | average | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TEX | 55-53 | 0.509 | -21 | -0.194 | True |
| Home TB | 63-44 | 0.589 | 42 | 0.393 | True |
| Signal | - | - | 0.587 | 0.706 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-29 | TEX @ TB | 0 - 3 | TB | 3 | blowout |
| 2026-07-28 | TEX @ TB | 4 - 1 | TEX | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TEX | - | - | 3 | - | - | - | - |
| Game target TB | - | - | 4 | - | - | - | - |
| Player finalized TEX | 32 | 8 | 2 | 0 | 3 | 0 | 9 |
| Player finalized TB | 31 | 9 | 2 | 0 | 2 | 0 | 9 |
| Player model fractional TEX | 30.06 | 6.93 | 3.51 | 0.95 | 3.37 | 2.07 | 7.24 |
| Player model fractional TB | 30.84 | 7.18 | 4.13 | 0.99 | 3.60 | 3.01 | 7.50 |
| Simulation box TEX | 34 | 7 | 3 | 1 | 3 | 2 | 8 |
| Simulation box TB | 31 | 7 | 5 | 1 | 5 | 3 | 6 |
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 | Cole Winn | 4 | 5 | 2 | 5 | 1 | 4.78 | 1.26 | True |
| Away TEX | Middle Reliever | Jacob Latz | 1 | 0 | 1 | 0 | 1 | 3.05 | 0.85 | True |
| Away TEX | Middle Reliever | Jakob Junis | 1 | 0 | 2 | 1 | 0 | 3.70 | 1.44 | True |
| Away TEX | Middle Reliever | Peyton Gray | 1 | 0 | 1 | 0 | 0 | 3.76 | 1.40 | True |
| Away TEX | Middle Reliever | Tyler Alexander | 0.20 | 0 | 0 | 0 | 0 | 6.40 | 1.44 | True |
| Away TEX | Middle Reliever | Robby Ahlstrom | 0.10 | 0 | 0 | 1 | 1 | 3.61 | 1.16 | True |
| Home TB | Starter | Shane McClanahan | 5.20 | 3 | 5 | 5 | 2 | 3.27 | 1.12 | True |
| Home TB | Middle Reliever | Bryan Baker | 1.10 | 0 | 2 | 0 | 0 | 1.91 | 1.04 | True |
| Home TB | Middle Reliever | Garrett Cleavinger | 1 | 0 | 1 | 0 | 0 | 3.16 | 1.12 | True |
| Home TB | Middle Reliever | Kevin Kelly | 1 | 0 | 0 | 2 | 0 | 2.14 | 0.83 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | TEX | batter | CF | Cameron Cauley | worse | 12 | 6 | 6 | 5 | 7 | predicted_RBI | 2.9360 | boost | better |
| home | TB | batter | RF | Victor Mesa Jr. | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 2.7400 | boost | better |
| home | TB | batter | LF | Jonny DeLuca | worse | 9 | 5 | 4 | 4 | 5 | predicted_SO | 2.2710 | boost | worse |
| home | TB | batter | DH | Yandy Díaz | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -2.0600 | deboost | worse |
| home | TB | batter | 1B | Jonathan Aranda | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.8700 | boost | better |
| away | TEX | batter | RF | Alejandro Osuna | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.5450 | boost | worse |
| away | TEX | batter | 2B | Justin Foscue | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.5000 | boost | better |
| away | TEX | batter | SS | Nicky Lopez | worse | 9 | 3 | 6 | 2 | 7 | predicted_AB | 1.1320 | boost | better |
| away | TEX | batter | 3B | Ezequiel Duran | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.0520 | boost | better |
| away | TEX | batter | DH | Brandon Nimmo | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.0290 | deboost | worse |
| away | TEX | batter | LF | Wyatt Langford | worse | 10 | 1 | 9 | 1 | 9 | predicted_AB | -1.0000 | deboost | worse |
| away | TEX | batter | 1B | Jake Burger | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | -0.9900 | deboost | worse |
| home | TB | batter | 2B | Ben Williamson | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 0.9050 | boost | better |
| home | TB | batter | 3B | Junior Caminero | better | 9 | 5 | 4 | 6 | 3 | predicted_2B | 0.8300 | boost | better |
| away | TEX | batter | C | Austin Wynns | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 0.7890 | boost | better |
| home | TB | batter | C | Hunter Feduccia | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -0.7780 | deboost | better |
| home | TB | batter | CF | Cedric Mullins | worse | 9 | 2 | 7 | 1 | 8 | predicted_H | -0.7700 | deboost | worse |
| home | TB | batter | SS | Taylor Walls | worse | 9 | 3 | 6 | 3 | 6 | predicted_BB | 0.5950 | boost | better |
| away | TEX | pitcher | Middle Reliever | Tyler Alexander | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | TB | pitcher | Starter | Shane McClanahan | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | TEX | pitcher | Middle Reliever | Robby Ahlstrom | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | TB | pitcher | Middle Reliever | Bryan Baker | 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 | Cole Winn |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1248 |
| ESPN Rank | 748 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0365 |
| Avg Velo | 90.5237 |
| Avg Spin | 2384.3631 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 5 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 6.1132 |
| Season WHIP | 1.3585 |
| Role Avg IP | 0.9060 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"opponent": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"edges": {
"quality_edge": -0.1698,
"offense_edge": -0.0608,
"opponent_offense_edge": -0.0498,
"defense_strength": 0.0287,
"opponent_defense_weakness": -0.1251,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9961,
"run_prevention": 0.9977,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668390",
"profile": {
"available": true,
"pitcher_id": "668390",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 149.0,
"k_percent": 23.1,
"bb_percent": 6.4,
"woba": 0.341,
"xwoba": 0.34,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 44.0,
"avg_best_speed": 75.6222,
"avg_hyper_speed": 94.6499,
"whiff_percent": 27.8,
"swing_percent": 54.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.5133,
"command_and_miss": 0.2782,
"regression_edge": 0.0286,
"xwoba_edge": -0.8,
"barrel_edge": -0.0444,
"hard_hit_edge": -0.8429,
"whiff_edge": 0.3,
"bb_edge": 0.625,
"pitch_design_score": 0.0365
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668390",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.52371090508707,
"release_spin_rate": 2384.363135117597,
"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": 12,
"pitch_usage": 0.0,
"release_speed": 90.52371090508707,
"release_spin_rate": 2384.363135117597,
"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.5237,
"release_spin_rate": 2384.3631,
"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.0365,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2605,
"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.1248,
"sample_weight": 0.596,
"run_prevention_factor": 1.0106,
"strikeout_factor": 1.0097,
"walk_factor": 0.9702,
"homer_factor": 1.0365,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668390",
"espn_id": 41177,
"player_name": "Cole Winn",
"team": "TEX",
"role": "pitcher",
"espn_rank": 748,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 748,
"gp_value": 39.0,
"gp_rank": 99,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 6.1132,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 9.0,
"hld_rank": 65,
"ip_value": 35.1,
"ip_rank": 324,
"h_value": 38.0,
"h_rank": 248,
"er_value": 24.0,
"er_rank": 192,
"hr_value": 7.0,
"hr_rank": 177,
"bb_value": 10.0,
"bb_rank": 415,
"k_value": 36.0,
"k_rank": 304,
"k_per_9_value": 9.169811,
"k_per_9_rank": 25,
"whip_value": 1.3584,
"whip_rank": null,
"war_value": -0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0063,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0063,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9822,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0218,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0058,
"adjusted": 4
}
}
}
}{
"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.1,
"ER": 5,
"H": 9,
"BB": 1,
"SO": 8,
"HR": 2,
"ERA": 4.821428571428572,
"WHIP": 1.0714285714285716,
"K9": 7.714285714285715,
"HR9": 1.9285714285714288,
"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-07-26T00:00:00"
}{
"available": true,
"pitcher_id": "668390",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.52371090508707,
"release_spin_rate": 2384.363135117597,
"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": 12,
"pitch_usage": 0.0,
"release_speed": 90.52371090508707,
"release_spin_rate": 2384.363135117597,
"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.5237,
"release_spin_rate": 2384.3631,
"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.0365,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2605,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.041,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5848,
"prior_weight": 0.4152
},
"role": "pitcher",
"player_id": "668390",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 4.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 1.0,
"SO": 4.0,
"HR": 2.0,
"BF": 17.0,
"Pitches": 61.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.2,
"SO": 0.8,
"HR": 0.4,
"BF": 3.4,
"Pitches": 12.2
},
"rates": {
"ERA": 4.5,
"WHIP": 1.25,
"ER_per_IP": 0.5,
"H_per_IP": 1.0,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 1.0,
"SO": 8.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 126.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.9,
"BB": 0.1,
"SO": 0.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 12.6
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.0714,
"ER_per_IP": 0.53571,
"H_per_IP": 0.96429,
"BB_per_IP": 0.10714,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 39,
"totals": {
"IP": 35.1,
"ER": 24.0,
"R": 25.0,
"H": 38.0,
"BB": 10.0,
"SO": 36.0,
"HR": 7.0,
"BF": 156.0,
"Pitches": 564.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6154,
"R": 0.641,
"H": 0.9744,
"BB": 0.2564,
"SO": 0.9231,
"HR": 0.1795,
"BF": 4.0,
"Pitches": 14.4615
},
"rates": {
"ERA": 6.1132,
"WHIP": 1.3585,
"ER_per_IP": 0.67925,
"H_per_IP": 1.07547,
"BB_per_IP": 0.28302,
"SO_per_IP": 1.01887,
"HR_per_IP": 0.19811
}
}
},
"weighted_prediction": {
"predicted_IP": 2.0,
"predicted_ER": 1.145,
"predicted_H": 2.14,
"predicted_BB": 0.58,
"predicted_SO": 2.063,
"predicted_HR": 0.564,
"predicted_ERA": 4.7771,
"predicted_WHIP": 1.2602
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5254,
"form_weight": 0.4746,
"form_reliability": 0.5848,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.041,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5848,
"prior_weight": 0.4152
},
"applied_metrics": {
"predicted_IP": {
"model": 4.0,
"form": 2.0,
"final": 3.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 1.145,
"final": 3.1705,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 2.14,
"final": 3.6427,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.58,
"final": 0.8007,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 2.063,
"final": 2.0299,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.564,
"final": 0.7931,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7771,
"final": 4.7771,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2602,
"final": 1.2602,
"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.4927 |
| ESPN Rank | 39 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0085 |
| Avg Velo | 90.0243 |
| Avg Spin | 2350.3024 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 1.2600 |
| Season WHIP | 0.5800 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"opponent": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"edges": {
"quality_edge": -0.1698,
"offense_edge": -0.0608,
"opponent_offense_edge": -0.0498,
"defense_strength": 0.0287,
"opponent_defense_weakness": -0.1251,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9961,
"run_prevention": 0.9977,
"strikeout": 0.9989
},
"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": 6.0,
"woba": 0.181,
"xwoba": 0.243,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 36.7,
"avg_best_speed": 78.2307,
"avg_hyper_speed": 93.611,
"whiff_percent": 28.6,
"swing_percent": 52.5
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.3866,
"command_and_miss": 0.6532,
"regression_edge": -1.7714,
"xwoba_edge": 1.9714,
"barrel_edge": 0.2667,
"hard_hit_edge": 0.2,
"whiff_edge": 0.4143,
"bb_edge": 0.725,
"pitch_design_score": 0.0085
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656641",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 90.02431706252878,
"release_spin_rate": 2350.3023986381536,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 90.02431706252878,
"release_spin_rate": 2350.3023986381536,
"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.0243,
"release_spin_rate": 2350.3024,
"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.0085,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0607,
"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.4927,
"sample_weight": 0.64,
"run_prevention_factor": 0.9581,
"strikeout_factor": 1.0313,
"walk_factor": 0.9629,
"homer_factor": 0.9434,
"woba_minus_xwoba": -0.062,
"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": 774,
"metrics": {
"espn_rank": 39,
"gp_value": 40.0,
"gp_rank": 93,
"gs_value": 1.0,
"gs_rank": 274,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 1.8,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 21.0,
"sv_rank": 11,
"hld_value": 2.0,
"hld_rank": 199,
"ip_value": 50.0,
"ip_rank": 197,
"h_value": 22.0,
"h_rank": 409,
"er_value": 10.0,
"er_rank": 446,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 11.0,
"bb_rank": 382,
"k_value": 51.0,
"k_rank": 193,
"k_per_9_value": 9.18,
"k_per_9_rank": 26,
"whip_value": 0.66,
"whip_rank": null,
"war_value": 2.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9732,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9732,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9763,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9638,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.02,
"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": 2,
"H": 5,
"BB": 3,
"SO": 11,
"HR": 0,
"ERA": 1.5,
"WHIP": 0.6666666666666666,
"K9": 8.25,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "656641",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 90.02431706252878,
"release_spin_rate": 2350.3023986381536,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 90.02431706252878,
"release_spin_rate": 2350.3023986381536,
"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.0243,
"release_spin_rate": 2350.3024,
"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.0085,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0607,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.964,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6659,
"prior_weight": 0.3341
},
"role": "pitcher",
"player_id": "656641",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 0.0,
"SO": 5.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.4
},
"rates": {
"ERA": 3.375,
"WHIP": 0.5625,
"ER_per_IP": 0.375,
"H_per_IP": 0.5625,
"BB_per_IP": 0.0,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 3.0,
"SO": 11.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.3,
"SO": 1.1,
"HR": 0.0,
"BF": 4.3,
"Pitches": 17.6
},
"rates": {
"ERA": 1.5,
"WHIP": 0.6667,
"ER_per_IP": 0.16667,
"H_per_IP": 0.41667,
"BB_per_IP": 0.25,
"SO_per_IP": 0.91667,
"HR_per_IP": 0.0
}
},
"season": {
"games": 39,
"totals": {
"IP": 50.0,
"ER": 7.0,
"R": 7.0,
"H": 19.0,
"BB": 10.0,
"SO": 51.0,
"HR": 3.0,
"BF": 178.0,
"Pitches": 743.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1795,
"R": 0.1795,
"H": 0.4872,
"BB": 0.2564,
"SO": 1.3077,
"HR": 0.0769,
"BF": 4.5641,
"Pitches": 19.0513
},
"rates": {
"ERA": 1.26,
"WHIP": 0.58,
"ER_per_IP": 0.14,
"H_per_IP": 0.38,
"BB_per_IP": 0.2,
"SO_per_IP": 1.02,
"HR_per_IP": 0.06
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.38,
"predicted_H": 0.721,
"predicted_BB": 0.229,
"predicted_SO": 1.067,
"predicted_HR": 0.066,
"predicted_ERA": 3.0504,
"predicted_WHIP": 0.8462
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4912,
"form_weight": 0.5088,
"form_reliability": 0.6659,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.964,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6659,
"prior_weight": 0.3341
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.38,
"final": 0.1934,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.721,
"final": 0.3669,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.229,
"final": 0.6077,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.067,
"final": 1.0341,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0336,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0504,
"final": 3.0504,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8462,
"final": 0.8462,
"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 | Jakob Junis |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0374 |
| ESPN Rank | 135 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1845 |
| Avg Velo | 86.5778 |
| Avg Spin | 2091.7387 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.7000 |
| Season WHIP | 1.0750 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"opponent": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"edges": {
"quality_edge": -0.1698,
"offense_edge": -0.0608,
"opponent_offense_edge": -0.0498,
"defense_strength": 0.0287,
"opponent_defense_weakness": -0.1251,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9961,
"run_prevention": 0.9977,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596001",
"profile": {
"available": true,
"pitcher_id": "596001",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 148.0,
"k_percent": 18.3,
"bb_percent": 4.3,
"woba": 0.261,
"xwoba": 0.301,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 34.7,
"avg_best_speed": 76.3106,
"avg_hyper_speed": 93.0092,
"whiff_percent": 18.8,
"swing_percent": 47.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.5175,
"command_and_miss": -0.3754,
"regression_edge": -1.1429,
"xwoba_edge": 0.3143,
"barrel_edge": 0.8667,
"hard_hit_edge": 0.4857,
"whiff_edge": -0.9857,
"bb_edge": 1.15,
"pitch_design_score": -0.1845
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596001",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 86.57775587184892,
"release_spin_rate": 2091.7386584414267,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 86.57775587184892,
"release_spin_rate": 2091.7386584414267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.5778,
"release_spin_rate": 2091.7387,
"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.1845,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3179,
"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.0374,
"sample_weight": 0.592,
"run_prevention_factor": 0.9968,
"strikeout_factor": 0.963,
"walk_factor": 0.9455,
"homer_factor": 0.9419,
"woba_minus_xwoba": -0.04,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "596001",
"espn_id": 36056,
"player_name": "Jakob Junis",
"team": "TEX",
"role": "pitcher",
"espn_rank": 135,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 135,
"gp_value": 36.0,
"gp_rank": 124,
"gs_value": 1.0,
"gs_rank": 274,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.7,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 5.0,
"sv_rank": 35,
"hld_value": 14.0,
"hld_rank": 23,
"ip_value": 40.0,
"ip_rank": 287,
"h_value": 36.0,
"h_rank": 267,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 7.0,
"bb_rank": 491,
"k_value": 30.0,
"k_rank": 358,
"k_per_9_value": 6.7499995,
"k_per_9_rank": 33,
"whip_value": 1.075,
"whip_rank": null,
"war_value": 1.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9981,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9981,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9677,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9656,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9781,
"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": 5,
"H": 14,
"BB": 2,
"SO": 8,
"HR": 1,
"ERA": 5.0,
"WHIP": 1.7777777777777777,
"K9": 8.0,
"HR9": 1.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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "596001",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 86.57775587184892,
"release_spin_rate": 2091.7386584414267,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 86.57775587184892,
"release_spin_rate": 2091.7386584414267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.5778,
"release_spin_rate": 2091.7387,
"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.1845,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3179,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.971,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6145,
"prior_weight": 0.3855
},
"role": "pitcher",
"player_id": "596001",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.2,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 4.2,
"Pitches": 13.4
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.5,
"ER_per_IP": 0.21429,
"H_per_IP": 1.28571,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 14.0,
"BB": 2.0,
"SO": 8.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.1,
"BF": 4.3,
"Pitches": 15.6
},
"rates": {
"ERA": 5.0,
"WHIP": 1.7778,
"ER_per_IP": 0.55556,
"H_per_IP": 1.55556,
"BB_per_IP": 0.22222,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 36,
"totals": {
"IP": 40.0,
"ER": 12.0,
"R": 12.0,
"H": 36.0,
"BB": 7.0,
"SO": 30.0,
"HR": 2.0,
"BF": 164.0,
"Pitches": 584.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.3333,
"H": 1.0,
"BB": 0.1944,
"SO": 0.8333,
"HR": 0.0556,
"BF": 4.5556,
"Pitches": 16.2222
},
"rates": {
"ERA": 2.7,
"WHIP": 1.075,
"ER_per_IP": 0.3,
"H_per_IP": 0.9,
"BB_per_IP": 0.175,
"SO_per_IP": 0.75,
"HR_per_IP": 0.05
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.411,
"predicted_H": 1.177,
"predicted_BB": 0.266,
"predicted_SO": 0.831,
"predicted_HR": 0.088,
"predicted_ERA": 3.6963,
"predicted_WHIP": 1.4428
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5129,
"form_weight": 0.4871,
"form_reliability": 0.6145,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.971,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6145,
"prior_weight": 0.3855
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.411,
"final": 0.2002,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.177,
"final": 1.0862,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.266,
"final": 0.1296,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.831,
"final": 1.4305,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.088,
"final": 0.0429,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6963,
"final": 3.6963,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4428,
"final": 1.4428,
"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.2580 |
| ESPN Rank | 420 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1217 |
| Avg Velo | 87.6987 |
| Avg Spin | 2150.7917 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.4322 |
| Season WHIP | 1.2458 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"opponent": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"edges": {
"quality_edge": -0.1698,
"offense_edge": -0.0608,
"opponent_offense_edge": -0.0498,
"defense_strength": 0.0287,
"opponent_defense_weakness": -0.1251,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9961,
"run_prevention": 0.9977,
"strikeout": 0.9989
},
"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": 24.4,
"bb_percent": 7.0,
"woba": 0.286,
"xwoba": 0.284,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 32.2,
"avg_best_speed": 74.9777,
"avg_hyper_speed": 92.844,
"whiff_percent": 25.8,
"swing_percent": 49.1
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.6475,
"command_and_miss": 0.2318,
"regression_edge": 0.0571,
"xwoba_edge": 0.8,
"barrel_edge": 0.4,
"hard_hit_edge": 0.8429,
"whiff_edge": 0.0143,
"bb_edge": 0.475,
"pitch_design_score": -0.1217
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682608",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 87.69874814268492,
"release_spin_rate": 2150.791697997602,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 87.69874814268492,
"release_spin_rate": 2150.791697997602,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.6987,
"release_spin_rate": 2150.7917,
"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.1217,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8695,
"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.258,
"sample_weight": 0.616,
"run_prevention_factor": 0.9781,
"strikeout_factor": 1.0076,
"walk_factor": 0.9766,
"homer_factor": 0.9447,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682608",
"espn_id": 4187628,
"player_name": "Peyton Gray",
"team": "TEX",
"role": "pitcher",
"espn_rank": 420,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 420,
"gp_value": 33.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.4322,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 7.0,
"hld_rank": 89,
"ip_value": 39.1,
"ip_rank": 294,
"h_value": 37.0,
"h_rank": 263,
"er_value": 15.0,
"er_rank": 322,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 12.0,
"bb_rank": 360,
"k_value": 42.0,
"k_rank": 264,
"k_per_9_value": 9.610169,
"k_per_9_rank": 24,
"whip_value": 1.2457,
"whip_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9856,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9659,
"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": 9.0,
"ER": 5,
"H": 13,
"BB": 4,
"SO": 8,
"HR": 0,
"ERA": 5.0,
"WHIP": 1.8888888888888888,
"K9": 8.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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "682608",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 87.69874814268492,
"release_spin_rate": 2150.791697997602,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 87.69874814268492,
"release_spin_rate": 2150.791697997602,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.6987,
"release_spin_rate": 2150.7917,
"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.1217,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8695,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.839,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6105,
"prior_weight": 0.3895
},
"role": "pitcher",
"player_id": "682608",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.2,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 4.2,
"Pitches": 17.0
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 1.2,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 13.0,
"BB": 4.0,
"SO": 8.0,
"HR": 0.0,
"BF": 44.0,
"Pitches": 173.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.3,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.3
},
"rates": {
"ERA": 5.0,
"WHIP": 1.8889,
"ER_per_IP": 0.55556,
"H_per_IP": 1.44444,
"BB_per_IP": 0.44444,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.0
}
},
"season": {
"games": 33,
"totals": {
"IP": 39.1,
"ER": 15.0,
"R": 19.0,
"H": 37.0,
"BB": 12.0,
"SO": 42.0,
"HR": 3.0,
"BF": 172.0,
"Pitches": 664.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4545,
"R": 0.5758,
"H": 1.1212,
"BB": 0.3636,
"SO": 1.2727,
"HR": 0.0909,
"BF": 5.2121,
"Pitches": 20.1212
},
"rates": {
"ERA": 3.4322,
"WHIP": 1.2458,
"ER_per_IP": 0.38136,
"H_per_IP": 0.94068,
"BB_per_IP": 0.30508,
"SO_per_IP": 1.0678,
"HR_per_IP": 0.07627
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.434,
"predicted_H": 1.18,
"predicted_BB": 0.282,
"predicted_SO": 0.951,
"predicted_HR": 0.071,
"predicted_ERA": 3.756,
"predicted_WHIP": 1.4042
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5146,
"form_weight": 0.4854,
"form_reliability": 0.6105,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.839,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6105,
"prior_weight": 0.3895
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.434,
"final": 0.2107,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.18,
"final": 0.5728,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.282,
"final": 0.1369,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.951,
"final": 0.9762,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.071,
"final": 0.0345,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.756,
"final": 3.756,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4042,
"final": 1.4042,
"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 | Tyler Alexander |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2255 |
| ESPN Rank | 199 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1551 |
| Avg Velo | 87.1035 |
| Avg Spin | 2091.8068 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.1304 |
| Season WHIP | 1.3261 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"opponent": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"edges": {
"quality_edge": -0.1698,
"offense_edge": -0.0608,
"opponent_offense_edge": -0.0498,
"defense_strength": 0.0287,
"opponent_defense_weakness": -0.1251,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9961,
"run_prevention": 0.9977,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641302",
"profile": {
"available": true,
"pitcher_id": "641302",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 182.0,
"k_percent": 20.3,
"bb_percent": 6.6,
"woba": 0.304,
"xwoba": 0.285,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 34.5,
"avg_best_speed": 76.0013,
"avg_hyper_speed": 93.1191,
"whiff_percent": 20.9,
"swing_percent": 46.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.5976,
"command_and_miss": -0.2568,
"regression_edge": 0.5429,
"xwoba_edge": 0.7714,
"barrel_edge": 0.8,
"hard_hit_edge": 0.5143,
"whiff_edge": -0.6857,
"bb_edge": 0.575,
"pitch_design_score": -0.1551
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641302",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 87.10354235978542,
"release_spin_rate": 2091.806820587863,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 87.10354235978542,
"release_spin_rate": 2091.806820587863,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.1035,
"release_spin_rate": 2091.8068,
"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.1551,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1076,
"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.2255,
"sample_weight": 0.728,
"run_prevention_factor": 0.9808,
"strikeout_factor": 0.9715,
"walk_factor": 0.9665,
"homer_factor": 0.9216,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641302",
"espn_id": 40360,
"player_name": "Tyler Alexander",
"team": "TEX",
"role": "pitcher",
"espn_rank": 199,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 199,
"gp_value": 48.0,
"gp_rank": 21,
"gs_value": 4.0,
"gs_rank": 202,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.1304,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 4.0,
"sv_rank": 43,
"hld_value": 11.0,
"hld_rank": 44,
"ip_value": 46.0,
"ip_rank": 222,
"h_value": 49.0,
"h_rank": 179,
"er_value": 16.0,
"er_rank": 308,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 12.0,
"bb_rank": 360,
"k_value": 40.0,
"k_rank": 277,
"k_per_9_value": 7.826087,
"k_per_9_rank": 33,
"whip_value": 1.326,
"whip_rank": null,
"war_value": 0.67,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.986,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.986,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9756,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9429,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9793,
"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": 6,
"H": 12,
"BB": 1,
"SO": 8,
"HR": 0,
"ERA": 6.0,
"WHIP": 1.4444444444444444,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "641302",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 87.10354235978542,
"release_spin_rate": 2091.806820587863,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 87.10354235978542,
"release_spin_rate": 2091.806820587863,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.1035,
"release_spin_rate": 2091.8068,
"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.1551,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1076,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.167,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6471,
"prior_weight": 0.3529
},
"role": "pitcher",
"player_id": "641302",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 1.0,
"SO": 2.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.2,
"BB": 0.2,
"SO": 0.4,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 10.3846,
"WHIP": 1.6154,
"ER_per_IP": 1.15385,
"H_per_IP": 1.38462,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.46154,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 6.0,
"R": 6.0,
"H": 12.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.1,
"SO": 0.8,
"HR": 0.0,
"BF": 3.9,
"Pitches": 15.4
},
"rates": {
"ERA": 6.0,
"WHIP": 1.4444,
"ER_per_IP": 0.66667,
"H_per_IP": 1.33333,
"BB_per_IP": 0.11111,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.0
}
},
"season": {
"games": 48,
"totals": {
"IP": 46.0,
"ER": 16.0,
"R": 18.0,
"H": 49.0,
"BB": 12.0,
"SO": 40.0,
"HR": 2.0,
"BF": 196.0,
"Pitches": 745.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.375,
"H": 1.0208,
"BB": 0.25,
"SO": 0.8333,
"HR": 0.0417,
"BF": 4.0833,
"Pitches": 15.5208
},
"rates": {
"ERA": 3.1304,
"WHIP": 1.3261,
"ER_per_IP": 0.34783,
"H_per_IP": 1.06522,
"BB_per_IP": 0.26087,
"SO_per_IP": 0.86957,
"HR_per_IP": 0.04348
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.627,
"predicted_H": 1.048,
"predicted_BB": 0.222,
"predicted_SO": 0.694,
"predicted_HR": 0.052,
"predicted_ERA": 6.3953,
"predicted_WHIP": 1.4392
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4991,
"form_weight": 0.5009,
"form_reliability": 0.6471,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.167,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6471,
"prior_weight": 0.3529
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.627,
"final": 0.3141,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.048,
"final": 0.5249,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.222,
"final": 0.1112,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.694,
"final": 0.3476,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.052,
"final": 0.026,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.3953,
"final": 6.3953,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4392,
"final": 1.4392,
"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.0895 |
| ESPN Rank | 617 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0472 |
| Avg Velo | 90.7153 |
| Avg Spin | 2110.9704 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 4.1186 |
| Season WHIP | 1.2203 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"opponent": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"edges": {
"quality_edge": -0.1698,
"offense_edge": -0.0608,
"opponent_offense_edge": -0.0498,
"defense_strength": 0.0287,
"opponent_defense_weakness": -0.1251,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9961,
"run_prevention": 0.9977,
"strikeout": 0.9989
},
"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": 9.4,
"woba": 0.318,
"xwoba": 0.307,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 32.2,
"avg_best_speed": 74.0214,
"avg_hyper_speed": 92.2108,
"whiff_percent": 26.8,
"swing_percent": 47.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.3486,
"command_and_miss": -0.1211,
"regression_edge": 0.3143,
"xwoba_edge": 0.1429,
"barrel_edge": 0.8222,
"hard_hit_edge": 0.8429,
"whiff_edge": 0.1571,
"bb_edge": -0.125,
"pitch_design_score": 0.0472
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695239",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 90.71525253010186,
"release_spin_rate": 2110.9703787254894,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 90.71525253010186,
"release_spin_rate": 2110.9703787254894,
"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.7153,
"release_spin_rate": 2110.9704,
"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.0472,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3371,
"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.0895,
"sample_weight": 0.45,
"run_prevention_factor": 0.9924,
"strikeout_factor": 0.9968,
"walk_factor": 1.0045,
"homer_factor": 0.9533,
"woba_minus_xwoba": 0.011,
"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": 774,
"metrics": {
"espn_rank": 617,
"gp_value": 24.0,
"gp_rank": 209,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 5.0338,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 5.0,
"hld_rank": 133,
"ip_value": 19.2,
"ip_rank": 454,
"h_value": 20.0,
"h_rank": 443,
"er_value": 11.0,
"er_rank": 417,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 8.0,
"bb_rank": 461,
"k_value": 17.0,
"k_rank": 454,
"k_per_9_value": 7.779661,
"k_per_9_rank": 26,
"whip_value": 1.4237,
"whip_rank": null,
"war_value": -0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9966,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9966,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.979,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9986,
"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": 4,
"H": 7,
"BB": 2,
"SO": 10,
"HR": 1,
"ERA": 4.5,
"WHIP": 1.125,
"K9": 11.25,
"HR9": 1.125,
"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-07-27T00:00:00"
}{
"available": true,
"pitcher_id": "695239",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 90.71525253010186,
"release_spin_rate": 2110.9703787254894,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 90.71525253010186,
"release_spin_rate": 2110.9703787254894,
"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.7153,
"release_spin_rate": 2110.9704,
"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.0472,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3371,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 3.919,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4394,
"prior_weight": 0.5606
},
"role": "pitcher",
"player_id": "695239",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.0,
"Pitches": 13.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6923,
"ER_per_IP": 0.0,
"H_per_IP": 0.46154,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 32.0,
"Pitches": 134.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.7,
"BB": 0.2,
"SO": 1.0,
"HR": 0.1,
"BF": 3.2,
"Pitches": 13.4
},
"rates": {
"ERA": 4.5,
"WHIP": 1.125,
"ER_per_IP": 0.5,
"H_per_IP": 0.875,
"BB_per_IP": 0.25,
"SO_per_IP": 1.25,
"HR_per_IP": 0.125
}
},
"season": {
"games": 23,
"totals": {
"IP": 19.2,
"ER": 9.0,
"R": 9.0,
"H": 17.0,
"BB": 7.0,
"SO": 17.0,
"HR": 2.0,
"BF": 80.0,
"Pitches": 324.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3913,
"R": 0.3913,
"H": 0.7391,
"BB": 0.3043,
"SO": 0.7391,
"HR": 0.087,
"BF": 3.4783,
"Pitches": 14.087
},
"rates": {
"ERA": 4.1186,
"WHIP": 1.2203,
"ER_per_IP": 0.45763,
"H_per_IP": 0.86441,
"BB_per_IP": 0.35593,
"SO_per_IP": 0.86441,
"HR_per_IP": 0.10169
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.23,
"predicted_H": 0.488,
"predicted_BB": 0.181,
"predicted_SO": 0.621,
"predicted_HR": 0.065,
"predicted_ERA": 3.6073,
"predicted_WHIP": 1.1639
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5869,
"form_weight": 0.4131,
"form_reliability": 0.4394,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.919,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4394,
"prior_weight": 0.5606
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.23,
"final": 0.095,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.488,
"final": 0.7885,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.181,
"final": 0.6616,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.621,
"final": 0.2566,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.065,
"final": 0.0269,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6073,
"final": 3.6073,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1639,
"final": 1.1639,
"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.255 | 0.000 | 0.000 | Hitting_2B | 0.237 | 1.000 | -0.237 | -1.000 |
| predicted_3B | 0.039 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 3.843 | 3.000 | 4.000 | Hitting_AB | 3.981 | 4.000 | -0.981 | -1.000 |
| predicted_AVG | 0.268 | 0.000 | 0.250 | Hitting_AVG | 0.271 | 0.250 | -0.271 | -0.250 |
| predicted_BB | 0.324 | 1.000 | 0.000 | Hitting_BB | 0.332 | 0.000 | 0.668 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 1.029 | 0.000 | 1.000 | Hitting_H | 1.080 | 1.000 | -1.080 | -1.000 |
| predicted_HR | 0.098 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.325 | 0.250 | 0.250 | Hitting_OBP | 0.336 | 0.250 | -0.086 | 0.000 |
| predicted_R | 0.431 | 0.000 | 0.000 | Hitting_R | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_RBI | 0.382 | 0.000 | 0.000 | Hitting_RBI | 0.441 | 0.000 | -0.441 | 0.000 |
| predicted_SLG | 0.431 | 0.000 | 0.250 | Hitting_SLG | 0.436 | 0.500 | -0.436 | -0.500 |
| predicted_SO | 0.931 | 0.000 | 1.000 | Hitting_SO | 0.969 | 1.000 | -0.969 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.3240 -> 1.0000 (boost 0.6760, better) |
| Biggest Deboost | predicted_H: 1.0290 -> 0.0000 (deboost -1.0290, 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 | 0 | 0 | 0 | 0 | 0 | - | - | 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.4288 -> 0.4190 (deboost -0.0098, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_AB: 3.8348 -> 4.0000 (boost 0.1652, better) | predicted_RBI: 0.3229 -> 0.0000 (deboost -0.3229, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.256 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4229 -> 0.0000 (deboost -0.4229, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4190 -> 0.2500 (deboost -0.1690, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.4190 (boost 0.1690, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"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.255,
"predicted_3B": 0.039,
"predicted_AB": 3.843,
"predicted_AVG": 0.268,
"predicted_BB": 0.324,
"predicted_H": 1.029,
"predicted_HR": 0.098,
"predicted_OBP": 0.325,
"predicted_R": 0.431,
"predicted_RBI": 0.382,
"predicted_SLG": 0.431,
"predicted_SO": 0.931
},
"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.2925,
"predicted_3B": 0.0321,
"predicted_AB": 3.8348,
"predicted_AVG": 0.2645,
"predicted_BB": 0.3102,
"predicted_H": 1.0139,
"predicted_HBP": 0.035,
"predicted_HR": 0.0911,
"predicted_OBP": 0.3216,
"predicted_R": 0.4444,
"predicted_RBI": 0.3393,
"predicted_SLG": 0.4288,
"predicted_SO": 0.9724
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.255,
"after": 0.2925,
"delta": 0.0375,
"percent_delta": 0.1471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0321,
"delta": -0.0069,
"percent_delta": -0.1769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.843,
"after": 3.8348,
"delta": -0.0082,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2645,
"delta": -0.0035,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.3102,
"delta": -0.0138,
"percent_delta": -0.0426,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.029,
"after": 1.0139,
"delta": -0.0151,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.098,
"after": 0.0911,
"delta": -0.0069,
"percent_delta": -0.0704,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3216,
"delta": -0.0034,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 0.4444,
"delta": 0.0134,
"percent_delta": 0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.382,
"after": 0.3393,
"delta": -0.0427,
"percent_delta": -0.1118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4288,
"delta": -0.0022,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.931,
"after": 0.9724,
"delta": 0.0414,
"percent_delta": 0.0445,
"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": {
"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.2925,
"predicted_3B": 0.0321,
"predicted_AB": 3.8348,
"predicted_AVG": 0.2568,
"predicted_BB": 0.3079,
"predicted_H": 0.9846,
"predicted_HBP": 0.035,
"predicted_HR": 0.0885,
"predicted_OBP": 0.312,
"predicted_R": 0.4229,
"predicted_RBI": 0.3229,
"predicted_SLG": 0.419,
"predicted_SO": 0.9797
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2925,
"after": 0.2925,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0321,
"after": 0.0321,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8348,
"after": 3.8348,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2645,
"after": 0.2568,
"delta": -0.0077,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3102,
"after": 0.3079,
"delta": -0.0023,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0139,
"after": 0.9846,
"delta": -0.0293,
"percent_delta": -0.0289,
"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.0911,
"after": 0.0885,
"delta": -0.0026,
"percent_delta": -0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3216,
"after": 0.312,
"delta": -0.0096,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4444,
"after": 0.4229,
"delta": -0.0215,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3393,
"after": 0.3229,
"delta": -0.0164,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4288,
"after": 0.419,
"delta": -0.0098,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9724,
"after": 0.9797,
"delta": 0.0073,
"percent_delta": 0.0075,
"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.4288,
"after": 0.419,
"delta": -0.0098,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.256 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.2925,
"after": 0.0,
"delta": -0.2925,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0321,
"after": 0.0,
"delta": -0.0321,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8348,
"after": 4.0,
"delta": 0.1652,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3079,
"after": 0.0,
"delta": -0.3079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9846,
"after": 1.0,
"delta": 0.0154,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0885,
"after": 0.0,
"delta": -0.0885,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3229,
"after": 0.0,
"delta": -0.3229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9797,
"after": 1.0,
"delta": 0.0203,
"percent_delta": 0.0207,
"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.8348,
"after": 4.0,
"delta": 0.1652,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3229,
"after": 0.0,
"delta": -0.3229,
"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.4229,
"after": 0.0,
"delta": -0.4229,
"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.4229,
"after": 0.0,
"delta": -0.4229,
"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.2568,
"after": 0.25,
"delta": -0.0068,
"percent_delta": -0.0265,
"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.312,
"after": 0.25,
"delta": -0.062,
"percent_delta": -0.1987,
"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.419,
"after": 0.25,
"delta": -0.169,
"percent_delta": -0.4033,
"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.419,
"after": 0.25,
"delta": -0.169,
"percent_delta": -0.4033,
"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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2568,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.312,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.419,
"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.25,
"after": 0.2568,
"delta": 0.0068,
"percent_delta": 0.027,
"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.25,
"after": 0.312,
"delta": 0.062,
"percent_delta": 0.248,
"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.419,
"delta": 0.169,
"percent_delta": 0.6761,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.419,
"delta": 0.169,
"percent_delta": 0.6761,
"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.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.843,
"after": 3.0,
"delta": -0.843,
"percent_delta": -0.2194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2568,
"delta": -0.0112,
"percent_delta": -0.0418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 1.0,
"delta": 0.676,
"percent_delta": 2.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.029,
"after": 0.0,
"delta": -1.029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.312,
"delta": -0.013,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 0.0,
"delta": -0.431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.419,
"delta": -0.012,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.931,
"after": 0.0,
"delta": -0.931,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.324,
"after": 1.0,
"delta": 0.676,
"percent_delta": 2.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.029,
"after": 0.0,
"delta": -1.029,
"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.255 | - |
| predicted_3B | 0.039 | - |
| predicted_AB | 3.843 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 1.029 | - |
| predicted_HR | 0.098 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.431 | - |
| predicted_RBI | 0.382 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.931 | - |
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.292 | 0.037 |
| predicted_3B | 0.032 | -0.007 |
| predicted_AB | 3.835 | -0.008 |
| predicted_AVG | 0.265 | -0.004 |
| predicted_BB | 0.310 | -0.014 |
| predicted_H | 1.014 | -0.015 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.091 | -0.007 |
| predicted_OBP | 0.322 | -0.003 |
| predicted_R | 0.444 | 0.013 |
| predicted_RBI | 0.339 | -0.043 |
| predicted_SLG | 0.429 | -0.002 |
| predicted_SO | 0.972 | 0.041 |
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.292 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.835 | 0.000 |
| predicted_AVG | 0.257 | -0.008 |
| predicted_BB | 0.308 | -0.002 |
| predicted_H | 0.985 | -0.029 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.088 | -0.003 |
| predicted_OBP | 0.312 | -0.010 |
| predicted_R | 0.423 | -0.022 |
| predicted_RBI | 0.323 | -0.016 |
| predicted_SLG | 0.419 | -0.010 |
| predicted_SO | 0.980 | 0.007 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.256 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.292 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | 0.165 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 0.000 | -0.308 |
| predicted_H | 1.000 | 0.015 |
| predicted_HR | 0.000 | -0.088 |
| predicted_OBP | 0.250 | -0.062 |
| predicted_R | 0.000 | -0.423 |
| predicted_RBI | 0.000 | -0.323 |
| predicted_SLG | 0.250 | -0.169 |
| predicted_SO | 1.000 | 0.020 |
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 | -1.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 | - | 19.000 | 4.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 6.000 | 0.2105 | 0.2500 | 0.3684 | 0.2105 | 0.0000 | 0.0000 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 4.000 | 0.000 | 1.000 | 2.000 | 6.000 | 3.000 | 12.000 | 0.2895 | 0.3415 | 0.4737 | 0.2895 | 0.0263 | 0.0526 | 0.0790 | 0.3158 |
| season | 0.60 | 102 | - | 392.000 | 105.000 | 26.000 | 4.000 | 10.000 | 39.000 | 44.000 | 33.000 | 95.000 | 0.2679 | 0.3326 | 0.4311 | 0.2679 | 0.0255 | 0.0995 | 0.0842 | 0.2424 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3420 |
| predicted_3B | 0.0230 |
| predicted_AB | 3.8240 |
| predicted_AVG | 0.2599 |
| predicted_BB | 0.2920 |
| predicted_H | 0.9940 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.3171 |
| predicted_R | 0.4620 |
| predicted_RBI | 0.2830 |
| predicted_SLG | 0.4259 |
| predicted_SO | 1.0270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2550 | 0.3420 | 0.2925 | model_form_blend |
| predicted_3B | 0.0390 | 0.0230 | 0.0321 | model_form_blend |
| predicted_AB | 3.8430 | 3.8240 | 3.8348 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2599 | 0.2645 | model_form_blend |
| predicted_BB | 0.3240 | 0.2920 | 0.3102 | model_form_blend |
| predicted_H | 1.0290 | 0.9940 | 1.0139 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.0980 | 0.0820 | 0.0911 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3171 | 0.3216 | model_form_blend |
| predicted_R | 0.4310 | 0.4620 | 0.4444 | model_form_blend |
| predicted_RBI | 0.3820 | 0.2830 | 0.3393 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4259 | 0.4288 | model_form_blend |
| predicted_SO | 0.9310 | 1.0270 | 0.9724 | 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 | 413 |
| Season rows before report date | 413 |
| 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 | 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.268 |
| 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.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 | 2 |
| 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 | RF |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 607043 |
| playerID | 607043 |
| playerName | Brandon Nimmo |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.333 |
| sl_xwoba | 0.369 |
| sl_xba | 0.289 |
| sl_xslg | 0.501 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 51.7 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 22.5 |
| 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.196 | 0.000 | 0.000 | Hitting_2B | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.495 | 4.000 | 4.000 | Hitting_AB | 3.619 | 4.000 | 0.381 | 0.000 |
| predicted_AVG | 0.271 | 0.500 | 0.250 | Hitting_AVG | 0.282 | 0.000 | 0.218 | 0.500 |
| predicted_BB | 0.268 | 0.000 | 0.000 | Hitting_BB | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.948 | 2.000 | 1.000 | Hitting_H | 1.020 | 0.000 | 0.980 | 2.000 |
| predicted_HR | 0.124 | 0.000 | 0.000 | Hitting_HR | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_OBP | 0.323 | 0.500 | 0.250 | Hitting_OBP | 0.338 | 0.000 | 0.162 | 0.500 |
| predicted_R | 0.495 | 1.000 | 1.000 | Hitting_R | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_RBI | 0.588 | 0.000 | 1.000 | Hitting_RBI | 0.613 | 0.000 | -0.613 | 0.000 |
| predicted_SLG | 0.451 | 0.500 | 0.250 | Hitting_SLG | 0.451 | 0.000 | 0.049 | 0.500 |
| predicted_SO | 0.876 | 0.000 | 1.000 | Hitting_SO | 0.924 | 0.000 | -0.924 | 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.9480 -> 2.0000 (boost 1.0520, better) |
| Biggest Deboost | predicted_SO: 0.8760 -> 0.0000 (deboost -0.8760, 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 | 3 | 1 | 4 | 0 | predicted_RBI: 0.5880 -> 0.6441 (boost 0.0561, better) | predicted_SO: 0.8760 -> 0.8143 (deboost -0.0617, 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.4906 -> 0.4795 (deboost -0.0111, 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.5134 -> 4.0000 (boost 0.4866, better) | predicted_BB: 0.2239 -> 0.0000 (deboost -0.2239, worse) | AB rounded to 4 (raw=3.51), rates preserved: AVG=0.271 HR/AB=0.042 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5102 -> 1.0000 (boost 0.4898, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4795 -> 0.2500 (deboost -0.2295, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.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.2500 -> 0.4795 (boost 0.2295, 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.196,
"predicted_3B": 0.031,
"predicted_AB": 3.495,
"predicted_AVG": 0.271,
"predicted_BB": 0.268,
"predicted_H": 0.948,
"predicted_HR": 0.124,
"predicted_OBP": 0.323,
"predicted_R": 0.495,
"predicted_RBI": 0.588,
"predicted_SLG": 0.451,
"predicted_SO": 0.876
},
"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.1874,
"predicted_3B": 0.0498,
"predicted_AB": 3.5134,
"predicted_AVG": 0.2789,
"predicted_BB": 0.2256,
"predicted_H": 0.981,
"predicted_HBP": 0.07,
"predicted_HR": 0.1527,
"predicted_OBP": 0.3229,
"predicted_R": 0.5361,
"predicted_RBI": 0.6441,
"predicted_SLG": 0.4906,
"predicted_SO": 0.8143
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.1874,
"delta": -0.0086,
"percent_delta": -0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0498,
"delta": 0.0188,
"percent_delta": 0.6065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.495,
"after": 3.5134,
"delta": 0.0184,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2789,
"delta": 0.0079,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.268,
"after": 0.2256,
"delta": -0.0424,
"percent_delta": -0.1582,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.948,
"after": 0.981,
"delta": 0.033,
"percent_delta": 0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.124,
"after": 0.1527,
"delta": 0.0287,
"percent_delta": 0.2315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3229,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.5361,
"delta": 0.0411,
"percent_delta": 0.083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.588,
"after": 0.6441,
"delta": 0.0561,
"percent_delta": 0.0954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4906,
"delta": 0.0396,
"percent_delta": 0.0878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.876,
"after": 0.8143,
"delta": -0.0617,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.588,
"after": 0.6441,
"delta": 0.0561,
"percent_delta": 0.0954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.876,
"after": 0.8143,
"delta": -0.0617,
"percent_delta": -0.0704,
"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": 97
}
},
{
"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.1874,
"predicted_3B": 0.0498,
"predicted_AB": 3.5134,
"predicted_AVG": 0.2711,
"predicted_BB": 0.2239,
"predicted_H": 0.9526,
"predicted_HBP": 0.07,
"predicted_HR": 0.1484,
"predicted_OBP": 0.3148,
"predicted_R": 0.5102,
"predicted_RBI": 0.613,
"predicted_SLG": 0.4795,
"predicted_SO": 0.8204
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1874,
"after": 0.1874,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0498,
"after": 0.0498,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5134,
"after": 3.5134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2789,
"after": 0.2711,
"delta": -0.0078,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2256,
"after": 0.2239,
"delta": -0.0017,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.981,
"after": 0.9526,
"delta": -0.0284,
"percent_delta": -0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.07,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1527,
"after": 0.1484,
"delta": -0.0043,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3229,
"after": 0.3148,
"delta": -0.0081,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5361,
"after": 0.5102,
"delta": -0.0259,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6441,
"after": 0.613,
"delta": -0.0311,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4906,
"after": 0.4795,
"delta": -0.0111,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8143,
"after": 0.8204,
"delta": 0.0061,
"percent_delta": 0.0075,
"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.4906,
"after": 0.4795,
"delta": -0.0111,
"percent_delta": -0.0226,
"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.271 HR/AB=0.042",
"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.1874,
"after": 0.0,
"delta": -0.1874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0498,
"after": 0.0,
"delta": -0.0498,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5134,
"after": 4.0,
"delta": 0.4866,
"percent_delta": 0.1385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2239,
"after": 0.0,
"delta": -0.2239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9526,
"after": 1.0,
"delta": 0.0474,
"percent_delta": 0.0498,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1484,
"after": 0.0,
"delta": -0.1484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8204,
"after": 1.0,
"delta": 0.1796,
"percent_delta": 0.2189,
"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.5134,
"after": 4.0,
"delta": 0.4866,
"percent_delta": 0.1385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2239,
"after": 0.0,
"delta": -0.2239,
"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.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.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": 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.5102,
"after": 1.0,
"delta": 0.4898,
"percent_delta": 0.96,
"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.5102,
"after": 1.0,
"delta": 0.4898,
"percent_delta": 0.96,
"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": 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.2711,
"after": 0.25,
"delta": -0.0211,
"percent_delta": -0.0778,
"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.3148,
"after": 0.25,
"delta": -0.0648,
"percent_delta": -0.2058,
"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.4795,
"after": 0.25,
"delta": -0.2295,
"percent_delta": -0.4786,
"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.4795,
"after": 0.25,
"delta": -0.2295,
"percent_delta": -0.4786,
"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": 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": 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": 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": 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_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_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": 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.2711,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3148,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4795,
"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.25,
"after": 0.2711,
"delta": 0.0211,
"percent_delta": 0.0846,
"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": 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.3148,
"delta": 0.0648,
"percent_delta": 0.2593,
"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.25,
"after": 0.4795,
"delta": 0.2295,
"percent_delta": 0.9181,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4795,
"delta": 0.2295,
"percent_delta": 0.9181,
"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.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.495,
"after": 4.0,
"delta": 0.505,
"percent_delta": 0.1445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2711,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.268,
"after": 0.0,
"delta": -0.268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.948,
"after": 2.0,
"delta": 1.052,
"percent_delta": 1.1097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3148,
"delta": -0.0082,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 1.0,
"delta": 0.505,
"percent_delta": 1.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.588,
"after": 0.0,
"delta": -0.588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4795,
"delta": 0.0285,
"percent_delta": 0.0632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.876,
"after": 0.0,
"delta": -0.876,
"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.948,
"after": 2.0,
"delta": 1.052,
"percent_delta": 1.1097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.876,
"after": 0.0,
"delta": -0.876,
"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.196 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.495 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.268 | - |
| predicted_H | 0.948 | - |
| predicted_HR | 0.124 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.495 | - |
| predicted_RBI | 0.588 | - |
| predicted_SLG | 0.451 | - |
| predicted_SO | 0.876 | - |
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.187 | -0.009 |
| predicted_3B | 0.050 | 0.019 |
| predicted_AB | 3.513 | 0.018 |
| predicted_AVG | 0.279 | 0.008 |
| predicted_BB | 0.226 | -0.042 |
| predicted_H | 0.981 | 0.033 |
| predicted_HBP | 0.070 | - |
| predicted_HR | 0.153 | 0.029 |
| predicted_OBP | 0.323 | -0.000 |
| predicted_R | 0.536 | 0.041 |
| predicted_RBI | 0.644 | 0.056 |
| predicted_SLG | 0.491 | 0.040 |
| predicted_SO | 0.814 | -0.062 |
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.187 | 0.000 |
| predicted_3B | 0.050 | 0.000 |
| predicted_AB | 3.513 | 0.000 |
| predicted_AVG | 0.271 | -0.008 |
| predicted_BB | 0.224 | -0.002 |
| predicted_H | 0.953 | -0.028 |
| predicted_HBP | 0.070 | 0.000 |
| predicted_HR | 0.148 | -0.004 |
| predicted_OBP | 0.315 | -0.008 |
| predicted_R | 0.510 | -0.026 |
| predicted_RBI | 0.613 | -0.031 |
| predicted_SLG | 0.479 | -0.011 |
| predicted_SO | 0.820 | 0.006 |
AB rounded to 4 (raw=3.51), rates preserved: AVG=0.271 HR/AB=0.042
| 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 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| 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 |
| 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 | 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.187 |
| predicted_3B | 0.000 | -0.050 |
| predicted_AB | 4.000 | 0.487 |
| predicted_AVG | 0.250 | -0.021 |
| predicted_BB | 0.000 | -0.224 |
| predicted_H | 1.000 | 0.047 |
| predicted_HR | 0.000 | -0.148 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 1.000 | 0.490 |
| predicted_RBI | 1.000 | 0.387 |
| predicted_SLG | 0.250 | -0.229 |
| predicted_SO | 1.000 | 0.180 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.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 | - | 17.000 | 6.000 | 0.000 | 1.000 | 2.000 | 6.000 | 4.000 | 0.000 | 1.000 | 0.3529 | 0.3529 | 0.8235 | 0.3529 | 0.1177 | 0.3529 | 0.0000 | 0.0588 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 3.000 | 1.000 | 2.000 | 7.000 | 7.000 | 0.000 | 8.000 | 0.2973 | 0.3000 | 0.5946 | 0.2973 | 0.0541 | 0.1892 | 0.0000 | 0.2162 |
| season | 0.60 | 97 | - | 339.000 | 92.000 | 19.000 | 3.000 | 12.000 | 57.000 | 48.000 | 26.000 | 85.000 | 0.2714 | 0.3226 | 0.4513 | 0.2714 | 0.0354 | 0.1681 | 0.0767 | 0.2507 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0750 |
| predicted_AB | 3.5380 |
| predicted_AVG | 0.2895 |
| predicted_BB | 0.1690 |
| predicted_H | 1.0250 |
| predicted_HBP | 0.0700 |
| predicted_HR | 0.1910 |
| predicted_OBP | 0.3228 |
| predicted_R | 0.5910 |
| predicted_RBI | 0.7190 |
| predicted_SLG | 0.5436 |
| predicted_SO | 0.7320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1960 | 0.1760 | 0.1874 | model_form_blend |
| predicted_3B | 0.0310 | 0.0750 | 0.0498 | model_form_blend |
| predicted_AB | 3.4950 | 3.5380 | 3.5134 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2895 | 0.2789 | model_form_blend |
| predicted_BB | 0.2680 | 0.1690 | 0.2256 | model_form_blend |
| predicted_H | 0.9480 | 1.0250 | 0.9810 | model_form_blend |
| predicted_HBP | - | 0.0700 | 0.0700 | form_only |
| predicted_HR | 0.1240 | 0.1910 | 0.1527 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3228 | 0.3229 | model_form_blend |
| predicted_R | 0.4950 | 0.5910 | 0.5361 | model_form_blend |
| predicted_RBI | 0.5880 | 0.7190 | 0.6441 | model_form_blend |
| predicted_SLG | 0.4510 | 0.5436 | 0.4906 | model_form_blend |
| predicted_SO | 0.8760 | 0.7320 | 0.8143 | 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 | 354 |
| Season rows before report date | 354 |
| Report year | 2026 |
| Profile rows used | 97 |
| 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 | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| 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 | 0 |
| 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 | 3B |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 677649 |
| playerID | 677649 |
| playerName | Ezequiel Duran |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.338 |
| sl_xwoba | 0.312 |
| sl_xba | 0.259 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 36.3 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 51.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.192 | 0.000 | 0.000 | Hitting_2B | 0.119 | 1.000 | -0.119 | -1.000 |
| predicted_3B | 0.064 | 0.000 | 0.000 | Hitting_3B | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.667 | 3.000 | 1.333 | 1.000 |
| predicted_AVG | 0.256 | 0.250 | 0.333 | Hitting_AVG | 0.241 | 0.333 | 0.009 | -0.083 |
| predicted_BB | 0.256 | 0.000 | 0.000 | Hitting_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.641 | 1.000 | 1.000 | Hitting_H | 0.643 | 1.000 | 0.357 | 0.000 |
| predicted_HR | 0.064 | 1.000 | 0.000 | Hitting_HR | 0.095 | 0.000 | 0.905 | 1.000 |
| predicted_OBP | 0.326 | 0.250 | 0.333 | Hitting_OBP | 0.346 | 0.333 | -0.096 | -0.083 |
| predicted_R | 0.513 | 1.000 | 0.000 | Hitting_R | 0.619 | 0.000 | 0.381 | 1.000 |
| predicted_RBI | 0.064 | 3.000 | 0.000 | Hitting_RBI | 0.095 | 0.000 | 2.905 | 3.000 |
| predicted_SLG | 0.462 | 1.000 | 0.333 | Hitting_SLG | 0.464 | 0.667 | 0.536 | 0.333 |
| predicted_SO | 0.577 | 1.000 | 1.000 | Hitting_SO | 0.595 | 2.000 | 0.405 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_RBI: 0.0640 -> 3.0000 (boost 2.9360, better) |
| Biggest Deboost | predicted_BB: 0.2560 -> 0.0000 (deboost -0.2560, 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 | 2 | 2 | 0 | 2 | 0 | predicted_AB: 2.5000 -> 2.6349 (boost 0.1349, 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_OBP: 0.3279 -> 0.3141 (deboost -0.0138, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 3 | 6 | 2 | 7 | predicted_SO: 0.6268 -> 1.0000 (boost 0.3732, worse) | predicted_BB: 0.2518 -> 0.0000 (deboost -0.2518, worse) | AB rounded to 3 (raw=2.63), rates preserved: AVG=0.249 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4866 -> 0.0000 (deboost -0.4866, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2486 -> 0.3330 (boost 0.0844, better) | predicted_SLG: 0.4529 -> 0.3330 (deboost -0.1199, 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 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4529 (boost 0.1199, better) | predicted_AVG: 0.3330 -> 0.2486 (deboost -0.0844, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695508",
"player_name": "Cameron Cauley",
"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.192,
"predicted_3B": 0.064,
"predicted_AB": 2.5,
"predicted_AVG": 0.256,
"predicted_BB": 0.256,
"predicted_H": 0.641,
"predicted_HR": 0.064,
"predicted_OBP": 0.326,
"predicted_R": 0.513,
"predicted_RBI": 0.064,
"predicted_SLG": 0.462,
"predicted_SO": 0.577
},
"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.1993,
"predicted_3B": 0.0531,
"predicted_AB": 2.6349,
"predicted_AVG": 0.2557,
"predicted_BB": 0.2537,
"predicted_H": 0.6745,
"predicted_HBP": 0.081,
"predicted_HR": 0.0799,
"predicted_OBP": 0.3279,
"predicted_R": 0.5113,
"predicted_RBI": 0.1157,
"predicted_SLG": 0.4633,
"predicted_SO": 0.6221
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.192,
"after": 0.1993,
"delta": 0.0073,
"percent_delta": 0.038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.064,
"after": 0.0531,
"delta": -0.0109,
"percent_delta": -0.1703,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6349,
"delta": 0.1349,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2557,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.256,
"after": 0.2537,
"delta": -0.0023,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.641,
"after": 0.6745,
"delta": 0.0335,
"percent_delta": 0.0523,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.064,
"after": 0.0799,
"delta": 0.0159,
"percent_delta": 0.2484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3279,
"delta": 0.0019,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.513,
"after": 0.5113,
"delta": -0.0017,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.064,
"after": 0.1157,
"delta": 0.0517,
"percent_delta": 0.8078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4633,
"delta": 0.0013,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.577,
"after": 0.6221,
"delta": 0.0451,
"percent_delta": 0.0782,
"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_AB",
"before": 2.5,
"after": 2.6349,
"delta": 0.1349,
"percent_delta": 0.054,
"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": 17
}
},
{
"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.1993,
"predicted_3B": 0.0531,
"predicted_AB": 2.6349,
"predicted_AVG": 0.2486,
"predicted_BB": 0.2518,
"predicted_H": 0.655,
"predicted_HBP": 0.081,
"predicted_HR": 0.0776,
"predicted_OBP": 0.3141,
"predicted_R": 0.4866,
"predicted_RBI": 0.1101,
"predicted_SLG": 0.4529,
"predicted_SO": 0.6268
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1993,
"after": 0.1993,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0531,
"after": 0.0531,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6349,
"after": 2.6349,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2557,
"after": 0.2486,
"delta": -0.0071,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2537,
"after": 0.2518,
"delta": -0.0019,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6745,
"after": 0.655,
"delta": -0.0195,
"percent_delta": -0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0799,
"after": 0.0776,
"delta": -0.0023,
"percent_delta": -0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3279,
"after": 0.3141,
"delta": -0.0138,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5113,
"after": 0.4866,
"delta": -0.0247,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1157,
"after": 0.1101,
"delta": -0.0056,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4633,
"after": 0.4529,
"delta": -0.0104,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6221,
"after": 0.6268,
"delta": 0.0047,
"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_OBP",
"before": 0.3279,
"after": 0.3141,
"delta": -0.0138,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.63), rates preserved: AVG=0.249 HR/AB=0.029",
"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.1993,
"after": 0.0,
"delta": -0.1993,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0531,
"after": 0.0,
"delta": -0.0531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.6349,
"after": 3.0,
"delta": 0.3651,
"percent_delta": 0.1386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2518,
"after": 0.0,
"delta": -0.2518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.655,
"after": 1.0,
"delta": 0.345,
"percent_delta": 0.5267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0776,
"after": 0.0,
"delta": -0.0776,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1101,
"after": 0.0,
"delta": -0.1101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6268,
"after": 1.0,
"delta": 0.3732,
"percent_delta": 0.5954,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6268,
"after": 1.0,
"delta": 0.3732,
"percent_delta": 0.5954,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2518,
"after": 0.0,
"delta": -0.2518,
"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.4866,
"after": 0.0,
"delta": -0.4866,
"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.4866,
"after": 0.0,
"delta": -0.4866,
"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.2486,
"after": 0.333,
"delta": 0.0844,
"percent_delta": 0.3395,
"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.3141,
"after": 0.333,
"delta": 0.0189,
"percent_delta": 0.0602,
"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.4529,
"after": 0.333,
"delta": -0.1199,
"percent_delta": -0.2647,
"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.2486,
"after": 0.333,
"delta": 0.0844,
"percent_delta": 0.3395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4529,
"after": 0.333,
"delta": -0.1199,
"percent_delta": -0.2647,
"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": 3.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": 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": 3.0,
"delta": 3.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": 3.0,
"delta": 3.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.2486,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3141,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4529,
"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.2486,
"delta": -0.0844,
"percent_delta": -0.2535,
"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.3141,
"delta": -0.0189,
"percent_delta": -0.0567,
"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.4529,
"delta": 0.1199,
"percent_delta": 0.3601,
"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.4529,
"delta": 0.1199,
"percent_delta": 0.3601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2486,
"delta": -0.0844,
"percent_delta": -0.2535,
"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.192,
"after": 0.0,
"delta": -0.192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.256,
"after": 0.2486,
"delta": -0.0074,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.256,
"after": 0.0,
"delta": -0.256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.641,
"after": 1.0,
"delta": 0.359,
"percent_delta": 0.5601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.064,
"after": 1.0,
"delta": 0.936,
"percent_delta": 14.625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3141,
"delta": -0.0119,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.513,
"after": 1.0,
"delta": 0.487,
"percent_delta": 0.9493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.064,
"after": 3.0,
"delta": 2.936,
"percent_delta": 45.875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4529,
"delta": -0.0091,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.577,
"after": 1.0,
"delta": 0.423,
"percent_delta": 0.7331,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 6,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.064,
"after": 3.0,
"delta": 2.936,
"percent_delta": 45.875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.256,
"after": 0.0,
"delta": -0.256,
"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.192 | - |
| predicted_3B | 0.064 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.256 | - |
| predicted_H | 0.641 | - |
| predicted_HR | 0.064 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.513 | - |
| predicted_RBI | 0.064 | - |
| predicted_SLG | 0.462 | - |
| predicted_SO | 0.577 | - |
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.199 | 0.007 |
| predicted_3B | 0.053 | -0.011 |
| predicted_AB | 2.635 | 0.135 |
| predicted_AVG | 0.256 | -0.000 |
| predicted_BB | 0.254 | -0.002 |
| predicted_H | 0.674 | 0.033 |
| predicted_HBP | 0.081 | - |
| predicted_HR | 0.080 | 0.016 |
| predicted_OBP | 0.328 | 0.002 |
| predicted_R | 0.511 | -0.002 |
| predicted_RBI | 0.116 | 0.052 |
| predicted_SLG | 0.463 | 0.001 |
| predicted_SO | 0.622 | 0.045 |
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.199 | 0.000 |
| predicted_3B | 0.053 | 0.000 |
| predicted_AB | 2.635 | 0.000 |
| predicted_AVG | 0.249 | -0.007 |
| predicted_BB | 0.252 | -0.002 |
| predicted_H | 0.655 | -0.019 |
| predicted_HBP | 0.081 | 0.000 |
| predicted_HR | 0.078 | -0.002 |
| predicted_OBP | 0.314 | -0.014 |
| predicted_R | 0.487 | -0.025 |
| predicted_RBI | 0.110 | -0.006 |
| predicted_SLG | 0.453 | -0.010 |
| predicted_SO | 0.627 | 0.005 |
AB rounded to 3 (raw=2.63), rates preserved: AVG=0.249 HR/AB=0.029
| 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.199 |
| predicted_3B | 0.000 | -0.053 |
| predicted_AB | 3.000 | 0.365 |
| predicted_AVG | 0.333 | 0.084 |
| predicted_BB | 0.000 | -0.252 |
| predicted_H | 1.000 | 0.345 |
| predicted_HR | 0.000 | -0.078 |
| predicted_OBP | 0.333 | 0.019 |
| predicted_R | 0.000 | -0.487 |
| predicted_RBI | 0.000 | -0.110 |
| predicted_SLG | 0.333 | -0.120 |
| predicted_SO | 1.000 | 0.373 |
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 | 3.000 | 3.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 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 4.000 | 0.2308 | 0.3333 | 0.5385 | 0.2308 | 0.0769 | 0.0769 | 0.0769 | 0.3077 |
| last_10 | 0.20 | 10 | - | 20.000 | 6.000 | 3.000 | 0.000 | 1.000 | 1.000 | 5.000 | 2.000 | 6.000 | 0.3000 | 0.3913 | 0.6000 | 0.3000 | 0.0500 | 0.0500 | 0.1000 | 0.3000 |
| season | 0.60 | 17 | - | 39.000 | 10.000 | 3.000 | 1.000 | 1.000 | 1.000 | 8.000 | 4.000 | 9.000 | 0.2564 | 0.3409 | 0.4615 | 0.2564 | 0.0256 | 0.0256 | 0.1026 | 0.2308 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2140 |
| predicted_3B | 0.0310 |
| predicted_AB | 2.9070 |
| predicted_AVG | 0.2552 |
| predicted_BB | 0.2490 |
| predicted_H | 0.7420 |
| predicted_HBP | 0.0810 |
| predicted_HR | 0.1120 |
| predicted_OBP | 0.3316 |
| predicted_R | 0.5080 |
| predicted_RBI | 0.2200 |
| predicted_SLG | 0.4660 |
| predicted_SO | 0.7130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1920 | 0.2140 | 0.1993 | model_form_blend |
| predicted_3B | 0.0640 | 0.0310 | 0.0531 | model_form_blend |
| predicted_AB | 2.5000 | 2.9070 | 2.6349 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2552 | 0.2557 | model_form_blend |
| predicted_BB | 0.2560 | 0.2490 | 0.2537 | model_form_blend |
| predicted_H | 0.6410 | 0.7420 | 0.6745 | model_form_blend |
| predicted_HBP | - | 0.0810 | 0.0810 | form_only |
| predicted_HR | 0.0640 | 0.1120 | 0.0799 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3316 | 0.3279 | model_form_blend |
| predicted_R | 0.5130 | 0.5080 | 0.5113 | model_form_blend |
| predicted_RBI | 0.0640 | 0.2200 | 0.1157 | model_form_blend |
| predicted_SLG | 0.4620 | 0.4660 | 0.4633 | model_form_blend |
| predicted_SO | 0.5770 | 0.7130 | 0.6221 | 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 | 42 |
| Season rows before report date | 42 |
| Report year | 2026 |
| Profile rows used | 17 |
| 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 | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.256 |
| 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 | 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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| 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 | CF-2B |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 695508 |
| playerID | 695508 |
| playerName | Cameron Cauley |
| pos | SS |
| started | True |
| startingPosition | CF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.344 |
| sl_xwoba | 0.276 |
| sl_xba | 0.22 |
| sl_xslg | 0.278 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 20.7 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 29.0 |
| 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.057 | 0.000 | 0.000 | Hitting_2B | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.868 | 4.000 | 3.000 | Hitting_AB | 3.223 | 3.000 | 0.777 | 1.000 |
| predicted_AVG | 0.303 | 0.250 | 0.333 | Hitting_AVG | 0.321 | 0.000 | -0.071 | 0.250 |
| predicted_BB | 0.151 | 0.000 | 0.000 | Hitting_BB | 0.128 | 1.000 | -0.128 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 0.868 | 1.000 | 1.000 | Hitting_H | 1.034 | 0.000 | -0.034 | 1.000 |
| predicted_HR | 0.019 | 0.000 | 0.000 | Hitting_HR | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_OBP | 0.338 | 0.250 | 0.333 | Hitting_OBP | 0.358 | 0.250 | -0.108 | 0.000 |
| predicted_R | 0.321 | 0.000 | 0.000 | Hitting_R | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_SLG | 0.342 | 0.250 | 0.333 | Hitting_SLG | 0.369 | 0.000 | -0.119 | 0.250 |
| predicted_SO | 0.472 | 1.000 | 1.000 | Hitting_SO | 0.486 | 0.000 | 0.514 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.8680 -> 4.0000 (boost 1.1320, better) |
| Biggest Deboost | predicted_RBI: 0.3400 -> 0.0000 (deboost -0.3400, 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 | 3 | 2 | 2 | 3 | predicted_AB: 2.8680 -> 2.9380 (boost 0.0700, better) | predicted_AVG: 0.3030 -> 0.2929 (deboost -0.0101, 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.3344 -> 0.3254 (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 | 6 | 3 | 3 | 2 | 4 | predicted_SO: 0.5289 -> 1.0000 (boost 0.4711, worse) | predicted_RBI: 0.3597 -> 0.0000 (deboost -0.3597, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.284 HR/AB=0.007 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3194 -> 0.0000 (deboost -0.3194, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2840 -> 0.3330 (boost 0.0490, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2840 (deboost -0.0490, 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.057,
"predicted_3B": 0.0,
"predicted_AB": 2.868,
"predicted_AVG": 0.303,
"predicted_BB": 0.151,
"predicted_H": 0.868,
"predicted_HR": 0.019,
"predicted_OBP": 0.338,
"predicted_R": 0.321,
"predicted_RBI": 0.34,
"predicted_SLG": 0.342,
"predicted_SO": 0.472
},
"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.0554,
"predicted_3B": 0.0008,
"predicted_AB": 2.938,
"predicted_AVG": 0.2929,
"predicted_BB": 0.2202,
"predicted_H": 0.8591,
"predicted_HBP": 0.024,
"predicted_HR": 0.0222,
"predicted_OBP": 0.341,
"predicted_R": 0.3356,
"predicted_RBI": 0.378,
"predicted_SLG": 0.3344,
"predicted_SO": 0.525
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.057,
"after": 0.0554,
"delta": -0.0016,
"percent_delta": -0.0281,
"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.868,
"after": 2.938,
"delta": 0.07,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.303,
"after": 0.2929,
"delta": -0.0101,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.151,
"after": 0.2202,
"delta": 0.0692,
"percent_delta": 0.4583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.868,
"after": 0.8591,
"delta": -0.0089,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.019,
"after": 0.0222,
"delta": 0.0032,
"percent_delta": 0.1684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.341,
"delta": 0.003,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.321,
"after": 0.3356,
"delta": 0.0146,
"percent_delta": 0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.378,
"delta": 0.038,
"percent_delta": 0.1118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.3344,
"delta": -0.0076,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.472,
"after": 0.525,
"delta": 0.053,
"percent_delta": 0.1123,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.868,
"after": 2.938,
"delta": 0.07,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.303,
"after": 0.2929,
"delta": -0.0101,
"percent_delta": -0.0333,
"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": 53
}
},
{
"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.0554,
"predicted_3B": 0.0008,
"predicted_AB": 2.938,
"predicted_AVG": 0.284,
"predicted_BB": 0.2185,
"predicted_H": 0.8343,
"predicted_HBP": 0.024,
"predicted_HR": 0.0216,
"predicted_OBP": 0.3335,
"predicted_R": 0.3194,
"predicted_RBI": 0.3597,
"predicted_SLG": 0.3254,
"predicted_SO": 0.5289
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0554,
"after": 0.0554,
"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.938,
"after": 2.938,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2929,
"after": 0.284,
"delta": -0.0089,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2202,
"after": 0.2185,
"delta": -0.0017,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8591,
"after": 0.8343,
"delta": -0.0248,
"percent_delta": -0.0289,
"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.0222,
"after": 0.0216,
"delta": -0.0006,
"percent_delta": -0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3335,
"delta": -0.0075,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3356,
"after": 0.3194,
"delta": -0.0162,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.378,
"after": 0.3597,
"delta": -0.0183,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3344,
"after": 0.3254,
"delta": -0.009,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.525,
"after": 0.5289,
"delta": 0.0039,
"percent_delta": 0.0074,
"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.3344,
"after": 0.3254,
"delta": -0.009,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.94), rates preserved: AVG=0.284 HR/AB=0.007",
"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.0554,
"after": 0.0,
"delta": -0.0554,
"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.938,
"after": 3.0,
"delta": 0.062,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2185,
"after": 0.0,
"delta": -0.2185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8343,
"after": 1.0,
"delta": 0.1657,
"percent_delta": 0.1986,
"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.0216,
"after": 0.0,
"delta": -0.0216,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3597,
"after": 0.0,
"delta": -0.3597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5289,
"after": 1.0,
"delta": 0.4711,
"percent_delta": 0.8907,
"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.5289,
"after": 1.0,
"delta": 0.4711,
"percent_delta": 0.8907,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3597,
"after": 0.0,
"delta": -0.3597,
"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.3194,
"after": 0.0,
"delta": -0.3194,
"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.3194,
"after": 0.0,
"delta": -0.3194,
"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.284,
"after": 0.333,
"delta": 0.049,
"percent_delta": 0.1725,
"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.3335,
"after": 0.333,
"delta": -0.0005,
"percent_delta": -0.0015,
"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_SLG",
"before": 0.3254,
"after": 0.333,
"delta": 0.0076,
"percent_delta": 0.0234,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.284,
"after": 0.333,
"delta": 0.049,
"percent_delta": 0.1725,
"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.284,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3335,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3254,
"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.284,
"delta": -0.049,
"percent_delta": -0.1473,
"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.3335,
"delta": 0.0005,
"percent_delta": 0.0016,
"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_SLG",
"before": 0.333,
"after": 0.3254,
"delta": -0.0076,
"percent_delta": -0.0229,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.284,
"delta": -0.049,
"percent_delta": -0.1473,
"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.057,
"after": 0.0,
"delta": -0.057,
"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.868,
"after": 4.0,
"delta": 1.132,
"percent_delta": 0.3947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.303,
"after": 0.284,
"delta": -0.019,
"percent_delta": -0.0627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.868,
"after": 1.0,
"delta": 0.132,
"percent_delta": 0.1521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3335,
"delta": -0.0045,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.3254,
"delta": -0.0166,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.472,
"after": 1.0,
"delta": 0.528,
"percent_delta": 1.1186,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.868,
"after": 4.0,
"delta": 1.132,
"percent_delta": 0.3947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"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.057 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.868 | - |
| predicted_AVG | 0.303 | - |
| predicted_BB | 0.151 | - |
| predicted_H | 0.868 | - |
| predicted_HR | 0.019 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.321 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.342 | - |
| predicted_SO | 0.472 | - |
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.055 | -0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.938 | 0.070 |
| predicted_AVG | 0.293 | -0.010 |
| predicted_BB | 0.220 | 0.069 |
| predicted_H | 0.859 | -0.009 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.022 | 0.003 |
| predicted_OBP | 0.341 | 0.003 |
| predicted_R | 0.336 | 0.015 |
| predicted_RBI | 0.378 | 0.038 |
| predicted_SLG | 0.334 | -0.008 |
| predicted_SO | 0.525 | 0.053 |
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.055 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.938 | 0.000 |
| predicted_AVG | 0.284 | -0.009 |
| predicted_BB | 0.218 | -0.002 |
| predicted_H | 0.834 | -0.025 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.022 | -0.001 |
| predicted_OBP | 0.334 | -0.008 |
| predicted_R | 0.319 | -0.016 |
| predicted_RBI | 0.360 | -0.018 |
| predicted_SLG | 0.325 | -0.009 |
| predicted_SO | 0.529 | 0.004 |
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.284 HR/AB=0.007
| 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.055 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.062 |
| predicted_AVG | 0.333 | 0.049 |
| predicted_BB | 0.000 | -0.218 |
| predicted_H | 1.000 | 0.166 |
| predicted_HR | 0.000 | -0.022 |
| predicted_OBP | 0.333 | -0.001 |
| predicted_R | 0.000 | -0.319 |
| predicted_RBI | 0.000 | -0.360 |
| predicted_SLG | 0.333 | 0.008 |
| predicted_SO | 1.000 | 0.471 |
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 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 4.000 | 4.000 | 0.2000 | 0.3500 | 0.2000 | 0.2000 | 0.0000 | 0.2000 | 0.2667 | 0.2667 |
| last_10 | 0.20 | 10 | - | 29.000 | 9.000 | 0.000 | 0.000 | 0.000 | 5.000 | 3.000 | 4.000 | 6.000 | 0.3103 | 0.3824 | 0.3103 | 0.3103 | 0.0000 | 0.1724 | 0.1379 | 0.2069 |
| season | 0.60 | 53 | - | 152.000 | 46.000 | 3.000 | 0.000 | 1.000 | 18.000 | 17.000 | 8.000 | 25.000 | 0.3026 | 0.3436 | 0.3421 | 0.3026 | 0.0066 | 0.1184 | 0.0526 | 0.1645 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0530 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0410 |
| predicted_AVG | 0.2781 |
| predicted_BB | 0.3220 |
| predicted_H | 0.8460 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0270 |
| predicted_OBP | 0.3453 |
| predicted_R | 0.3570 |
| predicted_RBI | 0.4340 |
| predicted_SLG | 0.3232 |
| predicted_SO | 0.6030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0570 | 0.0530 | 0.0554 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8680 | 3.0410 | 2.9380 | model_form_blend |
| predicted_AVG | 0.3030 | 0.2781 | 0.2929 | model_form_blend |
| predicted_BB | 0.1510 | 0.3220 | 0.2202 | model_form_blend |
| predicted_H | 0.8680 | 0.8460 | 0.8591 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0190 | 0.0270 | 0.0222 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3453 | 0.3410 | model_form_blend |
| predicted_R | 0.3210 | 0.3570 | 0.3356 | model_form_blend |
| predicted_RBI | 0.3400 | 0.4340 | 0.3780 | model_form_blend |
| predicted_SLG | 0.3420 | 0.3232 | 0.3344 | model_form_blend |
| predicted_SO | 0.4720 | 0.6030 | 0.5250 | 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 | 148 |
| Season rows before report date | 148 |
| Report year | 2026 |
| Profile rows used | 53 |
| 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.303 |
| 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 | 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 | SS |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 670032 |
| playerID | 670032 |
| playerName | Nicky Lopez |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 15.1 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.311 |
| sl_xwoba | 0.267 |
| sl_xba | 0.254 |
| sl_xslg | 0.301 |
| sl_sweet_spot_percent | 25.8 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 23.5 |
| sl_exit_velocity_avg | 85.2 |
| sl_launch_angle_avg | 1.9 |
| sl_whiff_percent | 19.6 |
| sl_swing_percent | 52.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.140 | 1.000 | 0.000 | Hitting_2B | 0.222 | 0.000 | 0.778 | 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.978 | 2.000 | 1.022 | 2.000 |
| predicted_AVG | 0.279 | 0.500 | 0.333 | Hitting_AVG | 0.284 | 0.000 | 0.216 | 0.500 |
| predicted_BB | 0.160 | 0.000 | 0.000 | Hitting_BB | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.610 | 2.000 | 1.000 | Hitting_H | 0.844 | 0.000 | 1.156 | 2.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_OBP | 0.279 | 0.500 | 0.333 | Hitting_OBP | 0.344 | 0.000 | 0.156 | 0.500 |
| predicted_R | 0.300 | 1.000 | 0.000 | Hitting_R | 0.385 | 0.000 | 0.615 | 1.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.541 | 0.000 | -0.541 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.391 | 0.750 | 0.333 | Hitting_SLG | 0.537 | 0.000 | 0.213 | 0.750 |
| predicted_SO | 0.720 | 1.000 | 1.000 | Hitting_SO | 0.770 | 1.000 | 0.230 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_RBI: 0.3300 -> 0.0000 (deboost -0.3300, 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_AB: 2.5000 -> 2.5714 (boost 0.0714, better) | predicted_AVG: 0.2790 -> 0.2594 (deboost -0.0196, 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 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3822 -> 0.4437 (boost 0.0615, better) | predicted_AVG: 0.2594 -> 0.2313 (deboost -0.0281, 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: 2.5714 -> 3.0000 (boost 0.4286, better) | predicted_RBI: 0.2884 -> 0.0000 (deboost -0.2884, worse) | AB rounded to 3 (raw=2.57), rates preserved: AVG=0.231 HR/AB=0.055 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2560 -> 0.0000 (deboost -0.2560, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2313 -> 0.3330 (boost 0.1017, better) | predicted_SLG: 0.4437 -> 0.3330 (deboost -0.1107, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4437 (boost 0.1107, better) | predicted_AVG: 0.3330 -> 0.2313 (deboost -0.1017, 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.14,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.279,
"predicted_BB": 0.16,
"predicted_H": 0.61,
"predicted_HR": 0.18,
"predicted_OBP": 0.279,
"predicted_R": 0.3,
"predicted_RBI": 0.33,
"predicted_SLG": 0.391,
"predicted_SO": 0.72
},
"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.1229,
"predicted_3B": 0.0008,
"predicted_AB": 2.5714,
"predicted_AVG": 0.2594,
"predicted_BB": 0.1433,
"predicted_H": 0.6124,
"predicted_HBP": 0.015,
"predicted_HR": 0.1447,
"predicted_OBP": 0.2727,
"predicted_R": 0.269,
"predicted_RBI": 0.303,
"predicted_SLG": 0.3822,
"predicted_SO": 0.7502
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.1229,
"delta": -0.0171,
"percent_delta": -0.1221,
"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.5714,
"delta": 0.0714,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2594,
"delta": -0.0196,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.16,
"after": 0.1433,
"delta": -0.0167,
"percent_delta": -0.1044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.6124,
"delta": 0.0024,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1447,
"delta": -0.0353,
"percent_delta": -0.1961,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2727,
"delta": -0.0063,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 0.269,
"delta": -0.031,
"percent_delta": -0.1033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.303,
"delta": -0.027,
"percent_delta": -0.0818,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3822,
"delta": -0.0088,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 0.7502,
"delta": 0.0302,
"percent_delta": 0.0419,
"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.5714,
"delta": 0.0714,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2594,
"delta": -0.0196,
"percent_delta": -0.0703,
"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": 51
}
},
{
"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.1229,
"predicted_3B": 0.0008,
"predicted_AB": 2.5714,
"predicted_AVG": 0.2313,
"predicted_BB": 0.1422,
"predicted_H": 0.5947,
"predicted_HBP": 0.015,
"predicted_HR": 0.1406,
"predicted_OBP": 0.2716,
"predicted_R": 0.256,
"predicted_RBI": 0.2884,
"predicted_SLG": 0.4437,
"predicted_SO": 0.7558
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1229,
"after": 0.1229,
"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.5714,
"after": 2.5714,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2594,
"after": 0.2313,
"delta": -0.0281,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1433,
"after": 0.1422,
"delta": -0.0011,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6124,
"after": 0.5947,
"delta": -0.0177,
"percent_delta": -0.0289,
"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.1447,
"after": 0.1406,
"delta": -0.0041,
"percent_delta": -0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2727,
"after": 0.2716,
"delta": -0.0011,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.269,
"after": 0.256,
"delta": -0.013,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.303,
"after": 0.2884,
"delta": -0.0146,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3822,
"after": 0.4437,
"delta": 0.0615,
"percent_delta": 0.1609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7502,
"after": 0.7558,
"delta": 0.0056,
"percent_delta": 0.0075,
"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_SLG",
"before": 0.3822,
"after": 0.4437,
"delta": 0.0615,
"percent_delta": 0.1609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2594,
"after": 0.2313,
"delta": -0.0281,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.57), rates preserved: AVG=0.231 HR/AB=0.055",
"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.1229,
"after": 0.0,
"delta": -0.1229,
"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.5714,
"after": 3.0,
"delta": 0.4286,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1422,
"after": 0.0,
"delta": -0.1422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5947,
"after": 1.0,
"delta": 0.4053,
"percent_delta": 0.6815,
"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.1406,
"after": 0.0,
"delta": -0.1406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2884,
"after": 0.0,
"delta": -0.2884,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7558,
"after": 1.0,
"delta": 0.2442,
"percent_delta": 0.3231,
"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": 2.5714,
"after": 3.0,
"delta": 0.4286,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2884,
"after": 0.0,
"delta": -0.2884,
"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.256,
"after": 0.0,
"delta": -0.256,
"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.256,
"after": 0.0,
"delta": -0.256,
"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.2313,
"after": 0.333,
"delta": 0.1017,
"percent_delta": 0.4397,
"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.2716,
"after": 0.333,
"delta": 0.0614,
"percent_delta": 0.2261,
"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.4437,
"after": 0.333,
"delta": -0.1107,
"percent_delta": -0.2495,
"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.2313,
"after": 0.333,
"delta": 0.1017,
"percent_delta": 0.4397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4437,
"after": 0.333,
"delta": -0.1107,
"percent_delta": -0.2495,
"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": 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": 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": 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": 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": 4.0,
"predicted_AVG": 0.2313,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2716,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4437,
"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.333,
"after": 0.2313,
"delta": -0.1017,
"percent_delta": -0.3055,
"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.2716,
"delta": -0.0614,
"percent_delta": -0.1845,
"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.4437,
"delta": 0.1107,
"percent_delta": 0.3325,
"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.4437,
"delta": 0.1107,
"percent_delta": 0.3325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2313,
"delta": -0.1017,
"percent_delta": -0.3055,
"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.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"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": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2313,
"delta": -0.0477,
"percent_delta": -0.171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 2.0,
"delta": 1.39,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2716,
"delta": -0.0074,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"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.391,
"after": 0.4437,
"delta": 0.0527,
"percent_delta": 0.1348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"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_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"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.140 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.279 | - |
| predicted_BB | 0.160 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.300 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 0.720 | - |
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.123 | -0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.571 | 0.071 |
| predicted_AVG | 0.259 | -0.020 |
| predicted_BB | 0.143 | -0.017 |
| predicted_H | 0.612 | 0.002 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.145 | -0.035 |
| predicted_OBP | 0.273 | -0.006 |
| predicted_R | 0.269 | -0.031 |
| predicted_RBI | 0.303 | -0.027 |
| predicted_SLG | 0.382 | -0.009 |
| predicted_SO | 0.750 | 0.030 |
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.123 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.571 | 0.000 |
| predicted_AVG | 0.231 | -0.028 |
| predicted_BB | 0.142 | -0.001 |
| predicted_H | 0.595 | -0.018 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.141 | -0.004 |
| predicted_OBP | 0.272 | -0.001 |
| predicted_R | 0.256 | -0.013 |
| predicted_RBI | 0.288 | -0.015 |
| predicted_SLG | 0.444 | 0.061 |
| predicted_SO | 0.756 | 0.006 |
AB rounded to 3 (raw=2.57), rates preserved: AVG=0.231 HR/AB=0.055
| 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.123 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.429 |
| predicted_AVG | 0.333 | 0.102 |
| predicted_BB | 0.000 | -0.142 |
| predicted_H | 1.000 | 0.405 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.333 | 0.061 |
| predicted_R | 0.000 | -0.256 |
| predicted_RBI | 0.000 | -0.288 |
| predicted_SLG | 0.333 | -0.111 |
| predicted_SO | 1.000 | 0.244 |
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 | 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 | 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 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.1538 | 0.1538 | 0.1538 | 0.1538 | 0.0000 | 0.0000 | 0.0000 | 0.3846 |
| last_10 | 0.20 | 10 | - | 22.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 7.000 | 0.1818 | 0.1818 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.3182 |
| season | 0.60 | 51 | - | 125.000 | 33.000 | 7.000 | 0.000 | 7.000 | 19.000 | 15.000 | 8.000 | 36.000 | 0.2640 | 0.3111 | 0.4880 | 0.2640 | 0.0560 | 0.1520 | 0.0640 | 0.2880 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0970 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.6800 |
| predicted_AVG | 0.2296 |
| predicted_BB | 0.1180 |
| predicted_H | 0.6160 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.2632 |
| predicted_R | 0.2220 |
| predicted_RBI | 0.2620 |
| predicted_SLG | 0.3689 |
| predicted_SO | 0.7960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.0970 | 0.1229 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.6800 | 2.5714 | model_form_blend |
| predicted_AVG | 0.2790 | 0.2296 | 0.2594 | model_form_blend |
| predicted_BB | 0.1600 | 0.1180 | 0.1433 | model_form_blend |
| predicted_H | 0.6100 | 0.6160 | 0.6124 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1800 | 0.0910 | 0.1447 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2632 | 0.2727 | model_form_blend |
| predicted_R | 0.3000 | 0.2220 | 0.2690 | model_form_blend |
| predicted_RBI | 0.3300 | 0.2620 | 0.3030 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3689 | 0.3822 | model_form_blend |
| predicted_SO | 0.7200 | 0.7960 | 0.7502 | 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 | 135 |
| Season rows before report date | 135 |
| Report year | 2026 |
| Profile rows used | 51 |
| 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.264 |
| 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 | 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 | 2B |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 679822 |
| playerID | 679822 |
| playerName | Justin Foscue |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.356 |
| sl_xwoba | 0.337 |
| sl_xba | 0.252 |
| sl_xslg | 0.454 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 41.6 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 17.6 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 43.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.076 | 0.000 | 0.000 | Hitting_2B | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.773 | 4.000 | 3.000 | Hitting_AB | 3.111 | 3.000 | 0.889 | 1.000 |
| predicted_AVG | 0.257 | 0.000 | 0.333 | Hitting_AVG | 0.264 | 0.000 | -0.264 | 0.000 |
| predicted_BB | 0.242 | 0.000 | 0.000 | Hitting_BB | 0.295 | 0.000 | -0.295 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 0.712 | 0.000 | 1.000 | Hitting_H | 0.821 | 0.000 | -0.821 | 0.000 |
| predicted_HR | 0.015 | 0.000 | 0.000 | Hitting_HR | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_OBP | 0.317 | 0.000 | 0.333 | Hitting_OBP | 0.352 | 0.000 | -0.352 | 0.000 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_RBI | 0.348 | 0.000 | 0.000 | Hitting_RBI | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_SLG | 0.301 | 0.000 | 0.333 | Hitting_SLG | 0.307 | 0.000 | -0.307 | 0.000 |
| predicted_SO | 0.455 | 2.000 | 1.000 | Hitting_SO | 0.493 | 0.000 | 1.507 | 2.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.4550 -> 2.0000 (boost 1.5450, worse) |
| Biggest Deboost | predicted_H: 0.7120 -> 0.0000 (deboost -0.7120, 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 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2570 -> 0.2515 (deboost -0.0055, 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.3141 -> 0.2996 (deboost -0.0145, 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.5079 -> 1.0000 (boost 0.4921, worse) | predicted_RBI: 0.3548 -> 0.0000 (deboost -0.3548, worse) | AB rounded to 3 (raw=2.79), rates preserved: AVG=0.244 HR/AB=0.006 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2981 -> 0.0000 (deboost -0.2981, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2441 -> 0.3330 (boost 0.0889, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | 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.2441 (deboost -0.0889, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"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.076,
"predicted_3B": 0.0,
"predicted_AB": 2.773,
"predicted_AVG": 0.257,
"predicted_BB": 0.242,
"predicted_H": 0.712,
"predicted_HR": 0.015,
"predicted_OBP": 0.317,
"predicted_R": 0.333,
"predicted_RBI": 0.348,
"predicted_SLG": 0.301,
"predicted_SO": 0.455
},
"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.0921,
"predicted_3B": 0.0004,
"predicted_AB": 2.7875,
"predicted_AVG": 0.2515,
"predicted_BB": 0.2222,
"predicted_H": 0.7008,
"predicted_HBP": 0.088,
"predicted_HR": 0.0175,
"predicted_OBP": 0.3141,
"predicted_R": 0.3132,
"predicted_RBI": 0.3728,
"predicted_SLG": 0.3038,
"predicted_SO": 0.5041
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.076,
"after": 0.0921,
"delta": 0.0161,
"percent_delta": 0.2118,
"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.773,
"after": 2.7875,
"delta": 0.0145,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2515,
"delta": -0.0055,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.242,
"after": 0.2222,
"delta": -0.0198,
"percent_delta": -0.0818,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.712,
"after": 0.7008,
"delta": -0.0112,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.015,
"after": 0.0175,
"delta": 0.0025,
"percent_delta": 0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3141,
"delta": -0.0029,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3132,
"delta": -0.0198,
"percent_delta": -0.0595,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.348,
"after": 0.3728,
"delta": 0.0248,
"percent_delta": 0.0713,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.3038,
"delta": 0.0028,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.455,
"after": 0.5041,
"delta": 0.0491,
"percent_delta": 0.1079,
"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.257,
"after": 0.2515,
"delta": -0.0055,
"percent_delta": -0.0214,
"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.0921,
"predicted_3B": 0.0004,
"predicted_AB": 2.7875,
"predicted_AVG": 0.2441,
"predicted_BB": 0.2205,
"predicted_H": 0.6805,
"predicted_HBP": 0.088,
"predicted_HR": 0.017,
"predicted_OBP": 0.2996,
"predicted_R": 0.2981,
"predicted_RBI": 0.3548,
"predicted_SLG": 0.2958,
"predicted_SO": 0.5079
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0921,
"after": 0.0921,
"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.7875,
"after": 2.7875,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2515,
"after": 0.2441,
"delta": -0.0074,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2222,
"after": 0.2205,
"delta": -0.0017,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7008,
"after": 0.6805,
"delta": -0.0203,
"percent_delta": -0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.088,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0175,
"after": 0.017,
"delta": -0.0005,
"percent_delta": -0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3141,
"after": 0.2996,
"delta": -0.0145,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3132,
"after": 0.2981,
"delta": -0.0151,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3728,
"after": 0.3548,
"delta": -0.018,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3038,
"after": 0.2958,
"delta": -0.008,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5041,
"after": 0.5079,
"delta": 0.0038,
"percent_delta": 0.0075,
"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.3141,
"after": 0.2996,
"delta": -0.0145,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.79), rates preserved: AVG=0.244 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.0921,
"after": 0.0,
"delta": -0.0921,
"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.7875,
"after": 3.0,
"delta": 0.2125,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2205,
"after": 0.0,
"delta": -0.2205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6805,
"after": 1.0,
"delta": 0.3195,
"percent_delta": 0.4695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.0,
"delta": -0.088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3548,
"after": 0.0,
"delta": -0.3548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5079,
"after": 1.0,
"delta": 0.4921,
"percent_delta": 0.9689,
"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.5079,
"after": 1.0,
"delta": 0.4921,
"percent_delta": 0.9689,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3548,
"after": 0.0,
"delta": -0.3548,
"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.2981,
"after": 0.0,
"delta": -0.2981,
"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.2981,
"after": 0.0,
"delta": -0.2981,
"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.2441,
"after": 0.333,
"delta": 0.0889,
"percent_delta": 0.3642,
"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.2996,
"after": 0.333,
"delta": 0.0334,
"percent_delta": 0.1115,
"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.2958,
"after": 0.333,
"delta": 0.0372,
"percent_delta": 0.1258,
"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.2441,
"after": 0.333,
"delta": 0.0889,
"percent_delta": 0.3642,
"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": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"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.2441,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2996,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2958,
"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.2441,
"delta": -0.0889,
"percent_delta": -0.2668,
"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.2996,
"delta": -0.0334,
"percent_delta": -0.1004,
"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.2958,
"delta": -0.0372,
"percent_delta": -0.1118,
"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.333,
"after": 0.2441,
"delta": -0.0889,
"percent_delta": -0.2668,
"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.076,
"after": 0.0,
"delta": -0.076,
"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.773,
"after": 4.0,
"delta": 1.227,
"percent_delta": 0.4425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2441,
"delta": -0.0129,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.242,
"after": 0.0,
"delta": -0.242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.712,
"after": 0.0,
"delta": -0.712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.317,
"after": 0.2996,
"delta": -0.0174,
"percent_delta": -0.0549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2958,
"delta": -0.0052,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.455,
"after": 2.0,
"delta": 1.545,
"percent_delta": 3.3956,
"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.455,
"after": 2.0,
"delta": 1.545,
"percent_delta": 3.3956,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.712,
"after": 0.0,
"delta": -0.712,
"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.076 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.773 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.242 | - |
| predicted_H | 0.712 | - |
| predicted_HR | 0.015 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.348 | - |
| predicted_SLG | 0.301 | - |
| predicted_SO | 0.455 | - |
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.092 | 0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.788 | 0.014 |
| predicted_AVG | 0.252 | -0.006 |
| predicted_BB | 0.222 | -0.020 |
| predicted_H | 0.701 | -0.011 |
| predicted_HBP | 0.088 | - |
| predicted_HR | 0.018 | 0.003 |
| predicted_OBP | 0.314 | -0.003 |
| predicted_R | 0.313 | -0.020 |
| predicted_RBI | 0.373 | 0.025 |
| predicted_SLG | 0.304 | 0.003 |
| predicted_SO | 0.504 | 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.092 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.788 | 0.000 |
| predicted_AVG | 0.244 | -0.007 |
| predicted_BB | 0.221 | -0.002 |
| predicted_H | 0.680 | -0.020 |
| predicted_HBP | 0.088 | 0.000 |
| predicted_HR | 0.017 | -0.001 |
| predicted_OBP | 0.300 | -0.015 |
| predicted_R | 0.298 | -0.015 |
| predicted_RBI | 0.355 | -0.018 |
| predicted_SLG | 0.296 | -0.008 |
| predicted_SO | 0.508 | 0.004 |
AB rounded to 3 (raw=2.79), rates preserved: AVG=0.244 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.092 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.212 |
| predicted_AVG | 0.333 | 0.089 |
| predicted_BB | 0.000 | -0.221 |
| predicted_H | 1.000 | 0.320 |
| predicted_HR | 0.000 | -0.017 |
| predicted_OBP | 0.333 | 0.033 |
| predicted_R | 0.000 | -0.298 |
| predicted_RBI | 0.000 | -0.355 |
| predicted_SLG | 0.333 | 0.037 |
| predicted_SO | 1.000 | 0.492 |
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 | 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 | - | 13.000 | 2.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.1538 | 0.1538 | 0.2308 | 0.1538 | 0.0000 | 0.1538 | 0.0000 | 0.3077 |
| last_10 | 0.20 | 10 | - | 24.000 | 7.000 | 1.000 | 0.000 | 0.000 | 5.000 | 3.000 | 2.000 | 5.000 | 0.2917 | 0.3704 | 0.3333 | 0.2917 | 0.0000 | 0.2083 | 0.0833 | 0.2083 |
| season | 0.60 | 66 | - | 183.000 | 47.000 | 5.000 | 0.000 | 1.000 | 23.000 | 22.000 | 16.000 | 30.000 | 0.2568 | 0.3430 | 0.3005 | 0.2568 | 0.0055 | 0.1257 | 0.0874 | 0.1639 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8080 |
| predicted_AVG | 0.2438 |
| predicted_BB | 0.1940 |
| predicted_H | 0.6850 |
| predicted_HBP | 0.0880 |
| predicted_HR | 0.0210 |
| predicted_OBP | 0.3100 |
| predicted_R | 0.2850 |
| predicted_RBI | 0.4080 |
| predicted_SLG | 0.3078 |
| predicted_SO | 0.5740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0760 | 0.1150 | 0.0921 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.7730 | 2.8080 | 2.7875 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2438 | 0.2515 | model_form_blend |
| predicted_BB | 0.2420 | 0.1940 | 0.2222 | model_form_blend |
| predicted_H | 0.7120 | 0.6850 | 0.7008 | model_form_blend |
| predicted_HBP | - | 0.0880 | 0.0880 | form_only |
| predicted_HR | 0.0150 | 0.0210 | 0.0175 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3100 | 0.3141 | model_form_blend |
| predicted_R | 0.3330 | 0.2850 | 0.3132 | model_form_blend |
| predicted_RBI | 0.3480 | 0.4080 | 0.3728 | model_form_blend |
| predicted_SLG | 0.3010 | 0.3078 | 0.3038 | model_form_blend |
| predicted_SO | 0.4550 | 0.5740 | 0.5041 | 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 | 207 |
| Season rows before report date | 207 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.257 |
| 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 | 0 |
| 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 | 20260729_TEX@TB |
| game_type | full |
| mlbID | 696030 |
| playerID | 696030 |
| playerName | Alejandro Osuna |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 14.6 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.305 |
| sl_xwoba | 0.305 |
| sl_xba | 0.257 |
| sl_xslg | 0.314 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 0.7 |
| sl_hard_hit_percent | 29.1 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 5.9 |
| sl_whiff_percent | 16.0 |
| sl_swing_percent | 47.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.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 | 3.211 | 4.000 | 3.000 | Hitting_AB | 2.000 | 0.000 | 2.000 | 4.000 |
| predicted_AVG | 0.158 | 0.000 | 0.000 | Hitting_AVG | 0.250 | - | -0.250 | - |
| predicted_BB | 0.211 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.220 | 0.000 | 0.000 | Hitting_H | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_OBP | 0.204 | 0.000 | 0.000 | Hitting_OBP | 0.333 | - | -0.333 | - |
| predicted_R | 0.211 | 0.000 | 0.000 | Hitting_R | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_SLG | 0.305 | 0.000 | 0.000 | Hitting_SLG | 0.625 | - | -0.625 | - |
| predicted_SO | 0.895 | 1.000 | 1.000 | Hitting_SO | 0.750 | 0.000 | 0.250 | 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: 3.2110 -> 4.0000 (boost 0.7890, better) |
| Biggest Deboost | predicted_H: 0.2200 -> 0.0000 (deboost -0.2200, 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.2200 -> 0.3219 (boost 0.1019, better) | predicted_SLG: 0.3050 -> 0.2890 (deboost -0.0160, 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.2890 -> 0.1755 (deboost -0.1135, 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.9319 -> 1.0000 (boost 0.0681, worse) | predicted_H: 0.3126 -> 0.0000 (deboost -0.3126, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.096 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2280 -> 0.0000 (deboost -0.2280, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.1755 -> 0.0000 (deboost -0.1755, 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_AB: 3.0000 -> 4.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.1755 (boost 0.1755, better) | - | 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": 3.211,
"predicted_AVG": 0.158,
"predicted_BB": 0.211,
"predicted_H": 0.22,
"predicted_HR": 0.07,
"predicted_OBP": 0.204,
"predicted_R": 0.211,
"predicted_RBI": 0.15,
"predicted_SLG": 0.305,
"predicted_SO": 0.895
},
"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.0182,
"predicted_3B": 0.0014,
"predicted_AB": 3.2718,
"predicted_AVG": 0.155,
"predicted_BB": 0.2156,
"predicted_H": 0.3219,
"predicted_HBP": 0.009,
"predicted_HR": 0.0825,
"predicted_OBP": 0.2043,
"predicted_R": 0.2396,
"predicted_RBI": 0.169,
"predicted_SLG": 0.289,
"predicted_SO": 0.925
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0182,
"delta": 0.0182,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.211,
"after": 3.2718,
"delta": 0.0608,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.158,
"after": 0.155,
"delta": -0.003,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.2156,
"delta": 0.0046,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.22,
"after": 0.3219,
"delta": 0.1019,
"percent_delta": 0.4632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0825,
"delta": 0.0125,
"percent_delta": 0.1786,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.204,
"after": 0.2043,
"delta": 0.0003,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.211,
"after": 0.2396,
"delta": 0.0286,
"percent_delta": 0.1355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.169,
"delta": 0.019,
"percent_delta": 0.1267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.289,
"delta": -0.016,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 0.925,
"delta": 0.03,
"percent_delta": 0.0335,
"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.22,
"after": 0.3219,
"delta": 0.1019,
"percent_delta": 0.4632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.289,
"delta": -0.016,
"percent_delta": -0.0525,
"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": 19
}
},
{
"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.0182,
"predicted_3B": 0.0014,
"predicted_AB": 3.2718,
"predicted_AVG": 0.0955,
"predicted_BB": 0.214,
"predicted_H": 0.3126,
"predicted_HBP": 0.009,
"predicted_HR": 0.0802,
"predicted_OBP": 0.1511,
"predicted_R": 0.228,
"predicted_RBI": 0.1608,
"predicted_SLG": 0.1755,
"predicted_SO": 0.9319
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0182,
"after": 0.0182,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2718,
"after": 3.2718,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.155,
"after": 0.0955,
"delta": -0.0595,
"percent_delta": -0.3839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2156,
"after": 0.214,
"delta": -0.0016,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3219,
"after": 0.3126,
"delta": -0.0093,
"percent_delta": -0.0289,
"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.0825,
"after": 0.0802,
"delta": -0.0023,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2043,
"after": 0.1511,
"delta": -0.0532,
"percent_delta": -0.2604,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2396,
"after": 0.228,
"delta": -0.0116,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.169,
"after": 0.1608,
"delta": -0.0082,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.289,
"after": 0.1755,
"delta": -0.1135,
"percent_delta": -0.3927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.925,
"after": 0.9319,
"delta": 0.0069,
"percent_delta": 0.0075,
"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.289,
"after": 0.1755,
"delta": -0.1135,
"percent_delta": -0.3927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.27), rates preserved: AVG=0.096 HR/AB=0.025",
"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.0182,
"after": 0.0,
"delta": -0.0182,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2718,
"after": 3.0,
"delta": -0.2718,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.214,
"after": 0.0,
"delta": -0.214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3126,
"after": 0.0,
"delta": -0.3126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0802,
"after": 0.0,
"delta": -0.0802,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1608,
"after": 0.0,
"delta": -0.1608,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.9319,
"after": 1.0,
"delta": 0.0681,
"percent_delta": 0.0731,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3126,
"after": 0.0,
"delta": -0.3126,
"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": 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": 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.228,
"after": 0.0,
"delta": -0.228,
"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.228,
"after": 0.0,
"delta": -0.228,
"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.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.0,
"predicted_R": 0.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": 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.0955,
"after": 0.0,
"delta": -0.0955,
"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.1511,
"after": 0.0,
"delta": -0.1511,
"percent_delta": -1.0,
"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.1755,
"after": 0.0,
"delta": -0.1755,
"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.1755,
"after": 0.0,
"delta": -0.1755,
"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": 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": 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.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.0955,
"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.1511,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1755,
"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.0955,
"delta": 0.0955,
"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": 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.0,
"after": 0.1511,
"delta": 0.1511,
"percent_delta": null,
"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.0,
"after": 0.1755,
"delta": 0.1755,
"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.1755,
"delta": 0.1755,
"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.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.211,
"after": 4.0,
"delta": 0.789,
"percent_delta": 0.2457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.158,
"after": 0.0955,
"delta": -0.0625,
"percent_delta": -0.3956,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"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.204,
"after": 0.1511,
"delta": -0.0529,
"percent_delta": -0.2593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.1755,
"delta": -0.1295,
"percent_delta": -0.4246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 1.0,
"delta": 0.105,
"percent_delta": 0.1173,
"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": 3.211,
"after": 4.0,
"delta": 0.789,
"percent_delta": 0.2457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.211 | - |
| predicted_AVG | 0.158 | - |
| predicted_BB | 0.211 | - |
| predicted_H | 0.220 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.204 | - |
| predicted_R | 0.211 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.305 | - |
| predicted_SO | 0.895 | - |
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.018 | 0.018 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.272 | 0.061 |
| predicted_AVG | 0.155 | -0.003 |
| predicted_BB | 0.216 | 0.005 |
| predicted_H | 0.322 | 0.102 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.083 | 0.012 |
| predicted_OBP | 0.204 | 0.000 |
| predicted_R | 0.240 | 0.029 |
| predicted_RBI | 0.169 | 0.019 |
| predicted_SLG | 0.289 | -0.016 |
| predicted_SO | 0.925 | 0.030 |
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.018 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.272 | 0.000 |
| predicted_AVG | 0.096 | -0.059 |
| predicted_BB | 0.214 | -0.002 |
| predicted_H | 0.313 | -0.009 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.080 | -0.002 |
| predicted_OBP | 0.151 | -0.053 |
| predicted_R | 0.228 | -0.012 |
| predicted_RBI | 0.161 | -0.008 |
| predicted_SLG | 0.175 | -0.113 |
| predicted_SO | 0.932 | 0.007 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.096 HR/AB=0.025
| 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 | 0.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.018 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.272 |
| predicted_AVG | 0.000 | -0.096 |
| predicted_BB | 0.000 | -0.214 |
| predicted_H | 0.000 | -0.313 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.000 | -0.151 |
| predicted_R | 0.000 | -0.228 |
| predicted_RBI | 0.000 | -0.161 |
| predicted_SLG | 0.000 | -0.175 |
| 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 | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.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 | - | 15.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 6.000 | 0.1333 | 0.1875 | 0.3333 | 0.1333 | 0.0667 | 0.0667 | 0.0667 | 0.4000 |
| last_10 | 0.20 | 10 | - | 33.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 12.000 | 0.0909 | 0.1429 | 0.1818 | 0.0909 | 0.0303 | 0.0303 | 0.0606 | 0.3636 |
| season | 0.60 | 19 | - | 61.000 | 6.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 4.000 | 17.000 | 0.0984 | 0.1538 | 0.1475 | 0.0984 | 0.0164 | 0.0164 | 0.0656 | 0.2787 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0510 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.3810 |
| predicted_AVG | 0.1495 |
| predicted_BB | 0.2240 |
| predicted_H | 0.5050 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.2048 |
| predicted_R | 0.2910 |
| predicted_RBI | 0.2030 |
| predicted_SLG | 0.2603 |
| predicted_SO | 0.9790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0510 | 0.0182 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 3.2110 | 3.3810 | 3.2718 | model_form_blend |
| predicted_AVG | 0.1580 | 0.1495 | 0.1550 | model_form_blend |
| predicted_BB | 0.2110 | 0.2240 | 0.2156 | model_form_blend |
| predicted_H | 0.2200 | 0.5050 | 0.3219 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0700 | 0.1050 | 0.0825 | model_form_blend |
| predicted_OBP | 0.2040 | 0.2048 | 0.2043 | model_form_blend |
| predicted_R | 0.2110 | 0.2910 | 0.2396 | model_form_blend |
| predicted_RBI | 0.1500 | 0.2030 | 0.1690 | model_form_blend |
| predicted_SLG | 0.3050 | 0.2603 | 0.2890 | model_form_blend |
| predicted_SO | 0.8950 | 0.9790 | 0.9250 | 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 | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 19 |
| 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.098 |
| 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 | 2 |
| 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 | 20260729_TEX@TB |
| game_type | short |
| mlbID | 642851 |
| playerID | 642851 |
| playerName | Austin Wynns |
| pos | C |
| started | False |
| startingPosition | C |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.143 |
| sl_xwoba | 0.255 |
| sl_xba | 0.207 |
| sl_xslg | 0.319 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 31.1 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 55.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.155 | 0.000 | 0.000 | Hitting_2B | 0.165 | 1.000 | -0.165 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.990 | 3.000 | 4.000 | Hitting_AB | 3.787 | 4.000 | -0.787 | -1.000 |
| predicted_AVG | 0.217 | 0.000 | 0.250 | Hitting_AVG | 0.242 | 0.250 | -0.242 | -0.250 |
| predicted_BB | 0.301 | 1.000 | 0.000 | Hitting_BB | 0.318 | 0.000 | 0.682 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 0.000 | 1.000 | Hitting_H | 0.915 | 1.000 | -0.915 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_OBP | 0.301 | 0.250 | 0.250 | Hitting_OBP | 0.304 | 0.250 | -0.054 | 0.000 |
| predicted_R | 0.437 | 0.000 | 0.000 | Hitting_R | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_RBI | 0.670 | 0.000 | 1.000 | Hitting_RBI | 0.642 | 0.000 | -0.642 | 0.000 |
| predicted_SLG | 0.419 | 0.000 | 0.250 | Hitting_SLG | 0.418 | 0.500 | -0.418 | -0.500 |
| predicted_SO | 1.078 | 1.000 | 1.000 | Hitting_SO | 1.110 | 0.000 | -0.110 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3010 -> 1.0000 (boost 0.6990, better) |
| Biggest Deboost | predicted_AB: 3.9900 -> 3.0000 (deboost -0.9900, 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_SLG: 0.4190 -> 0.4468 (boost 0.0278, better) | predicted_AB: 3.9900 -> 3.9022 (deboost -0.0878, 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.2993 -> 0.2740 (deboost -0.0253, 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_RBI: 0.6606 -> 1.0000 (boost 0.3394, better) | predicted_BB: 0.2821 -> 0.0000 (deboost -0.2821, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.217 HR/AB=0.052 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4274 -> 0.0000 (deboost -0.4274, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2215 -> 0.2500 (boost 0.0285, better) | predicted_SLG: 0.4221 -> 0.2500 (deboost -0.1721, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4221 (boost 0.1721, better) | predicted_AVG: 0.2500 -> 0.2215 (deboost -0.0285, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669394",
"player_name": "Jake Burger",
"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.155,
"predicted_3B": 0.0,
"predicted_AB": 3.99,
"predicted_AVG": 0.217,
"predicted_BB": 0.301,
"predicted_H": 0.86,
"predicted_HR": 0.19,
"predicted_OBP": 0.301,
"predicted_R": 0.437,
"predicted_RBI": 0.67,
"predicted_SLG": 0.419,
"predicted_SO": 1.078
},
"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.1627,
"predicted_3B": 0.0004,
"predicted_AB": 3.9022,
"predicted_AVG": 0.2294,
"predicted_BB": 0.2842,
"predicted_H": 0.8901,
"predicted_HBP": 0.019,
"predicted_HR": 0.2124,
"predicted_OBP": 0.2993,
"predicted_R": 0.4491,
"predicted_RBI": 0.6941,
"predicted_SLG": 0.4468,
"predicted_SO": 1.0832
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1627,
"delta": 0.0077,
"percent_delta": 0.0497,
"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.99,
"after": 3.9022,
"delta": -0.0878,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2294,
"delta": 0.0124,
"percent_delta": 0.0571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.301,
"after": 0.2842,
"delta": -0.0168,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.8901,
"delta": 0.0301,
"percent_delta": 0.035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.2124,
"delta": 0.0224,
"percent_delta": 0.1179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2993,
"delta": -0.0017,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.437,
"after": 0.4491,
"delta": 0.0121,
"percent_delta": 0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.6941,
"delta": 0.0241,
"percent_delta": 0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4468,
"delta": 0.0278,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.078,
"after": 1.0832,
"delta": 0.0052,
"percent_delta": 0.0048,
"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.419,
"after": 0.4468,
"delta": 0.0278,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.9022,
"delta": -0.0878,
"percent_delta": -0.022,
"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.1627,
"predicted_3B": 0.0004,
"predicted_AB": 3.9022,
"predicted_AVG": 0.2215,
"predicted_BB": 0.2821,
"predicted_H": 0.8644,
"predicted_HBP": 0.019,
"predicted_HR": 0.2064,
"predicted_OBP": 0.274,
"predicted_R": 0.4274,
"predicted_RBI": 0.6606,
"predicted_SLG": 0.4221,
"predicted_SO": 1.0913
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1627,
"after": 0.1627,
"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.9022,
"after": 3.9022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2294,
"after": 0.2215,
"delta": -0.0079,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2842,
"after": 0.2821,
"delta": -0.0021,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8901,
"after": 0.8644,
"delta": -0.0257,
"percent_delta": -0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2124,
"after": 0.2064,
"delta": -0.006,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2993,
"after": 0.274,
"delta": -0.0253,
"percent_delta": -0.0845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4491,
"after": 0.4274,
"delta": -0.0217,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6941,
"after": 0.6606,
"delta": -0.0335,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4468,
"after": 0.4221,
"delta": -0.0247,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0832,
"after": 1.0913,
"delta": 0.0081,
"percent_delta": 0.0075,
"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.2993,
"after": 0.274,
"delta": -0.0253,
"percent_delta": -0.0845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.99), rates preserved: AVG=0.217 HR/AB=0.052",
"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.1627,
"after": 0.0,
"delta": -0.1627,
"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.9022,
"after": 4.0,
"delta": 0.0978,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2821,
"after": 0.0,
"delta": -0.2821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8644,
"after": 1.0,
"delta": 0.1356,
"percent_delta": 0.1569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2064,
"after": 0.0,
"delta": -0.2064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6606,
"after": 1.0,
"delta": 0.3394,
"percent_delta": 0.5138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0913,
"after": 1.0,
"delta": -0.0913,
"percent_delta": -0.0837,
"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_RBI",
"before": 0.6606,
"after": 1.0,
"delta": 0.3394,
"percent_delta": 0.5138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2821,
"after": 0.0,
"delta": -0.2821,
"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.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.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": 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.4274,
"after": 0.0,
"delta": -0.4274,
"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.4274,
"after": 0.0,
"delta": -0.4274,
"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": 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.2215,
"after": 0.25,
"delta": 0.0285,
"percent_delta": 0.1287,
"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.274,
"after": 0.25,
"delta": -0.024,
"percent_delta": -0.0876,
"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.4221,
"after": 0.25,
"delta": -0.1721,
"percent_delta": -0.4077,
"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.2215,
"after": 0.25,
"delta": 0.0285,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4221,
"after": 0.25,
"delta": -0.1721,
"percent_delta": -0.4077,
"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": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2215,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.274,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4221,
"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.25,
"after": 0.2215,
"delta": -0.0285,
"percent_delta": -0.114,
"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.25,
"after": 0.274,
"delta": 0.024,
"percent_delta": 0.096,
"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.4221,
"delta": 0.1721,
"percent_delta": 0.6883,
"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.4221,
"delta": 0.1721,
"percent_delta": 0.6883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2215,
"delta": -0.0285,
"percent_delta": -0.114,
"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.155,
"after": 0.0,
"delta": -0.155,
"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.99,
"after": 3.0,
"delta": -0.99,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2215,
"delta": 0.0045,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.301,
"after": 1.0,
"delta": 0.699,
"percent_delta": 2.3223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"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.301,
"after": 0.274,
"delta": -0.027,
"percent_delta": -0.0897,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.437,
"after": 0.0,
"delta": -0.437,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4221,
"delta": 0.0031,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.078,
"after": 1.0,
"delta": -0.078,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.301,
"after": 1.0,
"delta": 0.699,
"percent_delta": 2.3223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.0,
"delta": -0.99,
"percent_delta": -0.2481,
"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.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.301 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.437 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.419 | - |
| predicted_SO | 1.078 | - |
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.163 | 0.008 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.902 | -0.088 |
| predicted_AVG | 0.229 | 0.012 |
| predicted_BB | 0.284 | -0.017 |
| predicted_H | 0.890 | 0.030 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.212 | 0.022 |
| predicted_OBP | 0.299 | -0.002 |
| predicted_R | 0.449 | 0.012 |
| predicted_RBI | 0.694 | 0.024 |
| predicted_SLG | 0.447 | 0.028 |
| predicted_SO | 1.083 | 0.005 |
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.163 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.902 | 0.000 |
| predicted_AVG | 0.222 | -0.008 |
| predicted_BB | 0.282 | -0.002 |
| predicted_H | 0.864 | -0.026 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.206 | -0.006 |
| predicted_OBP | 0.274 | -0.025 |
| predicted_R | 0.427 | -0.022 |
| predicted_RBI | 0.661 | -0.034 |
| predicted_SLG | 0.422 | -0.025 |
| predicted_SO | 1.091 | 0.008 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.217 HR/AB=0.052
| 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 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| 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 |
| 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 | 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.163 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.098 |
| predicted_AVG | 0.250 | 0.028 |
| predicted_BB | 0.000 | -0.282 |
| predicted_H | 1.000 | 0.136 |
| predicted_HR | 0.000 | -0.206 |
| predicted_OBP | 0.250 | -0.024 |
| predicted_R | 0.000 | -0.427 |
| predicted_RBI | 1.000 | 0.339 |
| predicted_SLG | 0.250 | -0.172 |
| predicted_SO | 1.000 | -0.091 |
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 | -1.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 | - | 19.000 | 5.000 | 1.000 | 0.000 | 2.000 | 5.000 | 3.000 | 1.000 | 6.000 | 0.2632 | 0.3000 | 0.6316 | 0.2632 | 0.1053 | 0.2632 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 2.000 | 0.000 | 3.000 | 8.000 | 4.000 | 2.000 | 11.000 | 0.2500 | 0.2857 | 0.5250 | 0.2500 | 0.0750 | 0.2000 | 0.0500 | 0.2750 |
| season | 0.60 | 103 | - | 382.000 | 91.000 | 16.000 | 0.000 | 19.000 | 66.000 | 45.000 | 31.000 | 111.000 | 0.2382 | 0.2990 | 0.4293 | 0.2382 | 0.0497 | 0.1728 | 0.0811 | 0.2906 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7860 |
| predicted_AVG | 0.2457 |
| predicted_BB | 0.2620 |
| predicted_H | 0.9300 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.2420 |
| predicted_OBP | 0.2971 |
| predicted_R | 0.4650 |
| predicted_RBI | 0.7260 |
| predicted_SLG | 0.4836 |
| predicted_SO | 1.0900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.1730 | 0.1627 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9900 | 3.7860 | 3.9022 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2457 | 0.2294 | model_form_blend |
| predicted_BB | 0.3010 | 0.2620 | 0.2842 | model_form_blend |
| predicted_H | 0.8600 | 0.9300 | 0.8901 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1900 | 0.2420 | 0.2124 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2971 | 0.2993 | model_form_blend |
| predicted_R | 0.4370 | 0.4650 | 0.4491 | model_form_blend |
| predicted_RBI | 0.6700 | 0.7260 | 0.6941 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4836 | 0.4468 | model_form_blend |
| predicted_SO | 1.0780 | 1.0900 | 1.0832 | 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 | 399 |
| Season rows before report date | 399 |
| 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 | 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.238 |
| 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.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 | 0 |
| Hitting_TB | 2 |
| 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 | 1B |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 669394 |
| playerID | 669394 |
| playerName | Jake Burger |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.317 |
| sl_xwoba | 0.303 |
| sl_xba | 0.232 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 34.7 |
| sl_swing_percent | 50.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.214 | 0.000 | 0.000 | Hitting_2B | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_AB | 5.000 | 4.000 | 5.000 | Hitting_AB | 4.176 | 4.000 | -0.176 | 0.000 |
| predicted_AVG | 0.215 | 0.250 | 0.200 | Hitting_AVG | 0.288 | 0.000 | -0.038 | 0.250 |
| predicted_BB | 0.232 | 0.000 | 0.000 | Hitting_BB | 0.248 | 0.000 | -0.248 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.070 | 1.000 | 1.000 | Hitting_H | 1.203 | 0.000 | -0.203 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_OBP | 0.290 | 0.250 | 0.200 | Hitting_OBP | 0.331 | 0.000 | -0.081 | 0.250 |
| predicted_R | 0.607 | 0.000 | 1.000 | Hitting_R | 0.644 | 0.000 | -0.644 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_SLG | 0.440 | 0.250 | 0.200 | Hitting_SLG | 0.513 | 0.000 | -0.263 | 0.250 |
| predicted_SO | 0.964 | 1.000 | 1.000 | Hitting_SO | 0.959 | 2.000 | 0.041 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.2150 -> 0.2278 (boost 0.0128, better) |
| Biggest Deboost | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, 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.2150 -> 0.2380 (boost 0.0230, better) | predicted_AB: 5.0000 -> 4.6074 (deboost -0.3926, 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.4616 -> 0.4031 (deboost -0.0585, 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 | 2 | 3 | predicted_RBI: 0.5043 -> 1.0000 (boost 0.4957, better) | predicted_2B: 0.2537 -> 0.0000 (deboost -0.2537, worse) | AB rounded to 5 (raw=5.00), rates preserved: AVG=0.210 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5654 -> 1.0000 (boost 0.4346, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4031 -> 0.2000 (deboost -0.2031, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | 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.4031 (boost 0.2031, 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.214,
"predicted_3B": 0.036,
"predicted_AB": 5.0,
"predicted_AVG": 0.215,
"predicted_BB": 0.232,
"predicted_H": 1.07,
"predicted_HR": 0.16,
"predicted_OBP": 0.29,
"predicted_R": 0.607,
"predicted_RBI": 0.57,
"predicted_SLG": 0.44,
"predicted_SO": 0.964
},
"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.2537,
"predicted_3B": 0.0297,
"predicted_AB": 4.6074,
"predicted_AVG": 0.238,
"predicted_BB": 0.2074,
"predicted_H": 1.0809,
"predicted_HBP": 0.013,
"predicted_HR": 0.1696,
"predicted_OBP": 0.2949,
"predicted_R": 0.5941,
"predicted_RBI": 0.5299,
"predicted_SLG": 0.4616,
"predicted_SO": 0.9928
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.2537,
"delta": 0.0397,
"percent_delta": 0.1855,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0297,
"delta": -0.0063,
"percent_delta": -0.175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.6074,
"delta": -0.3926,
"percent_delta": -0.0785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.238,
"delta": 0.023,
"percent_delta": 0.107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.232,
"after": 0.2074,
"delta": -0.0246,
"percent_delta": -0.106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0809,
"delta": 0.0109,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1696,
"delta": 0.0096,
"percent_delta": 0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2949,
"delta": 0.0049,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.607,
"after": 0.5941,
"delta": -0.0129,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5299,
"delta": -0.0401,
"percent_delta": -0.0704,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4616,
"delta": 0.0216,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.964,
"after": 0.9928,
"delta": 0.0288,
"percent_delta": 0.0299,
"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.215,
"after": 0.238,
"delta": 0.023,
"percent_delta": 0.107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.6074,
"delta": -0.3926,
"percent_delta": -0.0785,
"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": 56
}
},
{
"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.2537,
"predicted_3B": 0.0297,
"predicted_AB": 4.6074,
"predicted_AVG": 0.2278,
"predicted_BB": 0.2058,
"predicted_H": 1.0497,
"predicted_HBP": 0.013,
"predicted_HR": 0.1648,
"predicted_OBP": 0.2608,
"predicted_R": 0.5654,
"predicted_RBI": 0.5043,
"predicted_SLG": 0.4031,
"predicted_SO": 1.0002
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2537,
"after": 0.2537,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0297,
"after": 0.0297,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6074,
"after": 4.6074,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2278,
"delta": -0.0102,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2074,
"after": 0.2058,
"delta": -0.0016,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0809,
"after": 1.0497,
"delta": -0.0312,
"percent_delta": -0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1696,
"after": 0.1648,
"delta": -0.0048,
"percent_delta": -0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2949,
"after": 0.2608,
"delta": -0.0341,
"percent_delta": -0.1156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5941,
"after": 0.5654,
"delta": -0.0287,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5299,
"after": 0.5043,
"delta": -0.0256,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4616,
"after": 0.4031,
"delta": -0.0585,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9928,
"after": 1.0002,
"delta": 0.0074,
"percent_delta": 0.0075,
"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.4616,
"after": 0.4031,
"delta": -0.0585,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.00), rates preserved: AVG=0.210 HR/AB=0.033",
"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.2537,
"after": 0.0,
"delta": -0.2537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0297,
"after": 0.0,
"delta": -0.0297,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6074,
"after": 5.0,
"delta": 0.3926,
"percent_delta": 0.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2058,
"after": 0.0,
"delta": -0.2058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0497,
"after": 1.0,
"delta": -0.0497,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1648,
"after": 0.0,
"delta": -0.1648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5043,
"after": 1.0,
"delta": 0.4957,
"percent_delta": 0.9829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0002,
"after": 1.0,
"delta": -0.0002,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5043,
"after": 1.0,
"delta": 0.4957,
"percent_delta": 0.9829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2537,
"after": 0.0,
"delta": -0.2537,
"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.5654,
"after": 1.0,
"delta": 0.4346,
"percent_delta": 0.7687,
"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.5654,
"after": 1.0,
"delta": 0.4346,
"percent_delta": 0.7687,
"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.2278,
"after": 0.2,
"delta": -0.0278,
"percent_delta": -0.122,
"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.2608,
"after": 0.2,
"delta": -0.0608,
"percent_delta": -0.2331,
"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.4031,
"after": 0.2,
"delta": -0.2031,
"percent_delta": -0.5038,
"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.4031,
"after": 0.2,
"delta": -0.2031,
"percent_delta": -0.5038,
"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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2278,
"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.2608,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4031,
"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.2278,
"delta": 0.0278,
"percent_delta": 0.1391,
"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.2608,
"delta": 0.0608,
"percent_delta": 0.3042,
"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.4031,
"delta": 0.2031,
"percent_delta": 1.0154,
"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.4031,
"delta": 0.2031,
"percent_delta": 1.0154,
"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.214,
"after": 0.0,
"delta": -0.214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"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_AVG",
"before": 0.215,
"after": 0.2278,
"delta": 0.0128,
"percent_delta": 0.0595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.232,
"after": 0.0,
"delta": -0.232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0,
"delta": -0.07,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2608,
"delta": -0.0292,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.607,
"after": 0.0,
"delta": -0.607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4031,
"delta": -0.0369,
"percent_delta": -0.0839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.964,
"after": 1.0,
"delta": 0.036,
"percent_delta": 0.0373,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2278,
"delta": 0.0128,
"percent_delta": 0.0595,
"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
},
"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.214 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 5.000 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.232 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.607 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.964 | - |
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.254 | 0.040 |
| predicted_3B | 0.030 | -0.006 |
| predicted_AB | 4.607 | -0.393 |
| predicted_AVG | 0.238 | 0.023 |
| predicted_BB | 0.207 | -0.025 |
| predicted_H | 1.081 | 0.011 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.170 | 0.010 |
| predicted_OBP | 0.295 | 0.005 |
| predicted_R | 0.594 | -0.013 |
| predicted_RBI | 0.530 | -0.040 |
| predicted_SLG | 0.462 | 0.022 |
| predicted_SO | 0.993 | 0.029 |
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.254 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 4.607 | 0.000 |
| predicted_AVG | 0.228 | -0.010 |
| predicted_BB | 0.206 | -0.002 |
| predicted_H | 1.050 | -0.031 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.165 | -0.005 |
| predicted_OBP | 0.261 | -0.034 |
| predicted_R | 0.565 | -0.029 |
| predicted_RBI | 0.504 | -0.026 |
| predicted_SLG | 0.403 | -0.058 |
| predicted_SO | 1.000 | 0.007 |
AB rounded to 5 (raw=5.00), rates preserved: AVG=0.210 HR/AB=0.033
| 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.254 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 5.000 | 0.393 |
| predicted_AVG | 0.200 | -0.028 |
| predicted_BB | 0.000 | -0.206 |
| predicted_H | 1.000 | -0.050 |
| predicted_HR | 0.000 | -0.165 |
| predicted_OBP | 0.200 | -0.061 |
| predicted_R | 1.000 | 0.435 |
| predicted_RBI | 1.000 | 0.496 |
| predicted_SLG | 0.200 | -0.203 |
| predicted_SO | 1.000 | -0.000 |
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 | -1.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 | - | 21.000 | 5.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 7.000 | 0.2381 | 0.2381 | 0.3810 | 0.2381 | 0.0000 | 0.0476 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 41.000 | 12.000 | 4.000 | 0.000 | 3.000 | 6.000 | 7.000 | 1.000 | 10.000 | 0.2927 | 0.3095 | 0.6098 | 0.2927 | 0.0732 | 0.1463 | 0.0244 | 0.2439 |
| season | 0.60 | 56 | - | 227.000 | 63.000 | 12.000 | 2.000 | 12.000 | 29.000 | 34.000 | 13.000 | 54.000 | 0.2775 | 0.3195 | 0.5066 | 0.2775 | 0.0529 | 0.1278 | 0.0573 | 0.2379 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3090 |
| predicted_3B | 0.0210 |
| predicted_AB | 4.0600 |
| predicted_AVG | 0.2700 |
| predicted_BB | 0.1730 |
| predicted_H | 1.0960 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1830 |
| predicted_OBP | 0.3017 |
| predicted_R | 0.5760 |
| predicted_RBI | 0.4740 |
| predicted_SLG | 0.4918 |
| predicted_SO | 1.0330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.3090 | 0.2537 | model_form_blend |
| predicted_3B | 0.0360 | 0.0210 | 0.0297 | model_form_blend |
| predicted_AB | 5.0000 | 4.0600 | 4.6074 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2700 | 0.2380 | model_form_blend |
| predicted_BB | 0.2320 | 0.1730 | 0.2074 | model_form_blend |
| predicted_H | 1.0700 | 1.0960 | 1.0809 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1600 | 0.1830 | 0.1696 | model_form_blend |
| predicted_OBP | 0.2900 | 0.3017 | 0.2949 | model_form_blend |
| predicted_R | 0.6070 | 0.5760 | 0.5941 | model_form_blend |
| predicted_RBI | 0.5700 | 0.4740 | 0.5299 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4918 | 0.4616 | model_form_blend |
| predicted_SO | 0.9640 | 1.0330 | 0.9928 | 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 | 222 |
| Season rows before report date | 222 |
| Report year | 2026 |
| Profile rows used | 56 |
| 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.278 |
| 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 | 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 | 20260729_TEX@TB |
| game_type | full |
| mlbID | 694671 |
| playerID | 694671 |
| playerName | Wyatt Langford |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.361 |
| sl_xwoba | 0.314 |
| sl_xba | 0.248 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 49.8 |
| 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 | 0.256 | 0.000 | 0.744 | 1.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 0.615 | 2.000 | 4.385 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 0.974 | 2.000 | 4.026 | 3.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 0.756 | 0.200 | 3.244 | 3.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.923 | 1.000 | 1.077 | 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": "668390",
"player_name": "Cole Winn",
"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": 1.0,
"predicted_ER": 5.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_R": 5.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.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 | 1.000 | - |
| predicted_ER | 5.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.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.000 | 2.000 | 4.000 | 1.000 | 4.000 | 2.000 | 4.5000 | 1.2500 | 0.5000 | 1.0000 | 0.2500 | 1.0000 | 0.5000 |
| last_10 | 0.35 | 10 | 9.100 | 5.000 | 9.000 | 1.000 | 8.000 | 2.000 | 4.8214 | 1.0714 | 0.5357 | 0.9643 | 0.1071 | 0.8571 | 0.2143 |
| season | 0.20 | 39 | 35.100 | 24.000 | 38.000 | 10.000 | 36.000 | 7.000 | 6.1132 | 1.3585 | 0.6793 | 1.0755 | 0.2830 | 1.0189 | 0.1981 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5800 |
| predicted_ER | 1.1450 |
| predicted_ERA | 4.7771 |
| predicted_H | 2.1400 |
| predicted_HR | 0.5640 |
| predicted_IP | 2.0000 |
| predicted_SO | 2.0630 |
| predicted_WHIP | 1.2602 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5800 | 0.8007 | model_form_blend |
| predicted_ER | 5.0000 | 1.1450 | 3.1705 | model_form_blend |
| predicted_ERA | - | 4.7771 | 4.7771 | form_only |
| predicted_H | 5.0000 | 2.1400 | 3.6427 | model_form_blend |
| predicted_HR | 1.0000 | 0.5640 | 0.7931 | model_form_blend |
| predicted_IP | 4.0000 | 2.0000 | 3.1000 | model_form_blend |
| predicted_SO | 2.0000 | 2.0630 | 2.0299 | model_form_blend |
| predicted_WHIP | - | 1.2602 | 1.2602 | 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 | 39 |
| Season rows before report date | 39 |
| Report year | 2026 |
| Profile rows used | 39 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.0 |
| H | 5 |
| R | 5 |
| ER | 5 |
| BB | 1 |
| SO | 2 |
| HR | 1 |
| BF | 18 |
| Pitches | 69 |
| 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 | 2 |
| Pitching_ERA | 6.11 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 12 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260726_SEA@TEX |
| game_type | full |
| mlbID | 668390 |
| playerID | 668390 |
| playerName | Cole Winn |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-26 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.341 |
| sl_xwoba | 0.34 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 44.0 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 54.3 |
| sl_avg_best_speed | 75.622205 |
| sl_avg_hyper_speed | 94.64987713 |
| 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 | 0.275 | 0.000 | 0.725 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.550 | 0.000 | -0.550 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.180 | 1.000 | -0.180 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.275 | 0.000 | -0.275 | 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": "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": 1.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": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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 | 1.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.100 | 2.000 | 3.000 | 0.000 | 5.000 | 0.000 | 3.3750 | 0.5625 | 0.3750 | 0.5625 | 0.0000 | 0.9375 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 2.000 | 5.000 | 3.000 | 11.000 | 0.000 | 1.5000 | 0.6667 | 0.1667 | 0.4167 | 0.2500 | 0.9167 | 0.0000 |
| season | 0.20 | 39 | 50.000 | 7.000 | 19.000 | 10.000 | 51.000 | 3.000 | 1.2600 | 0.5800 | 0.1400 | 0.3800 | 0.2000 | 1.0200 | 0.0600 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2290 |
| predicted_ER | 0.3800 |
| predicted_ERA | 3.0504 |
| predicted_H | 0.7210 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0670 |
| predicted_WHIP | 0.8462 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2290 | 0.6077 | model_form_blend |
| predicted_ER | 0.0000 | 0.3800 | 0.1934 | model_form_blend |
| predicted_ERA | - | 3.0504 | 3.0504 | form_only |
| predicted_H | 0.0000 | 0.7210 | 0.3669 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0336 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0670 | 1.0341 | model_form_blend |
| predicted_WHIP | - | 0.8462 | 0.8462 | 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 | 39 |
| 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 | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 7 |
| 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 | 1.80 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260728_TEX@TB |
| game_type | full |
| mlbID | 656641 |
| playerID | 656641 |
| playerName | Jacob Latz |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-28 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.181 |
| sl_xwoba | 0.243 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 36.7 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 52.5 |
| sl_avg_best_speed | 78.230742373 |
| sl_avg_hyper_speed | 93.610951111 |
| 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.194 | 0.000 | -0.194 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.014 | 1.000 | -0.014 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.833 | 0.000 | 1.167 | 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": "596001",
"player_name": "Jakob Junis",
"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": 1.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": 1.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": 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": 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": 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": 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 | 1.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 | 6.000 | 1.000 | 3.000 | 0.000 | 1.9286 | 1.5000 | 0.2143 | 1.2857 | 0.2143 | 0.6429 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 14.000 | 2.000 | 8.000 | 1.000 | 5.0000 | 1.7778 | 0.5556 | 1.5556 | 0.2222 | 0.8889 | 0.1111 |
| season | 0.20 | 36 | 40.000 | 12.000 | 36.000 | 7.000 | 30.000 | 2.000 | 2.7000 | 1.0750 | 0.3000 | 0.9000 | 0.1750 | 0.7500 | 0.0500 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2660 |
| predicted_ER | 0.4110 |
| predicted_ERA | 3.6963 |
| predicted_H | 1.1770 |
| predicted_HR | 0.0880 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8310 |
| predicted_WHIP | 1.4428 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2660 | 0.1296 | model_form_blend |
| predicted_ER | 0.0000 | 0.4110 | 0.2002 | model_form_blend |
| predicted_ERA | - | 3.6963 | 3.6963 | form_only |
| predicted_H | 1.0000 | 1.1770 | 1.0862 | model_form_blend |
| predicted_HR | 0.0000 | 0.0880 | 0.0429 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8310 | 1.4305 | model_form_blend |
| predicted_WHIP | - | 1.4428 | 1.4428 | 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 | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 36 |
| 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 | 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 | 2.70 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260728_TEX@TB |
| game_type | full |
| mlbID | 596001 |
| playerID | 596001 |
| playerName | Jakob Junis |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-28 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 4.3 |
| sl_woba | 0.261 |
| sl_xwoba | 0.301 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 34.7 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 76.310607742 |
| sl_avg_hyper_speed | 93.009177823 |
| 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.364 | 0.000 | -0.364 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.121 | 1.000 | -1.121 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.036 | 0.200 | -0.036 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.273 | 1.000 | -0.273 | 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": "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": 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 | 5.000 | 1.000 | 6.000 | 0.000 | 4.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 1.2000 | 0.0000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 13.000 | 4.000 | 8.000 | 0.000 | 5.0000 | 1.8889 | 0.5556 | 1.4444 | 0.4444 | 0.8889 | 0.0000 |
| season | 0.20 | 33 | 39.100 | 15.000 | 37.000 | 12.000 | 42.000 | 3.000 | 3.4322 | 1.2458 | 0.3814 | 0.9407 | 0.3051 | 1.0678 | 0.0763 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2820 |
| predicted_ER | 0.4340 |
| predicted_ERA | 3.7560 |
| predicted_H | 1.1800 |
| predicted_HR | 0.0710 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9510 |
| predicted_WHIP | 1.4042 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2820 | 0.1369 | model_form_blend |
| predicted_ER | 0.0000 | 0.4340 | 0.2107 | model_form_blend |
| predicted_ERA | - | 3.7560 | 3.7560 | form_only |
| predicted_H | 0.0000 | 1.1800 | 0.5728 | model_form_blend |
| predicted_HR | 0.0000 | 0.0710 | 0.0345 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9510 | 0.9762 | model_form_blend |
| predicted_WHIP | - | 1.4042 | 1.4042 | 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 | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| 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 | 17 |
| 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 | 3.43 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260728_TEX@TB |
| game_type | full |
| mlbID | 682608 |
| playerID | 682608 |
| playerName | Peyton Gray |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-28 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.286 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 32.2 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 74.977706607 |
| sl_avg_hyper_speed | 92.843978393 |
| 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.333 | 0.000 | -0.333 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.021 | 1.000 | -1.021 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.827 | 1.000 | -0.627 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.833 | 1.000 | -0.833 | -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.6667 -> 0.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: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641302",
"player_name": "Tyler Alexander",
"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": 0.6667,
"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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"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.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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": 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": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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 | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| 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.100 | 5.000 | 6.000 | 1.000 | 2.000 | 0.000 | 10.3846 | 1.6154 | 1.1539 | 1.3846 | 0.2308 | 0.4615 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 6.000 | 12.000 | 1.000 | 8.000 | 0.000 | 6.0000 | 1.4444 | 0.6667 | 1.3333 | 0.1111 | 0.8889 | 0.0000 |
| season | 0.20 | 48 | 46.000 | 16.000 | 49.000 | 12.000 | 40.000 | 2.000 | 3.1304 | 1.3261 | 0.3478 | 1.0652 | 0.2609 | 0.8696 | 0.0435 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2220 |
| predicted_ER | 0.6270 |
| predicted_ERA | 6.3953 |
| predicted_H | 1.0480 |
| predicted_HR | 0.0520 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6940 |
| predicted_WHIP | 1.4392 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2220 | 0.1112 | model_form_blend |
| predicted_ER | 0.0000 | 0.6270 | 0.3141 | model_form_blend |
| predicted_ERA | - | 6.3953 | 6.3953 | form_only |
| predicted_H | 0.0000 | 1.0480 | 0.5249 | model_form_blend |
| predicted_HR | 0.0000 | 0.0520 | 0.0260 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6940 | 0.3476 | model_form_blend |
| predicted_WHIP | - | 1.4392 | 1.4392 | 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 | 48 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.13 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260728_TEX@TB |
| game_type | full |
| mlbID | 641302 |
| playerID | 641302 |
| playerName | Tyler Alexander |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-28 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.304 |
| sl_xwoba | 0.285 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 34.5 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 46.2 |
| sl_avg_best_speed | 76.001266286 |
| sl_avg_hyper_speed | 93.119092643 |
| 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 | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.833 | 0.000 | 0.167 | 1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.712 | 0.100 | -0.612 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.708 | 0.000 | -0.708 | 0.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 0.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": 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": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"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": 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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.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 | 4.100 | 0.000 | 2.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.6923 | 0.0000 | 0.4615 | 0.2308 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 4.000 | 7.000 | 2.000 | 10.000 | 1.000 | 4.5000 | 1.1250 | 0.5000 | 0.8750 | 0.2500 | 1.2500 | 0.1250 |
| season | 0.20 | 23 | 19.200 | 9.000 | 17.000 | 7.000 | 17.000 | 2.000 | 4.1186 | 1.2203 | 0.4576 | 0.8644 | 0.3559 | 0.8644 | 0.1017 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1810 |
| predicted_ER | 0.2300 |
| predicted_ERA | 3.6073 |
| predicted_H | 0.4880 |
| predicted_HR | 0.0650 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6210 |
| predicted_WHIP | 1.1639 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1810 | 0.6616 | model_form_blend |
| predicted_ER | 0.0000 | 0.2300 | 0.0950 | model_form_blend |
| predicted_ERA | - | 3.6073 | 3.6073 | form_only |
| predicted_H | 1.0000 | 0.4880 | 0.7885 | model_form_blend |
| predicted_HR | 0.0000 | 0.0650 | 0.0269 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6210 | 0.2566 | model_form_blend |
| predicted_WHIP | - | 1.1639 | 1.1639 | 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 | 24 |
| Season rows before report date | 24 |
| 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 | 0.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.03 |
| 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 | 0.1 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260727_SEA@TEX |
| game_type | full |
| mlbID | 695239 |
| playerID | 695239 |
| playerName | Robby Ahlstrom |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-27 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.318 |
| sl_xwoba | 0.307 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 32.2 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 47.8 |
| sl_avg_best_speed | 74.021362759 |
| sl_avg_hyper_speed | 92.210783966 |
| Field | Value |
|---|---|
| Pitcher | Shane McClanahan |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0588 |
| ESPN Rank | 102 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0068 |
| Avg Velo | 89.7509 |
| Avg Spin | 2091.1954 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 3.0938 |
| Season WHIP | 1.1354 |
| Role Avg IP | 5.0530 |
| Recent Avg IP | 5.6670 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"opponent": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"edges": {
"quality_edge": 0.1698,
"offense_edge": -0.0498,
"opponent_offense_edge": -0.0608,
"defense_strength": 0.1251,
"opponent_defense_weakness": -0.0287,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.013,
"run_prevention": 0.9693,
"strikeout": 1.01
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663556",
"profile": {
"available": true,
"pitcher_id": "663556",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 376.0,
"k_percent": 22.2,
"bb_percent": 8.3,
"woba": 0.271,
"xwoba": 0.315,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 39.7,
"avg_best_speed": 78.2247,
"avg_hyper_speed": 94.3166,
"whiff_percent": 27.0,
"swing_percent": 48.7
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.0809,
"command_and_miss": 0.0854,
"regression_edge": -1.2571,
"xwoba_edge": -0.0857,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.2286,
"whiff_edge": 0.1857,
"bb_edge": 0.15,
"pitch_design_score": -0.0068
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663556",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 89.75094707107394,
"release_spin_rate": 2091.1953922047865,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 89.75094707107394,
"release_spin_rate": 2091.1953922047865,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7509,
"release_spin_rate": 2091.1954,
"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.0068,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0486,
"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.0588,
"sample_weight": 1.0,
"run_prevention_factor": 1.005,
"strikeout_factor": 1.0066,
"walk_factor": 0.988,
"homer_factor": 1.0419,
"woba_minus_xwoba": -0.044,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663556",
"espn_id": 41199,
"player_name": "Shane McClanahan",
"team": "TB",
"role": "pitcher",
"espn_rank": 102,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 102,
"gp_value": 19.0,
"gp_rank": 327,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 4.0,
"qs_rank": 98,
"era_value": 3.0937,
"era_rank": null,
"w_value": 9.0,
"w_rank": 20,
"l_value": 6.0,
"l_rank": 63,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 96.0,
"ip_rank": 87,
"h_value": 76.0,
"h_rank": 108,
"er_value": 33.0,
"er_rank": 127,
"hr_value": 7.0,
"hr_rank": 177,
"bb_value": 33.0,
"bb_rank": 73,
"k_value": 88.0,
"k_rank": 77,
"k_per_9_value": 8.25,
"k_per_9_rank": 23,
"whip_value": 1.1354,
"whip_rank": null,
"war_value": 1.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.005,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.005,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.988,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0419,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0066,
"adjusted": 4
}
}
}
}{
"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": 19,
"H": 46,
"BB": 16,
"SO": 41,
"HR": 5,
"ERA": 3.331168831168831,
"WHIP": 1.2077922077922076,
"K9": 7.188311688311688,
"HR9": 0.8766233766233766,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 3,
"assists": 0,
"games_fielded": 10,
"error_prone": true
},
"games_count": 10,
"latest_game_date": "2026-07-24T00:00:00"
}{
"available": true,
"pitcher_id": "663556",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 89.75094707107394,
"release_spin_rate": 2091.1953922047865,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 89.75094707107394,
"release_spin_rate": 2091.1953922047865,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7509,
"release_spin_rate": 2091.1954,
"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.0068,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0486,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 19.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7917,
"prior_weight": 0.2083
},
"role": "pitcher",
"player_id": "663556",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 8.0,
"R": 13.0,
"H": 20.0,
"BB": 6.0,
"SO": 19.0,
"HR": 4.0,
"BF": 110.0,
"Pitches": 387.0
},
"per_game": {
"IP": 5.2,
"ER": 1.6,
"R": 2.6,
"H": 4.0,
"BB": 1.2,
"SO": 3.8,
"HR": 0.8,
"BF": 22.0,
"Pitches": 77.4
},
"rates": {
"ERA": 2.5412,
"WHIP": 0.9176,
"ER_per_IP": 0.28235,
"H_per_IP": 0.70588,
"BB_per_IP": 0.21176,
"SO_per_IP": 0.67059,
"HR_per_IP": 0.14118
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.1,
"ER": 19.0,
"R": 24.0,
"H": 46.0,
"BB": 16.0,
"SO": 41.0,
"HR": 5.0,
"BF": 215.0,
"Pitches": 779.0
},
"per_game": {
"IP": 5.0,
"ER": 1.9,
"R": 2.4,
"H": 4.6,
"BB": 1.6,
"SO": 4.1,
"HR": 0.5,
"BF": 21.5,
"Pitches": 77.9
},
"rates": {
"ERA": 3.3312,
"WHIP": 1.2078,
"ER_per_IP": 0.37013,
"H_per_IP": 0.8961,
"BB_per_IP": 0.31169,
"SO_per_IP": 0.7987,
"HR_per_IP": 0.0974
}
},
"season": {
"games": 19,
"totals": {
"IP": 96.0,
"ER": 33.0,
"R": 40.0,
"H": 76.0,
"BB": 33.0,
"SO": 88.0,
"HR": 7.0,
"BF": 397.0,
"Pitches": 1498.0
},
"per_game": {
"IP": 5.0,
"ER": 1.7368,
"R": 2.1053,
"H": 4.0,
"BB": 1.7368,
"SO": 4.6316,
"HR": 0.3684,
"BF": 20.8947,
"Pitches": 78.8421
},
"rates": {
"ERA": 3.0938,
"WHIP": 1.1354,
"ER_per_IP": 0.34375,
"H_per_IP": 0.79167,
"BB_per_IP": 0.34375,
"SO_per_IP": 0.91667,
"HR_per_IP": 0.07292
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 1.952,
"predicted_H": 4.454,
"predicted_BB": 1.561,
"predicted_SO": 4.329,
"predicted_HR": 0.647,
"predicted_ERA": 3.267,
"predicted_WHIP": 1.1188
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.438,
"form_weight": 0.562,
"form_reliability": 0.7917,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7917,
"prior_weight": 0.2083
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.952,
"final": 2.411,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.454,
"final": 4.6932,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.561,
"final": 1.7533,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.329,
"final": 4.6229,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.647,
"final": 0.8016,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.267,
"final": 3.267,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1188,
"final": 1.1188,
"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 | Bryan Baker |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4459 |
| ESPN Rank | 70 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0826 |
| Avg Velo | 91.3466 |
| Avg Spin | 2114.4924 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.5242 |
| Season WHIP | 0.8468 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"opponent": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"edges": {
"quality_edge": 0.1698,
"offense_edge": -0.0498,
"opponent_offense_edge": -0.0608,
"defense_strength": 0.1251,
"opponent_defense_weakness": -0.0287,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.013,
"run_prevention": 0.9693,
"strikeout": 1.01
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641329",
"profile": {
"available": true,
"pitcher_id": "641329",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 147.0,
"k_percent": 27.7,
"bb_percent": 8.4,
"woba": 0.213,
"xwoba": 0.255,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 32.7,
"avg_best_speed": 74.4902,
"avg_hyper_speed": 93.011,
"whiff_percent": 29.1,
"swing_percent": 52.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.3064,
"command_and_miss": 0.5389,
"regression_edge": -1.2,
"xwoba_edge": 1.6286,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.7714,
"whiff_edge": 0.4857,
"bb_edge": 0.125,
"pitch_design_score": 0.0826
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641329",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.34661631036246,
"release_spin_rate": 2114.4923797411307,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 91.34661631036246,
"release_spin_rate": 2114.4923797411307,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3466,
"release_spin_rate": 2114.4924,
"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.0826,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5897,
"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.4459,
"sample_weight": 0.588,
"run_prevention_factor": 0.9621,
"strikeout_factor": 1.0294,
"walk_factor": 0.9941,
"homer_factor": 0.9427,
"woba_minus_xwoba": -0.042,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "641329",
"espn_id": 40884,
"player_name": "Bryan Baker",
"team": "TB",
"role": "pitcher",
"espn_rank": 70,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 70,
"gp_value": 43.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 1.5241,
"era_rank": null,
"w_value": 1.0,
"w_rank": 350,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 29.0,
"sv_rank": 2,
"hld_value": 2.0,
"hld_rank": 199,
"ip_value": 41.1,
"ip_rank": 276,
"h_value": 22.0,
"h_rank": 409,
"er_value": 7.0,
"er_rank": 523,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 13.0,
"bb_rank": 332,
"k_value": 43.0,
"k_rank": 252,
"k_per_9_value": 9.362903,
"k_per_9_rank": 24,
"whip_value": 0.8467,
"whip_rank": null,
"war_value": 1.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9777,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9777,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9965,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9663,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0173,
"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": 0,
"H": 5,
"BB": 2,
"SO": 8,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.7,
"K9": 7.2,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "641329",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.34661631036246,
"release_spin_rate": 2114.4923797411307,
"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": 13,
"pitch_usage": 0.0,
"release_speed": 91.34661631036246,
"release_spin_rate": 2114.4923797411307,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3466,
"release_spin_rate": 2114.4924,
"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.0826,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5897,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.237,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6223,
"prior_weight": 0.3777
},
"role": "pitcher",
"player_id": "641329",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 87.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 3.8,
"Pitches": 17.4
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.4,
"SO_per_IP": 0.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.7
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"season": {
"games": 43,
"totals": {
"IP": 41.1,
"ER": 7.0,
"R": 7.0,
"H": 22.0,
"BB": 13.0,
"SO": 43.0,
"HR": 2.0,
"BF": 159.0,
"Pitches": 656.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1628,
"R": 0.1628,
"H": 0.5116,
"BB": 0.3023,
"SO": 1.0,
"HR": 0.0465,
"BF": 3.6977,
"Pitches": 15.2558
},
"rates": {
"ERA": 1.5242,
"WHIP": 0.8468,
"ER_per_IP": 0.16935,
"H_per_IP": 0.53226,
"BB_per_IP": 0.31452,
"SO_per_IP": 1.04032,
"HR_per_IP": 0.04839
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.212,
"predicted_H": 0.712,
"predicted_BB": 0.329,
"predicted_SO": 0.778,
"predicted_HR": 0.063,
"predicted_ERA": 1.91,
"predicted_WHIP": 1.041
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5096,
"form_weight": 0.4904,
"form_reliability": 0.6223,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.237,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6223,
"prior_weight": 0.3777
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.212,
"final": 0.104,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.712,
"final": 0.3492,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.329,
"final": 0.1613,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.778,
"final": 1.4007,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.063,
"final": 0.0309,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.91,
"final": 1.91,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.041,
"final": 1.041,
"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 | Garrett Cleavinger |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1519 |
| ESPN Rank | 251 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0077 |
| Avg Velo | 89.7353 |
| Avg Spin | 2573.3417 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.4105 |
| Season WHIP | 1.2316 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"opponent": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"edges": {
"quality_edge": 0.1698,
"offense_edge": -0.0498,
"opponent_offense_edge": -0.0608,
"defense_strength": 0.1251,
"opponent_defense_weakness": -0.0287,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.013,
"run_prevention": 0.9693,
"strikeout": 1.01
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664076",
"profile": {
"available": true,
"pitcher_id": "664076",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 122.0,
"k_percent": 32.3,
"bb_percent": 10.8,
"woba": 0.301,
"xwoba": 0.294,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 41.1,
"avg_best_speed": 74.4876,
"avg_hyper_speed": 93.9927,
"whiff_percent": 26.9,
"swing_percent": 46.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2404,
"command_and_miss": 0.6046,
"regression_edge": 0.2,
"xwoba_edge": 0.5143,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.4286,
"whiff_edge": 0.1714,
"bb_edge": -0.475,
"pitch_design_score": -0.0077
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "664076",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 89.73527335116118,
"release_spin_rate": 2573.341710504988,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 89.73527335116118,
"release_spin_rate": 2573.341710504988,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7353,
"release_spin_rate": 2573.3417,
"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.0077,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0549,
"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.1519,
"sample_weight": 0.488,
"run_prevention_factor": 0.9871,
"strikeout_factor": 1.0311,
"walk_factor": 1.0185,
"homer_factor": 1.0104,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664076",
"espn_id": 36429,
"player_name": "Garrett Cleavinger",
"team": "TB",
"role": "pitcher",
"espn_rank": 251,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 251,
"gp_value": 36.0,
"gp_rank": 124,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.4105,
"era_rank": null,
"w_value": 2.0,
"w_rank": 259,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 19.0,
"hld_rank": 9,
"ip_value": 31.2,
"ip_rank": 363,
"h_value": 25.0,
"h_rank": 385,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 14.0,
"bb_rank": 308,
"k_value": 43.0,
"k_rank": 252,
"k_per_9_value": 12.221053,
"k_per_9_rank": 18,
"whip_value": 1.2315,
"whip_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.009,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0051,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0152,
"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": 1,
"H": 6,
"BB": 3,
"SO": 12,
"HR": 1,
"ERA": 1.0384615384615383,
"WHIP": 1.0384615384615383,
"K9": 12.46153846153846,
"HR9": 1.0384615384615383,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "664076",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 89.73527335116118,
"release_spin_rate": 2573.341710504988,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 89.73527335116118,
"release_spin_rate": 2573.341710504988,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7353,
"release_spin_rate": 2573.3417,
"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.0077,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0549,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.311,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5579,
"prior_weight": 0.4421
},
"role": "pitcher",
"player_id": "664076",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 2.0,
"SO": 5.0,
"HR": 1.0,
"BF": 15.0,
"Pitches": 72.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.4,
"SO": 1.0,
"HR": 0.2,
"BF": 3.0,
"Pitches": 14.4
},
"rates": {
"ERA": 2.25,
"WHIP": 0.75,
"ER_per_IP": 0.25,
"H_per_IP": 0.25,
"BB_per_IP": 0.5,
"SO_per_IP": 1.25,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 12.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.3,
"SO": 1.2,
"HR": 0.1,
"BF": 3.5,
"Pitches": 15.2
},
"rates": {
"ERA": 1.0385,
"WHIP": 1.0385,
"ER_per_IP": 0.11538,
"H_per_IP": 0.69231,
"BB_per_IP": 0.34615,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 36,
"totals": {
"IP": 31.2,
"ER": 12.0,
"R": 13.0,
"H": 25.0,
"BB": 14.0,
"SO": 43.0,
"HR": 4.0,
"BF": 132.0,
"Pitches": 537.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.3611,
"H": 0.6944,
"BB": 0.3889,
"SO": 1.1944,
"HR": 0.1111,
"BF": 3.6667,
"Pitches": 14.9167
},
"rates": {
"ERA": 3.4105,
"WHIP": 1.2316,
"ER_per_IP": 0.37895,
"H_per_IP": 0.78947,
"BB_per_IP": 0.44211,
"SO_per_IP": 1.35789,
"HR_per_IP": 0.12632
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.322,
"predicted_H": 0.658,
"predicted_BB": 0.366,
"predicted_SO": 1.063,
"predicted_HR": 0.152,
"predicted_ERA": 3.1618,
"predicted_WHIP": 1.1174
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5368,
"form_weight": 0.4632,
"form_reliability": 0.5579,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.311,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5579,
"prior_weight": 0.4421
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.322,
"final": 0.1492,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.658,
"final": 0.3048,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.366,
"final": 0.1695,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.063,
"final": 1.0292,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.152,
"final": 0.0704,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1618,
"final": 3.1618,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1174,
"final": 1.1174,
"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 | Kevin Kelly |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0800 |
| ESPN Rank | 84 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0507 |
| Avg Velo | 88.9671 |
| Avg Spin | 2038.9420 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.1745 |
| Season WHIP | 0.8456 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 115,
"wins": 66,
"losses": 49,
"win_pct": 0.5739,
"runs_scored": 495.0,
"runs_allowed": 463.0,
"run_differential": 32.0,
"run_differential_per_game": 0.2783,
"avg_runs_scored": 4.3043,
"avg_runs_allowed": 4.0261,
"offense_index": 0.9502,
"defense_index": 1.1251,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 2.1,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.1666
},
"opponent": {
"team": "TEX",
"games": 114,
"wins": 59,
"losses": 55,
"win_pct": 0.5175,
"runs_scored": 485.0,
"runs_allowed": 502.0,
"run_differential": -17.0,
"run_differential_per_game": -0.1491,
"avg_runs_scored": 4.2544,
"avg_runs_allowed": 4.4035,
"offense_index": 0.9392,
"defense_index": 1.0287,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0032
},
"edges": {
"quality_edge": 0.1698,
"offense_edge": -0.0498,
"opponent_offense_edge": -0.0608,
"defense_strength": 0.1251,
"opponent_defense_weakness": -0.0287,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.013,
"run_prevention": 0.9693,
"strikeout": 1.01
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687330",
"profile": {
"available": true,
"pitcher_id": "687330",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 176.0,
"k_percent": 20.3,
"bb_percent": 4.4,
"woba": 0.242,
"xwoba": 0.31,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 45.5,
"avg_best_speed": 78.5072,
"avg_hyper_speed": 94.8888,
"whiff_percent": 18.8,
"swing_percent": 47.7
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.2682,
"command_and_miss": -0.2518,
"regression_edge": -1.9429,
"xwoba_edge": 0.0571,
"barrel_edge": 0.0667,
"hard_hit_edge": -1.0571,
"whiff_edge": -0.9857,
"bb_edge": 1.125,
"pitch_design_score": -0.0507
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687330",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 88.96713412732095,
"release_spin_rate": 2038.9420318316954,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 88.96713412732095,
"release_spin_rate": 2038.9420318316954,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9671,
"release_spin_rate": 2038.942,
"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.0507,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3621,
"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.08,
"sample_weight": 0.704,
"run_prevention_factor": 1.0068,
"strikeout_factor": 0.964,
"walk_factor": 0.9366,
"homer_factor": 1.0248,
"woba_minus_xwoba": -0.068,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "687330",
"espn_id": 5001153,
"player_name": "Kevin Kelly",
"team": "TB",
"role": "pitcher",
"espn_rank": 84,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 84,
"gp_value": 45.0,
"gp_rank": 41,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.1744,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 4.0,
"sv_rank": 43,
"hld_value": 21.0,
"hld_rank": 2,
"ip_value": 49.2,
"ip_rank": 202,
"h_value": 34.0,
"h_rank": 288,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 8.0,
"bb_rank": 461,
"k_value": 40.0,
"k_rank": 277,
"k_per_9_value": 7.248322,
"k_per_9_rank": 37,
"whip_value": 0.8456,
"whip_rank": null,
"war_value": 1.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0048,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0048,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9554,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0175,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9747,
"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": 13.0,
"ER": 2,
"H": 8,
"BB": 1,
"SO": 12,
"HR": 1,
"ERA": 1.3846153846153846,
"WHIP": 0.6923076923076923,
"K9": 8.307692307692308,
"HR9": 0.6923076923076923,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "687330",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 88.96713412732095,
"release_spin_rate": 2038.9420318316954,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 88.96713412732095,
"release_spin_rate": 2038.9420318316954,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9671,
"release_spin_rate": 2038.942,
"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.0507,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3621,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.898,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6644,
"prior_weight": 0.3356
},
"role": "pitcher",
"player_id": "687330",
"report_date": "20260730_T",
"season_year": 2026,
"rows_used": 45,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3529,
"ER_per_IP": 0.0,
"H_per_IP": 0.17647,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.41176,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 2.0,
"R": 2.0,
"H": 8.0,
"BB": 1.0,
"SO": 12.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 140.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.1,
"SO": 1.2,
"HR": 0.1,
"BF": 4.6,
"Pitches": 14.0
},
"rates": {
"ERA": 1.3846,
"WHIP": 0.6923,
"ER_per_IP": 0.15385,
"H_per_IP": 0.61538,
"BB_per_IP": 0.07692,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.07692
}
},
"season": {
"games": 45,
"totals": {
"IP": 49.2,
"ER": 12.0,
"R": 14.0,
"H": 34.0,
"BB": 8.0,
"SO": 40.0,
"HR": 4.0,
"BF": 185.0,
"Pitches": 669.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2667,
"R": 0.3111,
"H": 0.7556,
"BB": 0.1778,
"SO": 0.8889,
"HR": 0.0889,
"BF": 4.1111,
"Pitches": 14.8667
},
"rates": {
"ERA": 2.1745,
"WHIP": 0.8456,
"ER_per_IP": 0.24161,
"H_per_IP": 0.68456,
"BB_per_IP": 0.16107,
"SO_per_IP": 0.80537,
"HR_per_IP": 0.08054
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.256,
"predicted_H": 0.662,
"predicted_BB": 0.228,
"predicted_SO": 1.148,
"predicted_HR": 0.086,
"predicted_ERA": 2.1395,
"predicted_WHIP": 0.8259
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4918,
"form_weight": 0.5082,
"form_reliability": 0.6644,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.898,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6644,
"prior_weight": 0.3356
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.256,
"final": 0.1301,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.662,
"final": 1.32,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.228,
"final": 0.1159,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.148,
"final": 0.5834,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.086,
"final": 0.0437,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1395,
"final": 2.1395,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8259,
"final": 0.8259,
"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.173 | 1.000 | 0.000 | Hitting_2B | 0.170 | 1.000 | 0.830 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.090 | 3.000 | 4.000 | Hitting_AB | 3.819 | 4.000 | -0.819 | -1.000 |
| predicted_AVG | 0.276 | 1.000 | 0.250 | Hitting_AVG | 0.289 | 0.250 | 0.711 | 0.750 |
| predicted_BB | 0.510 | 0.000 | 0.000 | Hitting_BB | 0.526 | 0.000 | -0.526 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.130 | 3.000 | 1.000 | Hitting_H | 1.102 | 1.000 | 1.898 | 2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.337 | 1.000 | 0.250 | Hitting_OBP | 0.379 | 0.250 | 0.621 | 0.750 |
| predicted_R | 0.490 | 1.000 | 0.000 | Hitting_R | 0.501 | 1.000 | 0.499 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.671 | 0.000 | -0.671 | 0.000 |
| predicted_SLG | 0.402 | 1.333 | 0.250 | Hitting_SLG | 0.447 | 0.500 | 0.886 | 0.833 |
| predicted_SO | 1.019 | 0.000 | 1.000 | Hitting_SO | 1.039 | 2.000 | -1.039 | -2.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: 1.1300 -> 3.0000 (boost 1.8700, better) |
| Biggest Deboost | predicted_AB: 4.0900 -> 3.0000 (deboost -1.0900, 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 | 1 | 4 | 0 | 5 | predicted_SO: 1.0190 -> 1.1049 (boost 0.0859, worse) | predicted_AB: 4.0900 -> 3.9713 (deboost -0.1187, 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 | 1 | 0 | 1 | 0 | predicted_OBP: 0.3360 -> 0.3484 (boost 0.0124, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_BB: 0.4570 -> 0.0000 (deboost -0.4570, worse) | AB rounded to 4 (raw=4.09), rates preserved: AVG=0.265 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4903 -> 0.0000 (deboost -0.4903, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3877 -> 0.2500 (deboost -0.1377, 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_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_AB: 4.0000 -> 3.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.3877 (boost 0.1377, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.173,
"predicted_3B": 0.0,
"predicted_AB": 4.09,
"predicted_AVG": 0.276,
"predicted_BB": 0.51,
"predicted_H": 1.13,
"predicted_HR": 0.1,
"predicted_OBP": 0.337,
"predicted_R": 0.49,
"predicted_RBI": 0.4,
"predicted_SLG": 0.402,
"predicted_SO": 1.019
},
"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.17,
"predicted_3B": 0.0004,
"predicted_AB": 3.9713,
"predicted_AVG": 0.2716,
"predicted_BB": 0.4556,
"predicted_H": 1.0799,
"predicted_HBP": 0.047,
"predicted_HR": 0.0944,
"predicted_OBP": 0.336,
"predicted_R": 0.4844,
"predicted_RBI": 0.4047,
"predicted_SLG": 0.3915,
"predicted_SO": 1.1049
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.17,
"delta": -0.003,
"percent_delta": -0.0173,
"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.09,
"after": 3.9713,
"delta": -0.1187,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2716,
"delta": -0.0044,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.51,
"after": 0.4556,
"delta": -0.0544,
"percent_delta": -0.1067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0799,
"delta": -0.0501,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0944,
"delta": -0.0056,
"percent_delta": -0.056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.336,
"delta": -0.001,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 0.4844,
"delta": -0.0056,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4047,
"delta": 0.0047,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3915,
"delta": -0.0105,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.019,
"after": 1.1049,
"delta": 0.0859,
"percent_delta": 0.0843,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.019,
"after": 1.1049,
"delta": 0.0859,
"percent_delta": 0.0843,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.09,
"after": 3.9713,
"delta": -0.1187,
"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": 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.17,
"predicted_3B": 0.0004,
"predicted_AB": 3.9713,
"predicted_AVG": 0.2734,
"predicted_BB": 0.457,
"predicted_H": 1.0858,
"predicted_HBP": 0.047,
"predicted_HR": 0.0944,
"predicted_OBP": 0.3484,
"predicted_R": 0.4903,
"predicted_RBI": 0.4096,
"predicted_SLG": 0.3877,
"predicted_SO": 1.1015
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.17,
"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.9713,
"after": 3.9713,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2716,
"after": 0.2734,
"delta": 0.0018,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4556,
"after": 0.457,
"delta": 0.0014,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0799,
"after": 1.0858,
"delta": 0.0059,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0944,
"after": 0.0944,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3484,
"delta": 0.0124,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4844,
"after": 0.4903,
"delta": 0.0059,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4047,
"after": 0.4096,
"delta": 0.0049,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3915,
"after": 0.3877,
"delta": -0.0038,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1049,
"after": 1.1015,
"delta": -0.0034,
"percent_delta": -0.0031,
"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_OBP",
"before": 0.336,
"after": 0.3484,
"delta": 0.0124,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.09), rates preserved: AVG=0.265 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.17,
"after": 0.0,
"delta": -0.17,
"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.9713,
"after": 4.0,
"delta": 0.0287,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.457,
"after": 0.0,
"delta": -0.457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0858,
"after": 1.0,
"delta": -0.0858,
"percent_delta": -0.079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0944,
"after": 0.0,
"delta": -0.0944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4096,
"after": 0.0,
"delta": -0.4096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1015,
"after": 1.0,
"delta": -0.1015,
"percent_delta": -0.0921,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.457,
"after": 0.0,
"delta": -0.457,
"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.4903,
"after": 0.0,
"delta": -0.4903,
"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.4903,
"after": 0.0,
"delta": -0.4903,
"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.2734,
"after": 0.25,
"delta": -0.0234,
"percent_delta": -0.0856,
"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.3484,
"after": 0.25,
"delta": -0.0984,
"percent_delta": -0.2824,
"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.3877,
"after": 0.25,
"delta": -0.1377,
"percent_delta": -0.3552,
"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.3877,
"after": 0.25,
"delta": -0.1377,
"percent_delta": -0.3552,
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 1.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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"delta": 2.0,
"percent_delta": 2.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": 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": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"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_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 3.0,
"predicted_AVG": 0.2734,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3484,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3877,
"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": 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.25,
"after": 0.2734,
"delta": 0.0234,
"percent_delta": 0.0937,
"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": 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.25,
"after": 0.3484,
"delta": 0.0984,
"percent_delta": 0.3936,
"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.25,
"after": 0.3877,
"delta": 0.1377,
"percent_delta": 0.5509,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3877,
"delta": 0.1377,
"percent_delta": 0.5509,
"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.173,
"after": 1.0,
"delta": 0.827,
"percent_delta": 4.7803,
"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.09,
"after": 3.0,
"delta": -1.09,
"percent_delta": -0.2665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2734,
"delta": -0.0026,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 3.0,
"delta": 1.87,
"percent_delta": 1.6549,
"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.337,
"after": 0.3484,
"delta": 0.0114,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3877,
"delta": -0.0143,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.019,
"after": 0.0,
"delta": -1.019,
"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": 1.13,
"after": 3.0,
"delta": 1.87,
"percent_delta": 1.6549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.09,
"after": 3.0,
"delta": -1.09,
"percent_delta": -0.2665,
"direction": "deboost",
"projection_effect": "worse",
"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.173 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.090 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.510 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.490 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 1.019 | - |
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.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.971 | -0.119 |
| predicted_AVG | 0.272 | -0.004 |
| predicted_BB | 0.456 | -0.054 |
| predicted_H | 1.080 | -0.050 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.094 | -0.006 |
| predicted_OBP | 0.336 | -0.001 |
| predicted_R | 0.484 | -0.006 |
| predicted_RBI | 0.405 | 0.005 |
| predicted_SLG | 0.392 | -0.011 |
| predicted_SO | 1.105 | 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.170 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.971 | 0.000 |
| predicted_AVG | 0.273 | 0.002 |
| predicted_BB | 0.457 | 0.001 |
| predicted_H | 1.086 | 0.006 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.094 | 0.000 |
| predicted_OBP | 0.348 | 0.012 |
| predicted_R | 0.490 | 0.006 |
| predicted_RBI | 0.410 | 0.005 |
| predicted_SLG | 0.388 | -0.004 |
| predicted_SO | 1.101 | -0.003 |
AB rounded to 4 (raw=4.09), rates preserved: AVG=0.265 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.170 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.029 |
| predicted_AVG | 0.250 | -0.023 |
| predicted_BB | 0.000 | -0.457 |
| predicted_H | 1.000 | -0.086 |
| predicted_HR | 0.000 | -0.094 |
| predicted_OBP | 0.250 | -0.098 |
| predicted_R | 0.000 | -0.490 |
| predicted_RBI | 0.000 | -0.410 |
| predicted_SLG | 0.250 | -0.138 |
| predicted_SO | 1.000 | -0.101 |
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 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 1.000 | 1.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 | - | 20.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 8.000 | 0.2500 | 0.2857 | 0.3000 | 0.2500 | 0.0000 | 0.0000 | 0.0500 | 0.4000 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 16.000 | 0.2250 | 0.2619 | 0.2500 | 0.2250 | 0.0000 | 0.0250 | 0.0500 | 0.4000 |
| season | 0.60 | 104 | - | 384.000 | 110.000 | 18.000 | 0.000 | 14.000 | 65.000 | 51.000 | 53.000 | 106.000 | 0.2865 | 0.3783 | 0.4427 | 0.2865 | 0.0365 | 0.1693 | 0.1380 | 0.2760 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1660 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8150 |
| predicted_AVG | 0.2657 |
| predicted_BB | 0.3840 |
| predicted_H | 1.0140 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.0870 |
| predicted_OBP | 0.3346 |
| predicted_R | 0.4770 |
| predicted_RBI | 0.4110 |
| predicted_SLG | 0.3777 |
| predicted_SO | 1.2180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.1660 | 0.1700 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0900 | 3.8150 | 3.9713 | model_form_blend |
| predicted_AVG | 0.2760 | 0.2657 | 0.2716 | model_form_blend |
| predicted_BB | 0.5100 | 0.3840 | 0.4556 | model_form_blend |
| predicted_H | 1.1300 | 1.0140 | 1.0799 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.1000 | 0.0870 | 0.0944 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3346 | 0.3360 | model_form_blend |
| predicted_R | 0.4900 | 0.4770 | 0.4844 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4110 | 0.4047 | model_form_blend |
| predicted_SLG | 0.4020 | 0.3777 | 0.3915 | model_form_blend |
| predicted_SO | 1.0190 | 1.2180 | 1.1049 | 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 | 441 |
| Season rows before report date | 441 |
| 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 | 4 |
| AB | 3 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| 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 | 1 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| 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 | 1B |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.358 |
| sl_xwoba | 0.358 |
| sl_xba | 0.264 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 44.7 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 46.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.254 | 0.000 | 0.000 | Hitting_2B | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.288 | 4.000 | 3.000 | Hitting_AB | 3.636 | 3.000 | 0.364 | 1.000 |
| predicted_AVG | 0.263 | 0.250 | 0.333 | Hitting_AVG | 0.286 | 0.000 | -0.036 | 0.250 |
| predicted_BB | 0.169 | 0.000 | 0.000 | Hitting_BB | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_H | 0.864 | 1.000 | 1.000 | Hitting_H | 1.039 | 0.000 | -0.039 | 1.000 |
| predicted_HR | 0.102 | 0.000 | 0.000 | Hitting_HR | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.333 | Hitting_OBP | 0.320 | 0.000 | -0.070 | 0.250 |
| predicted_R | 0.458 | 1.000 | 0.000 | Hitting_R | 0.485 | 0.000 | 0.515 | 1.000 |
| predicted_RBI | 0.542 | 1.000 | 0.000 | Hitting_RBI | 0.680 | 0.000 | 0.320 | 1.000 |
| predicted_SLG | 0.433 | 0.250 | 0.333 | Hitting_SLG | 0.463 | 0.000 | -0.213 | 0.250 |
| predicted_SO | 0.729 | 3.000 | 1.000 | Hitting_SO | 0.757 | 1.000 | 2.243 | 2.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_SO: 0.7290 -> 3.0000 (boost 2.2710, worse) |
| Biggest Deboost | predicted_2B: 0.2540 -> 0.0000 (deboost -0.2540, 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 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4330 -> 0.4188 (deboost -0.0142, 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 | 2 | 5 | 1 | 6 | predicted_SO: 0.7420 -> 1.0000 (boost 0.2580, worse) | predicted_RBI: 0.5294 -> 0.0000 (deboost -0.5294, worse) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.260 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4824 -> 0.0000 (deboost -0.4824, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2596 -> 0.3330 (boost 0.0734, better) | predicted_SLG: 0.4204 -> 0.3330 (deboost -0.0874, 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_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4204 (boost 0.0874, better) | predicted_AVG: 0.3330 -> 0.2596 (deboost -0.0734, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"position": "LF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.254,
"predicted_3B": 0.0,
"predicted_AB": 3.288,
"predicted_AVG": 0.263,
"predicted_BB": 0.169,
"predicted_H": 0.864,
"predicted_HR": 0.102,
"predicted_OBP": 0.299,
"predicted_R": 0.458,
"predicted_RBI": 0.542,
"predicted_SLG": 0.433,
"predicted_SO": 0.729
},
"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.2433,
"predicted_3B": 0.0008,
"predicted_AB": 3.2954,
"predicted_AVG": 0.2583,
"predicted_BB": 0.1719,
"predicted_H": 0.8508,
"predicted_HBP": 0.004,
"predicted_HR": 0.095,
"predicted_OBP": 0.2955,
"predicted_R": 0.4766,
"predicted_RBI": 0.523,
"predicted_SLG": 0.4188,
"predicted_SO": 0.7443
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.254,
"after": 0.2433,
"delta": -0.0107,
"percent_delta": -0.0421,
"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.288,
"after": 3.2954,
"delta": 0.0074,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2583,
"delta": -0.0047,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.1719,
"delta": 0.0029,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.864,
"after": 0.8508,
"delta": -0.0132,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.102,
"after": 0.095,
"delta": -0.007,
"percent_delta": -0.0686,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2955,
"delta": -0.0035,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.458,
"after": 0.4766,
"delta": 0.0186,
"percent_delta": 0.0406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.542,
"after": 0.523,
"delta": -0.019,
"percent_delta": -0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4188,
"delta": -0.0142,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.729,
"after": 0.7443,
"delta": 0.0153,
"percent_delta": 0.021,
"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.433,
"after": 0.4188,
"delta": -0.0142,
"percent_delta": -0.0328,
"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": 59
}
},
{
"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.2433,
"predicted_3B": 0.0008,
"predicted_AB": 3.2954,
"predicted_AVG": 0.2596,
"predicted_BB": 0.1724,
"predicted_H": 0.8555,
"predicted_HBP": 0.004,
"predicted_HR": 0.095,
"predicted_OBP": 0.2964,
"predicted_R": 0.4824,
"predicted_RBI": 0.5294,
"predicted_SLG": 0.4204,
"predicted_SO": 0.742
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2433,
"after": 0.2433,
"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.2954,
"after": 3.2954,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2583,
"after": 0.2596,
"delta": 0.0013,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1719,
"after": 0.1724,
"delta": 0.0005,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8508,
"after": 0.8555,
"delta": 0.0047,
"percent_delta": 0.0055,
"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.095,
"after": 0.095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2955,
"after": 0.2964,
"delta": 0.0009,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4766,
"after": 0.4824,
"delta": 0.0058,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.523,
"after": 0.5294,
"delta": 0.0064,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4188,
"after": 0.4204,
"delta": 0.0016,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7443,
"after": 0.742,
"delta": -0.0023,
"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.30), rates preserved: AVG=0.260 HR/AB=0.029",
"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.2433,
"after": 0.0,
"delta": -0.2433,
"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.2954,
"after": 3.0,
"delta": -0.2954,
"percent_delta": -0.0896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1724,
"after": 0.0,
"delta": -0.1724,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8555,
"after": 1.0,
"delta": 0.1445,
"percent_delta": 0.1689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5294,
"after": 0.0,
"delta": -0.5294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.742,
"after": 1.0,
"delta": 0.258,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.742,
"after": 1.0,
"delta": 0.258,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5294,
"after": 0.0,
"delta": -0.5294,
"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.4824,
"after": 0.0,
"delta": -0.4824,
"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.4824,
"after": 0.0,
"delta": -0.4824,
"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.2596,
"after": 0.333,
"delta": 0.0734,
"percent_delta": 0.2827,
"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.2964,
"after": 0.333,
"delta": 0.0366,
"percent_delta": 0.1235,
"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.4204,
"after": 0.333,
"delta": -0.0874,
"percent_delta": -0.2079,
"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.2596,
"after": 0.333,
"delta": 0.0734,
"percent_delta": 0.2827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4204,
"after": 0.333,
"delta": -0.0874,
"percent_delta": -0.2079,
"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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.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_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": 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.2596,
"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.2964,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4204,
"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.2596,
"delta": -0.0734,
"percent_delta": -0.2204,
"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.2964,
"delta": -0.0366,
"percent_delta": -0.1099,
"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.4204,
"delta": 0.0874,
"percent_delta": 0.2624,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4204,
"delta": 0.0874,
"percent_delta": 0.2624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2596,
"delta": -0.0734,
"percent_delta": -0.2204,
"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.254,
"after": 0.0,
"delta": -0.254,
"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.288,
"after": 4.0,
"delta": 0.712,
"percent_delta": 0.2165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2596,
"delta": -0.0034,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.864,
"after": 1.0,
"delta": 0.136,
"percent_delta": 0.1574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2964,
"delta": -0.0026,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.458,
"after": 1.0,
"delta": 0.542,
"percent_delta": 1.1834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.542,
"after": 1.0,
"delta": 0.458,
"percent_delta": 0.845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4204,
"delta": -0.0126,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.729,
"after": 3.0,
"delta": 2.271,
"percent_delta": 3.1152,
"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_SO",
"before": 0.729,
"after": 3.0,
"delta": 2.271,
"percent_delta": 3.1152,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"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.254 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.288 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.169 | - |
| predicted_H | 0.864 | - |
| predicted_HR | 0.102 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.458 | - |
| predicted_RBI | 0.542 | - |
| predicted_SLG | 0.433 | - |
| predicted_SO | 0.729 | - |
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.243 | -0.011 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.295 | 0.007 |
| predicted_AVG | 0.258 | -0.005 |
| predicted_BB | 0.172 | 0.003 |
| predicted_H | 0.851 | -0.013 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.095 | -0.007 |
| predicted_OBP | 0.295 | -0.004 |
| predicted_R | 0.477 | 0.019 |
| predicted_RBI | 0.523 | -0.019 |
| predicted_SLG | 0.419 | -0.014 |
| predicted_SO | 0.744 | 0.015 |
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.243 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.295 | 0.000 |
| predicted_AVG | 0.260 | 0.001 |
| predicted_BB | 0.172 | 0.001 |
| predicted_H | 0.856 | 0.005 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.095 | 0.000 |
| predicted_OBP | 0.296 | 0.001 |
| predicted_R | 0.482 | 0.006 |
| predicted_RBI | 0.529 | 0.006 |
| predicted_SLG | 0.420 | 0.002 |
| predicted_SO | 0.742 | -0.002 |
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.260 HR/AB=0.029
| 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.243 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.295 |
| predicted_AVG | 0.333 | 0.073 |
| predicted_BB | 0.000 | -0.172 |
| predicted_H | 1.000 | 0.144 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.333 | 0.037 |
| predicted_R | 0.000 | -0.482 |
| predicted_RBI | 0.000 | -0.529 |
| predicted_SLG | 0.333 | -0.087 |
| predicted_SO | 1.000 | 0.258 |
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 | 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 | - | 14.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 3.000 | 0.2143 | 0.2667 | 0.2857 | 0.2143 | 0.0000 | 0.0714 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 2.000 | 0.000 | 1.000 | 7.000 | 5.000 | 1.000 | 10.000 | 0.2571 | 0.2778 | 0.4000 | 0.2571 | 0.0286 | 0.2000 | 0.0286 | 0.2857 |
| season | 0.60 | 59 | - | 194.000 | 51.000 | 15.000 | 0.000 | 6.000 | 32.000 | 27.000 | 10.000 | 43.000 | 0.2629 | 0.2990 | 0.4330 | 0.2629 | 0.0309 | 0.1650 | 0.0515 | 0.2217 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2280 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3060 |
| predicted_AVG | 0.2515 |
| predicted_BB | 0.1760 |
| predicted_H | 0.8320 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0850 |
| predicted_OBP | 0.2905 |
| predicted_R | 0.5030 |
| predicted_RBI | 0.4960 |
| predicted_SLG | 0.3985 |
| predicted_SO | 0.7660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2540 | 0.2280 | 0.2433 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2880 | 3.3060 | 3.2954 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2515 | 0.2583 | model_form_blend |
| predicted_BB | 0.1690 | 0.1760 | 0.1719 | model_form_blend |
| predicted_H | 0.8640 | 0.8320 | 0.8508 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1020 | 0.0850 | 0.0950 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2905 | 0.2955 | model_form_blend |
| predicted_R | 0.4580 | 0.5030 | 0.4766 | model_form_blend |
| predicted_RBI | 0.5420 | 0.4960 | 0.5230 | model_form_blend |
| predicted_SLG | 0.4330 | 0.3985 | 0.4188 | model_form_blend |
| predicted_SO | 0.7290 | 0.7660 | 0.7443 | 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 | 206 |
| Season rows before report date | 206 |
| Report year | 2026 |
| Profile rows used | 59 |
| 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 | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.263 |
| 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 | 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 | CF |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 676356 |
| playerID | 676356 |
| playerName | Jonny DeLuca |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.316 |
| sl_xwoba | 0.287 |
| sl_xba | 0.254 |
| sl_xslg | 0.364 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 29.7 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 26.6 |
| sl_swing_percent | 53.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.176 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 4.060 | 2.000 | 4.000 | Hitting_AB | 3.982 | 3.000 | -1.982 | -1.000 |
| predicted_AVG | 0.259 | 0.000 | 0.250 | Hitting_AVG | 0.309 | 0.333 | -0.309 | -0.333 |
| predicted_BB | 0.412 | 2.000 | 0.000 | Hitting_BB | 0.406 | 1.000 | 1.594 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 1.050 | 0.000 | 1.000 | Hitting_H | 1.231 | 1.000 | -1.231 | -1.000 |
| predicted_HR | 0.310 | 0.000 | 0.000 | Hitting_HR | 0.139 | 1.000 | -0.139 | -1.000 |
| predicted_OBP | 0.338 | 0.500 | 0.250 | Hitting_OBP | 0.384 | 0.500 | 0.116 | 0.000 |
| predicted_R | 0.578 | 1.000 | 1.000 | Hitting_R | 0.589 | 1.000 | 0.411 | 0.000 |
| predicted_RBI | 0.710 | 0.000 | 1.000 | Hitting_RBI | 0.651 | 1.000 | -0.651 | -1.000 |
| predicted_SLG | 0.506 | 0.000 | 0.250 | Hitting_SLG | 0.465 | 1.333 | -0.465 | -1.333 |
| predicted_SO | 0.627 | 0.000 | 1.000 | Hitting_SO | 0.605 | 0.000 | -0.605 | 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 | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4120 -> 2.0000 (boost 1.5880, better) |
| Biggest Deboost | predicted_AB: 4.0600 -> 2.0000 (deboost -2.0600, 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 | 1 | 4 | 0 | 5 | predicted_SO: 0.6270 -> 0.7116 (boost 0.0846, worse) | predicted_RBI: 0.7100 -> 0.6271 (deboost -0.0829, 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 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4721 -> 0.4914 (boost 0.0193, better) | predicted_OBP: 0.3353 -> 0.3279 (deboost -0.0074, 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_RBI: 0.6348 -> 1.0000 (boost 0.3652, better) | predicted_BB: 0.4180 -> 0.0000 (deboost -0.4180, worse) | AB rounded to 4 (raw=4.06), rates preserved: AVG=0.253 HR/AB=0.061 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6021 -> 1.0000 (boost 0.3979, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4914 -> 0.2500 (deboost -0.2414, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 4.0000 -> 2.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.2500 -> 0.4914 (boost 0.2414, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.01,
"predicted_AB": 4.06,
"predicted_AVG": 0.259,
"predicted_BB": 0.412,
"predicted_H": 1.05,
"predicted_HR": 0.31,
"predicted_OBP": 0.338,
"predicted_R": 0.578,
"predicted_RBI": 0.71,
"predicted_SLG": 0.506,
"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.173,
"predicted_3B": 0.0087,
"predicted_AB": 3.9896,
"predicted_AVG": 0.2562,
"predicted_BB": 0.4167,
"predicted_H": 1.0215,
"predicted_HBP": 0.052,
"predicted_HR": 0.2478,
"predicted_OBP": 0.3353,
"predicted_R": 0.5948,
"predicted_RBI": 0.6271,
"predicted_SLG": 0.4721,
"predicted_SO": 0.7116
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.173,
"delta": -0.003,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 3.9896,
"delta": -0.0704,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2562,
"delta": -0.0028,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.4167,
"delta": 0.0047,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0215,
"delta": -0.0285,
"percent_delta": -0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.2478,
"delta": -0.0622,
"percent_delta": -0.2006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3353,
"delta": -0.0027,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.578,
"after": 0.5948,
"delta": 0.0168,
"percent_delta": 0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.6271,
"delta": -0.0829,
"percent_delta": -0.1168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.4721,
"delta": -0.0339,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 0.7116,
"delta": 0.0846,
"percent_delta": 0.1349,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.627,
"after": 0.7116,
"delta": 0.0846,
"percent_delta": 0.1349,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.6271,
"delta": -0.0829,
"percent_delta": -0.1168,
"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.173,
"predicted_3B": 0.0087,
"predicted_AB": 3.9896,
"predicted_AVG": 0.2574,
"predicted_BB": 0.418,
"predicted_H": 1.0271,
"predicted_HBP": 0.052,
"predicted_HR": 0.2477,
"predicted_OBP": 0.3279,
"predicted_R": 0.6021,
"predicted_RBI": 0.6348,
"predicted_SLG": 0.4914,
"predicted_SO": 0.7094
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.173,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9896,
"after": 3.9896,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2562,
"after": 0.2574,
"delta": 0.0012,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4167,
"after": 0.418,
"delta": 0.0013,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0215,
"after": 1.0271,
"delta": 0.0056,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.052,
"after": 0.052,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2478,
"after": 0.2477,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3353,
"after": 0.3279,
"delta": -0.0074,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5948,
"after": 0.6021,
"delta": 0.0073,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6271,
"after": 0.6348,
"delta": 0.0077,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4721,
"after": 0.4914,
"delta": 0.0193,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7116,
"after": 0.7094,
"delta": -0.0022,
"percent_delta": -0.0031,
"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_SLG",
"before": 0.4721,
"after": 0.4914,
"delta": 0.0193,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3353,
"after": 0.3279,
"delta": -0.0074,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.06), rates preserved: AVG=0.253 HR/AB=0.061",
"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.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9896,
"after": 4.0,
"delta": 0.0104,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.418,
"after": 0.0,
"delta": -0.418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0271,
"after": 1.0,
"delta": -0.0271,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.052,
"after": 0.0,
"delta": -0.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2477,
"after": 0.0,
"delta": -0.2477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6348,
"after": 1.0,
"delta": 0.3652,
"percent_delta": 0.5753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7094,
"after": 1.0,
"delta": 0.2906,
"percent_delta": 0.4096,
"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_RBI",
"before": 0.6348,
"after": 1.0,
"delta": 0.3652,
"percent_delta": 0.5753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.418,
"after": 0.0,
"delta": -0.418,
"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.6021,
"after": 1.0,
"delta": 0.3979,
"percent_delta": 0.6609,
"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.6021,
"after": 1.0,
"delta": 0.3979,
"percent_delta": 0.6609,
"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.2574,
"after": 0.25,
"delta": -0.0074,
"percent_delta": -0.0287,
"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.3279,
"after": 0.25,
"delta": -0.0779,
"percent_delta": -0.2376,
"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.4914,
"after": 0.25,
"delta": -0.2414,
"percent_delta": -0.4912,
"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.4914,
"after": 0.25,
"delta": -0.2414,
"percent_delta": -0.4912,
"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": 2.0,
"predicted_BB": 2.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": 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": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 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": 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": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"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": 2.0,
"predicted_AVG": 0.2574,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3279,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4914,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2574,
"delta": 0.0074,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"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": 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.3279,
"delta": 0.0779,
"percent_delta": 0.3115,
"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.25,
"after": 0.4914,
"delta": 0.2414,
"percent_delta": 0.9657,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4914,
"delta": 0.2414,
"percent_delta": 0.9657,
"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.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 2.0,
"delta": -2.06,
"percent_delta": -0.5074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2574,
"delta": -0.0016,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 2.0,
"delta": 1.588,
"percent_delta": 3.8544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3279,
"delta": -0.0101,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.578,
"after": 1.0,
"delta": 0.422,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.4914,
"delta": -0.0146,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.412,
"after": 2.0,
"delta": 1.588,
"percent_delta": 3.8544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.06,
"after": 2.0,
"delta": -2.06,
"percent_delta": -0.5074,
"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.176 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.310 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.578 | - |
| predicted_RBI | 0.710 | - |
| predicted_SLG | 0.506 | - |
| 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.173 | -0.003 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.990 | -0.070 |
| predicted_AVG | 0.256 | -0.003 |
| predicted_BB | 0.417 | 0.005 |
| predicted_H | 1.022 | -0.028 |
| predicted_HBP | 0.052 | - |
| predicted_HR | 0.248 | -0.062 |
| predicted_OBP | 0.335 | -0.003 |
| predicted_R | 0.595 | 0.017 |
| predicted_RBI | 0.627 | -0.083 |
| predicted_SLG | 0.472 | -0.034 |
| predicted_SO | 0.712 | 0.085 |
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.173 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.990 | 0.000 |
| predicted_AVG | 0.257 | 0.001 |
| predicted_BB | 0.418 | 0.001 |
| predicted_H | 1.027 | 0.006 |
| predicted_HBP | 0.052 | 0.000 |
| predicted_HR | 0.248 | -0.000 |
| predicted_OBP | 0.328 | -0.007 |
| predicted_R | 0.602 | 0.007 |
| predicted_RBI | 0.635 | 0.008 |
| predicted_SLG | 0.491 | 0.019 |
| predicted_SO | 0.709 | -0.002 |
AB rounded to 4 (raw=4.06), rates preserved: AVG=0.253 HR/AB=0.061
| 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.173 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.010 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 0.000 | -0.418 |
| predicted_H | 1.000 | -0.027 |
| predicted_HR | 0.000 | -0.248 |
| predicted_OBP | 0.250 | -0.078 |
| predicted_R | 1.000 | 0.398 |
| predicted_RBI | 1.000 | 0.365 |
| predicted_SLG | 0.250 | -0.241 |
| predicted_SO | 1.000 | 0.291 |
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 | 2.000 | -2.000 |
| BB | 2.000 | 2.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 | 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 | - | 18.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 6.000 | 0.1667 | 0.2857 | 0.3889 | 0.1667 | 0.0556 | 0.0556 | 0.1667 | 0.3333 |
| last_10 | 0.20 | 10 | - | 43.000 | 8.000 | 1.000 | 0.000 | 2.000 | 6.000 | 8.000 | 3.000 | 10.000 | 0.1860 | 0.2391 | 0.3488 | 0.1860 | 0.0465 | 0.1395 | 0.0698 | 0.2326 |
| season | 0.60 | 102 | - | 395.000 | 120.000 | 18.000 | 1.000 | 15.000 | 62.000 | 59.000 | 42.000 | 64.000 | 0.3038 | 0.3808 | 0.4684 | 0.3038 | 0.0380 | 0.1570 | 0.1063 | 0.1620 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1690 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.8970 |
| predicted_AVG | 0.2525 |
| predicted_BB | 0.4230 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.0520 |
| predicted_HR | 0.1660 |
| predicted_OBP | 0.3317 |
| predicted_R | 0.6170 |
| predicted_RBI | 0.5180 |
| predicted_SLG | 0.4274 |
| predicted_SO | 0.8230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1690 | 0.1730 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 4.0600 | 3.8970 | 3.9896 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2525 | 0.2562 | model_form_blend |
| predicted_BB | 0.4120 | 0.4230 | 0.4167 | model_form_blend |
| predicted_H | 1.0500 | 0.9840 | 1.0215 | model_form_blend |
| predicted_HBP | - | 0.0520 | 0.0520 | form_only |
| predicted_HR | 0.3100 | 0.1660 | 0.2478 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3317 | 0.3353 | model_form_blend |
| predicted_R | 0.5780 | 0.6170 | 0.5948 | model_form_blend |
| predicted_RBI | 0.7100 | 0.5180 | 0.6271 | model_form_blend |
| predicted_SLG | 0.5060 | 0.4274 | 0.4721 | model_form_blend |
| predicted_SO | 0.6270 | 0.8230 | 0.7116 | 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 | 438 |
| Season rows before report date | 438 |
| 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 | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| 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 | 4 |
| 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 | 20260729_TEX@TB |
| game_type | full |
| mlbID | 650490 |
| playerID | 650490 |
| playerName | Yandy Díaz |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 14.5 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.363 |
| sl_xwoba | 0.355 |
| sl_xba | 0.285 |
| sl_xslg | 0.441 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 47.0 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 5.5 |
| sl_whiff_percent | 14.3 |
| 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.067 | 0.000 | 0.000 | Hitting_2B | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 3.880 | 4.000 | 4.000 | Hitting_AB | 3.640 | 3.000 | 0.360 | 1.000 |
| predicted_AVG | 0.198 | 0.000 | 0.250 | Hitting_AVG | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_BB | 0.322 | 0.000 | 0.000 | Hitting_BB | 0.369 | 0.000 | -0.369 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.746 | 0.000 | -0.746 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.144 | 0.000 | -0.144 | 0.000 |
| predicted_OBP | 0.277 | 0.000 | 0.250 | Hitting_OBP | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_R | 0.422 | 0.000 | 0.000 | Hitting_R | 0.461 | 0.000 | -0.461 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.403 | 0.000 | -0.403 | 0.000 |
| predicted_SLG | 0.328 | 0.000 | 0.250 | Hitting_SLG | 0.352 | 0.000 | -0.352 | 0.000 |
| predicted_SO | 0.833 | 1.000 | 1.000 | Hitting_SO | 0.862 | 1.000 | 0.138 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8330 -> 1.0000 (boost 0.1670, worse) |
| Biggest Deboost | predicted_H: 0.7700 -> 0.0000 (deboost -0.7700, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3280 -> 0.3432 (boost 0.0152, better) | predicted_AB: 3.8800 -> 3.7148 (deboost -0.1652, 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.3432 -> 0.3245 (deboost -0.0187, 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_AB: 3.7148 -> 4.0000 (boost 0.2852, better) | predicted_RBI: 0.3517 -> 0.0000 (deboost -0.3517, worse) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.192 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4591 -> 0.0000 (deboost -0.4591, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2002 -> 0.2500 (boost 0.0498, better) | predicted_SLG: 0.3245 -> 0.2500 (deboost -0.0745, 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.3245 (boost 0.0745, better) | predicted_AVG: 0.2500 -> 0.2002 (deboost -0.0498, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656775",
"player_name": "Cedric Mullins",
"position": "CF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.067,
"predicted_3B": 0.022,
"predicted_AB": 3.88,
"predicted_AVG": 0.198,
"predicted_BB": 0.322,
"predicted_H": 0.77,
"predicted_HR": 0.09,
"predicted_OBP": 0.277,
"predicted_R": 0.422,
"predicted_RBI": 0.33,
"predicted_SLG": 0.328,
"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.0918,
"predicted_3B": 0.0429,
"predicted_AB": 3.7148,
"predicted_AVG": 0.1989,
"predicted_BB": 0.3083,
"predicted_H": 0.7397,
"predicted_HBP": 0.097,
"predicted_HR": 0.0947,
"predicted_OBP": 0.2762,
"predicted_R": 0.4536,
"predicted_RBI": 0.3475,
"predicted_SLG": 0.3432,
"predicted_SO": 0.8689
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.0918,
"delta": 0.0248,
"percent_delta": 0.3701,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0429,
"delta": 0.0209,
"percent_delta": 0.95,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 3.7148,
"delta": -0.1652,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.1989,
"delta": 0.0009,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.322,
"after": 0.3083,
"delta": -0.0137,
"percent_delta": -0.0425,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7397,
"delta": -0.0303,
"percent_delta": -0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0947,
"delta": 0.0047,
"percent_delta": 0.0522,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2762,
"delta": -0.0008,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.4536,
"delta": 0.0316,
"percent_delta": 0.0749,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3475,
"delta": 0.0175,
"percent_delta": 0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3432,
"delta": 0.0152,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8689,
"delta": 0.0359,
"percent_delta": 0.0431,
"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_SLG",
"before": 0.328,
"after": 0.3432,
"delta": 0.0152,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 3.7148,
"delta": -0.1652,
"percent_delta": -0.0426,
"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": 90
}
},
{
"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.0918,
"predicted_3B": 0.0429,
"predicted_AB": 3.7148,
"predicted_AVG": 0.2002,
"predicted_BB": 0.3093,
"predicted_H": 0.7438,
"predicted_HBP": 0.097,
"predicted_HR": 0.0947,
"predicted_OBP": 0.2617,
"predicted_R": 0.4591,
"predicted_RBI": 0.3517,
"predicted_SLG": 0.3245,
"predicted_SO": 0.8662
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0918,
"after": 0.0918,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0429,
"after": 0.0429,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7148,
"after": 3.7148,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1989,
"after": 0.2002,
"delta": 0.0013,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3083,
"after": 0.3093,
"delta": 0.001,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7397,
"after": 0.7438,
"delta": 0.0041,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.097,
"after": 0.097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0947,
"after": 0.0947,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2762,
"after": 0.2617,
"delta": -0.0145,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4536,
"after": 0.4591,
"delta": 0.0055,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3475,
"after": 0.3517,
"delta": 0.0042,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3432,
"after": 0.3245,
"delta": -0.0187,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8689,
"after": 0.8662,
"delta": -0.0027,
"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_SLG",
"before": 0.3432,
"after": 0.3245,
"delta": -0.0187,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.88), rates preserved: AVG=0.192 HR/AB=0.024",
"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.0918,
"after": 0.0,
"delta": -0.0918,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0429,
"after": 0.0,
"delta": -0.0429,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7148,
"after": 4.0,
"delta": 0.2852,
"percent_delta": 0.0768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3093,
"after": 0.0,
"delta": -0.3093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7438,
"after": 1.0,
"delta": 0.2562,
"percent_delta": 0.3444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.097,
"after": 0.0,
"delta": -0.097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0947,
"after": 0.0,
"delta": -0.0947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3517,
"after": 0.0,
"delta": -0.3517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8662,
"after": 1.0,
"delta": 0.1338,
"percent_delta": 0.1545,
"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": 3.7148,
"after": 4.0,
"delta": 0.2852,
"percent_delta": 0.0768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3517,
"after": 0.0,
"delta": -0.3517,
"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.4591,
"after": 0.0,
"delta": -0.4591,
"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.4591,
"after": 0.0,
"delta": -0.4591,
"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.2002,
"after": 0.25,
"delta": 0.0498,
"percent_delta": 0.2488,
"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.2617,
"after": 0.25,
"delta": -0.0117,
"percent_delta": -0.0447,
"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.3245,
"after": 0.25,
"delta": -0.0745,
"percent_delta": -0.2296,
"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.2002,
"after": 0.25,
"delta": 0.0498,
"percent_delta": 0.2488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3245,
"after": 0.25,
"delta": -0.0745,
"percent_delta": -0.2296,
"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.2002,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2617,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3245,
"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.2002,
"delta": -0.0498,
"percent_delta": -0.1991,
"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.2617,
"delta": 0.0117,
"percent_delta": 0.0467,
"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.3245,
"delta": 0.0745,
"percent_delta": 0.2979,
"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.3245,
"delta": 0.0745,
"percent_delta": 0.2979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2002,
"delta": -0.0498,
"percent_delta": -0.1991,
"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.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 4.0,
"delta": 0.12,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.2002,
"delta": 0.0022,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.322,
"after": 0.0,
"delta": -0.322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2617,
"delta": -0.0153,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"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.328,
"after": 0.3245,
"delta": -0.0035,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.067 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.198 | - |
| predicted_BB | 0.322 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.422 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.328 | - |
| 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.092 | 0.025 |
| predicted_3B | 0.043 | 0.021 |
| predicted_AB | 3.715 | -0.165 |
| predicted_AVG | 0.199 | 0.001 |
| predicted_BB | 0.308 | -0.014 |
| predicted_H | 0.740 | -0.030 |
| predicted_HBP | 0.097 | - |
| predicted_HR | 0.095 | 0.005 |
| predicted_OBP | 0.276 | -0.001 |
| predicted_R | 0.454 | 0.032 |
| predicted_RBI | 0.347 | 0.017 |
| predicted_SLG | 0.343 | 0.015 |
| predicted_SO | 0.869 | 0.036 |
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.092 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.715 | 0.000 |
| predicted_AVG | 0.200 | 0.001 |
| predicted_BB | 0.309 | 0.001 |
| predicted_H | 0.744 | 0.004 |
| predicted_HBP | 0.097 | 0.000 |
| predicted_HR | 0.095 | 0.000 |
| predicted_OBP | 0.262 | -0.015 |
| predicted_R | 0.459 | 0.006 |
| predicted_RBI | 0.352 | 0.004 |
| predicted_SLG | 0.325 | -0.019 |
| predicted_SO | 0.866 | -0.003 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.192 HR/AB=0.024
| 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.092 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 4.000 | 0.285 |
| predicted_AVG | 0.250 | 0.050 |
| predicted_BB | 0.000 | -0.309 |
| predicted_H | 1.000 | 0.256 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.250 | -0.012 |
| predicted_R | 0.000 | -0.459 |
| predicted_RBI | 0.000 | -0.352 |
| predicted_SLG | 0.250 | -0.075 |
| predicted_SO | 1.000 | 0.134 |
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 | 3.000 | 1.000 | 1.000 | 0.000 | 2.000 | 3.000 | 1.000 | 5.000 | 0.1875 | 0.2632 | 0.3750 | 0.1875 | 0.0000 | 0.1250 | 0.0625 | 0.3125 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 2.000 | 1.000 | 1.000 | 3.000 | 6.000 | 3.000 | 11.000 | 0.1892 | 0.2619 | 0.3784 | 0.1892 | 0.0270 | 0.0811 | 0.0811 | 0.2973 |
| season | 0.60 | 90 | - | 313.000 | 63.000 | 6.000 | 2.000 | 12.000 | 33.000 | 38.000 | 29.000 | 75.000 | 0.2013 | 0.2792 | 0.3482 | 0.2013 | 0.0383 | 0.1054 | 0.0926 | 0.2396 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0710 |
| predicted_AB | 3.4930 |
| predicted_AVG | 0.2002 |
| predicted_BB | 0.2900 |
| predicted_H | 0.6990 |
| predicted_HBP | 0.0970 |
| predicted_HR | 0.1010 |
| predicted_OBP | 0.2751 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.3710 |
| predicted_SLG | 0.3635 |
| predicted_SO | 0.9170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0670 | 0.1250 | 0.0918 | model_form_blend |
| predicted_3B | 0.0220 | 0.0710 | 0.0429 | model_form_blend |
| predicted_AB | 3.8800 | 3.4930 | 3.7148 | model_form_blend |
| predicted_AVG | 0.1980 | 0.2002 | 0.1989 | model_form_blend |
| predicted_BB | 0.3220 | 0.2900 | 0.3083 | model_form_blend |
| predicted_H | 0.7700 | 0.6990 | 0.7397 | model_form_blend |
| predicted_HBP | - | 0.0970 | 0.0970 | form_only |
| predicted_HR | 0.0900 | 0.1010 | 0.0947 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2751 | 0.2762 | model_form_blend |
| predicted_R | 0.4220 | 0.4960 | 0.4536 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3710 | 0.3475 | model_form_blend |
| predicted_SLG | 0.3280 | 0.3635 | 0.3432 | model_form_blend |
| predicted_SO | 0.8330 | 0.9170 | 0.8689 | 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 | 347 |
| Season rows before report date | 347 |
| Report year | 2026 |
| Profile rows used | 90 |
| 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.201 |
| 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 | 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 | CF |
| gameID | 20260728_TEX@TB |
| game_type | full |
| mlbID | 656775 |
| playerID | 656775 |
| playerName | Cedric Mullins |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-28 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.279 |
| sl_xwoba | 0.258 |
| sl_xba | 0.185 |
| sl_xslg | 0.308 |
| sl_sweet_spot_percent | 26.5 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 30.5 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 27.7 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 50.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.170 | 1.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | 0.823 | 1.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_AB | 3.830 | 4.000 | 4.000 | Hitting_AB | 3.879 | 3.000 | 0.121 | 1.000 |
| predicted_AVG | 0.268 | 0.250 | 0.250 | Hitting_AVG | 0.294 | 0.000 | -0.044 | 0.250 |
| predicted_BB | 0.538 | 0.000 | 0.000 | Hitting_BB | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 1.141 | 0.000 | -0.141 | 1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.298 | 0.000 | -0.298 | 0.000 |
| predicted_OBP | 0.331 | 0.250 | 0.250 | Hitting_OBP | 0.389 | 0.000 | -0.139 | 0.250 |
| predicted_R | 0.613 | 1.000 | 1.000 | Hitting_R | 0.698 | 0.000 | 0.302 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 1.000 | Hitting_RBI | 0.656 | 0.000 | 0.344 | 1.000 |
| predicted_SLG | 0.499 | 0.500 | 0.250 | Hitting_SLG | 0.571 | 0.000 | -0.071 | 0.500 |
| predicted_SO | 0.792 | 0.000 | 1.000 | Hitting_SO | 0.792 | 1.000 | -0.792 | -1.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_2B: 0.1700 -> 1.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_SO: 0.7920 -> 0.0000 (deboost -0.7920, 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 | 0 | 2 | 0 | 2 | - | predicted_R: 0.6130 -> 0.5296 (deboost -0.0834, 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 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3322 -> 0.3509 (boost 0.0187, better) | predicted_SLG: 0.4967 -> 0.4797 (deboost -0.0170, 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_RBI: 0.5161 -> 1.0000 (boost 0.4839, better) | predicted_BB: 0.4790 -> 0.0000 (deboost -0.4790, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.270 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5361 -> 1.0000 (boost 0.4639, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4797 -> 0.2500 (deboost -0.2297, 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_2B: 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4797 (boost 0.2297, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.17,
"predicted_3B": 0.009,
"predicted_AB": 3.83,
"predicted_AVG": 0.268,
"predicted_BB": 0.538,
"predicted_H": 1.03,
"predicted_HR": 0.19,
"predicted_OBP": 0.331,
"predicted_R": 0.613,
"predicted_RBI": 0.5,
"predicted_SLG": 0.499,
"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.2063,
"predicted_3B": 0.0315,
"predicted_AB": 3.8499,
"predicted_AVG": 0.2682,
"predicted_BB": 0.4775,
"predicted_H": 1.0343,
"predicted_HBP": 0.007,
"predicted_HR": 0.1792,
"predicted_OBP": 0.3322,
"predicted_R": 0.5296,
"predicted_RBI": 0.5099,
"predicted_SLG": 0.4967,
"predicted_SO": 0.7479
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.2063,
"delta": 0.0363,
"percent_delta": 0.2135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0315,
"delta": 0.0225,
"percent_delta": 2.5,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.83,
"after": 3.8499,
"delta": 0.0199,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2682,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.538,
"after": 0.4775,
"delta": -0.0605,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0343,
"delta": 0.0043,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1792,
"delta": -0.0108,
"percent_delta": -0.0568,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3322,
"delta": 0.0012,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.613,
"after": 0.5296,
"delta": -0.0834,
"percent_delta": -0.1361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5099,
"delta": 0.0099,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.499,
"after": 0.4967,
"delta": -0.0023,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 0.7479,
"delta": -0.0441,
"percent_delta": -0.0557,
"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_R",
"before": 0.613,
"after": 0.5296,
"delta": -0.0834,
"percent_delta": -0.1361,
"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": 106
}
},
{
"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.2063,
"predicted_3B": 0.0315,
"predicted_AB": 3.8499,
"predicted_AVG": 0.2701,
"predicted_BB": 0.479,
"predicted_H": 1.04,
"predicted_HBP": 0.007,
"predicted_HR": 0.1791,
"predicted_OBP": 0.3509,
"predicted_R": 0.5361,
"predicted_RBI": 0.5161,
"predicted_SLG": 0.4797,
"predicted_SO": 0.7456
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2063,
"after": 0.2063,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0315,
"after": 0.0315,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8499,
"after": 3.8499,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2682,
"after": 0.2701,
"delta": 0.0019,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4775,
"after": 0.479,
"delta": 0.0015,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0343,
"after": 1.04,
"delta": 0.0057,
"percent_delta": 0.0055,
"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.1792,
"after": 0.1791,
"delta": -0.0001,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3322,
"after": 0.3509,
"delta": 0.0187,
"percent_delta": 0.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5296,
"after": 0.5361,
"delta": 0.0065,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5099,
"after": 0.5161,
"delta": 0.0062,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4967,
"after": 0.4797,
"delta": -0.017,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7479,
"after": 0.7456,
"delta": -0.0023,
"percent_delta": -0.0031,
"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_OBP",
"before": 0.3322,
"after": 0.3509,
"delta": 0.0187,
"percent_delta": 0.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4967,
"after": 0.4797,
"delta": -0.017,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.270 HR/AB=0.047",
"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.2063,
"after": 0.0,
"delta": -0.2063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0315,
"after": 0.0,
"delta": -0.0315,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8499,
"after": 4.0,
"delta": 0.1501,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.479,
"after": 0.0,
"delta": -0.479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0,
"delta": -0.04,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1791,
"after": 0.0,
"delta": -0.1791,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5161,
"after": 1.0,
"delta": 0.4839,
"percent_delta": 0.9376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7456,
"after": 1.0,
"delta": 0.2544,
"percent_delta": 0.3412,
"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_RBI",
"before": 0.5161,
"after": 1.0,
"delta": 0.4839,
"percent_delta": 0.9376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.479,
"after": 0.0,
"delta": -0.479,
"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.5361,
"after": 1.0,
"delta": 0.4639,
"percent_delta": 0.8653,
"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.5361,
"after": 1.0,
"delta": 0.4639,
"percent_delta": 0.8653,
"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.2701,
"after": 0.25,
"delta": -0.0201,
"percent_delta": -0.0744,
"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.3509,
"after": 0.25,
"delta": -0.1009,
"percent_delta": -0.2875,
"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.4797,
"after": 0.25,
"delta": -0.2297,
"percent_delta": -0.4788,
"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.4797,
"after": 0.25,
"delta": -0.2297,
"percent_delta": -0.4788,
"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": 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": 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_2B",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2701,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3509,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4797,
"predicted_SO": 0.0,
"predicted_TB": 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.2701,
"delta": 0.0201,
"percent_delta": 0.0805,
"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.3509,
"delta": 0.1009,
"percent_delta": 0.4036,
"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.4797,
"delta": 0.2297,
"percent_delta": 0.9187,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4797,
"delta": 0.2297,
"percent_delta": 0.9187,
"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.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"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.83,
"after": 4.0,
"delta": 0.17,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2701,
"delta": 0.0021,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.331,
"after": 0.3509,
"delta": 0.0199,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.499,
"after": 0.4797,
"delta": -0.0193,
"percent_delta": -0.0387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 0.0,
"delta": -0.792,
"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_2B",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.792,
"after": 0.0,
"delta": -0.792,
"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.170 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.830 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.538 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.613 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.499 | - |
| 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.206 | 0.036 |
| predicted_3B | 0.032 | 0.022 |
| predicted_AB | 3.850 | 0.020 |
| predicted_AVG | 0.268 | 0.000 |
| predicted_BB | 0.477 | -0.061 |
| predicted_H | 1.034 | 0.004 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.179 | -0.011 |
| predicted_OBP | 0.332 | 0.001 |
| predicted_R | 0.530 | -0.083 |
| predicted_RBI | 0.510 | 0.010 |
| predicted_SLG | 0.497 | -0.002 |
| predicted_SO | 0.748 | -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.206 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.850 | 0.000 |
| predicted_AVG | 0.270 | 0.002 |
| predicted_BB | 0.479 | 0.002 |
| predicted_H | 1.040 | 0.006 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.179 | -0.000 |
| predicted_OBP | 0.351 | 0.019 |
| predicted_R | 0.536 | 0.007 |
| predicted_RBI | 0.516 | 0.006 |
| predicted_SLG | 0.480 | -0.017 |
| predicted_SO | 0.746 | -0.002 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.270 HR/AB=0.047
| 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.206 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | 0.150 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 0.000 | -0.479 |
| predicted_H | 1.000 | -0.040 |
| predicted_HR | 0.000 | -0.179 |
| predicted_OBP | 0.250 | -0.101 |
| predicted_R | 1.000 | 0.464 |
| predicted_RBI | 1.000 | 0.484 |
| predicted_SLG | 0.250 | -0.230 |
| predicted_SO | 1.000 | 0.254 |
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 | 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 | 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 | - | 20.000 | 4.000 | 2.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.000 | 2.000 | 0.2000 | 0.2000 | 0.4000 | 0.2000 | 0.0000 | 0.1000 | 0.0000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 4.000 | 1.000 | 0.000 | 4.000 | 2.000 | 4.000 | 6.000 | 0.3000 | 0.3636 | 0.4500 | 0.3000 | 0.0000 | 0.1000 | 0.1000 | 0.1500 |
| season | 0.60 | 106 | - | 403.000 | 114.000 | 18.000 | 1.000 | 29.000 | 64.000 | 65.000 | 57.000 | 84.000 | 0.2829 | 0.3715 | 0.5484 | 0.2829 | 0.0720 | 0.1588 | 0.1414 | 0.2084 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2540 |
| predicted_3B | 0.0610 |
| predicted_AB | 3.8760 |
| predicted_AVG | 0.2684 |
| predicted_BB | 0.3980 |
| predicted_H | 1.0400 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1650 |
| predicted_OBP | 0.3338 |
| predicted_R | 0.4200 |
| predicted_RBI | 0.5230 |
| predicted_SLG | 0.4936 |
| predicted_SO | 0.6900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.2540 | 0.2063 | model_form_blend |
| predicted_3B | 0.0090 | 0.0610 | 0.0315 | model_form_blend |
| predicted_AB | 3.8300 | 3.8760 | 3.8499 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2684 | 0.2682 | model_form_blend |
| predicted_BB | 0.5380 | 0.3980 | 0.4775 | model_form_blend |
| predicted_H | 1.0300 | 1.0400 | 1.0343 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1900 | 0.1650 | 0.1792 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3338 | 0.3322 | model_form_blend |
| predicted_R | 0.6130 | 0.4200 | 0.5296 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5230 | 0.5099 | model_form_blend |
| predicted_SLG | 0.4990 | 0.4936 | 0.4967 | model_form_blend |
| predicted_SO | 0.7920 | 0.6900 | 0.7479 | 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 | 453 |
| Season rows before report date | 453 |
| Report year | 2026 |
| Profile rows used | 106 |
| 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.283 |
| 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 | 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 | 3B |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.39 |
| sl_xwoba | 0.37 |
| sl_xba | 0.278 |
| sl_xslg | 0.501 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 50.8 |
| sl_exit_velocity_avg | 93.0 |
| sl_launch_angle_avg | 9.4 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 42.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.056 | 0.000 | 0.000 | Hitting_2B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.111 | 4.000 | 3.000 | Hitting_AB | 3.138 | 0.000 | 0.862 | 4.000 |
| predicted_AVG | 0.220 | 0.500 | 0.333 | Hitting_AVG | 0.230 | - | 0.270 | - |
| predicted_BB | 0.389 | 0.000 | 0.000 | Hitting_BB | 0.431 | 0.000 | -0.431 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 0.280 | 2.000 | 1.000 | Hitting_H | 0.723 | 0.000 | 1.277 | 2.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.262 | 0.000 | 0.738 | 1.000 |
| predicted_OBP | 0.313 | 0.500 | 0.333 | Hitting_OBP | 0.320 | - | 0.180 | - |
| predicted_R | 0.472 | 1.000 | 0.000 | Hitting_R | 0.508 | 0.000 | 0.492 | 1.000 |
| predicted_RBI | 0.260 | 3.000 | 0.000 | Hitting_RBI | 0.546 | 0.000 | 2.454 | 3.000 |
| predicted_SLG | 0.480 | 1.250 | 0.333 | Hitting_SLG | 0.495 | - | 0.755 | - |
| predicted_SO | 0.889 | 0.000 | 1.000 | Hitting_SO | 0.823 | 0.000 | -0.823 | 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.2600 -> 3.0000 (boost 2.7400, better) |
| Biggest Deboost | predicted_SO: 0.8890 -> 0.0000 (deboost -0.8890, 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 | 5 | 0 | 5 | 0 | predicted_H: 0.2800 -> 0.4881 (boost 0.2081, 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.4843 -> 0.3212 (deboost -0.1631, 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 | 0 | 7 | predicted_SO: 0.9283 -> 1.0000 (boost 0.0717, worse) | predicted_H: 0.4908 -> 0.0000 (deboost -0.4908, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.155 HR/AB=0.048 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4778 -> 0.0000 (deboost -0.4778, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1552 -> 0.3330 (boost 0.1778, 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_RBI: 0.0000 -> 3.0000 (boost 3.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.1552 (deboost -0.1778, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"position": "RF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.056,
"predicted_3B": 0.0,
"predicted_AB": 3.111,
"predicted_AVG": 0.22,
"predicted_BB": 0.389,
"predicted_H": 0.28,
"predicted_HR": 0.1,
"predicted_OBP": 0.313,
"predicted_R": 0.472,
"predicted_RBI": 0.26,
"predicted_SLG": 0.48,
"predicted_SO": 0.889
},
"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.0631,
"predicted_3B": 0.0012,
"predicted_AB": 3.1618,
"predicted_AVG": 0.2316,
"predicted_BB": 0.3772,
"predicted_H": 0.4881,
"predicted_HBP": 0.005,
"predicted_HR": 0.1532,
"predicted_OBP": 0.3176,
"predicted_R": 0.472,
"predicted_RBI": 0.3692,
"predicted_SLG": 0.4843,
"predicted_SO": 0.9312
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.056,
"after": 0.0631,
"delta": 0.0071,
"percent_delta": 0.1268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.111,
"after": 3.1618,
"delta": 0.0508,
"percent_delta": 0.0163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2316,
"delta": 0.0116,
"percent_delta": 0.0527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 0.3772,
"delta": -0.0118,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.4881,
"delta": 0.2081,
"percent_delta": 0.7432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1532,
"delta": 0.0532,
"percent_delta": 0.532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3176,
"delta": 0.0046,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 0.472,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.3692,
"delta": 0.1092,
"percent_delta": 0.42,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4843,
"delta": 0.0043,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 0.9312,
"delta": 0.0422,
"percent_delta": 0.0475,
"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.28,
"after": 0.4881,
"delta": 0.2081,
"percent_delta": 0.7432,
"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": 36
}
},
{
"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.0631,
"predicted_3B": 0.0012,
"predicted_AB": 3.1618,
"predicted_AVG": 0.1552,
"predicted_BB": 0.3784,
"predicted_H": 0.4908,
"predicted_HBP": 0.005,
"predicted_HR": 0.1531,
"predicted_OBP": 0.2455,
"predicted_R": 0.4778,
"predicted_RBI": 0.3737,
"predicted_SLG": 0.3212,
"predicted_SO": 0.9283
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0631,
"after": 0.0631,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1618,
"after": 3.1618,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2316,
"after": 0.1552,
"delta": -0.0764,
"percent_delta": -0.3299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3772,
"after": 0.3784,
"delta": 0.0012,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4881,
"after": 0.4908,
"delta": 0.0027,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1532,
"after": 0.1531,
"delta": -0.0001,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3176,
"after": 0.2455,
"delta": -0.0721,
"percent_delta": -0.227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 0.4778,
"delta": 0.0058,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3692,
"after": 0.3737,
"delta": 0.0045,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4843,
"after": 0.3212,
"delta": -0.1631,
"percent_delta": -0.3368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9312,
"after": 0.9283,
"delta": -0.0029,
"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.4843,
"after": 0.3212,
"delta": -0.1631,
"percent_delta": -0.3368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.155 HR/AB=0.048",
"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.0631,
"after": 0.0,
"delta": -0.0631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1618,
"after": 3.0,
"delta": -0.1618,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3784,
"after": 0.0,
"delta": -0.3784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4908,
"after": 0.0,
"delta": -0.4908,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1531,
"after": 0.0,
"delta": -0.1531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3737,
"after": 0.0,
"delta": -0.3737,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9283,
"after": 1.0,
"delta": 0.0717,
"percent_delta": 0.0772,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.9283,
"after": 1.0,
"delta": 0.0717,
"percent_delta": 0.0772,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4908,
"after": 0.0,
"delta": -0.4908,
"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.4778,
"after": 0.0,
"delta": -0.4778,
"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.4778,
"after": 0.0,
"delta": -0.4778,
"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.1552,
"after": 0.333,
"delta": 0.1778,
"percent_delta": 1.1456,
"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.2455,
"after": 0.333,
"delta": 0.0875,
"percent_delta": 0.3564,
"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.3212,
"after": 0.333,
"delta": 0.0118,
"percent_delta": 0.0367,
"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.1552,
"after": 0.333,
"delta": 0.1778,
"percent_delta": 1.1456,
"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": 1.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": 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": 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": 3.0,
"delta": 3.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_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.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.1552,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2455,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3212,
"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.1552,
"delta": -0.1778,
"percent_delta": -0.5339,
"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": 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.2455,
"delta": -0.0875,
"percent_delta": -0.2627,
"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.3212,
"delta": -0.0118,
"percent_delta": -0.0353,
"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.1552,
"delta": -0.1778,
"percent_delta": -0.5339,
"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.056,
"after": 0.0,
"delta": -0.056,
"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.111,
"after": 4.0,
"delta": 0.889,
"percent_delta": 0.2858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1552,
"delta": -0.0648,
"percent_delta": -0.2945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 0.0,
"delta": -0.389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 2.0,
"delta": 1.72,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.2455,
"delta": -0.0675,
"percent_delta": -0.2157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 1.0,
"delta": 0.528,
"percent_delta": 1.1186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 3.0,
"delta": 2.74,
"percent_delta": 10.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.3212,
"delta": -0.1588,
"percent_delta": -0.3308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 0.0,
"delta": -0.889,
"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.26,
"after": 3.0,
"delta": 2.74,
"percent_delta": 10.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.889,
"after": 0.0,
"delta": -0.889,
"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.056 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.111 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.389 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.472 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.480 | - |
| predicted_SO | 0.889 | - |
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.063 | 0.007 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.162 | 0.051 |
| predicted_AVG | 0.232 | 0.012 |
| predicted_BB | 0.377 | -0.012 |
| predicted_H | 0.488 | 0.208 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.153 | 0.053 |
| predicted_OBP | 0.318 | 0.005 |
| predicted_R | 0.472 | 0.000 |
| predicted_RBI | 0.369 | 0.109 |
| predicted_SLG | 0.484 | 0.004 |
| predicted_SO | 0.931 | 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.063 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.162 | 0.000 |
| predicted_AVG | 0.155 | -0.076 |
| predicted_BB | 0.378 | 0.001 |
| predicted_H | 0.491 | 0.003 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.153 | -0.000 |
| predicted_OBP | 0.245 | -0.072 |
| predicted_R | 0.478 | 0.006 |
| predicted_RBI | 0.374 | 0.005 |
| predicted_SLG | 0.321 | -0.163 |
| predicted_SO | 0.928 | -0.003 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.155 HR/AB=0.048
| 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.063 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.162 |
| predicted_AVG | 0.333 | 0.178 |
| predicted_BB | 0.000 | -0.378 |
| predicted_H | 1.000 | 0.509 |
| predicted_HR | 0.000 | -0.153 |
| predicted_OBP | 0.333 | 0.088 |
| predicted_R | 0.000 | -0.478 |
| predicted_RBI | 0.000 | -0.374 |
| predicted_SLG | 0.333 | 0.012 |
| predicted_SO | 1.000 | 0.072 |
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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.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 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 7.000 | 0.2667 | 0.3529 | 0.4667 | 0.2667 | 0.0667 | 0.2000 | 0.1333 | 0.4667 |
| last_10 | 0.20 | 10 | - | 32.000 | 10.000 | 1.000 | 0.000 | 4.000 | 7.000 | 5.000 | 3.000 | 10.000 | 0.3125 | 0.3714 | 0.7188 | 0.3125 | 0.1250 | 0.2188 | 0.0938 | 0.3125 |
| season | 0.60 | 36 | - | 112.000 | 25.000 | 2.000 | 0.000 | 8.000 | 17.000 | 17.000 | 14.000 | 32.000 | 0.2232 | 0.3071 | 0.4554 | 0.2232 | 0.0714 | 0.1518 | 0.1250 | 0.2857 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0740 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.2400 |
| predicted_AVG | 0.2495 |
| predicted_BB | 0.3590 |
| predicted_H | 0.8080 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.2350 |
| predicted_OBP | 0.3246 |
| predicted_R | 0.4720 |
| predicted_RBI | 0.5370 |
| predicted_SLG | 0.4910 |
| predicted_SO | 0.9960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0560 | 0.0740 | 0.0631 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.1110 | 3.2400 | 3.1618 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2495 | 0.2316 | model_form_blend |
| predicted_BB | 0.3890 | 0.3590 | 0.3772 | model_form_blend |
| predicted_H | 0.2800 | 0.8080 | 0.4881 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1000 | 0.2350 | 0.1532 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3246 | 0.3176 | model_form_blend |
| predicted_R | 0.4720 | 0.4720 | 0.4720 | model_form_blend |
| predicted_RBI | 0.2600 | 0.5370 | 0.3692 | model_form_blend |
| predicted_SLG | 0.4800 | 0.4910 | 0.4843 | model_form_blend |
| predicted_SO | 0.8890 | 0.9960 | 0.9312 | 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 | 36 |
| 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 | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| 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 | 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 | 4 |
| 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 | RF |
| gameID | 20260729_TEX@TB |
| game_type | short |
| mlbID | 683748 |
| playerID | 683748 |
| playerName | Victor Mesa Jr. |
| pos | RF |
| started | False |
| startingPosition | RF |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.333 |
| sl_xwoba | 0.32 |
| sl_xba | 0.237 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 39.0 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 20.6 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 52.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.135 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.095 | 4.000 | 3.000 | Hitting_AB | 3.337 | 2.000 | 0.663 | 2.000 |
| predicted_AVG | 0.275 | 0.000 | 0.333 | Hitting_AVG | 0.266 | 0.000 | -0.266 | 0.000 |
| predicted_BB | 0.257 | 0.000 | 0.000 | Hitting_BB | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 0.888 | 0.000 | -0.888 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_OBP | 0.312 | 0.000 | 0.333 | Hitting_OBP | 0.333 | 0.333 | -0.333 | -0.333 |
| predicted_R | 0.392 | 0.000 | 0.000 | Hitting_R | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_SLG | 0.336 | 0.000 | 0.333 | Hitting_SLG | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_SO | 0.649 | 1.000 | 1.000 | Hitting_SO | 0.687 | 2.000 | 0.313 | -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 | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.0950 -> 4.0000 (boost 0.9050, better) |
| Biggest Deboost | predicted_H: 0.7900 -> 0.0000 (deboost -0.7900, 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 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2750 -> 0.2631 (deboost -0.0119, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3312 -> 0.3556 (boost 0.0244, better) | predicted_AVG: 0.2631 -> 0.2530 (deboost -0.0101, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.6483 -> 1.0000 (boost 0.3517, worse) | predicted_RBI: 0.3125 -> 0.0000 (deboost -0.3125, worse) | AB rounded to 3 (raw=3.10), rates preserved: AVG=0.253 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3786 -> 0.0000 (deboost -0.3786, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2530 -> 0.3330 (boost 0.0800, better) | predicted_SLG: 0.3556 -> 0.3330 (deboost -0.0226, 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.3556 (boost 0.0226, better) | predicted_AVG: 0.3330 -> 0.2530 (deboost -0.0800, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "810938",
"player_name": "Ben Williamson",
"position": "2B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.135,
"predicted_3B": 0.014,
"predicted_AB": 3.095,
"predicted_AVG": 0.275,
"predicted_BB": 0.257,
"predicted_H": 0.79,
"predicted_HR": 0.07,
"predicted_OBP": 0.312,
"predicted_R": 0.392,
"predicted_RBI": 0.32,
"predicted_SLG": 0.336,
"predicted_SO": 0.649
},
"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.14,
"predicted_3B": 0.0119,
"predicted_AB": 3.105,
"predicted_AVG": 0.2631,
"predicted_BB": 0.2248,
"predicted_H": 0.7812,
"predicted_HBP": 0.075,
"predicted_HR": 0.0516,
"predicted_OBP": 0.3086,
"predicted_R": 0.374,
"predicted_RBI": 0.3087,
"predicted_SLG": 0.3312,
"predicted_SO": 0.6503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.14,
"delta": 0.005,
"percent_delta": 0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.095,
"after": 3.105,
"delta": 0.01,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2631,
"delta": -0.0119,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.2248,
"delta": -0.0322,
"percent_delta": -0.1253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.7812,
"delta": -0.0088,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0516,
"delta": -0.0184,
"percent_delta": -0.2629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3086,
"delta": -0.0034,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.374,
"delta": -0.018,
"percent_delta": -0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3087,
"delta": -0.0113,
"percent_delta": -0.0353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3312,
"delta": -0.0048,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.649,
"after": 0.6503,
"delta": 0.0013,
"percent_delta": 0.002,
"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.275,
"after": 0.2631,
"delta": -0.0119,
"percent_delta": -0.0433,
"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": 74
}
},
{
"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.14,
"predicted_3B": 0.0119,
"predicted_AB": 3.105,
"predicted_AVG": 0.253,
"predicted_BB": 0.2255,
"predicted_H": 0.7855,
"predicted_HBP": 0.075,
"predicted_HR": 0.0516,
"predicted_OBP": 0.3036,
"predicted_R": 0.3786,
"predicted_RBI": 0.3125,
"predicted_SLG": 0.3556,
"predicted_SO": 0.6483
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.14,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.105,
"after": 3.105,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2631,
"after": 0.253,
"delta": -0.0101,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2248,
"after": 0.2255,
"delta": 0.0007,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7812,
"after": 0.7855,
"delta": 0.0043,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.075,
"after": 0.075,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0516,
"after": 0.0516,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3086,
"after": 0.3036,
"delta": -0.005,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.374,
"after": 0.3786,
"delta": 0.0046,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3087,
"after": 0.3125,
"delta": 0.0038,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3312,
"after": 0.3556,
"delta": 0.0244,
"percent_delta": 0.0737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6503,
"after": 0.6483,
"delta": -0.002,
"percent_delta": -0.0031,
"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.3312,
"after": 0.3556,
"delta": 0.0244,
"percent_delta": 0.0737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2631,
"after": 0.253,
"delta": -0.0101,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.10), rates preserved: AVG=0.253 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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.105,
"after": 3.0,
"delta": -0.105,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2255,
"after": 0.0,
"delta": -0.2255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7855,
"after": 1.0,
"delta": 0.2145,
"percent_delta": 0.2731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.075,
"after": 0.0,
"delta": -0.075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0516,
"after": 0.0,
"delta": -0.0516,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3125,
"after": 0.0,
"delta": -0.3125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6483,
"after": 1.0,
"delta": 0.3517,
"percent_delta": 0.5425,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6483,
"after": 1.0,
"delta": 0.3517,
"percent_delta": 0.5425,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3125,
"after": 0.0,
"delta": -0.3125,
"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.3786,
"after": 0.0,
"delta": -0.3786,
"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.3786,
"after": 0.0,
"delta": -0.3786,
"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.253,
"after": 0.333,
"delta": 0.08,
"percent_delta": 0.3162,
"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.3036,
"after": 0.333,
"delta": 0.0294,
"percent_delta": 0.0968,
"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.3556,
"after": 0.333,
"delta": -0.0226,
"percent_delta": -0.0636,
"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.253,
"after": 0.333,
"delta": 0.08,
"percent_delta": 0.3162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3556,
"after": 0.333,
"delta": -0.0226,
"percent_delta": -0.0636,
"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.253,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3036,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3556,
"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.253,
"delta": -0.08,
"percent_delta": -0.2403,
"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.3036,
"delta": -0.0294,
"percent_delta": -0.0884,
"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.3556,
"delta": 0.0226,
"percent_delta": 0.0678,
"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.3556,
"delta": 0.0226,
"percent_delta": 0.0678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.253,
"delta": -0.08,
"percent_delta": -0.2403,
"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.135,
"after": 0.0,
"delta": -0.135,
"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": 3.095,
"after": 4.0,
"delta": 0.905,
"percent_delta": 0.2924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.253,
"delta": -0.022,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.0,
"delta": -0.257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"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.312,
"after": 0.3036,
"delta": -0.0084,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3556,
"delta": 0.0196,
"percent_delta": 0.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.649,
"after": 1.0,
"delta": 0.351,
"percent_delta": 0.5408,
"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.095,
"after": 4.0,
"delta": 0.905,
"percent_delta": 0.2924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"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.135 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.095 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.257 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.392 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.336 | - |
| predicted_SO | 0.649 | - |
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.140 | 0.005 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.105 | 0.010 |
| predicted_AVG | 0.263 | -0.012 |
| predicted_BB | 0.225 | -0.032 |
| predicted_H | 0.781 | -0.009 |
| predicted_HBP | 0.075 | - |
| predicted_HR | 0.052 | -0.018 |
| predicted_OBP | 0.309 | -0.003 |
| predicted_R | 0.374 | -0.018 |
| predicted_RBI | 0.309 | -0.011 |
| predicted_SLG | 0.331 | -0.005 |
| predicted_SO | 0.650 | 0.001 |
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.140 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.105 | 0.000 |
| predicted_AVG | 0.253 | -0.010 |
| predicted_BB | 0.226 | 0.001 |
| predicted_H | 0.785 | 0.004 |
| predicted_HBP | 0.075 | 0.000 |
| predicted_HR | 0.052 | 0.000 |
| predicted_OBP | 0.304 | -0.005 |
| predicted_R | 0.379 | 0.005 |
| predicted_RBI | 0.312 | 0.004 |
| predicted_SLG | 0.356 | 0.024 |
| predicted_SO | 0.648 | -0.002 |
AB rounded to 3 (raw=3.10), rates preserved: AVG=0.253 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.140 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 3.000 | -0.105 |
| predicted_AVG | 0.333 | 0.080 |
| predicted_BB | 0.000 | -0.226 |
| predicted_H | 1.000 | 0.215 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.333 | 0.029 |
| predicted_R | 0.000 | -0.379 |
| predicted_RBI | 0.000 | -0.312 |
| predicted_SLG | 0.333 | -0.023 |
| predicted_SO | 1.000 | 0.352 |
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 | - | 14.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 3.000 | 0.2143 | 0.2667 | 0.2857 | 0.2143 | 0.0000 | 0.0714 | 0.0000 | 0.2143 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 6.000 | 0.2581 | 0.3030 | 0.2903 | 0.2581 | 0.0000 | 0.0645 | 0.0323 | 0.1935 |
| season | 0.60 | 74 | - | 229.000 | 58.000 | 10.000 | 1.000 | 2.000 | 24.000 | 29.000 | 19.000 | 48.000 | 0.2533 | 0.3160 | 0.3319 | 0.2533 | 0.0087 | 0.1048 | 0.0830 | 0.2096 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1470 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.1190 |
| predicted_AVG | 0.2466 |
| predicted_BB | 0.1800 |
| predicted_H | 0.7690 |
| predicted_HBP | 0.0750 |
| predicted_HR | 0.0260 |
| predicted_OBP | 0.3038 |
| predicted_R | 0.3490 |
| predicted_RBI | 0.2930 |
| predicted_SLG | 0.3245 |
| predicted_SO | 0.6520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.1470 | 0.1400 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 3.0950 | 3.1190 | 3.1050 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2466 | 0.2631 | model_form_blend |
| predicted_BB | 0.2570 | 0.1800 | 0.2248 | model_form_blend |
| predicted_H | 0.7900 | 0.7690 | 0.7812 | model_form_blend |
| predicted_HBP | - | 0.0750 | 0.0750 | form_only |
| predicted_HR | 0.0700 | 0.0260 | 0.0516 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3038 | 0.3086 | model_form_blend |
| predicted_R | 0.3920 | 0.3490 | 0.3740 | model_form_blend |
| predicted_RBI | 0.3200 | 0.2930 | 0.3087 | model_form_blend |
| predicted_SLG | 0.3360 | 0.3245 | 0.3312 | model_form_blend |
| predicted_SO | 0.6490 | 0.6520 | 0.6503 | 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 | 74 |
| 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.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 | 1 |
| 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 | 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 | 2B |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 810938 |
| playerID | 810938 |
| playerName | Ben Williamson |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.291 |
| sl_xwoba | 0.294 |
| sl_xba | 0.257 |
| sl_xslg | 0.337 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 33.7 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 3.9 |
| sl_whiff_percent | 17.0 |
| sl_swing_percent | 42.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.111 | 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.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.789 | 2.000 | 0.211 | 1.000 |
| predicted_AVG | 0.238 | 0.000 | 0.333 | Hitting_AVG | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_BB | 0.222 | 0.000 | 0.000 | Hitting_BB | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.480 | 0.000 | 1.000 | Hitting_H | 0.612 | 0.000 | -0.612 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_OBP | 0.291 | 0.000 | 0.333 | Hitting_OBP | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_R | 0.259 | 0.000 | 0.000 | Hitting_R | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_RBI | 0.200 | 0.000 | 0.000 | Hitting_RBI | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_SLG | 0.343 | 0.000 | 0.333 | Hitting_SLG | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_SO | 0.778 | 0.000 | 1.000 | Hitting_SO | 0.901 | 0.000 | -0.901 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.5000 -> 3.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_SO: 0.7780 -> 0.0000 (deboost -0.7780, 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 | 3 | 1 | 4 | 0 | predicted_AB: 2.5000 -> 2.5942 (boost 0.0942, better) | predicted_SO: 0.7780 -> 0.7267 (deboost -0.0513, 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_AVG: 0.2368 -> 0.2112 (deboost -0.0256, 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.5480 -> 1.0000 (boost 0.4520, better) | predicted_RBI: 0.2260 -> 0.0000 (deboost -0.2260, worse) | AB rounded to 3 (raw=2.59), rates preserved: AVG=0.211 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2682 -> 0.0000 (deboost -0.2682, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2112 -> 0.3330 (boost 0.1218, better) | predicted_SLG: 0.3382 -> 0.3330 (deboost -0.0052, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | 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.3382 (boost 0.0052, better) | predicted_AVG: 0.3330 -> 0.2112 (deboost -0.1218, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"position": "C",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.019,
"predicted_AB": 2.5,
"predicted_AVG": 0.238,
"predicted_BB": 0.222,
"predicted_H": 0.48,
"predicted_HR": 0.05,
"predicted_OBP": 0.291,
"predicted_R": 0.259,
"predicted_RBI": 0.2,
"predicted_SLG": 0.343,
"predicted_SO": 0.778
},
"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.1435,
"predicted_3B": 0.0162,
"predicted_AB": 2.5942,
"predicted_AVG": 0.2368,
"predicted_BB": 0.2232,
"predicted_H": 0.545,
"predicted_HBP": 0.014,
"predicted_HR": 0.0512,
"predicted_OBP": 0.2929,
"predicted_R": 0.265,
"predicted_RBI": 0.2233,
"predicted_SLG": 0.3547,
"predicted_SO": 0.7267
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1435,
"delta": 0.0325,
"percent_delta": 0.2928,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0162,
"delta": -0.0028,
"percent_delta": -0.1474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5942,
"delta": 0.0942,
"percent_delta": 0.0377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2368,
"delta": -0.0012,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.2232,
"delta": 0.0012,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.48,
"after": 0.545,
"delta": 0.065,
"percent_delta": 0.1354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0512,
"delta": 0.0012,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2929,
"delta": 0.0019,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.259,
"after": 0.265,
"delta": 0.006,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.2233,
"delta": 0.0233,
"percent_delta": 0.1165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3547,
"delta": 0.0117,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.7267,
"delta": -0.0513,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5942,
"delta": 0.0942,
"percent_delta": 0.0377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.778,
"after": 0.7267,
"delta": -0.0513,
"percent_delta": -0.0659,
"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": 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.1435,
"predicted_3B": 0.0162,
"predicted_AB": 2.5942,
"predicted_AVG": 0.2112,
"predicted_BB": 0.2239,
"predicted_H": 0.548,
"predicted_HBP": 0.014,
"predicted_HR": 0.0512,
"predicted_OBP": 0.2739,
"predicted_R": 0.2682,
"predicted_RBI": 0.226,
"predicted_SLG": 0.3382,
"predicted_SO": 0.7244
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1435,
"after": 0.1435,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0162,
"after": 0.0162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5942,
"after": 2.5942,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2368,
"after": 0.2112,
"delta": -0.0256,
"percent_delta": -0.1081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2232,
"after": 0.2239,
"delta": 0.0007,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.545,
"after": 0.548,
"delta": 0.003,
"percent_delta": 0.0055,
"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.0512,
"after": 0.0512,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2929,
"after": 0.2739,
"delta": -0.019,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.265,
"after": 0.2682,
"delta": 0.0032,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2233,
"after": 0.226,
"delta": 0.0027,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3547,
"after": 0.3382,
"delta": -0.0165,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7267,
"after": 0.7244,
"delta": -0.0023,
"percent_delta": -0.0032,
"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.2368,
"after": 0.2112,
"delta": -0.0256,
"percent_delta": -0.1081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.59), rates preserved: AVG=0.211 HR/AB=0.020",
"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.1435,
"after": 0.0,
"delta": -0.1435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0162,
"after": 0.0,
"delta": -0.0162,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5942,
"after": 3.0,
"delta": 0.4058,
"percent_delta": 0.1564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2239,
"after": 0.0,
"delta": -0.2239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.548,
"after": 1.0,
"delta": 0.452,
"percent_delta": 0.8248,
"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.0512,
"after": 0.0,
"delta": -0.0512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7244,
"after": 1.0,
"delta": 0.2756,
"percent_delta": 0.3805,
"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.548,
"after": 1.0,
"delta": 0.452,
"percent_delta": 0.8248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"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.2682,
"after": 0.0,
"delta": -0.2682,
"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.2682,
"after": 0.0,
"delta": -0.2682,
"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.2112,
"after": 0.333,
"delta": 0.1218,
"percent_delta": 0.5767,
"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.2739,
"after": 0.333,
"delta": 0.0591,
"percent_delta": 0.2158,
"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.3382,
"after": 0.333,
"delta": -0.0052,
"percent_delta": -0.0154,
"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.2112,
"after": 0.333,
"delta": 0.1218,
"percent_delta": 0.5767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3382,
"after": 0.333,
"delta": -0.0052,
"percent_delta": -0.0154,
"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": 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": 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_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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"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": 3.0,
"predicted_AVG": 0.2112,
"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.2739,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3382,
"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.2112,
"delta": -0.1218,
"percent_delta": -0.3656,
"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.2739,
"delta": -0.0591,
"percent_delta": -0.1775,
"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.3382,
"delta": 0.0052,
"percent_delta": 0.0157,
"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.3382,
"delta": 0.0052,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2112,
"delta": -0.1218,
"percent_delta": -0.3656,
"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.111,
"after": 0.0,
"delta": -0.111,
"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.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2112,
"delta": -0.0268,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.291,
"after": 0.2739,
"delta": -0.0171,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.259,
"after": 0.0,
"delta": -0.259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3382,
"delta": -0.0048,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.0,
"delta": -0.778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.778,
"after": 0.0,
"delta": -0.778,
"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.111 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.222 | - |
| predicted_H | 0.480 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.259 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.343 | - |
| predicted_SO | 0.778 | - |
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.143 | 0.032 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 2.594 | 0.094 |
| predicted_AVG | 0.237 | -0.001 |
| predicted_BB | 0.223 | 0.001 |
| predicted_H | 0.545 | 0.065 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.051 | 0.001 |
| predicted_OBP | 0.293 | 0.002 |
| predicted_R | 0.265 | 0.006 |
| predicted_RBI | 0.223 | 0.023 |
| predicted_SLG | 0.355 | 0.012 |
| predicted_SO | 0.727 | -0.051 |
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.143 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 2.594 | 0.000 |
| predicted_AVG | 0.211 | -0.026 |
| predicted_BB | 0.224 | 0.001 |
| predicted_H | 0.548 | 0.003 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.051 | 0.000 |
| predicted_OBP | 0.274 | -0.019 |
| predicted_R | 0.268 | 0.003 |
| predicted_RBI | 0.226 | 0.003 |
| predicted_SLG | 0.338 | -0.017 |
| predicted_SO | 0.724 | -0.002 |
AB rounded to 3 (raw=2.59), rates preserved: AVG=0.211 HR/AB=0.020
| 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.143 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 3.000 | 0.406 |
| predicted_AVG | 0.333 | 0.122 |
| predicted_BB | 0.000 | -0.224 |
| predicted_H | 1.000 | 0.452 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.333 | 0.059 |
| predicted_R | 0.000 | -0.268 |
| predicted_RBI | 0.000 | -0.226 |
| predicted_SLG | 0.333 | -0.005 |
| predicted_SO | 1.000 | 0.276 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | - | 12.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.2500 | 0.3077 | 0.4167 | 0.2500 | 0.0000 | 0.0833 | 0.0833 | 0.0833 |
| last_10 | 0.20 | 10 | - | 27.000 | 6.000 | 2.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 5.000 | 0.2222 | 0.2759 | 0.4074 | 0.2222 | 0.0370 | 0.1111 | 0.0741 | 0.1852 |
| season | 0.60 | 54 | - | 135.000 | 31.000 | 6.000 | 1.000 | 2.000 | 11.000 | 14.000 | 12.000 | 42.000 | 0.2296 | 0.2953 | 0.3333 | 0.2296 | 0.0148 | 0.0815 | 0.0889 | 0.3111 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1920 |
| predicted_3B | 0.0120 |
| predicted_AB | 2.7350 |
| predicted_AVG | 0.2349 |
| predicted_BB | 0.2250 |
| predicted_H | 0.6420 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.2958 |
| predicted_R | 0.2740 |
| predicted_RBI | 0.2580 |
| predicted_SLG | 0.3723 |
| predicted_SO | 0.6500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1920 | 0.1435 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0162 | model_form_blend |
| predicted_AB | 2.5000 | 2.7350 | 2.5942 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2349 | 0.2368 | model_form_blend |
| predicted_BB | 0.2220 | 0.2250 | 0.2232 | model_form_blend |
| predicted_H | 0.4800 | 0.6420 | 0.5450 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0500 | 0.0530 | 0.0512 | model_form_blend |
| predicted_OBP | 0.2910 | 0.2958 | 0.2929 | model_form_blend |
| predicted_R | 0.2590 | 0.2740 | 0.2650 | model_form_blend |
| predicted_RBI | 0.2000 | 0.2580 | 0.2233 | model_form_blend |
| predicted_SLG | 0.3430 | 0.3723 | 0.3547 | model_form_blend |
| predicted_SO | 0.7780 | 0.6500 | 0.7267 | 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 | 152 |
| Season rows before report date | 152 |
| 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 | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 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 | 0 |
| 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 | 20260728_TEX@TB |
| game_type | full |
| mlbID | 676439 |
| playerID | 676439 |
| playerName | Hunter Feduccia |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-28 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.287 |
| sl_xwoba | 0.301 |
| sl_xba | 0.229 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 23.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.165 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 3.152 | 3.000 | 3.000 | Hitting_AB | 3.226 | 3.000 | -0.226 | 0.000 |
| predicted_AVG | 0.226 | 0.000 | 0.333 | Hitting_AVG | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_BB | 0.405 | 1.000 | 0.000 | Hitting_BB | 0.428 | 0.000 | 0.572 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.580 | 0.000 | 1.000 | Hitting_H | 0.710 | 0.000 | -0.710 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.247 | 0.250 | 0.333 | Hitting_OBP | 0.312 | 0.000 | -0.062 | 0.250 |
| predicted_R | 0.468 | 0.000 | 0.000 | Hitting_R | 0.508 | 0.000 | -0.508 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_SLG | 0.261 | 0.000 | 0.333 | Hitting_SLG | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_SO | 0.975 | 1.000 | 1.000 | Hitting_SO | 1.013 | 1.000 | -0.013 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4050 -> 1.0000 (boost 0.5950, better) |
| Biggest Deboost | predicted_H: 0.5800 -> 0.0000 (deboost -0.5800, 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 | 1 | 3 | predicted_SO: 0.9750 -> 1.0404 (boost 0.0654, worse) | predicted_BB: 0.4050 -> 0.3442 (deboost -0.0608, 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 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2519 -> 0.2716 (boost 0.0197, better) | predicted_AVG: 0.2152 -> 0.1921 (deboost -0.0231, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.6074 -> 1.0000 (boost 0.3926, better) | predicted_BB: 0.3453 -> 0.0000 (deboost -0.3453, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.192 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4327 -> 0.0000 (deboost -0.4327, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1921 -> 0.3330 (boost 0.1409, 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.1921 (deboost -0.1409, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.165,
"predicted_3B": 0.025,
"predicted_AB": 3.152,
"predicted_AVG": 0.226,
"predicted_BB": 0.405,
"predicted_H": 0.58,
"predicted_HR": 0.04,
"predicted_OBP": 0.247,
"predicted_R": 0.468,
"predicted_RBI": 0.28,
"predicted_SLG": 0.261,
"predicted_SO": 0.975
},
"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.1713,
"predicted_3B": 0.0208,
"predicted_AB": 3.1626,
"predicted_AVG": 0.2152,
"predicted_BB": 0.3442,
"predicted_H": 0.6041,
"predicted_HBP": 0.016,
"predicted_HR": 0.0278,
"predicted_OBP": 0.2519,
"predicted_R": 0.4275,
"predicted_RBI": 0.2471,
"predicted_SLG": 0.2676,
"predicted_SO": 1.0404
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.165,
"after": 0.1713,
"delta": 0.0063,
"percent_delta": 0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0208,
"delta": -0.0042,
"percent_delta": -0.168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.152,
"after": 3.1626,
"delta": 0.0106,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2152,
"delta": -0.0108,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.405,
"after": 0.3442,
"delta": -0.0608,
"percent_delta": -0.1501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.6041,
"delta": 0.0241,
"percent_delta": 0.0416,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0278,
"delta": -0.0122,
"percent_delta": -0.305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.2519,
"delta": 0.0049,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.4275,
"delta": -0.0405,
"percent_delta": -0.0865,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2471,
"delta": -0.0329,
"percent_delta": -0.1175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.261,
"after": 0.2676,
"delta": 0.0066,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.975,
"after": 1.0404,
"delta": 0.0654,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.975,
"after": 1.0404,
"delta": 0.0654,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.405,
"after": 0.3442,
"delta": -0.0608,
"percent_delta": -0.1501,
"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.1713,
"predicted_3B": 0.0208,
"predicted_AB": 3.1626,
"predicted_AVG": 0.1921,
"predicted_BB": 0.3453,
"predicted_H": 0.6074,
"predicted_HBP": 0.016,
"predicted_HR": 0.0278,
"predicted_OBP": 0.2716,
"predicted_R": 0.4327,
"predicted_RBI": 0.2501,
"predicted_SLG": 0.2857,
"predicted_SO": 1.0372
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1713,
"after": 0.1713,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0208,
"after": 0.0208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1626,
"after": 3.1626,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2152,
"after": 0.1921,
"delta": -0.0231,
"percent_delta": -0.1073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3442,
"after": 0.3453,
"delta": 0.0011,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6041,
"after": 0.6074,
"delta": 0.0033,
"percent_delta": 0.0055,
"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.0278,
"after": 0.0278,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2519,
"after": 0.2716,
"delta": 0.0197,
"percent_delta": 0.0782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4275,
"after": 0.4327,
"delta": 0.0052,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2471,
"after": 0.2501,
"delta": 0.003,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2676,
"after": 0.2857,
"delta": 0.0181,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0404,
"after": 1.0372,
"delta": -0.0032,
"percent_delta": -0.0031,
"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.2519,
"after": 0.2716,
"delta": 0.0197,
"percent_delta": 0.0782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2152,
"after": 0.1921,
"delta": -0.0231,
"percent_delta": -0.1073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.192 HR/AB=0.009",
"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.1713,
"after": 0.0,
"delta": -0.1713,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0208,
"after": 0.0,
"delta": -0.0208,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1626,
"after": 3.0,
"delta": -0.1626,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3453,
"after": 0.0,
"delta": -0.3453,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6074,
"after": 1.0,
"delta": 0.3926,
"percent_delta": 0.6464,
"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.0278,
"after": 0.0,
"delta": -0.0278,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2501,
"after": 0.0,
"delta": -0.2501,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0372,
"after": 1.0,
"delta": -0.0372,
"percent_delta": -0.0359,
"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_H",
"before": 0.6074,
"after": 1.0,
"delta": 0.3926,
"percent_delta": 0.6464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3453,
"after": 0.0,
"delta": -0.3453,
"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.4327,
"after": 0.0,
"delta": -0.4327,
"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.4327,
"after": 0.0,
"delta": -0.4327,
"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.1921,
"after": 0.333,
"delta": 0.1409,
"percent_delta": 0.7335,
"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.2716,
"after": 0.333,
"delta": 0.0614,
"percent_delta": 0.2261,
"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.2857,
"after": 0.333,
"delta": 0.0473,
"percent_delta": 0.1656,
"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.1921,
"after": 0.333,
"delta": 0.1409,
"percent_delta": 0.7335,
"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.1921,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2716,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2857,
"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": 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.1921,
"delta": -0.1409,
"percent_delta": -0.4232,
"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.2716,
"delta": -0.0614,
"percent_delta": -0.1844,
"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.2857,
"delta": -0.0473,
"percent_delta": -0.1419,
"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.1921,
"delta": -0.1409,
"percent_delta": -0.4232,
"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.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 3.152,
"after": 3.0,
"delta": -0.152,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.1921,
"delta": -0.0339,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"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.247,
"after": 0.2716,
"delta": 0.0246,
"percent_delta": 0.0996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.0,
"delta": -0.468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.261,
"after": 0.2857,
"delta": 0.0247,
"percent_delta": 0.0946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.975,
"after": 1.0,
"delta": 0.025,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"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.165 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.152 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.405 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.247 | - |
| predicted_R | 0.468 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.261 | - |
| predicted_SO | 0.975 | - |
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.171 | 0.006 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.163 | 0.011 |
| predicted_AVG | 0.215 | -0.011 |
| predicted_BB | 0.344 | -0.061 |
| predicted_H | 0.604 | 0.024 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.028 | -0.012 |
| predicted_OBP | 0.252 | 0.005 |
| predicted_R | 0.427 | -0.041 |
| predicted_RBI | 0.247 | -0.033 |
| predicted_SLG | 0.268 | 0.007 |
| predicted_SO | 1.040 | 0.065 |
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.171 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.163 | 0.000 |
| predicted_AVG | 0.192 | -0.023 |
| predicted_BB | 0.345 | 0.001 |
| predicted_H | 0.607 | 0.003 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.028 | 0.000 |
| predicted_OBP | 0.272 | 0.020 |
| predicted_R | 0.433 | 0.005 |
| predicted_RBI | 0.250 | 0.003 |
| predicted_SLG | 0.286 | 0.018 |
| predicted_SO | 1.037 | -0.003 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.192 HR/AB=0.009
| 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.171 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | -0.163 |
| predicted_AVG | 0.333 | 0.141 |
| predicted_BB | 0.000 | -0.345 |
| predicted_H | 1.000 | 0.393 |
| predicted_HR | 0.000 | -0.028 |
| predicted_OBP | 0.333 | 0.061 |
| predicted_R | 0.000 | -0.433 |
| predicted_RBI | 0.000 | -0.250 |
| predicted_SLG | 0.333 | 0.047 |
| predicted_SO | 1.000 | -0.037 |
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 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 8.000 | 0.1333 | 0.1333 | 0.2000 | 0.1333 | 0.0000 | 0.0000 | 0.0000 | 0.5333 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 12.000 | 0.1935 | 0.2121 | 0.2581 | 0.1935 | 0.0000 | 0.0323 | 0.0323 | 0.3871 |
| season | 0.60 | 79 | - | 249.000 | 54.000 | 13.000 | 2.000 | 0.000 | 21.000 | 37.000 | 32.000 | 77.000 | 0.2169 | 0.3077 | 0.2851 | 0.2169 | 0.0000 | 0.0843 | 0.1285 | 0.3092 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.1770 |
| predicted_AVG | 0.2005 |
| predicted_BB | 0.2610 |
| predicted_H | 0.6370 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0110 |
| predicted_OBP | 0.2586 |
| predicted_R | 0.3720 |
| predicted_RBI | 0.2020 |
| predicted_SLG | 0.2766 |
| predicted_SO | 1.1300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1650 | 0.1800 | 0.1713 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0208 | model_form_blend |
| predicted_AB | 3.1520 | 3.1770 | 3.1626 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2005 | 0.2152 | model_form_blend |
| predicted_BB | 0.4050 | 0.2610 | 0.3442 | model_form_blend |
| predicted_H | 0.5800 | 0.6370 | 0.6041 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0400 | 0.0110 | 0.0278 | model_form_blend |
| predicted_OBP | 0.2470 | 0.2586 | 0.2519 | model_form_blend |
| predicted_R | 0.4680 | 0.3720 | 0.4275 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2020 | 0.2471 | model_form_blend |
| predicted_SLG | 0.2610 | 0.2766 | 0.2676 | model_form_blend |
| predicted_SO | 0.9750 | 1.1300 | 1.0404 | 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 | 297 |
| Season rows before report date | 297 |
| 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 | 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.217 |
| 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 | 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 | SS |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.277 |
| sl_xwoba | 0.249 |
| sl_xba | 0.186 |
| sl_xslg | 0.254 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 22.5 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 43.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 | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.737 | 2.000 | 0.263 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.737 | 1.000 | 1.263 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.000 | 2.000 | 1.000 | 3.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 4.942 | 5.000 | 0.258 | 0.200 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.632 | 3.000 | 0.368 | 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.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 | 1 | 0 | 1 | 0 | 1 | - | 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": "663556",
"player_name": "Shane McClanahan",
"position": "Starter",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 5.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 | 2.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 5.000 | 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 | 28.100 | 8.000 | 20.000 | 6.000 | 19.000 | 4.000 | 2.5412 | 0.9176 | 0.2823 | 0.7059 | 0.2118 | 0.6706 | 0.1412 |
| last_10 | 0.35 | 10 | 51.100 | 19.000 | 46.000 | 16.000 | 41.000 | 5.000 | 3.3312 | 1.2078 | 0.3701 | 0.8961 | 0.3117 | 0.7987 | 0.0974 |
| season | 0.20 | 19 | 96.000 | 33.000 | 76.000 | 33.000 | 88.000 | 7.000 | 3.0938 | 1.1354 | 0.3438 | 0.7917 | 0.3438 | 0.9167 | 0.0729 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5610 |
| predicted_ER | 1.9520 |
| predicted_ERA | 3.2670 |
| predicted_H | 4.4540 |
| predicted_HR | 0.6470 |
| predicted_IP | 5.1000 |
| predicted_SO | 4.3290 |
| predicted_WHIP | 1.1188 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.5610 | 1.7533 | model_form_blend |
| predicted_ER | 3.0000 | 1.9520 | 2.4110 | model_form_blend |
| predicted_ERA | - | 3.2670 | 3.2670 | form_only |
| predicted_H | 5.0000 | 4.4540 | 4.6932 | model_form_blend |
| predicted_HR | 1.0000 | 0.6470 | 0.8016 | model_form_blend |
| predicted_IP | 5.2000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 5.0000 | 4.3290 | 4.6229 | model_form_blend |
| predicted_WHIP | - | 1.1188 | 1.1188 | 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 | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 5 |
| HR | 1 |
| BF | 24 |
| Pitches | 94 |
| 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 | 19 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.09 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 6 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 71 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 45 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260724_CLE@TB |
| game_type | full |
| mlbID | 663556 |
| playerID | 663556 |
| playerName | Shane McClanahan |
| pos | P |
| started | True |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-24 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.271 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 39.7 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 48.7 |
| sl_avg_best_speed | 78.224671603 |
| sl_avg_hyper_speed | 94.316634483 |
| 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.302 | 0.000 | -0.302 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.512 | 1.000 | -0.512 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.940 | 1.000 | 0.160 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.000 | 0.000 | 1.000 | 2.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": "641329",
"player_name": "Bryan Baker",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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.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.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 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": 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": 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 | 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.000 | 0.000 | 3.000 | 2.000 | 2.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.6000 | 0.4000 | 0.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 5.000 | 2.000 | 8.000 | 0.000 | 0.0000 | 0.7000 | 0.0000 | 0.5000 | 0.2000 | 0.8000 | 0.0000 |
| season | 0.20 | 43 | 41.100 | 7.000 | 22.000 | 13.000 | 43.000 | 2.000 | 1.5242 | 0.8468 | 0.1694 | 0.5323 | 0.3145 | 1.0403 | 0.0484 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3290 |
| predicted_ER | 0.2120 |
| predicted_ERA | 1.9100 |
| predicted_H | 0.7120 |
| predicted_HR | 0.0630 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7780 |
| predicted_WHIP | 1.0410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3290 | 0.1613 | model_form_blend |
| predicted_ER | 0.0000 | 0.2120 | 0.1040 | model_form_blend |
| predicted_ERA | - | 1.9100 | 1.9100 | form_only |
| predicted_H | 0.0000 | 0.7120 | 0.3492 | model_form_blend |
| predicted_HR | 0.0000 | 0.0630 | 0.0309 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7780 | 1.4007 | model_form_blend |
| predicted_WHIP | - | 1.0410 | 1.0410 | 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 | 43 |
| 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 | 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 | 1.52 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 27.7 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.213 |
| sl_xwoba | 0.255 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 32.7 |
| sl_whiff_percent | 29.1 |
| sl_swing_percent | 52.4 |
| sl_avg_best_speed | 74.490242653 |
| sl_avg_hyper_speed | 93.010957041 |
| 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.389 | 0.000 | -0.389 | 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.694 | 0.000 | -0.694 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.789 | 0.200 | 0.211 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.194 | 1.000 | -0.194 | 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": "664076",
"player_name": "Garrett Cleavinger",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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.000 | 1.000 | 1.000 | 2.000 | 5.000 | 1.000 | 2.2500 | 0.7500 | 0.2500 | 0.2500 | 0.5000 | 1.2500 | 0.2500 |
| last_10 | 0.35 | 10 | 8.200 | 1.000 | 6.000 | 3.000 | 12.000 | 1.000 | 1.0385 | 1.0385 | 0.1154 | 0.6923 | 0.3462 | 1.3846 | 0.1154 |
| season | 0.20 | 36 | 31.200 | 12.000 | 25.000 | 14.000 | 43.000 | 4.000 | 3.4105 | 1.2316 | 0.3790 | 0.7895 | 0.4421 | 1.3579 | 0.1263 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3660 |
| predicted_ER | 0.3220 |
| predicted_ERA | 3.1618 |
| predicted_H | 0.6580 |
| predicted_HR | 0.1520 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0630 |
| predicted_WHIP | 1.1174 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3660 | 0.1695 | model_form_blend |
| predicted_ER | 0.0000 | 0.3220 | 0.1492 | model_form_blend |
| predicted_ERA | - | 3.1618 | 3.1618 | form_only |
| predicted_H | 0.0000 | 0.6580 | 0.3048 | model_form_blend |
| predicted_HR | 0.0000 | 0.1520 | 0.0704 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0630 | 1.0292 | model_form_blend |
| predicted_WHIP | - | 1.1174 | 1.1174 | 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 | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 36 |
| 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 | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.41 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 664076 |
| playerID | 664076 |
| playerName | Garrett Cleavinger |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 32.3 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.301 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 41.1 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 46.4 |
| sl_avg_best_speed | 74.487617222 |
| sl_avg_hyper_speed | 93.992690704 |
| 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.178 | 0.000 | -0.178 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.756 | 0.000 | 1.244 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.953 | 1.000 | 0.047 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.889 | 3.000 | -0.889 | -3.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": "687330",
"player_name": "Kevin Kelly",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 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 | 5 | 5.200 | 0.000 | 1.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.3529 | 0.0000 | 0.1765 | 0.1765 | 1.4118 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 2.000 | 8.000 | 1.000 | 12.000 | 1.000 | 1.3846 | 0.6923 | 0.1538 | 0.6154 | 0.0769 | 0.9231 | 0.0769 |
| season | 0.20 | 45 | 49.200 | 12.000 | 34.000 | 8.000 | 40.000 | 4.000 | 2.1745 | 0.8456 | 0.2416 | 0.6846 | 0.1611 | 0.8054 | 0.0805 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2280 |
| predicted_ER | 0.2560 |
| predicted_ERA | 2.1395 |
| predicted_H | 0.6620 |
| predicted_HR | 0.0860 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1480 |
| predicted_WHIP | 0.8259 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2280 | 0.1159 | model_form_blend |
| predicted_ER | 0.0000 | 0.2560 | 0.1301 | model_form_blend |
| predicted_ERA | - | 2.1395 | 2.1395 | form_only |
| predicted_H | 2.0000 | 0.6620 | 1.3200 | model_form_blend |
| predicted_HR | 0.0000 | 0.0860 | 0.0437 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1480 | 0.5834 | model_form_blend |
| predicted_WHIP | - | 0.8259 | 0.8259 | 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 | 45 |
| Season rows before report date | 45 |
| Report year | 2026 |
| Profile rows used | 45 |
| 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 | 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.17 |
| 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 | 3 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_TEX@TB |
| game_type | full |
| mlbID | 687330 |
| playerID | 687330 |
| playerName | Kevin Kelly |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.242 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 45.5 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 47.7 |
| sl_avg_best_speed | 78.507160303 |
| sl_avg_hyper_speed | 94.888771061 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | WAS 4 - 5 ATL | ATL | 0.600 | scoring_simulation.final_score | True |
| Simulation draw | WAS 3 - 4 ATL | ATL | - | reconciled_final_score | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
| 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.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6000 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | reconciled_final_score |
| 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.705 | 4.646 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 3 | 0.6000 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 4 | 5 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 5 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4454300996523754,
"base_low_score_probability": 0.4264194669756663,
"low_score_signal_threshold": 0.5064194669756663,
"low_score_signal_strength": 0.019010632676709105,
"confidence": 0.6222909999999999,
"factors": {
"environmental": 0.9496199999999999,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.044582
},
"prediction": "normal_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 7,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 124,
"near_bucket_sample_size": 124,
"medium_bucket_sample_size": 150,
"wide_bucket_sample_size": 171,
"global_sample_size": 319,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5161,
"bayesian_hit_rate": 0.5141,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8732,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5071,
"calibrated_pick_probability": 0.5102,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "ATL",
"games": 109,
"wins": 63,
"losses": 46,
"win_pct": 0.5779816513761468,
"runs_scored": 528,
"runs_allowed": 437,
"run_differential": 91,
"run_differential_per_game": 0.8348623853211009,
"available": true
},
"away": {
"team": "WAS",
"games": 109,
"wins": 55,
"losses": 54,
"win_pct": 0.5045871559633027,
"runs_scored": 596,
"runs_allowed": 568,
"run_differential": 28,
"run_differential_per_game": 0.25688073394495414,
"available": true
},
"run_differential_edge_per_game": 0.578,
"win_pct_edge": 0.0734,
"quality_edge": 0.6881,
"margin_adjustment": 0.289,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 4.958,
"home_runs": 3.495,
"home_win_probability": 0.3756
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "WAS",
"opponent_team": "ATL",
"h2h_net_margin": 2,
"recent_h2h": [
{
"date": "2026-05-24",
"predicted_team_runs": 2,
"opponent_runs": 1,
"margin_for_predicted_team": 1,
"winner": "WAS"
},
{
"date": "2026-05-23",
"predicted_team_runs": 2,
"opponent_runs": 0,
"margin_for_predicted_team": 2,
"winner": "WAS"
},
{
"date": "2026-05-22",
"predicted_team_runs": 4,
"opponent_runs": 5,
"margin_for_predicted_team": -1,
"winner": "ATL"
}
],
"prediction_memory": {
"available": false,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": []
},
"guardrail_predicted_team": "WAS",
"guardrail_opponent_team": "ATL",
"output_pre_simulation_winner": "ATL",
"output_opponent_team": "WAS",
"final_score_winner": "ATL",
"pre_simulation_winner": "ATL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "WAS 4 - 5 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "WAS 3 - 4 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": -1,
"total_run_delta": -2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.6881,
"winner": "ATL",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": false,
"reasons": [
"season-to-date record and run differential support the home team over a close road lean"
],
"signals": {
"home": {
"team": "ATL",
"games": 109,
"wins": 63,
"losses": 46,
"win_pct": 0.5779816513761468,
"runs_scored": 528,
"runs_allowed": 437,
"run_differential": 91,
"run_differential_per_game": 0.8348623853211009,
"available": true
},
"away": {
"team": "WAS",
"games": 109,
"wins": 55,
"losses": 54,
"win_pct": 0.5045871559633027,
"runs_scored": 596,
"runs_allowed": 568,
"run_differential": 28,
"run_differential_per_game": 0.25688073394495414,
"available": true
},
"home_quality_edge": 0.1428,
"original_score": {
"away_runs": 4.666,
"home_runs": 3.786,
"home_win_probability": 0.4252
},
"adjusted_score": {
"away_runs": 4.419,
"home_runs": 4.336,
"home_win_probability": 0.51
}
}
}{
"applied": false,
"raw_margin": -0.0832,
"final_margin": -0.0832,
"margin_cap": 1.5,
"season_quality_edge": 0.6881,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.508388,
"final_confidence": 0.508388,
"confidence_cap": 0.66,
"score_gap": 0.0832,
"calibration_sample_size": 124,
"calibration_empirical_hit_rate": 0.5161,
"calibration_bayesian_hit_rate": 0.5141,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6881,
"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": 4,
"home_runs": 5,
"score_text": "WAS 4 - 5 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "WAS 3 - 4 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": -1,
"total_run_delta": -2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.6881,
"winner": "ATL",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 4,
"confidence": 0.6,
"home_win_probability": 0.6,
"away_win_probability": 0.4,
"predicted_score_text": "WAS 3 - 4 ATL",
"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": "WAS",
"original_runs": 4,
"run_delta": 0.3207,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.21620482813551498,
"contact": 0.25118825426691904,
"power": 0.28052611185079274,
"discipline": 0.09140384226046373,
"xwoba": 0.3283529411764706,
"recent_xwoba": 0.3283529411764706,
"barrel": 9.24705882352941,
"ab_hard_contact": 0.13214128890306756,
"ab_bat_speed": 69.95422147010592,
"ab_strikeout_rate": 0.19790701844745578,
"available_players": 9,
"top_players": [
{
"player_id": "695578",
"player_name": "James Wood",
"position": "DH",
"weight": 4.0,
"quality": 1.5309396570823657,
"contact": 1.5222339596980459,
"power": 2.0,
"discipline": 0.5423568457686103,
"xwoba": 0.423,
"recent_xwoba": 0.42299999999999993,
"barrel": 21.8,
"ab_hard_contact": 1.1696667029460612,
"ab_bat_speed": 74.68368300653594,
"ab_strikeout_rate": 0.29414098972922503,
"available": 1.0
},
{
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "2B",
"weight": 3.0,
"quality": -1.027414026874417,
"contact": -1.0280839988005046,
"power": -1.5688047117429338,
"discipline": 0.42127272727272735,
"xwoba": 0.273,
"recent_xwoba": 0.273,
"barrel": 0.4,
"ab_hard_contact": -1.048475187239632,
"ab_bat_speed": 64.95410714285714,
"ab_strikeout_rate": 0.20643939393939395,
"available": 1.0
},
{
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"weight": 4.0,
"quality": 0.8586177264362257,
"contact": 1.0532613335887377,
"power": 1.1403593027007384,
"discipline": -0.10924887169568018,
"xwoba": 0.354,
"recent_xwoba": 0.354,
"barrel": 11.699999999999998,
"ab_hard_contact": 0.4864241492528467,
"ab_bat_speed": 72.67636958098652,
"ab_strikeout_rate": 0.16046099290780141,
"available": 1.0
},
{
"player_id": "678391",
"player_name": "Jorbit Vivas",
"position": "3B",
"weight": 3.0,
"quality": -0.5893321911844208,
"contact": -0.5707578983985263,
"power": -1.0929785856242518,
"discipline": 0.6525216450216452,
"xwoba": 0.296,
"recent_xwoba": 0.296,
"barrel": 3.6,
"ab_hard_contact": -0.733476474389792,
"ab_bat_speed": 67.47778180354267,
"ab_strikeout_rate": 0.16404761904761903,
"available": 1.0
},
{
"player_id": "682928",
"player_name": "CJ Abrams",
"position": "SS",
"weight": 4.0,
"quality": 0.47609604626999563,
"contact": 0.5644074385582973,
"power": 0.8066786379568311,
"discipline": -0.10878690697058048,
"xwoba": 0.352,
"recent_xwoba": 0.352,
"barrel": 11.3,
"ab_hard_contact": 0.2330013305652016,
"ab_bat_speed": 71.1650207388511,
"ab_strikeout_rate": 0.22971331389698738,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "656550",
"player_name": "Grant Holmes",
"quality": -0.2917789459136675,
"contact": -0.3505796163147861,
"command": -0.28510485008818326,
"movement": -0.01216713225157659,
"xwoba": 0.333,
"whiff": 26.6,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
},
"home": {
"team": "ATL",
"original_runs": 3,
"run_delta": 0.2461,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 37.0,
"quality": 0.42685430041989414,
"contact": 0.41681618014234595,
"power": 0.5650067451662439,
"discipline": 0.0567622226163354,
"xwoba": 0.3332432432432432,
"recent_xwoba": 0.3332432432432432,
"barrel": 10.035135135135135,
"ab_hard_contact": 0.5159804631704387,
"ab_bat_speed": 71.72942702346738,
"ab_strikeout_rate": 0.21452325766914487,
"available_players": 9,
"top_players": [
{
"player_id": "686948",
"player_name": "Drake Baldwin",
"position": "C",
"weight": 5.0,
"quality": 1.2664556271908571,
"contact": 1.3517290979719214,
"power": 1.5560674708970537,
"discipline": 0.3763845142199571,
"xwoba": 0.385,
"recent_xwoba": 0.385,
"barrel": 14.8,
"ab_hard_contact": 1.3609684655601202,
"ab_bat_speed": 73.61516847498494,
"ab_strikeout_rate": 0.2109704641350211,
"available": 1.0
},
{
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"weight": 4.0,
"quality": 0.997019350857976,
"contact": 0.8754095066428965,
"power": 1.530922994241854,
"discipline": 0.17378543568642582,
"xwoba": 0.359,
"recent_xwoba": 0.359,
"barrel": 14.3,
"ab_hard_contact": 1.3676027419799377,
"ab_bat_speed": 73.44899783906962,
"ab_strikeout_rate": 0.2382838283828383,
"available": 1.0
},
{
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"weight": 5.0,
"quality": 0.9332282952063066,
"contact": 1.1664627312584426,
"power": 1.252526500750973,
"discipline": -0.5304930459611309,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 12.1,
"ab_hard_contact": 0.986149062638509,
"ab_bat_speed": 73.47946453900708,
"ab_strikeout_rate": 0.19627659574468084,
"available": 1.0
},
{
"player_id": "660670",
"player_name": "Ronald Acuña Jr.",
"position": "RF",
"weight": 5.0,
"quality": 0.8375133060948925,
"contact": 0.7478547275564715,
"power": 1.041744862119203,
"discipline": 0.590488677988678,
"xwoba": 0.376,
"recent_xwoba": 0.376,
"barrel": 12.9,
"ab_hard_contact": 0.5564210519078693,
"ab_bat_speed": 73.9385202991453,
"ab_strikeout_rate": 0.22179487179487178,
"available": 1.0
},
{
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"weight": 4.0,
"quality": -0.4853097932650794,
"contact": -0.5163326835975564,
"power": -0.5943377783889807,
"discipline": 0.12181749603531777,
"xwoba": 0.286,
"recent_xwoba": 0.286,
"barrel": 4.5,
"ab_hard_contact": -0.09780318682722904,
"ab_bat_speed": 67.62765731573157,
"ab_strikeout_rate": 0.13910891089108912,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "676917",
"player_name": "Cade Cavalli",
"quality": 0.12347402010728703,
"contact": 0.1323248799690238,
"command": 0.09946657848324522,
"movement": 0.31240174977003254,
"xwoba": 0.31,
"whiff": 24.9,
"faced_est_woba": 0.26659408357142855,
"faced_launch_speed": 83.81851851851852,
"faced_strikeout_rate": 0.2351058201058201,
"faced_run_exp": 0.006935207624716543
}
}
},
"fundamental_edge_target_review": {
"applied": true,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 3,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 5,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.6881,
"recent_form_edge_home_minus_away": -0.342,
"pitcher_matchup_edge_home_minus_away": 0.2283,
"composite_home_edge": 0.6152,
"existing_home_win_probability": 0.4898,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": -0.6152
},
"reasons": [
"flipped low-confidence one-run target away from unsupported side"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Season quality guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 5,
"predicted_score_text": "WAS 4 - 5 ATL",
"confidence": 0.6,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "WAS 4 - 5 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "WAS 3 - 4 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": -1,
"total_run_delta": -2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.6881,
"winner": "ATL",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "ATL",
"display_confidence": 0.6,
"internal_signal_score": 0.5787,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.6,
"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": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.6881,
"winner_recent_form_edge": -0.412,
"winner_pitcher_matchup_edge": 0.2283,
"winner_simulation_draw_rate": 0.5,
"blowout_draw_rate_margin_4_plus": 0.25,
"high_total_draw_rate_11_plus": 0.1875,
"low_total_draw_rate_6_or_less": 0.5625,
"total_runs_spread": {
"min": 1,
"median": 6,
"max": 15,
"range": 14
}
},
"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 WAS | True | 1.0252 | 1.0252 | 1 | 9 | 0 |
| Home ATL | True | 1.0385 | 1.0385 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | James Wood | 10 | 1.1472 | 1.9626 | neutral | 0.4230 | 0.2760 | 0.5980 | 21.80 | 58.70 | 95.20 | 10.10 | 31.40 | 29.10 | 16.70 | 0.6286 |
| RF | Dylan Crews | 203 | 1.0449 | 0.5982 | neutral | 0.3310 | 0.2390 | 0.4370 | 10.30 | 44.60 | 90.90 | 12.80 | 30.10 | 22.60 | 7.70 | 0.5143 |
| C | Keibert Ruiz | 182 | 0.9569 | -0.5742 | negative_batter_regression | 0.2700 | 0.2300 | 0.3540 | 5 | 37.50 | 88.30 | 16.70 | 13.70 | 11.70 | 3.80 | -1.4286 |
| 1B | Luis García Jr. | 70 | 1.0798 | 1.0636 | neutral | 0.3540 | 0.2890 | 0.5050 | 11.70 | 45.40 | 91.40 | 11.50 | 19.50 | 16.20 | 4.50 | -0.3714 |
| LF | Daylen Lile | 169 | 1.0193 | 0.2568 | neutral | 0.3130 | 0.2530 | 0.4100 | 7.90 | 35.60 | 88.10 | 17.70 | 23.30 | 18.50 | 6.10 | 0.2286 |
| SS | CJ Abrams | 9 | 1.0544 | 0.7249 | negative_batter_regression | 0.3520 | 0.2620 | 0.4720 | 11.30 | 42.50 | 89.80 | 19.10 | 28 | 21.60 | 8.50 | -1.2286 |
| 3B | Jorbit Vivas | 385 | 0.9699 | -0.4020 | neutral | 0.2960 | 0.2430 | 0.3260 | 3.60 | 25.90 | 83.30 | 11.50 | 18 | 14.20 | 9.80 | -0.0857 |
| 2B | Nasim Nuñez | 81 | 0.9299 | -0.9341 | neutral | 0.2730 | 0.2260 | 0.2770 | 0.40 | 20.20 | 84.50 | 7.40 | 21.40 | 20.90 | 10.60 | -0.3714 |
| CF | Jacob Young | 135 | 1.0248 | 0.3305 | neutral | 0.3180 | 0.2640 | 0.3990 | 6.70 | 35.10 | 88.70 | 10.50 | 21.20 | 17.80 | 6.20 | 0.5429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Ronald Acuña Jr. | 241 | 1.0969 | 1.2923 | neutral | 0.3760 | 0.2540 | 0.4870 | 12.90 | 43.50 | 90.20 | 17.40 | 29.40 | 22.50 | 14.60 | 0.8000 |
| C | Drake Baldwin | 44 | 1.1220 | 1.6269 | neutral | 0.3850 | 0.2810 | 0.5180 | 14.80 | 51.20 | 91.70 | 11.10 | 24.10 | 21.30 | 11.10 | 0.4286 |
| CF | Michael Harris II | 23 | 1.0870 | 1.1594 | neutral | 0.3570 | 0.2960 | 0.5050 | 12.10 | 50 | 91.30 | 11.30 | 25.20 | 19.70 | 3.70 | 0.0286 |
| 1B | Matt Olson | 25 | 1.0871 | 1.1616 | neutral | 0.3590 | 0.2480 | 0.5090 | 14.30 | 50.30 | 92.70 | 18.10 | 24.70 | 24.40 | 10.50 | -0.2857 |
| DH | Mike Yastrzemski | 222 | 0.9923 | -0.1026 | neutral | 0.2960 | 0.2220 | 0.3410 | 6.20 | 42.90 | 90.20 | 16.50 | 24.30 | 24.30 | 10.10 | -0.1429 |
| LF | Mauricio Dubón | 78 | 1.0016 | 0.0213 | neutral | 0.3100 | 0.2660 | 0.3840 | 4.60 | 30.70 | 86.60 | 15.50 | 16.60 | 13.80 | 6.40 | -0.0857 |
| 2B | Ozzie Albies | 94 | 0.9634 | -0.4882 | negative_batter_regression | 0.2860 | 0.2360 | 0.3650 | 4.50 | 27.60 | 86.80 | 17.90 | 21.80 | 14.70 | 6.50 | -1.0857 |
| SS | Jim Jarvis | 238 | 0.9899 | -0.1349 | neutral | 0.2840 | 0.2540 | 0.3450 | 5.50 | 38.20 | 88.30 | 3.80 | 15.40 | 16.90 | 4.20 | -0.4571 |
| 3B | Austin Riley | 253 | 1.0065 | 0.0867 | neutral | 0.2950 | 0.2080 | 0.3800 | 10.90 | 43.80 | 90.70 | 18.60 | 32.70 | 30 | 7.90 | 0.2000 |
{
"home": {
"applied": true,
"offense_factor": 1.0385,
"raw_average_factor": 1.0385,
"team_espn_average_rank": 135.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "660670",
"player_name": "Ronald Acuña Jr.",
"offense_factor": 1.0969,
"quality_score": 1.2923,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660670",
"espn_id": 36185,
"player_name": "Ronald Acuna Jr.",
"team": "ATL",
"role": "batter",
"espn_rank": 241,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 241,
"gp_value": 56.0,
"gp_rank": 306,
"ab_value": 206.0,
"ab_rank": 250,
"r_value": 32.0,
"r_rank": 196,
"h_value": 50.0,
"h_rank": 239,
"avg_value": 0.2427184,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 210,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 22.0,
"rbi_rank": 263,
"tb_value": 83.0,
"tb_rank": 1252,
"bb_value": 36.0,
"bb_rank": 94,
"so_value": 56.0,
"so_rank": 211,
"sb_value": 15.0,
"sb_rank": 29,
"obp_value": 0.3629032,
"obp_rank": "-",
"slg_value": 0.4029126,
"slg_rank": "-",
"ops_value": 0.7658158,
"ops_rank": null,
"war_value": 0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 230.0,
"k_percent": 22.5,
"bb_percent": 14.6,
"woba": 0.348,
"xwoba": 0.376,
"xba": 0.254,
"xslg": 0.487,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 17.4,
"whiff_percent": 29.4,
"swing_percent": 45.8
},
"components": {
"expected_quality": 1.3725,
"regression_edge": 0.8,
"xwoba_edge": 2.1,
"xba_edge": 0.4429,
"xslg_edge": 1.65,
"barrel_edge": 1.3556,
"hard_hit_edge": 0.7714,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "686948",
"player_name": "Drake Baldwin",
"offense_factor": 1.122,
"quality_score": 1.6269,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686948",
"espn_id": 4810190,
"player_name": "Drake Baldwin",
"team": "ATL",
"role": "batter",
"espn_rank": 44,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 44,
"gp_value": 85.0,
"gp_rank": 170,
"ab_value": 330.0,
"ab_rank": 118,
"r_value": 59.0,
"r_rank": 36,
"h_value": 93.0,
"h_rank": 84,
"avg_value": 0.2818181,
"avg_rank": 27.0,
"2b_value": 7.0,
"2b_rank": 285,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 20.0,
"hr_rank": 32,
"rbi_value": 56.0,
"rbi_rank": 49,
"tb_value": 160.0,
"tb_rank": 795,
"bb_value": 41.0,
"bb_rank": 60,
"so_value": 80.0,
"so_rank": 102,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3720316,
"obp_rank": "18",
"slg_value": 0.4848484,
"slg_rank": "30",
"ops_value": 0.85688,
"ops_rank": 12.0,
"war_value": 2.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 351.0,
"k_percent": 21.3,
"bb_percent": 11.1,
"woba": 0.37,
"xwoba": 0.385,
"xba": 0.281,
"xslg": 0.518,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 14.8,
"hard_hit_percent": 51.2,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 11.1,
"whiff_percent": 24.1,
"swing_percent": 49.2
},
"components": {
"expected_quality": 1.822,
"regression_edge": 0.4286,
"xwoba_edge": 2.3571,
"xba_edge": 1.2143,
"xslg_edge": 2.0929,
"barrel_edge": 1.7778,
"hard_hit_edge": 1.8714,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "671739",
"player_name": "Michael Harris II",
"offense_factor": 1.087,
"quality_score": 1.1594,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671739",
"espn_id": 42470,
"player_name": "Michael Harris II",
"team": "ATL",
"role": "batter",
"espn_rank": 23,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 23,
"gp_value": 102.0,
"gp_rank": 74,
"ab_value": 389.0,
"ab_rank": 54,
"r_value": 53.0,
"r_rank": 67,
"h_value": 114.0,
"h_rank": 15,
"avg_value": 0.2930591,
"avg_rank": 11.0,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 19.0,
"hr_rank": 34,
"rbi_value": 61.0,
"rbi_rank": 32,
"tb_value": 192.0,
"tb_rank": 649,
"bb_value": 16.0,
"bb_rank": 259,
"so_value": 80.0,
"so_rank": 102,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3219512,
"obp_rank": "92",
"slg_value": 0.4935732,
"slg_rank": "21",
"ops_value": 0.8155244,
"ops_rank": 71.0,
"war_value": 3.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 378.0,
"k_percent": 19.7,
"bb_percent": 3.7,
"woba": 0.356,
"xwoba": 0.357,
"xba": 0.296,
"xslg": 0.505,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 91.3,
"launch_angle_avg": 11.3,
"whiff_percent": 25.2,
"swing_percent": 56.3
},
"components": {
"expected_quality": 1.3434,
"regression_edge": 0.0286,
"xwoba_edge": 1.5571,
"xba_edge": 1.6429,
"xslg_edge": 1.9071,
"barrel_edge": 1.1778,
"hard_hit_edge": 1.7,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": -0.7,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "621566",
"player_name": "Matt Olson",
"offense_factor": 1.0871,
"quality_score": 1.1616,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621566",
"espn_id": 32767,
"player_name": "Matt Olson",
"team": "ATL",
"role": "batter",
"espn_rank": 25,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 25,
"gp_value": 108.0,
"gp_rank": 7,
"ab_value": 421.0,
"ab_rank": 7,
"r_value": 73.0,
"r_rank": 4,
"h_value": 111.0,
"h_rank": 19,
"avg_value": 0.2636579,
"avg_rank": 60.0,
"2b_value": 26.0,
"2b_rank": 5,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 28.0,
"hr_rank": 7,
"rbi_value": 66.0,
"rbi_rank": 16,
"tb_value": 221.0,
"tb_rank": 501,
"bb_value": 49.0,
"bb_rank": 36,
"so_value": 118.0,
"so_rank": 18,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.3410526,
"obp_rank": "61",
"slg_value": 0.5249406,
"slg_rank": "14",
"ops_value": 0.8659932,
"ops_rank": 75.0,
"war_value": 3.44,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 439.0,
"k_percent": 24.4,
"bb_percent": 10.5,
"woba": 0.369,
"xwoba": 0.359,
"xba": 0.248,
"xslg": 0.509,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 50.3,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 18.1,
"whiff_percent": 24.7,
"swing_percent": 45.0
},
"components": {
"expected_quality": 1.3973,
"regression_edge": -0.2857,
"xwoba_edge": 1.6143,
"xba_edge": 0.2714,
"xslg_edge": 1.9643,
"barrel_edge": 1.6667,
"hard_hit_edge": 1.7429,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": -0.3667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "573262",
"player_name": "Mike Yastrzemski",
"offense_factor": 0.9923,
"quality_score": -0.1026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573262",
"espn_id": 33341,
"player_name": "Mike Yastrzemski",
"team": "ATL",
"role": "batter",
"espn_rank": 222,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 222,
"gp_value": 93.0,
"gp_rank": 140,
"ab_value": 246.0,
"ab_rank": 202,
"r_value": 34.0,
"r_rank": 184,
"h_value": 55.0,
"h_rank": 214,
"avg_value": 0.2235772,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 189,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 6.0,
"hr_rank": 228,
"rbi_value": 28.0,
"rbi_rank": 216,
"tb_value": 86.0,
"tb_rank": 1299,
"bb_value": 28.0,
"bb_rank": 146,
"so_value": 69.0,
"so_rank": 151,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3118279,
"obp_rank": "-",
"slg_value": 0.3495934,
"slg_rank": "-",
"ops_value": 0.6614213,
"ops_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 260.0,
"k_percent": 24.3,
"bb_percent": 10.1,
"woba": 0.301,
"xwoba": 0.296,
"xba": 0.222,
"xslg": 0.341,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 16.5,
"whiff_percent": 24.3,
"swing_percent": 41.3
},
"components": {
"expected_quality": -0.096,
"regression_edge": -0.1429,
"xwoba_edge": -0.1857,
"xba_edge": -0.4714,
"xslg_edge": -0.4357,
"barrel_edge": -0.1333,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"offense_factor": 1.0016,
"quality_score": 0.0213,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643289",
"espn_id": 35304,
"player_name": "Mauricio Dubon",
"team": "ATL",
"role": "batter",
"espn_rank": 78,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 78,
"gp_value": 104.0,
"gp_rank": 50,
"ab_value": 393.0,
"ab_rank": 44,
"r_value": 48.0,
"r_rank": 98,
"h_value": 102.0,
"h_rank": 45,
"avg_value": 0.2595419,
"avg_rank": 66.0,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 10.0,
"hr_rank": 134,
"rbi_value": 55.0,
"rbi_rank": 51,
"tb_value": 157.0,
"tb_rank": 573,
"bb_value": 27.0,
"bb_rank": 156,
"so_value": 58.0,
"so_rank": 196,
"sb_value": 3.0,
"sb_rank": 198,
"obp_value": 0.3096926,
"obp_rank": "119",
"slg_value": 0.399491,
"slg_rank": "105",
"ops_value": 0.7091836,
"ops_rank": 224.0,
"war_value": 2.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 396.0,
"k_percent": 13.8,
"bb_percent": 6.4,
"woba": 0.313,
"xwoba": 0.31,
"xba": 0.266,
"xslg": 0.384,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 30.7,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 15.5,
"whiff_percent": 16.6,
"swing_percent": 52.9
},
"components": {
"expected_quality": 0.0387,
"regression_edge": -0.0857,
"xwoba_edge": 0.2143,
"xba_edge": 0.7857,
"xslg_edge": 0.1786,
"barrel_edge": -0.4889,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "645277",
"player_name": "Ozzie Albies",
"offense_factor": 0.9634,
"quality_score": -0.4882,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "645277",
"espn_id": 33783,
"player_name": "Ozzie Albies",
"team": "ATL",
"role": "batter",
"espn_rank": 94,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 94,
"gp_value": 108.0,
"gp_rank": 7,
"ab_value": 423.0,
"ab_rank": 4,
"r_value": 68.0,
"r_rank": 11,
"h_value": 110.0,
"h_rank": 21,
"avg_value": 0.2600472,
"avg_rank": 66.0,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 18.0,
"hr_rank": 39,
"rbi_value": 60.0,
"rbi_rank": 37,
"tb_value": 185.0,
"tb_rank": 670,
"bb_value": 31.0,
"bb_rank": 127,
"so_value": 69.0,
"so_rank": 151,
"sb_value": 1.0,
"sb_rank": 293,
"obp_value": 0.3106382,
"obp_rank": "117",
"slg_value": 0.4373522,
"slg_rank": "68",
"ops_value": 0.7479904,
"ops_rank": 49.0,
"war_value": 1.82,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 433.0,
"k_percent": 14.7,
"bb_percent": 6.5,
"woba": 0.324,
"xwoba": 0.286,
"xba": 0.236,
"xslg": 0.365,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 27.6,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 17.9,
"whiff_percent": 21.8,
"swing_percent": 56.3
},
"components": {
"expected_quality": -0.3909,
"regression_edge": -1.0857,
"xwoba_edge": -0.4714,
"xba_edge": -0.0714,
"xslg_edge": -0.0929,
"barrel_edge": -0.5111,
"hard_hit_edge": -1.5,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "805347",
"player_name": "Jim Jarvis",
"offense_factor": 0.9899,
"quality_score": -0.1349,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805347",
"espn_id": 5205951,
"player_name": "Jim Jarvis",
"team": "ATL",
"role": "batter",
"espn_rank": 238,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 238,
"gp_value": 22.0,
"gp_rank": 458,
"ab_value": 68.0,
"ab_rank": 439,
"r_value": 9.0,
"r_rank": 410,
"h_value": 17.0,
"h_rank": 413,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 339,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 8.0,
"rbi_rank": 415,
"tb_value": 27.0,
"tb_rank": 2212,
"bb_value": 3.0,
"bb_rank": 466,
"so_value": 13.0,
"so_rank": 474,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.2916666,
"obp_rank": "-",
"slg_value": 0.3970588,
"slg_rank": "-",
"ops_value": 0.6887254,
"ops_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 58.0,
"k_percent": 16.9,
"bb_percent": 4.2,
"woba": 0.3,
"xwoba": 0.284,
"xba": 0.254,
"xslg": 0.345,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 3.8,
"whiff_percent": 15.4,
"swing_percent": 46.2
},
"components": {
"expected_quality": -0.274,
"regression_edge": -0.4571,
"xwoba_edge": -0.5286,
"xba_edge": 0.4429,
"xslg_edge": -0.3786,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.0143,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "663586",
"player_name": "Austin Riley",
"offense_factor": 1.0065,
"quality_score": 0.0867,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663586",
"espn_id": 34982,
"player_name": "Austin Riley",
"team": "ATL",
"role": "batter",
"espn_rank": 253,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 253,
"gp_value": 108.0,
"gp_rank": 7,
"ab_value": 392.0,
"ab_rank": 46,
"r_value": 43.0,
"r_rank": 129,
"h_value": 83.0,
"h_rank": 116,
"avg_value": 0.2117346,
"avg_rank": 148.0,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 12.0,
"hr_rank": 105,
"rbi_value": 50.0,
"rbi_rank": 68,
"tb_value": 135.0,
"tb_rank": 777,
"bb_value": 34.0,
"bb_rank": 110,
"so_value": 135.0,
"so_rank": 7,
"sb_value": 7.0,
"sb_rank": 96,
"obp_value": 0.2899543,
"obp_rank": "146",
"slg_value": 0.3443877,
"slg_rank": "148",
"ops_value": 0.634342,
"ops_rank": 2.0,
"war_value": 0.51,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 410.0,
"k_percent": 30.0,
"bb_percent": 7.9,
"woba": 0.288,
"xwoba": 0.295,
"xba": 0.208,
"xslg": 0.38,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 18.6,
"whiff_percent": 32.7,
"swing_percent": 47.9
},
"components": {
"expected_quality": 0.0683,
"regression_edge": 0.2,
"xwoba_edge": -0.2143,
"xba_edge": -0.8714,
"xslg_edge": 0.1214,
"barrel_edge": 0.9111,
"hard_hit_edge": 0.8143,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.45
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0252,
"raw_average_factor": 1.0252,
"team_espn_average_rank": 138.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "695578",
"player_name": "James Wood",
"offense_factor": 1.1472,
"quality_score": 1.9626,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695578",
"espn_id": 4918256,
"player_name": "James Wood",
"team": "WSH",
"role": "batter",
"espn_rank": 10,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 10,
"gp_value": 109.0,
"gp_rank": 1,
"ab_value": 420.0,
"ab_rank": 8,
"r_value": 98.0,
"r_rank": 1,
"h_value": 114.0,
"h_rank": 15,
"avg_value": 0.2714285,
"avg_rank": 47.0,
"2b_value": 26.0,
"2b_rank": 5,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 30.0,
"hr_rank": 5,
"rbi_value": 72.0,
"rbi_rank": 7,
"tb_value": 232.0,
"tb_rank": 217,
"bb_value": 86.0,
"bb_rank": 1,
"so_value": 148.0,
"so_rank": 3,
"sb_value": 16.0,
"sb_rank": 26,
"obp_value": 0.3976608,
"obp_rank": "4",
"slg_value": 0.5523809,
"slg_rank": "4",
"ops_value": 0.9500417,
"ops_rank": 8.0,
"war_value": 4.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 470.0,
"k_percent": 29.1,
"bb_percent": 16.7,
"woba": 0.401,
"xwoba": 0.423,
"xba": 0.276,
"xslg": 0.598,
"sweet_spot_percent": 40.2,
"barrel_batted_rate": 21.8,
"hard_hit_percent": 58.7,
"exit_velocity_avg": 95.2,
"launch_angle_avg": 10.1,
"whiff_percent": 31.4,
"swing_percent": 38.2
},
"components": {
"expected_quality": 2.1797,
"regression_edge": 0.6286,
"xwoba_edge": 2.5,
"xba_edge": 1.0714,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 1.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "686611",
"player_name": "Dylan Crews",
"offense_factor": 1.0449,
"quality_score": 0.5982,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686611",
"espn_id": 4719511,
"player_name": "Dylan Crews",
"team": "WSH",
"role": "batter",
"espn_rank": 203,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 203,
"gp_value": 57.0,
"gp_rank": 303,
"ab_value": 210.0,
"ab_rank": 245,
"r_value": 34.0,
"r_rank": 184,
"h_value": 48.0,
"h_rank": 246,
"avg_value": 0.2285714,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 24.0,
"rbi_rank": 248,
"tb_value": 83.0,
"tb_rank": 1454,
"bb_value": 18.0,
"bb_rank": 237,
"so_value": 53.0,
"so_rank": 224,
"sb_value": 6.0,
"sb_rank": 119,
"obp_value": 0.3106382,
"obp_rank": "-",
"slg_value": 0.395238,
"slg_rank": "-",
"ops_value": 0.7058762,
"ops_rank": null,
"war_value": 0.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 22.6,
"bb_percent": 7.7,
"woba": 0.313,
"xwoba": 0.331,
"xba": 0.239,
"xslg": 0.437,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 12.8,
"whiff_percent": 30.1,
"swing_percent": 51.5
},
"components": {
"expected_quality": 0.6555,
"regression_edge": 0.5143,
"xwoba_edge": 0.8143,
"xba_edge": 0.0143,
"xslg_edge": 0.9357,
"barrel_edge": 0.7778,
"hard_hit_edge": 0.9286,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": -0.35,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"offense_factor": 0.9569,
"quality_score": -0.5742,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "660688",
"espn_id": 38827,
"player_name": "Keibert Ruiz",
"team": "WSH",
"role": "batter",
"espn_rank": 182,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 182,
"gp_value": 70.0,
"gp_rank": 243,
"ab_value": 225.0,
"ab_rank": 228,
"r_value": 33.0,
"r_rank": 190,
"h_value": 60.0,
"h_rank": 201,
"avg_value": 0.2666666,
"avg_rank": null,
"2b_value": 20.0,
"2b_rank": 49,
"3b_value": 0.0,
"3b_rank": 249,
"hr_value": 7.0,
"hr_rank": 197,
"rbi_value": 36.0,
"rbi_rank": 160,
"tb_value": 101.0,
"tb_rank": 1339,
"bb_value": 9.0,
"bb_rank": 367,
"so_value": 28.0,
"so_rank": 371,
"sb_value": 2.0,
"sb_rank": 237,
"obp_value": 0.2970711,
"obp_rank": "-",
"slg_value": 0.4488888,
"slg_rank": "-",
"ops_value": 0.7459599,
"ops_rank": null,
"war_value": 0.95,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 11.7,
"bb_percent": 3.8,
"woba": 0.32,
"xwoba": 0.27,
"xba": 0.23,
"xslg": 0.354,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 16.7,
"whiff_percent": 13.7,
"swing_percent": 51.7
},
"components": {
"expected_quality": -0.4351,
"regression_edge": -1.4286,
"xwoba_edge": -0.9286,
"xba_edge": -0.2429,
"xslg_edge": -0.25,
"barrel_edge": -0.4,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "671277",
"player_name": "Luis García Jr.",
"offense_factor": 1.0798,
"quality_score": 1.0636,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671277",
"espn_id": 40459,
"player_name": "Luis Garcia Jr.",
"team": "WSH",
"role": "batter",
"espn_rank": 70,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 70,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 345.0,
"ab_rank": 106,
"r_value": 47.0,
"r_rank": 102,
"h_value": 97.0,
"h_rank": 66,
"avg_value": 0.2811594,
"avg_rank": 29.0,
"2b_value": 18.0,
"2b_rank": 76,
"3b_value": 4.0,
"3b_rank": 12,
"hr_value": 22.0,
"hr_rank": 17,
"rbi_value": 74.0,
"rbi_rank": 5,
"tb_value": 189.0,
"tb_rank": 217,
"bb_value": 16.0,
"bb_rank": 259,
"so_value": 58.0,
"so_rank": 196,
"sb_value": 4.0,
"sb_rank": 162,
"obp_value": 0.3121546,
"obp_rank": "115",
"slg_value": 0.547826,
"slg_rank": "5",
"ops_value": 0.8599806,
"ops_rank": 110.0,
"war_value": 2.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 333.0,
"k_percent": 16.2,
"bb_percent": 4.5,
"woba": 0.367,
"xwoba": 0.354,
"xba": 0.289,
"xslg": 0.505,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 45.4,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 11.5,
"whiff_percent": 19.5,
"swing_percent": 53.7
},
"components": {
"expected_quality": 1.2972,
"regression_edge": -0.3714,
"xwoba_edge": 1.4714,
"xba_edge": 1.4429,
"xslg_edge": 1.9071,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "695734",
"player_name": "Daylen Lile",
"offense_factor": 1.0193,
"quality_score": 0.2568,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695734",
"espn_id": 4917889,
"player_name": "Daylen Lile",
"team": "WSH",
"role": "batter",
"espn_rank": 169,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 169,
"gp_value": 107.0,
"gp_rank": 20,
"ab_value": 412.0,
"ab_rank": 14,
"r_value": 54.0,
"r_rank": 59,
"h_value": 101.0,
"h_rank": 50,
"avg_value": 0.2451456,
"avg_rank": 98.0,
"2b_value": 22.0,
"2b_rank": 25,
"3b_value": 5.0,
"3b_rank": 9,
"hr_value": 11.0,
"hr_rank": 118,
"rbi_value": 52.0,
"rbi_rank": 61,
"tb_value": 166.0,
"tb_rank": 447,
"bb_value": 27.0,
"bb_rank": 156,
"so_value": 83.0,
"so_rank": 90,
"sb_value": 10.0,
"sb_rank": 62,
"obp_value": 0.296875,
"obp_rank": "139",
"slg_value": 0.4029126,
"slg_rank": "100",
"ops_value": 0.6997876,
"ops_rank": 239.0,
"war_value": 1.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 421.0,
"k_percent": 18.5,
"bb_percent": 6.1,
"woba": 0.305,
"xwoba": 0.313,
"xba": 0.253,
"xslg": 0.41,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 35.6,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 17.7,
"whiff_percent": 23.3,
"swing_percent": 55.6
},
"components": {
"expected_quality": 0.2614,
"regression_edge": 0.2286,
"xwoba_edge": 0.3,
"xba_edge": 0.4143,
"xslg_edge": 0.55,
"barrel_edge": 0.2444,
"hard_hit_edge": -0.3571,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "682928",
"player_name": "CJ Abrams",
"offense_factor": 1.0544,
"quality_score": 0.7249,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682928",
"espn_id": 42402,
"player_name": "CJ Abrams",
"team": "WSH",
"role": "batter",
"espn_rank": 9,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 9,
"gp_value": 105.0,
"gp_rank": 38,
"ab_value": 394.0,
"ab_rank": 41,
"r_value": 68.0,
"r_rank": 11,
"h_value": 115.0,
"h_rank": 11,
"avg_value": 0.2918781,
"avg_rank": 14.0,
"2b_value": 21.0,
"2b_rank": 34,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 27.0,
"hr_rank": 8,
"rbi_value": 82.0,
"rbi_rank": 1,
"tb_value": 221.0,
"tb_rank": 113,
"bb_value": 39.0,
"bb_rank": 73,
"so_value": 97.0,
"so_rank": 55,
"sb_value": 19.0,
"sb_rank": 17,
"obp_value": 0.3652561,
"obp_rank": "26",
"slg_value": 0.5609137,
"slg_rank": "3",
"ops_value": 0.9261698,
"ops_rank": 23.0,
"war_value": 4.39,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 416.0,
"k_percent": 21.6,
"bb_percent": 8.5,
"woba": 0.395,
"xwoba": 0.352,
"xba": 0.262,
"xslg": 0.472,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 42.5,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 19.1,
"whiff_percent": 28.0,
"swing_percent": 51.1
},
"components": {
"expected_quality": 1.0429,
"regression_edge": -1.2286,
"xwoba_edge": 1.4143,
"xba_edge": 0.6714,
"xslg_edge": 1.4357,
"barrel_edge": 1.0,
"hard_hit_edge": 0.6286,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "678391",
"player_name": "Jorbit Vivas",
"offense_factor": 0.9699,
"quality_score": -0.402,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678391",
"espn_id": 4722676,
"player_name": "Jorbit Vivas",
"team": "WSH",
"role": "batter",
"espn_rank": 385,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 385,
"gp_value": 78.0,
"gp_rank": 206,
"ab_value": 196.0,
"ab_rank": 258,
"r_value": 23.0,
"r_rank": 264,
"h_value": 47.0,
"h_rank": 250,
"avg_value": 0.2397959,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 260,
"3b_value": 1.0,
"3b_rank": 106,
"hr_value": 3.0,
"hr_rank": 320,
"rbi_value": 18.0,
"rbi_rank": 304,
"tb_value": 66.0,
"tb_rank": 1682,
"bb_value": 22.0,
"bb_rank": 203,
"so_value": 33.0,
"so_rank": 334,
"sb_value": 0.0,
"sb_rank": 392,
"obp_value": 0.3230088,
"obp_rank": "-",
"slg_value": 0.3367346,
"slg_rank": "-",
"ops_value": 0.6597434,
"ops_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 14.2,
"bb_percent": 9.8,
"woba": 0.299,
"xwoba": 0.296,
"xba": 0.243,
"xslg": 0.326,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 25.9,
"exit_velocity_avg": 83.3,
"launch_angle_avg": 11.5,
"whiff_percent": 18.0,
"swing_percent": 50.3
},
"components": {
"expected_quality": -0.4643,
"regression_edge": -0.0857,
"xwoba_edge": -0.1857,
"xba_edge": 0.1286,
"xslg_edge": -0.65,
"barrel_edge": -0.7111,
"hard_hit_edge": -1.7429,
"exit_velocity_edge": -2.16,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"offense_factor": 0.9299,
"quality_score": -0.9341,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683083",
"espn_id": 4728688,
"player_name": "Nasim Nunez",
"team": "WSH",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 81,
"gp_value": 101.0,
"gp_rank": 83,
"ab_value": 307.0,
"ab_rank": 136,
"r_value": 46.0,
"r_rank": 106,
"h_value": 75.0,
"h_rank": 135,
"avg_value": 0.2442996,
"avg_rank": 101.0,
"2b_value": 4.0,
"2b_rank": 371,
"3b_value": 3.0,
"3b_rank": 19,
"hr_value": 1.0,
"hr_rank": 416,
"rbi_value": 31.0,
"rbi_rank": 197,
"tb_value": 88.0,
"tb_rank": 1792,
"bb_value": 37.0,
"bb_rank": 85,
"so_value": 74.0,
"so_rank": 128,
"sb_value": 38.0,
"sb_rank": 1,
"obp_value": 0.3256484,
"obp_rank": "83",
"slg_value": 0.2866449,
"slg_rank": "158",
"ops_value": 0.6122933,
"ops_rank": 75.0,
"war_value": 2.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 318.0,
"k_percent": 20.9,
"bb_percent": 10.6,
"woba": 0.286,
"xwoba": 0.273,
"xba": 0.226,
"xslg": 0.277,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 0.4,
"hard_hit_percent": 20.2,
"exit_velocity_avg": 84.5,
"launch_angle_avg": 7.4,
"whiff_percent": 21.4,
"swing_percent": 46.7
},
"components": {
"expected_quality": -1.0257,
"regression_edge": -0.3714,
"xwoba_edge": -0.8429,
"xba_edge": -0.3571,
"xslg_edge": -1.35,
"barrel_edge": -1.4222,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.68,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "696285",
"player_name": "Jacob Young",
"offense_factor": 1.0248,
"quality_score": 0.3305,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696285",
"espn_id": 4414210,
"player_name": "Jacob Young",
"team": "WSH",
"role": "batter",
"espn_rank": 135,
"espn_total_ranked": 614,
"metrics": {
"espn_rank": 135,
"gp_value": 96.0,
"gp_rank": 122,
"ab_value": 295.0,
"ab_rank": 148,
"r_value": 40.0,
"r_rank": 145,
"h_value": 70.0,
"h_rank": 158,
"avg_value": 0.2372881,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 134,
"3b_value": 2.0,
"3b_rank": 46,
"hr_value": 9.0,
"hr_rank": 150,
"rbi_value": 38.0,
"rbi_rank": 143,
"tb_value": 115.0,
"tb_rank": 834,
"bb_value": 21.0,
"bb_rank": 212,
"so_value": 57.0,
"so_rank": 201,
"sb_value": 13.0,
"sb_rank": 45,
"obp_value": 0.2981366,
"obp_rank": "-",
"slg_value": 0.3898305,
"slg_rank": "-",
"ops_value": 0.6879671,
"ops_rank": null,
"war_value": 1.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 299.0,
"k_percent": 17.8,
"bb_percent": 6.2,
"woba": 0.299,
"xwoba": 0.318,
"xba": 0.264,
"xslg": 0.399,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 35.1,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 10.5,
"whiff_percent": 21.2,
"swing_percent": 43.7
},
"components": {
"expected_quality": 0.296,
"regression_edge": 0.5429,
"xwoba_edge": 0.4429,
"xba_edge": 0.7286,
"xslg_edge": 0.3929,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.4286,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 0.5833,
"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 WAS | True | 67 | 0.0766 | 1 | 0.9935 | 1.0151 | 0.9660 | 1.0090 | neutral | 0.3100 | 0.3070 | 25.80 | 7.20 | 24.90 | 6.80 | 40.90 | |
| Home ATL | True | 96 | -0.3537 | 1 | 1.0301 | 0.9900 | 1.0260 | 1.0780 | neutral | 0.3330 | 0.3190 | 19.70 | 10.20 | 26.60 | 8.90 | 43 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away WAS | True | None | 86 | 91.66 | 2223 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1002 | |
| Home ATL | True | None | 77 | 89.51 | 2468 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0203 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0301 |
| home_runs_vs_away_pitcher | 0.9935 |
| home_pitcher_quality_edge | -0.4303 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "656550",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 399.0,
"k_percent": 19.7,
"bb_percent": 10.2,
"woba": 0.319,
"xwoba": 0.333,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 43.0,
"avg_best_speed": 80.9064,
"avg_hyper_speed": 94.6122,
"whiff_percent": 26.6,
"swing_percent": 48.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.469,
"command_and_miss": -0.1904,
"regression_edge": -0.4,
"xwoba_edge": -0.6,
"barrel_edge": -0.4,
"hard_hit_edge": -0.7,
"whiff_edge": 0.1286,
"bb_edge": -0.325,
"pitch_design_score": -0.0203
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656550",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 89.51007105067247,
"release_spin_rate": 2467.789355018711,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 89.51007105067247,
"release_spin_rate": 2467.789355018711,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5101,
"release_spin_rate": 2467.7894,
"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.0203,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.145,
"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.3537,
"sample_weight": 1.0,
"run_prevention_factor": 1.0301,
"strikeout_factor": 0.99,
"walk_factor": 1.026,
"homer_factor": 1.078,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656550",
"espn_id": 33840,
"player_name": "Grant Holmes",
"team": "ATL",
"role": "pitcher",
"espn_rank": 96,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 96,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 5.0,
"qs_rank": 83,
"era_value": 3.791,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 97.1,
"ip_rank": 84,
"h_value": 89.0,
"h_rank": 83,
"er_value": 41.0,
"er_rank": 92,
"hr_value": 15.0,
"hr_rank": 40,
"bb_value": 43.0,
"bb_rank": 20,
"k_value": 83.0,
"k_rank": 93,
"k_per_9_value": 7.674658,
"k_per_9_rank": 29,
"whip_value": 1.3561,
"whip_rank": null,
"war_value": 1.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "676917",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 474.0,
"k_percent": 25.8,
"bb_percent": 7.2,
"woba": 0.307,
"xwoba": 0.31,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 40.9,
"avg_best_speed": 78.3864,
"avg_hyper_speed": 94.3563,
"whiff_percent": 24.9,
"swing_percent": 47.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.0139,
"command_and_miss": 0.2668,
"regression_edge": -0.0857,
"xwoba_edge": 0.0571,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.4,
"whiff_edge": -0.1143,
"bb_edge": 0.425,
"pitch_design_score": 0.1002
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676917",
"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": 91.66126800752753,
"release_spin_rate": 2223.1117368972846,
"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": 91.66126800752753,
"release_spin_rate": 2223.1117368972846,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.6613,
"release_spin_rate": 2223.1117,
"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.1002,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7155,
"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.0766,
"sample_weight": 1.0,
"run_prevention_factor": 0.9935,
"strikeout_factor": 1.0151,
"walk_factor": 0.966,
"homer_factor": 1.009,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676917",
"espn_id": 4308037,
"player_name": "Cade Cavalli",
"team": "WSH",
"role": "pitcher",
"espn_rank": 67,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 67,
"gp_value": 23.0,
"gp_rank": 219,
"gs_value": 23.0,
"gs_rank": 1,
"qs_value": 11.0,
"qs_rank": 20,
"era_value": 3.5485,
"era_rank": 25.0,
"w_value": 8.0,
"w_rank": 30,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 116.2,
"ip_rank": 36,
"h_value": 115.0,
"h_rank": 18,
"er_value": 46.0,
"er_rank": 70,
"hr_value": 10.0,
"hr_rank": 117,
"bb_value": 36.0,
"bb_rank": 54,
"k_value": 130.0,
"k_rank": 17,
"k_per_9_value": 10.028571,
"k_per_9_rank": 12,
"whip_value": 1.2942,
"whip_rank": 48.0,
"war_value": 1.69,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0301,
"home_runs_vs_away_pitcher": 0.9935,
"home_pitcher_quality_edge": -0.4303
},
"score_before": {
"away_runs": 5.3011,
"home_runs": 2.8944
},
"score_after": {
"away_runs": 5.4607,
"home_runs": 2.8756,
"home_win_probability": 0.2725
},
"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 WAS | 6-4 | 0.600 | 5.60 | 4 | 16 | 1L | hot | average |
| Home ATL | 6-4 | 0.600 | 3.70 | 4.90 | -12 | 1W | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away WAS | 55-54 | 0.505 | 28 | 0.257 | True |
| Home ATL | 63-46 | 0.578 | 91 | 0.835 | True |
| Signal | - | - | 0.578 | 0.688 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-05-24 | WAS @ ATL | 2 - 1 | WAS | 1 | close |
| 2026-05-23 | WAS @ ATL | 2 - 0 | WAS | 2 | close |
| 2026-05-22 | WAS @ ATL | 4 - 5 | ATL | 1 | close |
| 2026-04-23 | ATL @ WAS | 7 - 2 | ATL | 5 | blowout |
| 2026-04-22 | ATL @ WAS | 8 - 6 | ATL | 2 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target WAS | - | - | 4 | - | - | - | - |
| Game target ATL | - | - | 5 | - | - | - | - |
| Player finalized WAS | 34 | 9 | 3 | 0 | 5 | 1 | 8 |
| Player finalized ATL | 37 | 9 | 5 | 0 | 3 | 2 | 8 |
| Player model fractional WAS | 32.97 | 8.08 | 4.86 | 1.36 | 4.75 | 3.05 | 6.89 |
| Player model fractional ATL | 34.56 | 8.06 | 4.56 | 1.23 | 3.99 | 2.98 | 7.79 |
| Simulation box WAS | 38 | 11 | 3 | 0 | 3 | 1 | 11 |
| Simulation box ATL | 31 | 7 | 4 | 0 | 4 | 3 | 4 |
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 WAS | Starter | Cade Cavalli | 5.10 | 4 | 3 | 5 | 3 | 3.53 | 1.21 | True |
| Away WAS | Middle Reliever | Clayton Beeter | 2 | 0 | 0 | 1 | 0 | 3.58 | 1.10 | True |
| Away WAS | Middle Reliever | Orlando Ribalta | 0.20 | 0 | 1 | 1 | 0 | 4.80 | 1.45 | True |
| Home ATL | Starter | Grant Holmes | 5 | 3 | 6 | 10 | 0 | 3.62 | 1.33 | True |
| Home ATL | Middle Reliever | Didier Fuentes | 1.10 | 0 | 1 | 0 | 0 | 3.46 | 1.31 | True |
| Home ATL | Middle Reliever | Dylan Lee | 1 | 0 | 2 | 0 | 0 | 4.99 | 1.07 | True |
| Home ATL | Middle Reliever | Raisel Iglesias | 1 | 0 | 0 | 1 | 1 | 4.32 | 1.21 | True |
| Home ATL | Middle Reliever | Tyler Kinley | 0.20 | 0 | 2 | 0 | 0 | 4.68 | 1.27 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | WAS | batter | C | Keibert Ruiz | better | 11 | 7 | 4 | 6 | 5 | predicted_H | 2.1700 | boost | better |
| away | WAS | batter | LF | Daylen Lile | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 2.1100 | boost | better |
| home | ATL | batter | CF | Michael Harris II | better | 9 | 5 | 4 | 6 | 3 | predicted_AB | -1.9500 | deboost | worse |
| home | ATL | batter | LF | Mauricio Dubón | better | 11 | 7 | 4 | 6 | 5 | predicted_RBI | 1.5700 | boost | better |
| away | WAS | batter | 3B | Jorbit Vivas | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | 1.3150 | boost | better |
| home | ATL | batter | DH | Mike Yastrzemski | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | 1.2810 | boost | better |
| home | ATL | batter | 2B | Ozzie Albies | better | 9 | 4 | 5 | 5 | 4 | predicted_AB | -1.2600 | deboost | worse |
| away | WAS | batter | DH | James Wood | worse | 7 | 1 | 6 | 2 | 5 | predicted_AB | 1.1470 | boost | better |
| away | WAS | batter | RF | Dylan Crews | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -1.1100 | deboost | worse |
| home | ATL | batter | 1B | Matt Olson | worse | 9 | 2 | 7 | 3 | 6 | predicted_SO | -1.0930 | deboost | better |
| away | WAS | batter | SS | CJ Abrams | worse | 9 | 4 | 5 | 3 | 6 | predicted_SO | 1.0760 | boost | worse |
| away | WAS | pitcher | Middle Reliever | Clayton Beeter | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | ATL | batter | 3B | Austin Riley | worse | 12 | 3 | 9 | 4 | 8 | predicted_3B | 0.9910 | boost | better |
| home | ATL | batter | C | Drake Baldwin | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -0.8700 | deboost | worse |
| away | WAS | batter | 1B | Luis García Jr. | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 0.8600 | boost | better |
| away | WAS | batter | CF | Jacob Young | worse | 11 | 2 | 9 | 1 | 10 | predicted_BB | 0.7910 | boost | better |
| away | WAS | batter | 2B | Nasim Nuñez | worse | 7 | 3 | 4 | 2 | 5 | predicted_AB | 0.7680 | boost | better |
| home | ATL | batter | RF | Ronald Acuña Jr. | worse | 10 | 2 | 8 | 2 | 8 | predicted_BB | -0.6430 | deboost | worse |
| home | ATL | batter | SS | Jim Jarvis | worse | 9 | 2 | 7 | 3 | 6 | predicted_SO | -0.5910 | deboost | better |
| away | WAS | pitcher | Middle Reliever | Orlando Ribalta | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | ATL | pitcher | Middle Reliever | Tyler Kinley | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | WAS | pitcher | Starter | Cade Cavalli | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | ATL | pitcher | Middle Reliever | Didier Fuentes | 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 | Cade Cavalli |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0766 |
| ESPN Rank | 67 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1002 |
| Avg Velo | 91.6613 |
| Avg Spin | 2223.1117 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 4 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 3 |
| Season ERA | 3.5486 |
| Season WHIP | 1.2943 |
| Role Avg IP | 5.0720 |
| Recent Avg IP | 5.2670 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 115,
"wins": 56,
"losses": 59,
"win_pct": 0.487,
"runs_scored": 603.0,
"runs_allowed": 587.0,
"run_differential": 16.0,
"run_differential_per_game": 0.1391,
"avg_runs_scored": 5.2435,
"avg_runs_allowed": 5.1043,
"offense_index": 1.1593,
"defense_index": 0.8861,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.0,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0409
},
"opponent": {
"team": "ATL",
"games": 118,
"wins": 68,
"losses": 50,
"win_pct": 0.5763,
"runs_scored": 556.0,
"runs_allowed": 452.0,
"run_differential": 104.0,
"run_differential_per_game": 0.8814,
"avg_runs_scored": 4.7119,
"avg_runs_allowed": 3.8305,
"offense_index": 1.0418,
"defense_index": 1.1807,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.172
},
"edges": {
"quality_edge": -0.1311,
"offense_edge": 0.1593,
"opponent_offense_edge": 0.0418,
"defense_strength": -0.1139,
"opponent_defense_weakness": -0.1807,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9897,
"run_prevention": 1.0246,
"strikeout": 0.9927
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676917",
"profile": {
"available": true,
"pitcher_id": "676917",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 474.0,
"k_percent": 25.8,
"bb_percent": 7.2,
"woba": 0.307,
"xwoba": 0.31,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 40.9,
"avg_best_speed": 78.3864,
"avg_hyper_speed": 94.3563,
"whiff_percent": 24.9,
"swing_percent": 47.8
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.0139,
"command_and_miss": 0.2668,
"regression_edge": -0.0857,
"xwoba_edge": 0.0571,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.4,
"whiff_edge": -0.1143,
"bb_edge": 0.425,
"pitch_design_score": 0.1002
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676917",
"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": 91.66126800752753,
"release_spin_rate": 2223.1117368972846,
"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": 91.66126800752753,
"release_spin_rate": 2223.1117368972846,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.6613,
"release_spin_rate": 2223.1117,
"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.1002,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7155,
"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.0766,
"sample_weight": 1.0,
"run_prevention_factor": 0.9935,
"strikeout_factor": 1.0151,
"walk_factor": 0.966,
"homer_factor": 1.009,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676917",
"espn_id": 4308037,
"player_name": "Cade Cavalli",
"team": "WSH",
"role": "pitcher",
"espn_rank": 67,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 67,
"gp_value": 23.0,
"gp_rank": 219,
"gs_value": 23.0,
"gs_rank": 1,
"qs_value": 11.0,
"qs_rank": 20,
"era_value": 3.5485,
"era_rank": 25.0,
"w_value": 8.0,
"w_rank": 30,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 116.2,
"ip_rank": 36,
"h_value": 115.0,
"h_rank": 18,
"er_value": 46.0,
"er_rank": 70,
"hr_value": 10.0,
"hr_rank": 117,
"bb_value": 36.0,
"bb_rank": 54,
"k_value": 130.0,
"k_rank": 17,
"k_per_9_value": 10.028571,
"k_per_9_rank": 12,
"whip_value": 1.2942,
"whip_rank": 48.0,
"war_value": 1.69,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9935,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9935,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.966,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.009,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0151,
"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": 52.0,
"ER": 20,
"H": 47,
"BB": 12,
"SO": 56,
"HR": 7,
"ERA": 3.4615384615384617,
"WHIP": 1.1346153846153846,
"K9": 9.692307692307692,
"HR9": 1.2115384615384615,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "676917",
"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": 91.66126800752753,
"release_spin_rate": 2223.1117368972846,
"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": 91.66126800752753,
"release_spin_rate": 2223.1117368972846,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.6613,
"release_spin_rate": 2223.1117,
"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.1002,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7155,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": "676917",
"report_date": "20260730_W",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.1,
"ER": 9.0,
"R": 11.0,
"H": 24.0,
"BB": 7.0,
"SO": 28.0,
"HR": 3.0,
"BF": 106.0,
"Pitches": 431.0
},
"per_game": {
"IP": 5.1,
"ER": 1.8,
"R": 2.2,
"H": 4.8,
"BB": 1.4,
"SO": 5.6,
"HR": 0.6,
"BF": 21.2,
"Pitches": 86.2
},
"rates": {
"ERA": 3.0759,
"WHIP": 1.1772,
"ER_per_IP": 0.34177,
"H_per_IP": 0.91139,
"BB_per_IP": 0.26582,
"SO_per_IP": 1.06329,
"HR_per_IP": 0.11392
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.0,
"ER": 20.0,
"R": 23.0,
"H": 47.0,
"BB": 12.0,
"SO": 56.0,
"HR": 7.0,
"BF": 212.0,
"Pitches": 865.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.3,
"H": 4.7,
"BB": 1.2,
"SO": 5.6,
"HR": 0.7,
"BF": 21.2,
"Pitches": 86.5
},
"rates": {
"ERA": 3.4615,
"WHIP": 1.1346,
"ER_per_IP": 0.38462,
"H_per_IP": 0.90385,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.07692,
"HR_per_IP": 0.13462
}
},
"season": {
"games": 23,
"totals": {
"IP": 116.2,
"ER": 46.0,
"R": 56.0,
"H": 115.0,
"BB": 36.0,
"SO": 130.0,
"HR": 10.0,
"BF": 503.0,
"Pitches": 1965.0
},
"per_game": {
"IP": 5.0,
"ER": 2.0,
"R": 2.4348,
"H": 5.0,
"BB": 1.5652,
"SO": 5.6522,
"HR": 0.4348,
"BF": 21.8696,
"Pitches": 85.4348
},
"rates": {
"ERA": 3.5486,
"WHIP": 1.2943,
"ER_per_IP": 0.39429,
"H_per_IP": 0.98571,
"BB_per_IP": 0.30857,
"SO_per_IP": 1.11429,
"HR_per_IP": 0.08571
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.07,
"predicted_H": 4.925,
"predicted_BB": 1.472,
"predicted_SO": 5.579,
"predicted_HR": 0.644,
"predicted_ERA": 3.5285,
"predicted_WHIP": 1.2118
}
}{
"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.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.07,
"final": 2.8911,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.925,
"final": 4.9569,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.472,
"final": 2.1221,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 5.579,
"final": 4.4817,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.644,
"final": 0.37,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5285,
"final": 3.5285,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2118,
"final": 1.2118,
"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 | Clayton Beeter |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0295 |
| ESPN Rank | 196 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0566 |
| Avg Velo | 90.8830 |
| Avg Spin | 2596.5851 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.0306 |
| Season WHIP | 1.1633 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 115,
"wins": 56,
"losses": 59,
"win_pct": 0.487,
"runs_scored": 603.0,
"runs_allowed": 587.0,
"run_differential": 16.0,
"run_differential_per_game": 0.1391,
"avg_runs_scored": 5.2435,
"avg_runs_allowed": 5.1043,
"offense_index": 1.1593,
"defense_index": 0.8861,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.0,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0409
},
"opponent": {
"team": "ATL",
"games": 118,
"wins": 68,
"losses": 50,
"win_pct": 0.5763,
"runs_scored": 556.0,
"runs_allowed": 452.0,
"run_differential": 104.0,
"run_differential_per_game": 0.8814,
"avg_runs_scored": 4.7119,
"avg_runs_allowed": 3.8305,
"offense_index": 1.0418,
"defense_index": 1.1807,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.172
},
"edges": {
"quality_edge": -0.1311,
"offense_edge": 0.1593,
"opponent_offense_edge": 0.0418,
"defense_strength": -0.1139,
"opponent_defense_weakness": -0.1807,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9897,
"run_prevention": 1.0246,
"strikeout": 0.9927
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "690925",
"profile": {
"available": true,
"pitcher_id": "690925",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 122.0,
"k_percent": 24.5,
"bb_percent": 14.4,
"woba": 0.29,
"xwoba": 0.308,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 41.0,
"avg_best_speed": 78.4967,
"avg_hyper_speed": 93.7274,
"whiff_percent": 28.4,
"swing_percent": 44.3
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.1926,
"command_and_miss": -0.0018,
"regression_edge": -0.5143,
"xwoba_edge": 0.1143,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.4143,
"whiff_edge": 0.3857,
"bb_edge": -1.375,
"pitch_design_score": 0.0566
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "690925",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.88298280318199,
"release_spin_rate": 2596.5850779360208,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 90.88298280318199,
"release_spin_rate": 2596.5850779360208,
"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.883,
"release_spin_rate": 2596.5851,
"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.0566,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4042,
"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.0295,
"sample_weight": 0.488,
"run_prevention_factor": 0.9975,
"strikeout_factor": 1.0135,
"walk_factor": 1.0537,
"homer_factor": 0.9977,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690925",
"espn_id": 4313143,
"player_name": "Clayton Beeter",
"team": "WSH",
"role": "pitcher",
"espn_rank": 196,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 196,
"gp_value": 34.0,
"gp_rank": 149,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.5816,
"era_rank": null,
"w_value": 3.0,
"w_rank": 186,
"l_value": 3.0,
"l_rank": 175,
"sv_value": 11.0,
"sv_rank": 23,
"hld_value": 5.0,
"hld_rank": 133,
"ip_value": 32.2,
"ip_rank": 350,
"h_value": 21.0,
"h_rank": 422,
"er_value": 13.0,
"er_rank": 355,
"hr_value": 5.0,
"hr_rank": 249,
"bb_value": 20.0,
"bb_rank": 203,
"k_value": 34.0,
"k_rank": 318,
"k_per_9_value": 9.367347,
"k_per_9_rank": 24,
"whip_value": 1.2551,
"whip_rank": null,
"war_value": 0.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0262,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9989,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0066,
"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.1,
"ER": 2,
"H": 3,
"BB": 2,
"SO": 8,
"HR": 1,
"ERA": 2.16,
"WHIP": 0.6000000000000001,
"K9": 8.64,
"HR9": 1.08,
"games_pitched": 9,
"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-07-28T00:00:00"
}{
"available": true,
"pitcher_id": "690925",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.88298280318199,
"release_spin_rate": 2596.5850779360208,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 90.88298280318199,
"release_spin_rate": 2596.5850779360208,
"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.883,
"release_spin_rate": 2596.5851,
"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.0566,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4042,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.51,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5656,
"prior_weight": 0.4344
},
"role": "pitcher",
"player_id": "690925",
"report_date": "20260730_W",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 0.6,
"HR": 0.2,
"BF": 4.2,
"Pitches": 15.0
},
"rates": {
"ERA": 3.375,
"WHIP": 0.9375,
"ER_per_IP": 0.375,
"H_per_IP": 0.5625,
"BB_per_IP": 0.375,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 4.0,
"SO": 8.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 137.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.3,
"BB": 0.4,
"SO": 0.8,
"HR": 0.1,
"BF": 3.4,
"Pitches": 13.7
},
"rates": {
"ERA": 2.0,
"WHIP": 0.7778,
"ER_per_IP": 0.22222,
"H_per_IP": 0.33333,
"BB_per_IP": 0.44444,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 33,
"totals": {
"IP": 32.2,
"ER": 11.0,
"R": 11.0,
"H": 18.0,
"BB": 20.0,
"SO": 34.0,
"HR": 3.0,
"BF": 136.0,
"Pitches": 523.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.3333,
"H": 0.5455,
"BB": 0.6061,
"SO": 1.0303,
"HR": 0.0909,
"BF": 4.1212,
"Pitches": 15.8485
},
"rates": {
"ERA": 3.0306,
"WHIP": 1.1633,
"ER_per_IP": 0.33673,
"H_per_IP": 0.55102,
"BB_per_IP": 0.61224,
"SO_per_IP": 1.04082,
"HR_per_IP": 0.09184
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.397,
"predicted_H": 0.696,
"predicted_BB": 0.407,
"predicted_SO": 0.853,
"predicted_HR": 0.146,
"predicted_ERA": 3.5763,
"predicted_WHIP": 1.1028
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5335,
"form_weight": 0.4665,
"form_reliability": 0.5656,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.51,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5656,
"prior_weight": 0.4344
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.397,
"final": 0.1852,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.696,
"final": 0.8582,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.407,
"final": 0.1899,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.853,
"final": 0.3979,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.146,
"final": 0.0681,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5763,
"final": 3.5763,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1028,
"final": 1.1028,
"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 | Orlando Ribalta |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1709 |
| ESPN Rank | 248 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0791 |
| Avg Velo | 91.2854 |
| Avg Spin | 2289.4751 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.6947 |
| Season WHIP | 1.2316 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 115,
"wins": 56,
"losses": 59,
"win_pct": 0.487,
"runs_scored": 603.0,
"runs_allowed": 587.0,
"run_differential": 16.0,
"run_differential_per_game": 0.1391,
"avg_runs_scored": 5.2435,
"avg_runs_allowed": 5.1043,
"offense_index": 1.1593,
"defense_index": 0.8861,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.0,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0409
},
"opponent": {
"team": "ATL",
"games": 118,
"wins": 68,
"losses": 50,
"win_pct": 0.5763,
"runs_scored": 556.0,
"runs_allowed": 452.0,
"run_differential": 104.0,
"run_differential_per_game": 0.8814,
"avg_runs_scored": 4.7119,
"avg_runs_allowed": 3.8305,
"offense_index": 1.0418,
"defense_index": 1.1807,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.172
},
"edges": {
"quality_edge": -0.1311,
"offense_edge": 0.1593,
"opponent_offense_edge": 0.0418,
"defense_strength": -0.1139,
"opponent_defense_weakness": -0.1807,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9897,
"run_prevention": 1.0246,
"strikeout": 0.9927
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687377",
"profile": {
"available": true,
"pitcher_id": "687377",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 115.0,
"k_percent": 24.0,
"bb_percent": 9.6,
"woba": 0.282,
"xwoba": 0.291,
"sweet_spot_percent": 25.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 33.7,
"avg_best_speed": 71.9697,
"avg_hyper_speed": 92.913,
"whiff_percent": 26.4,
"swing_percent": 51.6
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.6488,
"command_and_miss": 0.1061,
"regression_edge": -0.2571,
"xwoba_edge": 0.6,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.6286,
"whiff_edge": 0.1,
"bb_edge": -0.175,
"pitch_design_score": 0.0791
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687377",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.28542407231409,
"release_spin_rate": 2289.4751318954486,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 91.28542407231409,
"release_spin_rate": 2289.4751318954486,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.2854,
"release_spin_rate": 2289.4751,
"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.0791,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5652,
"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.1709,
"sample_weight": 0.46,
"run_prevention_factor": 0.9855,
"strikeout_factor": 1.0062,
"walk_factor": 1.0064,
"homer_factor": 0.981,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687377",
"espn_id": 5132036,
"player_name": "Orlando Ribalta",
"team": "WSH",
"role": "pitcher",
"espn_rank": 248,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 248,
"gp_value": 34.0,
"gp_rank": 149,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 3.6947,
"era_rank": null,
"w_value": 0.0,
"w_rank": 460,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 2.0,
"sv_rank": 70,
"hld_value": 9.0,
"hld_rank": 65,
"ip_value": 31.2,
"ip_rank": 363,
"h_value": 27.0,
"h_rank": 361,
"er_value": 13.0,
"er_rank": 355,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 12.0,
"bb_rank": 360,
"k_value": 31.0,
"k_rank": 347,
"k_per_9_value": 8.810527,
"k_per_9_rank": 25,
"whip_value": 1.2315,
"whip_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9933,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9933,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0029,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9913,
"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": 8.2,
"ER": 4,
"H": 12,
"BB": 2,
"SO": 13,
"HR": 1,
"ERA": 4.153846153846154,
"WHIP": 1.6153846153846154,
"K9": 13.500000000000002,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "687377",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.28542407231409,
"release_spin_rate": 2289.4751318954486,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 91.28542407231409,
"release_spin_rate": 2289.4751318954486,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.2854,
"release_spin_rate": 2289.4751,
"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.0791,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5652,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.311,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5579,
"prior_weight": 0.4421
},
"role": "pitcher",
"player_id": "687377",
"report_date": "20260730_W",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 2.0,
"SO": 8.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 1.6,
"HR": 0.2,
"BF": 4.0,
"Pitches": 16.4
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.6154,
"ER_per_IP": 0.69231,
"H_per_IP": 1.15385,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.84615,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 4.0,
"R": 5.0,
"H": 12.0,
"BB": 2.0,
"SO": 13.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 167.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 1.2,
"BB": 0.2,
"SO": 1.3,
"HR": 0.1,
"BF": 3.9,
"Pitches": 16.7
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.6154,
"ER_per_IP": 0.46154,
"H_per_IP": 1.38462,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.5,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 34,
"totals": {
"IP": 31.2,
"ER": 13.0,
"R": 15.0,
"H": 27.0,
"BB": 12.0,
"SO": 31.0,
"HR": 3.0,
"BF": 131.0,
"Pitches": 564.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3824,
"R": 0.4412,
"H": 0.7941,
"BB": 0.3529,
"SO": 0.9118,
"HR": 0.0882,
"BF": 3.8529,
"Pitches": 16.5882
},
"rates": {
"ERA": 3.6947,
"WHIP": 1.2316,
"ER_per_IP": 0.41053,
"H_per_IP": 0.85263,
"BB_per_IP": 0.37895,
"SO_per_IP": 0.97895,
"HR_per_IP": 0.09474
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.455,
"predicted_H": 0.927,
"predicted_BB": 0.307,
"predicted_SO": 1.1,
"predicted_HR": 0.135,
"predicted_ERA": 4.8012,
"predicted_WHIP": 1.4473
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5368,
"form_weight": 0.4632,
"form_reliability": 0.5579,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.311,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5579,
"prior_weight": 0.4421
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.455,
"final": 0.2108,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.927,
"final": 0.9662,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.307,
"final": 0.1422,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.1,
"final": 1.0463,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.135,
"final": 0.0625,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8012,
"final": 4.8012,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4473,
"final": 1.4473,
"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.239 | 0.000 | 0.000 | Hitting_2B | 0.252 | 1.000 | -0.252 | -1.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.853 | 5.000 | 4.000 | Hitting_AB | 3.896 | 4.000 | 1.104 | 1.000 |
| predicted_AVG | 0.271 | 0.200 | 0.250 | Hitting_AVG | 0.280 | 0.500 | -0.080 | -0.300 |
| predicted_BB | 0.789 | 0.000 | 1.000 | Hitting_BB | 0.824 | 1.000 | -0.824 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.046 | 1.000 | 1.000 | Hitting_H | 1.092 | 2.000 | -0.092 | -1.000 |
| predicted_HR | 0.275 | 0.000 | 0.000 | Hitting_HR | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_OBP | 0.395 | 0.200 | 0.400 | Hitting_OBP | 0.409 | 0.600 | -0.209 | -0.400 |
| predicted_R | 0.899 | 0.000 | 1.000 | Hitting_R | 0.984 | 1.000 | -0.984 | -1.000 |
| predicted_RBI | 0.661 | 0.000 | 1.000 | Hitting_RBI | 0.722 | 0.000 | -0.722 | 0.000 |
| predicted_SLG | 0.552 | 0.200 | 0.250 | Hitting_SLG | 0.567 | 0.750 | -0.367 | -0.550 |
| predicted_SO | 1.358 | 1.000 | 1.000 | Hitting_SO | 1.387 | 0.000 | -0.387 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 7 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.8530 -> 5.0000 (boost 1.1470, better) |
| Biggest Deboost | predicted_R: 0.8990 -> 0.0000 (deboost -0.8990, 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 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.3580 -> 1.3051 (deboost -0.0529, 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 | 4 | 3 | predicted_RBI: 0.6460 -> 1.0000 (boost 0.3540, better) | predicted_SO: 1.3020 -> 1.0000 (deboost -0.3020, better) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.270 HR/AB=0.070 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8650 -> 1.0000 (boost 0.1350, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3922 -> 0.4000 (boost 0.0078, better) | predicted_SLG: 0.5471 -> 0.2500 (deboost -0.2971, 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_AB: 4.0000 -> 5.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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.5471 (boost 0.2971, better) | predicted_OBP: 0.4000 -> 0.3922 (deboost -0.0078, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695578",
"player_name": "James Wood",
"position": "DH",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.239,
"predicted_3B": 0.009,
"predicted_AB": 3.853,
"predicted_AVG": 0.271,
"predicted_BB": 0.789,
"predicted_H": 1.046,
"predicted_HR": 0.275,
"predicted_OBP": 0.395,
"predicted_R": 0.899,
"predicted_RBI": 0.661,
"predicted_SLG": 0.552,
"predicted_SO": 1.358
},
"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.239,
"predicted_3B": 0.0077,
"predicted_AB": 3.8925,
"predicted_AVG": 0.2702,
"predicted_BB": 0.779,
"predicted_H": 1.0529,
"predicted_HBP": 0.023,
"predicted_HR": 0.2759,
"predicted_OBP": 0.3916,
"predicted_R": 0.8665,
"predicted_RBI": 0.6471,
"predicted_SLG": 0.5485,
"predicted_SO": 1.3051
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.239,
"delta": 0.0,
"percent_delta": 0.0,
"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.853,
"after": 3.8925,
"delta": 0.0395,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2702,
"delta": -0.0008,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.789,
"after": 0.779,
"delta": -0.01,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.046,
"after": 1.0529,
"delta": 0.0069,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.275,
"after": 0.2759,
"delta": 0.0009,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.395,
"after": 0.3916,
"delta": -0.0034,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.899,
"after": 0.8665,
"delta": -0.0325,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.661,
"after": 0.6471,
"delta": -0.0139,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.552,
"after": 0.5485,
"delta": -0.0035,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.358,
"after": 1.3051,
"delta": -0.0529,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.358,
"after": 1.3051,
"delta": -0.0529,
"percent_delta": -0.039,
"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": 109
}
},
{
"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.239,
"predicted_3B": 0.0077,
"predicted_AB": 3.8925,
"predicted_AVG": 0.2703,
"predicted_BB": 0.7809,
"predicted_H": 1.0521,
"predicted_HBP": 0.023,
"predicted_HR": 0.2744,
"predicted_OBP": 0.3922,
"predicted_R": 0.865,
"predicted_RBI": 0.646,
"predicted_SLG": 0.5471,
"predicted_SO": 1.302
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.239,
"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.8925,
"after": 3.8925,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2702,
"after": 0.2703,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.779,
"after": 0.7809,
"delta": 0.0019,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0529,
"after": 1.0521,
"delta": -0.0008,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2759,
"after": 0.2744,
"delta": -0.0015,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3916,
"after": 0.3922,
"delta": 0.0006,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8665,
"after": 0.865,
"delta": -0.0015,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6471,
"after": 0.646,
"delta": -0.0011,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5485,
"after": 0.5471,
"delta": -0.0014,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.3051,
"after": 1.302,
"delta": -0.0031,
"percent_delta": -0.0024,
"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.89), rates preserved: AVG=0.270 HR/AB=0.070",
"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.239,
"after": 0.0,
"delta": -0.239,
"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.8925,
"after": 4.0,
"delta": 0.1075,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7809,
"after": 1.0,
"delta": 0.2191,
"percent_delta": 0.2806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0521,
"after": 1.0,
"delta": -0.0521,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2744,
"after": 0.0,
"delta": -0.2744,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.302,
"after": 1.0,
"delta": -0.302,
"percent_delta": -0.232,
"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_RBI",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.302,
"after": 1.0,
"delta": -0.302,
"percent_delta": -0.232,
"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": 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.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"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.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"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.2703,
"after": 0.25,
"delta": -0.0203,
"percent_delta": -0.0751,
"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.3922,
"after": 0.4,
"delta": 0.0078,
"percent_delta": 0.0199,
"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.5471,
"after": 0.25,
"delta": -0.2971,
"percent_delta": -0.543,
"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.3922,
"after": 0.4,
"delta": 0.0078,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5471,
"after": 0.25,
"delta": -0.2971,
"percent_delta": -0.543,
"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": 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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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.2703,
"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.3922,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5471,
"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.25,
"after": 0.2703,
"delta": 0.0203,
"percent_delta": 0.0811,
"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.4,
"after": 0.3922,
"delta": -0.0078,
"percent_delta": -0.0195,
"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.5471,
"delta": 0.2971,
"percent_delta": 1.1884,
"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.5471,
"delta": 0.2971,
"percent_delta": 1.1884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3922,
"delta": -0.0078,
"percent_delta": -0.0195,
"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.239,
"after": 0.0,
"delta": -0.239,
"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.853,
"after": 5.0,
"delta": 1.147,
"percent_delta": 0.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2703,
"delta": -0.0007,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.789,
"after": 0.0,
"delta": -0.789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.046,
"after": 1.0,
"delta": -0.046,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.275,
"after": 0.0,
"delta": -0.275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.395,
"after": 0.3922,
"delta": -0.0028,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.899,
"after": 0.0,
"delta": -0.899,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.661,
"after": 0.0,
"delta": -0.661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.552,
"after": 0.5471,
"delta": -0.0049,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.358,
"after": 1.0,
"delta": -0.358,
"percent_delta": -0.2636,
"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_AB",
"before": 3.853,
"after": 5.0,
"delta": 1.147,
"percent_delta": 0.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.899,
"after": 0.0,
"delta": -0.899,
"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.239 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.853 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.789 | - |
| predicted_H | 1.046 | - |
| predicted_HR | 0.275 | - |
| predicted_OBP | 0.395 | - |
| predicted_R | 0.899 | - |
| predicted_RBI | 0.661 | - |
| predicted_SLG | 0.552 | - |
| predicted_SO | 1.358 | - |
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.239 | 0.000 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.893 | 0.039 |
| predicted_AVG | 0.270 | -0.001 |
| predicted_BB | 0.779 | -0.010 |
| predicted_H | 1.053 | 0.007 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.276 | 0.001 |
| predicted_OBP | 0.392 | -0.003 |
| predicted_R | 0.867 | -0.032 |
| predicted_RBI | 0.647 | -0.014 |
| predicted_SLG | 0.548 | -0.004 |
| predicted_SO | 1.305 | -0.053 |
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.239 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.893 | 0.000 |
| predicted_AVG | 0.270 | 0.000 |
| predicted_BB | 0.781 | 0.002 |
| predicted_H | 1.052 | -0.001 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.274 | -0.002 |
| predicted_OBP | 0.392 | 0.001 |
| predicted_R | 0.865 | -0.002 |
| predicted_RBI | 0.646 | -0.001 |
| predicted_SLG | 0.547 | -0.001 |
| predicted_SO | 1.302 | -0.003 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.270 HR/AB=0.070
| 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.239 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.107 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 1.000 | 0.219 |
| predicted_H | 1.000 | -0.052 |
| predicted_HR | 0.000 | -0.274 |
| predicted_OBP | 0.400 | 0.008 |
| predicted_R | 1.000 | 0.135 |
| predicted_RBI | 1.000 | 0.354 |
| predicted_SLG | 0.250 | -0.297 |
| predicted_SO | 1.000 | -0.302 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.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 | 1.000 | 0.000 | 2.000 | 3.000 | 4.000 | 5.000 | 5.000 | 0.3000 | 0.4400 | 0.6500 | 0.3000 | 0.1000 | 0.1500 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 42.000 | 10.000 | 3.000 | 0.000 | 2.000 | 6.000 | 7.000 | 6.000 | 12.000 | 0.2381 | 0.3265 | 0.4524 | 0.2381 | 0.0476 | 0.1429 | 0.1429 | 0.2857 |
| season | 0.60 | 109 | - | 420.000 | 114.000 | 26.000 | 1.000 | 30.000 | 72.000 | 98.000 | 86.000 | 148.000 | 0.2714 | 0.3977 | 0.5524 | 0.2714 | 0.0714 | 0.1714 | 0.2048 | 0.3524 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2390 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.9440 |
| predicted_AVG | 0.2692 |
| predicted_BB | 0.7660 |
| predicted_H | 1.0620 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.2770 |
| predicted_OBP | 0.3872 |
| predicted_R | 0.8240 |
| predicted_RBI | 0.6290 |
| predicted_SLG | 0.5440 |
| predicted_SO | 1.2360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2390 | 0.2390 | 0.2390 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 3.8530 | 3.9440 | 3.8925 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2692 | 0.2702 | model_form_blend |
| predicted_BB | 0.7890 | 0.7660 | 0.7790 | model_form_blend |
| predicted_H | 1.0460 | 1.0620 | 1.0529 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.2750 | 0.2770 | 0.2759 | model_form_blend |
| predicted_OBP | 0.3950 | 0.3872 | 0.3916 | model_form_blend |
| predicted_R | 0.8990 | 0.8240 | 0.8665 | model_form_blend |
| predicted_RBI | 0.6610 | 0.6290 | 0.6471 | model_form_blend |
| predicted_SLG | 0.5520 | 0.5440 | 0.5485 | model_form_blend |
| predicted_SO | 1.3580 | 1.2360 | 1.3051 | 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 | 489 |
| Season rows before report date | 489 |
| Report year | 2026 |
| Profile rows used | 109 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| 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 | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| 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 | RF |
| gameID | 20260729_TOR@WAS |
| game_type | full |
| mlbID | 695578 |
| playerID | 695578 |
| playerName | James Wood |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 16.7 |
| sl_woba | 0.401 |
| sl_xwoba | 0.423 |
| sl_xba | 0.276 |
| sl_xslg | 0.598 |
| sl_sweet_spot_percent | 40.2 |
| sl_barrel_batted_rate | 21.8 |
| sl_hard_hit_percent | 58.7 |
| sl_exit_velocity_avg | 95.2 |
| sl_launch_angle_avg | 10.1 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 38.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.143 | 0.000 | 0.000 | Hitting_2B | 0.144 | 0.000 | -0.144 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.810 | 5.000 | 5.000 | Hitting_AB | 3.880 | 4.000 | 1.120 | 1.000 |
| predicted_AVG | 0.232 | 0.000 | 0.200 | Hitting_AVG | 0.223 | 0.250 | -0.223 | -0.250 |
| predicted_BB | 0.321 | 0.000 | 0.000 | Hitting_BB | 0.306 | 1.000 | -0.306 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.110 | 0.000 | 1.000 | Hitting_H | 0.866 | 1.000 | -0.866 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.139 | 1.000 | -0.139 | -1.000 |
| predicted_OBP | 0.363 | 0.000 | 0.200 | Hitting_OBP | 0.305 | 0.400 | -0.305 | -0.400 |
| predicted_R | 0.607 | 0.000 | 1.000 | Hitting_R | 0.602 | 2.000 | -0.602 | -2.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.444 | 1.000 | -0.444 | -1.000 |
| predicted_SLG | 0.476 | 0.000 | 0.200 | Hitting_SLG | 0.368 | 1.000 | -0.368 | -1.000 |
| predicted_SO | 0.946 | 2.000 | 1.000 | Hitting_SO | 0.926 | 2.000 | 1.074 | 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_SO: 0.9460 -> 2.0000 (boost 1.0540, worse) |
| Biggest Deboost | predicted_H: 1.1100 -> 0.0000 (deboost -1.1100, 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 | 3 | 1 | predicted_BB: 0.3210 -> 0.3923 (boost 0.0713, better) | predicted_AB: 4.8100 -> 4.3410 (deboost -0.4690, 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.3673 -> 0.3086 (deboost -0.0587, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_AB: 4.3410 -> 5.0000 (boost 0.6590, better) | predicted_BB: 0.3932 -> 0.0000 (deboost -0.3932, worse) | AB rounded to 5 (raw=4.81), rates preserved: AVG=0.222 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6538 -> 1.0000 (boost 0.3462, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4522 -> 0.2000 (deboost -0.2522, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | 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.2000 -> 0.4522 (boost 0.2522, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686611",
"player_name": "Dylan Crews",
"position": "RF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "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": 4.81,
"predicted_AVG": 0.232,
"predicted_BB": 0.321,
"predicted_H": 1.11,
"predicted_HR": 0.25,
"predicted_OBP": 0.363,
"predicted_R": 0.607,
"predicted_RBI": 0.55,
"predicted_SLG": 0.476,
"predicted_SO": 0.946
},
"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.1764,
"predicted_3B": 0.0008,
"predicted_AB": 4.341,
"predicted_AVG": 0.2497,
"predicted_BB": 0.3923,
"predicted_H": 1.0687,
"predicted_HBP": 0.125,
"predicted_HR": 0.2404,
"predicted_OBP": 0.3673,
"predicted_R": 0.6549,
"predicted_RBI": 0.5283,
"predicted_SLG": 0.4947,
"predicted_SO": 0.981
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1764,
"delta": 0.0334,
"percent_delta": 0.2336,
"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": 4.81,
"after": 4.341,
"delta": -0.469,
"percent_delta": -0.0975,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2497,
"delta": 0.0177,
"percent_delta": 0.0763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.3923,
"delta": 0.0713,
"percent_delta": 0.2221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0687,
"delta": -0.0413,
"percent_delta": -0.0372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2404,
"delta": -0.0096,
"percent_delta": -0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3673,
"delta": 0.0043,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.607,
"after": 0.6549,
"delta": 0.0479,
"percent_delta": 0.0789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5283,
"delta": -0.0217,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4947,
"delta": 0.0187,
"percent_delta": 0.0393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.946,
"after": 0.981,
"delta": 0.035,
"percent_delta": 0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.321,
"after": 0.3923,
"delta": 0.0713,
"percent_delta": 0.2221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.81,
"after": 4.341,
"delta": -0.469,
"percent_delta": -0.0975,
"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": 56
}
},
{
"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.1764,
"predicted_3B": 0.0008,
"predicted_AB": 4.341,
"predicted_AVG": 0.246,
"predicted_BB": 0.3932,
"predicted_H": 1.0678,
"predicted_HBP": 0.125,
"predicted_HR": 0.2391,
"predicted_OBP": 0.3086,
"predicted_R": 0.6538,
"predicted_RBI": 0.5274,
"predicted_SLG": 0.4522,
"predicted_SO": 0.9786
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1764,
"after": 0.1764,
"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": 4.341,
"after": 4.341,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2497,
"after": 0.246,
"delta": -0.0037,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3923,
"after": 0.3932,
"delta": 0.0009,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0687,
"after": 1.0678,
"delta": -0.0009,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.125,
"after": 0.125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2404,
"after": 0.2391,
"delta": -0.0013,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3673,
"after": 0.3086,
"delta": -0.0587,
"percent_delta": -0.1598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6549,
"after": 0.6538,
"delta": -0.0011,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5283,
"after": 0.5274,
"delta": -0.0009,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4947,
"after": 0.4522,
"delta": -0.0425,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.981,
"after": 0.9786,
"delta": -0.0024,
"percent_delta": -0.0024,
"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.3673,
"after": 0.3086,
"delta": -0.0587,
"percent_delta": -0.1598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.81), rates preserved: AVG=0.222 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.1764,
"after": 0.0,
"delta": -0.1764,
"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": 4.341,
"after": 5.0,
"delta": 0.659,
"percent_delta": 0.1518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3932,
"after": 0.0,
"delta": -0.3932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0678,
"after": 1.0,
"delta": -0.0678,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2391,
"after": 0.0,
"delta": -0.2391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5274,
"after": 1.0,
"delta": 0.4726,
"percent_delta": 0.8961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9786,
"after": 1.0,
"delta": 0.0214,
"percent_delta": 0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.341,
"after": 5.0,
"delta": 0.659,
"percent_delta": 0.1518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3932,
"after": 0.0,
"delta": -0.3932,
"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.6538,
"after": 1.0,
"delta": 0.3462,
"percent_delta": 0.5295,
"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.6538,
"after": 1.0,
"delta": 0.3462,
"percent_delta": 0.5295,
"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.246,
"after": 0.2,
"delta": -0.046,
"percent_delta": -0.187,
"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.3086,
"after": 0.2,
"delta": -0.1086,
"percent_delta": -0.3519,
"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.4522,
"after": 0.2,
"delta": -0.2522,
"percent_delta": -0.5577,
"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.4522,
"after": 0.2,
"delta": -0.2522,
"percent_delta": -0.5577,
"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": 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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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": 5.0,
"predicted_AVG": 0.246,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3086,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4522,
"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.2,
"after": 0.246,
"delta": 0.046,
"percent_delta": 0.23,
"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.2,
"after": 0.3086,
"delta": 0.1086,
"percent_delta": 0.5431,
"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.4522,
"delta": 0.2522,
"percent_delta": 1.2611,
"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.2,
"after": 0.4522,
"delta": 0.2522,
"percent_delta": 1.2611,
"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.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": 4.81,
"after": 5.0,
"delta": 0.19,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.246,
"delta": 0.014,
"percent_delta": 0.0603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3086,
"delta": -0.0544,
"percent_delta": -0.1499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.607,
"after": 0.0,
"delta": -0.607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4522,
"delta": -0.0238,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.946,
"after": 2.0,
"delta": 1.054,
"percent_delta": 1.1142,
"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.946,
"after": 2.0,
"delta": 1.054,
"percent_delta": 1.1142,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"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 | 4.810 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.321 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.607 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.476 | - |
| predicted_SO | 0.946 | - |
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.033 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.341 | -0.469 |
| predicted_AVG | 0.250 | 0.018 |
| predicted_BB | 0.392 | 0.071 |
| predicted_H | 1.069 | -0.041 |
| predicted_HBP | 0.125 | - |
| predicted_HR | 0.240 | -0.010 |
| predicted_OBP | 0.367 | 0.004 |
| predicted_R | 0.655 | 0.048 |
| predicted_RBI | 0.528 | -0.022 |
| predicted_SLG | 0.495 | 0.019 |
| predicted_SO | 0.981 | 0.035 |
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.001 | 0.000 |
| predicted_AB | 4.341 | 0.000 |
| predicted_AVG | 0.246 | -0.004 |
| predicted_BB | 0.393 | 0.001 |
| predicted_H | 1.068 | -0.001 |
| predicted_HBP | 0.125 | 0.000 |
| predicted_HR | 0.239 | -0.001 |
| predicted_OBP | 0.309 | -0.059 |
| predicted_R | 0.654 | -0.001 |
| predicted_RBI | 0.527 | -0.001 |
| predicted_SLG | 0.452 | -0.042 |
| predicted_SO | 0.979 | -0.002 |
AB rounded to 5 (raw=4.81), rates preserved: AVG=0.222 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.176 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.659 |
| predicted_AVG | 0.200 | -0.046 |
| predicted_BB | 0.000 | -0.393 |
| predicted_H | 1.000 | -0.068 |
| predicted_HR | 0.000 | -0.239 |
| predicted_OBP | 0.200 | -0.109 |
| predicted_R | 1.000 | 0.346 |
| predicted_RBI | 1.000 | 0.473 |
| predicted_SLG | 0.200 | -0.252 |
| predicted_SO | 1.000 | 0.021 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.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 | - | 18.000 | 7.000 | 2.000 | 0.000 | 2.000 | 3.000 | 5.000 | 4.000 | 6.000 | 0.3889 | 0.5000 | 0.8333 | 0.3889 | 0.1111 | 0.1667 | 0.2222 | 0.3333 |
| last_10 | 0.20 | 10 | - | 35.000 | 11.000 | 3.000 | 0.000 | 3.000 | 6.000 | 9.000 | 8.000 | 12.000 | 0.3143 | 0.4783 | 0.6571 | 0.3143 | 0.0857 | 0.1714 | 0.2286 | 0.3429 |
| season | 0.60 | 56 | - | 210.000 | 48.000 | 8.000 | 0.000 | 9.000 | 24.000 | 34.000 | 18.000 | 53.000 | 0.2286 | 0.3106 | 0.3952 | 0.2286 | 0.0429 | 0.1143 | 0.0857 | 0.2524 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2230 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6850 |
| predicted_AVG | 0.2744 |
| predicted_BB | 0.4920 |
| predicted_H | 1.0110 |
| predicted_HBP | 0.1250 |
| predicted_HR | 0.2270 |
| predicted_OBP | 0.3734 |
| predicted_R | 0.7220 |
| predicted_RBI | 0.4980 |
| predicted_SLG | 0.5209 |
| predicted_SO | 1.0300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.2230 | 0.1764 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.8100 | 3.6850 | 4.3410 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2744 | 0.2497 | model_form_blend |
| predicted_BB | 0.3210 | 0.4920 | 0.3923 | model_form_blend |
| predicted_H | 1.1100 | 1.0110 | 1.0687 | model_form_blend |
| predicted_HBP | - | 0.1250 | 0.1250 | form_only |
| predicted_HR | 0.2500 | 0.2270 | 0.2404 | model_form_blend |
| predicted_OBP | 0.3630 | 0.3734 | 0.3673 | model_form_blend |
| predicted_R | 0.6070 | 0.7220 | 0.6549 | model_form_blend |
| predicted_RBI | 0.5500 | 0.4980 | 0.5283 | model_form_blend |
| predicted_SLG | 0.4760 | 0.5209 | 0.4947 | model_form_blend |
| predicted_SO | 0.9460 | 1.0300 | 0.9810 | 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 | 216 |
| Season rows before report date | 216 |
| Report year | 2026 |
| Profile rows used | 56 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| 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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| 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 | RF |
| gameID | 20260728_TOR@WAS |
| game_type | full |
| mlbID | 686611 |
| playerID | 686611 |
| playerName | Dylan Crews |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-28 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.313 |
| sl_xwoba | 0.331 |
| sl_xba | 0.239 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 51.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.294 | 1.000 | 0.000 | Hitting_2B | 0.309 | 0.000 | 0.691 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.850 | 4.000 | 4.000 | Hitting_AB | 3.457 | 4.000 | 0.543 | 0.000 |
| predicted_AVG | 0.215 | 0.750 | 0.250 | Hitting_AVG | 0.269 | 0.250 | 0.481 | 0.500 |
| predicted_BB | 0.132 | 0.000 | 0.000 | Hitting_BB | 0.139 | 1.000 | -0.139 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.830 | 3.000 | 1.000 | Hitting_H | 0.930 | 1.000 | 2.070 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.279 | 0.750 | 0.250 | Hitting_OBP | 0.300 | 0.400 | 0.450 | 0.350 |
| predicted_R | 0.485 | 1.000 | 0.000 | Hitting_R | 0.543 | 1.000 | 0.457 | 0.000 |
| predicted_RBI | 0.570 | 2.000 | 1.000 | Hitting_RBI | 0.574 | 1.000 | 1.426 | 1.000 |
| predicted_SLG | 0.394 | 1.000 | 0.250 | Hitting_SLG | 0.468 | 0.250 | 0.532 | 0.750 |
| predicted_SO | 0.412 | 1.000 | 0.000 | Hitting_SO | 0.470 | 1.000 | 0.530 | 0.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 | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.8300 -> 3.0000 (boost 2.1700, better) |
| Biggest Deboost | predicted_BB: 0.1320 -> 0.0000 (deboost -0.1320, 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_AVG: 0.2150 -> 0.2233 (boost 0.0083, better) | predicted_AB: 3.8500 -> 3.6830 (deboost -0.1670, 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.2760 -> 0.2530 (deboost -0.0230, 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_RBI: 0.5107 -> 1.0000 (boost 0.4893, better) | predicted_SO: 0.3993 -> 0.0000 (deboost -0.3993, better) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.213 HR/AB=0.023 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4880 -> 0.0000 (deboost -0.4880, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2230 -> 0.2500 (boost 0.0270, better) | predicted_SLG: 0.3765 -> 0.2500 (deboost -0.1265, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 5 | 0 | 4 | 1 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3765 (boost 0.1265, better) | predicted_AVG: 0.2500 -> 0.2230 (deboost -0.0270, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"position": "C",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.294,
"predicted_3B": 0.0,
"predicted_AB": 3.85,
"predicted_AVG": 0.215,
"predicted_BB": 0.132,
"predicted_H": 0.83,
"predicted_HR": 0.09,
"predicted_OBP": 0.279,
"predicted_R": 0.485,
"predicted_RBI": 0.57,
"predicted_SLG": 0.394,
"predicted_SO": 0.412
},
"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.2973,
"predicted_3B": 0.0008,
"predicted_AB": 3.683,
"predicted_AVG": 0.2233,
"predicted_BB": 0.1474,
"predicted_H": 0.8221,
"predicted_HBP": 0.02,
"predicted_HR": 0.0892,
"predicted_OBP": 0.276,
"predicted_R": 0.4888,
"predicted_RBI": 0.5116,
"predicted_SLG": 0.3966,
"predicted_SO": 0.4003
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.294,
"after": 0.2973,
"delta": 0.0033,
"percent_delta": 0.0112,
"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.85,
"after": 3.683,
"delta": -0.167,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2233,
"delta": 0.0083,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.132,
"after": 0.1474,
"delta": 0.0154,
"percent_delta": 0.1167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8221,
"delta": -0.0079,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0892,
"delta": -0.0008,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.276,
"delta": -0.003,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 0.4888,
"delta": 0.0038,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5116,
"delta": -0.0584,
"percent_delta": -0.1025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3966,
"delta": 0.0026,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.412,
"after": 0.4003,
"delta": -0.0117,
"percent_delta": -0.0284,
"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.215,
"after": 0.2233,
"delta": 0.0083,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 3.683,
"delta": -0.167,
"percent_delta": -0.0434,
"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": 68
}
},
{
"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.2973,
"predicted_3B": 0.0008,
"predicted_AB": 3.683,
"predicted_AVG": 0.223,
"predicted_BB": 0.1478,
"predicted_H": 0.8214,
"predicted_HBP": 0.02,
"predicted_HR": 0.0887,
"predicted_OBP": 0.253,
"predicted_R": 0.488,
"predicted_RBI": 0.5107,
"predicted_SLG": 0.3765,
"predicted_SO": 0.3993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2973,
"after": 0.2973,
"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.683,
"after": 3.683,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2233,
"after": 0.223,
"delta": -0.0003,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1474,
"after": 0.1478,
"delta": 0.0004,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8221,
"after": 0.8214,
"delta": -0.0007,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0892,
"after": 0.0887,
"delta": -0.0005,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.253,
"delta": -0.023,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4888,
"after": 0.488,
"delta": -0.0008,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5116,
"after": 0.5107,
"delta": -0.0009,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3966,
"after": 0.3765,
"delta": -0.0201,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4003,
"after": 0.3993,
"delta": -0.001,
"percent_delta": -0.0025,
"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.276,
"after": 0.253,
"delta": -0.023,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.213 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2973,
"after": 0.0,
"delta": -0.2973,
"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.683,
"after": 4.0,
"delta": 0.317,
"percent_delta": 0.0861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1478,
"after": 0.0,
"delta": -0.1478,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8214,
"after": 1.0,
"delta": 0.1786,
"percent_delta": 0.2174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0887,
"after": 0.0,
"delta": -0.0887,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5107,
"after": 1.0,
"delta": 0.4893,
"percent_delta": 0.9581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3993,
"after": 0.0,
"delta": -0.3993,
"percent_delta": -1.0,
"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_RBI",
"before": 0.5107,
"after": 1.0,
"delta": 0.4893,
"percent_delta": 0.9581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3993,
"after": 0.0,
"delta": -0.3993,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"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": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.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_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": 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": {
"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": 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": 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_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.488,
"after": 0.0,
"delta": -0.488,
"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": 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.488,
"after": 0.0,
"delta": -0.488,
"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": 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": 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.223,
"after": 0.25,
"delta": 0.027,
"percent_delta": 0.1211,
"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.253,
"after": 0.25,
"delta": -0.003,
"percent_delta": -0.0119,
"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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3765,
"after": 0.25,
"delta": -0.1265,
"percent_delta": -0.336,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.25,
"delta": 0.027,
"percent_delta": 0.1211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3765,
"after": 0.25,
"delta": -0.1265,
"percent_delta": -0.336,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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": 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": 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": 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": 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": 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_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.223,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.253,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3765,
"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.25,
"after": 0.223,
"delta": -0.027,
"percent_delta": -0.1079,
"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": 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.25,
"after": 0.253,
"delta": 0.003,
"percent_delta": 0.012,
"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": 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.3765,
"delta": 0.1265,
"percent_delta": 0.5058,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3765,
"delta": 0.1265,
"percent_delta": 0.5058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.223,
"delta": -0.027,
"percent_delta": -0.1079,
"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.294,
"after": 1.0,
"delta": 0.706,
"percent_delta": 2.4014,
"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.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.223,
"delta": 0.008,
"percent_delta": 0.0372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 3.0,
"delta": 2.17,
"percent_delta": 2.6145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.253,
"delta": -0.026,
"percent_delta": -0.0932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 1.0,
"delta": 0.515,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3765,
"delta": -0.0175,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.83,
"after": 3.0,
"delta": 2.17,
"percent_delta": 2.6145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"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.294 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.132 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.485 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 0.412 | - |
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.297 | 0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.683 | -0.167 |
| predicted_AVG | 0.223 | 0.008 |
| predicted_BB | 0.147 | 0.015 |
| predicted_H | 0.822 | -0.008 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.276 | -0.003 |
| predicted_R | 0.489 | 0.004 |
| predicted_RBI | 0.512 | -0.058 |
| predicted_SLG | 0.397 | 0.003 |
| predicted_SO | 0.400 | -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.297 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.683 | 0.000 |
| predicted_AVG | 0.223 | -0.000 |
| predicted_BB | 0.148 | 0.000 |
| predicted_H | 0.821 | -0.001 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.253 | -0.023 |
| predicted_R | 0.488 | -0.001 |
| predicted_RBI | 0.511 | -0.001 |
| predicted_SLG | 0.377 | -0.020 |
| predicted_SO | 0.399 | -0.001 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.213 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.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 | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.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 | 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 | 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.297 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.317 |
| predicted_AVG | 0.250 | 0.027 |
| predicted_BB | 0.000 | -0.148 |
| predicted_H | 1.000 | 0.179 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.250 | -0.003 |
| predicted_R | 0.000 | -0.488 |
| predicted_RBI | 1.000 | 0.489 |
| predicted_SLG | 0.250 | -0.127 |
| predicted_SO | 0.000 | -0.399 |
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 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.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 | - | 18.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.1667 | 0.2105 | 0.2778 | 0.1667 | 0.0000 | 0.0556 | 0.0556 | 0.0556 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 3.000 | 0.000 | 1.000 | 3.000 | 6.000 | 2.000 | 2.000 | 0.2000 | 0.2368 | 0.3714 | 0.2000 | 0.0286 | 0.0857 | 0.0571 | 0.0571 |
| season | 0.60 | 68 | - | 225.000 | 60.000 | 20.000 | 0.000 | 7.000 | 36.000 | 33.000 | 9.000 | 28.000 | 0.2667 | 0.2971 | 0.4489 | 0.2667 | 0.0311 | 0.1600 | 0.0400 | 0.1244 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3020 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4500 |
| predicted_AVG | 0.2350 |
| predicted_BB | 0.1690 |
| predicted_H | 0.8110 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.2719 |
| predicted_R | 0.4940 |
| predicted_RBI | 0.4300 |
| predicted_SLG | 0.4003 |
| predicted_SO | 0.3840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2940 | 0.3020 | 0.2973 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8500 | 3.4500 | 3.6830 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2350 | 0.2233 | model_form_blend |
| predicted_BB | 0.1320 | 0.1690 | 0.1474 | model_form_blend |
| predicted_H | 0.8300 | 0.8110 | 0.8221 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0900 | 0.0880 | 0.0892 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2719 | 0.2760 | model_form_blend |
| predicted_R | 0.4850 | 0.4940 | 0.4888 | model_form_blend |
| predicted_RBI | 0.5700 | 0.4300 | 0.5116 | model_form_blend |
| predicted_SLG | 0.3940 | 0.4003 | 0.3966 | model_form_blend |
| predicted_SO | 0.4120 | 0.3840 | 0.4003 | 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 | 230 |
| Season rows before report date | 230 |
| Report year | 2026 |
| Profile rows used | 68 |
| 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 | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| 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 | 1 |
| Hitting_RBI | 1 |
| 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 | 20260728_TOR@WAS |
| game_type | full |
| mlbID | 660688 |
| playerID | 660688 |
| playerName | Keibert Ruiz |
| pos | C |
| started | True |
| startingPosition | C |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-28 |
| sl_k_percent | 11.7 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.32 |
| sl_xwoba | 0.27 |
| sl_xba | 0.23 |
| sl_xslg | 0.354 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 13.7 |
| 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.178 | 0.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_AB | 4.140 | 5.000 | 4.000 | Hitting_AB | 3.816 | 4.000 | 1.184 | 1.000 |
| predicted_AVG | 0.271 | 0.200 | 0.250 | Hitting_AVG | 0.293 | 0.250 | -0.093 | -0.050 |
| predicted_BB | 0.158 | 0.000 | 0.000 | Hitting_BB | 0.166 | 0.000 | -0.166 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 1.120 | 1.000 | 1.000 | Hitting_H | 1.117 | 1.000 | -0.117 | 0.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.280 | 0.000 | -0.280 | 0.000 |
| predicted_OBP | 0.313 | 0.200 | 0.250 | Hitting_OBP | 0.321 | 0.250 | -0.121 | -0.050 |
| predicted_R | 0.465 | 0.000 | 0.000 | Hitting_R | 0.551 | 0.000 | -0.551 | 0.000 |
| predicted_RBI | 0.790 | 0.000 | 1.000 | Hitting_RBI | 0.913 | 1.000 | -0.913 | -1.000 |
| predicted_SLG | 0.511 | 0.200 | 0.250 | Hitting_SLG | 0.594 | 0.250 | -0.394 | -0.050 |
| predicted_SO | 0.574 | 1.000 | 1.000 | Hitting_SO | 0.653 | 0.000 | 0.347 | 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_AB: 4.1400 -> 5.0000 (boost 0.8600, better) |
| Biggest Deboost | predicted_RBI: 0.7900 -> 0.0000 (deboost -0.7900, 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_SLG: 0.5110 -> 0.5267 (boost 0.0157, better) | predicted_AB: 4.1400 -> 3.9193 (deboost -0.2207, 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.5267 -> 0.5090 (deboost -0.0177, 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.5936 -> 1.0000 (boost 0.4064, worse) | predicted_HR: 0.2076 -> 0.0000 (deboost -0.2076, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.264 HR/AB=0.050 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4275 -> 0.0000 (deboost -0.4275, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5090 -> 0.2500 (deboost -0.2590, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.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.2500 -> 0.5090 (boost 0.2590, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.178,
"predicted_3B": 0.04,
"predicted_AB": 4.14,
"predicted_AVG": 0.271,
"predicted_BB": 0.158,
"predicted_H": 1.12,
"predicted_HR": 0.21,
"predicted_OBP": 0.313,
"predicted_R": 0.465,
"predicted_RBI": 0.79,
"predicted_SLG": 0.511,
"predicted_SO": 0.574
},
"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.196,
"predicted_3B": 0.0409,
"predicted_AB": 3.9193,
"predicted_AVG": 0.2804,
"predicted_BB": 0.146,
"predicted_H": 1.0952,
"predicted_HBP": 0.002,
"predicted_HR": 0.2087,
"predicted_OBP": 0.3151,
"predicted_R": 0.4282,
"predicted_RBI": 0.7541,
"predicted_SLG": 0.5267,
"predicted_SO": 0.595
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.196,
"delta": 0.018,
"percent_delta": 0.1011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0409,
"delta": 0.0009,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 3.9193,
"delta": -0.2207,
"percent_delta": -0.0533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2804,
"delta": 0.0094,
"percent_delta": 0.0347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 0.146,
"delta": -0.012,
"percent_delta": -0.0759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0952,
"delta": -0.0248,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.2087,
"delta": -0.0013,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3151,
"delta": 0.0021,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.4282,
"delta": -0.0368,
"percent_delta": -0.0791,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.79,
"after": 0.7541,
"delta": -0.0359,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.5267,
"delta": 0.0157,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 0.595,
"delta": 0.021,
"percent_delta": 0.0366,
"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.511,
"after": 0.5267,
"delta": 0.0157,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 3.9193,
"delta": -0.2207,
"percent_delta": -0.0533,
"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.196,
"predicted_3B": 0.0409,
"predicted_AB": 3.9193,
"predicted_AVG": 0.2792,
"predicted_BB": 0.1464,
"predicted_H": 1.0943,
"predicted_HBP": 0.002,
"predicted_HR": 0.2076,
"predicted_OBP": 0.3052,
"predicted_R": 0.4275,
"predicted_RBI": 0.7528,
"predicted_SLG": 0.509,
"predicted_SO": 0.5936
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.196,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0409,
"after": 0.0409,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9193,
"after": 3.9193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2804,
"after": 0.2792,
"delta": -0.0012,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.146,
"after": 0.1464,
"delta": 0.0004,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0952,
"after": 1.0943,
"delta": -0.0009,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2087,
"after": 0.2076,
"delta": -0.0011,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3151,
"after": 0.3052,
"delta": -0.0099,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4282,
"after": 0.4275,
"delta": -0.0007,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7541,
"after": 0.7528,
"delta": -0.0013,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5267,
"after": 0.509,
"delta": -0.0177,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.595,
"after": 0.5936,
"delta": -0.0014,
"percent_delta": -0.0024,
"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.5267,
"after": 0.509,
"delta": -0.0177,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.14), rates preserved: AVG=0.264 HR/AB=0.050",
"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.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0409,
"after": 0.0,
"delta": -0.0409,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9193,
"after": 4.0,
"delta": 0.0807,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1464,
"after": 0.0,
"delta": -0.1464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0943,
"after": 1.0,
"delta": -0.0943,
"percent_delta": -0.0862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2076,
"after": 0.0,
"delta": -0.2076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7528,
"after": 1.0,
"delta": 0.2472,
"percent_delta": 0.3284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5936,
"after": 1.0,
"delta": 0.4064,
"percent_delta": 0.6846,
"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.5936,
"after": 1.0,
"delta": 0.4064,
"percent_delta": 0.6846,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2076,
"after": 0.0,
"delta": -0.2076,
"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=7.0, weight=0.076, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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.9243,
"bvp": 0.0757
},
"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": 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.4275,
"after": 0.0,
"delta": -0.4275,
"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.4275,
"after": 0.0,
"delta": -0.4275,
"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": 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.2792,
"after": 0.25,
"delta": -0.0292,
"percent_delta": -0.1046,
"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.3052,
"after": 0.25,
"delta": -0.0552,
"percent_delta": -0.1809,
"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.509,
"after": 0.25,
"delta": -0.259,
"percent_delta": -0.5088,
"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.509,
"after": 0.25,
"delta": -0.259,
"percent_delta": -0.5088,
"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": 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": 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": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"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": {
"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": 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.2792,
"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.3052,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.509,
"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.25,
"after": 0.2792,
"delta": 0.0292,
"percent_delta": 0.1169,
"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.3052,
"delta": 0.0552,
"percent_delta": 0.2206,
"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.509,
"delta": 0.259,
"percent_delta": 1.0359,
"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.509,
"delta": 0.259,
"percent_delta": 1.0359,
"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.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 5.0,
"delta": 0.86,
"percent_delta": 0.2077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2792,
"delta": 0.0082,
"percent_delta": 0.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0,
"delta": -0.12,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3052,
"delta": -0.0078,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.509,
"delta": -0.002,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 1.0,
"delta": 0.426,
"percent_delta": 0.7422,
"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_AB",
"before": 4.14,
"after": 5.0,
"delta": 0.86,
"percent_delta": 0.2077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"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.178 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.158 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.465 | - |
| predicted_RBI | 0.790 | - |
| predicted_SLG | 0.511 | - |
| predicted_SO | 0.574 | - |
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.196 | 0.018 |
| predicted_3B | 0.041 | 0.001 |
| predicted_AB | 3.919 | -0.221 |
| predicted_AVG | 0.280 | 0.009 |
| predicted_BB | 0.146 | -0.012 |
| predicted_H | 1.095 | -0.025 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.209 | -0.001 |
| predicted_OBP | 0.315 | 0.002 |
| predicted_R | 0.428 | -0.037 |
| predicted_RBI | 0.754 | -0.036 |
| predicted_SLG | 0.527 | 0.016 |
| predicted_SO | 0.595 | 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.196 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 3.919 | 0.000 |
| predicted_AVG | 0.279 | -0.001 |
| predicted_BB | 0.146 | 0.000 |
| predicted_H | 1.094 | -0.001 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.208 | -0.001 |
| predicted_OBP | 0.305 | -0.010 |
| predicted_R | 0.427 | -0.001 |
| predicted_RBI | 0.753 | -0.001 |
| predicted_SLG | 0.509 | -0.018 |
| predicted_SO | 0.594 | -0.001 |
AB rounded to 4 (raw=4.14), rates preserved: AVG=0.264 HR/AB=0.050
| 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 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| 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 |
| 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 | 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.196 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 4.000 | 0.081 |
| predicted_AVG | 0.250 | -0.029 |
| predicted_BB | 0.000 | -0.146 |
| predicted_H | 1.000 | -0.094 |
| predicted_HR | 0.000 | -0.208 |
| predicted_OBP | 0.250 | -0.055 |
| predicted_R | 0.000 | -0.427 |
| predicted_RBI | 1.000 | 0.247 |
| predicted_SLG | 0.250 | -0.259 |
| predicted_SO | 1.000 | 0.406 |
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 | -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 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 3.000 | 0.3500 | 0.3500 | 0.6000 | 0.3500 | 0.0500 | 0.2000 | 0.0000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 1.000 | 2.000 | 6.000 | 2.000 | 1.000 | 7.000 | 0.2895 | 0.3077 | 0.5526 | 0.2895 | 0.0526 | 0.1579 | 0.0263 | 0.1842 |
| season | 0.60 | 101 | - | 345.000 | 97.000 | 18.000 | 4.000 | 22.000 | 74.000 | 47.000 | 16.000 | 58.000 | 0.2812 | 0.3122 | 0.5478 | 0.2812 | 0.0638 | 0.2145 | 0.0464 | 0.1681 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0420 |
| predicted_AB | 3.6240 |
| predicted_AVG | 0.2929 |
| predicted_BB | 0.1300 |
| predicted_H | 1.0620 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.2070 |
| predicted_OBP | 0.3178 |
| predicted_R | 0.3790 |
| predicted_RBI | 0.7060 |
| predicted_SLG | 0.5477 |
| predicted_SO | 0.6230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1780 | 0.2200 | 0.1960 | model_form_blend |
| predicted_3B | 0.0400 | 0.0420 | 0.0409 | model_form_blend |
| predicted_AB | 4.1400 | 3.6240 | 3.9193 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2929 | 0.2804 | model_form_blend |
| predicted_BB | 0.1580 | 0.1300 | 0.1460 | model_form_blend |
| predicted_H | 1.1200 | 1.0620 | 1.0952 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.2100 | 0.2070 | 0.2087 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3178 | 0.3151 | model_form_blend |
| predicted_R | 0.4650 | 0.3790 | 0.4282 | model_form_blend |
| predicted_RBI | 0.7900 | 0.7060 | 0.7541 | model_form_blend |
| predicted_SLG | 0.5110 | 0.5477 | 0.5267 | model_form_blend |
| predicted_SO | 0.5740 | 0.6230 | 0.5950 | 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 | 343 |
| Season rows before report date | 343 |
| 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.281 |
| 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 | 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 | 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 | 1B |
| gameID | 20260729_TOR@WAS |
| game_type | full |
| mlbID | 671277 |
| playerID | 671277 |
| playerName | Luis García Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-29 |
| sl_k_percent | 16.2 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.367 |
| sl_xwoba | 0.354 |
| sl_xba | 0.289 |
| sl_xslg | 0.505 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 45.4 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 53.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.206 | 0.000 | 0.000 | Hitting_2B | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_3B | 0.047 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 3.940 | 4.000 | 4.000 | Hitting_AB | 4.032 | 4.000 | -0.032 | 0.000 |
| predicted_AVG | 0.227 | 0.750 | 0.250 | Hitting_AVG | 0.250 | 0.250 | 0.500 | 0.500 |
| predicted_BB | 0.252 | 0.000 | 0.000 | Hitting_BB | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.890 | 3.000 | 1.000 | Hitting_H | 1.007 | 1.000 | 1.993 | 2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_OBP | 0.272 | 0.750 | 0.250 | Hitting_OBP | 0.303 | 0.250 | 0.447 | 0.500 |
| predicted_R | 0.505 | 1.000 | 0.000 | Hitting_R | 0.553 | 0.000 | 0.447 | 1.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_SLG | 0.366 | 0.750 | 0.250 | Hitting_SLG | 0.413 | 0.250 | 0.337 | 0.500 |
| predicted_SO | 0.776 | 1.000 | 1.000 | Hitting_SO | 0.796 | 1.000 | 0.204 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.8900 -> 3.0000 (boost 2.1100, better) |
| Biggest Deboost | predicted_RBI: 0.4400 -> 0.0000 (deboost -0.4400, 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 | 3 | 1 | predicted_SLG: 0.3660 -> 0.3778 (boost 0.0118, better) | predicted_AB: 3.9400 -> 3.8351 (deboost -0.1049, 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.3778 -> 0.3709 (deboost -0.0069, 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.8069 -> 1.0000 (boost 0.1931, worse) | predicted_RBI: 0.4612 -> 0.0000 (deboost -0.4612, worse) | AB rounded to 4 (raw=3.94), rates preserved: AVG=0.228 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4865 -> 0.0000 (deboost -0.4865, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2338 -> 0.2500 (boost 0.0162, better) | predicted_SLG: 0.3709 -> 0.2500 (deboost -0.1209, 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: 1.0000 -> 3.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.2500 -> 0.3709 (boost 0.1209, better) | predicted_AVG: 0.2500 -> 0.2338 (deboost -0.0162, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695734",
"player_name": "Daylen Lile",
"position": "LF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.206,
"predicted_3B": 0.047,
"predicted_AB": 3.94,
"predicted_AVG": 0.227,
"predicted_BB": 0.252,
"predicted_H": 0.89,
"predicted_HR": 0.07,
"predicted_OBP": 0.272,
"predicted_R": 0.505,
"predicted_RBI": 0.44,
"predicted_SLG": 0.366,
"predicted_SO": 0.776
},
"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.1788,
"predicted_3B": 0.0729,
"predicted_AB": 3.8351,
"predicted_AVG": 0.2349,
"predicted_BB": 0.2438,
"predicted_H": 0.8973,
"predicted_HBP": 0.027,
"predicted_HR": 0.0674,
"predicted_OBP": 0.2813,
"predicted_R": 0.4873,
"predicted_RBI": 0.462,
"predicted_SLG": 0.3778,
"predicted_SO": 0.8088
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.206,
"after": 0.1788,
"delta": -0.0272,
"percent_delta": -0.132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0729,
"delta": 0.0259,
"percent_delta": 0.5511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 3.8351,
"delta": -0.1049,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2349,
"delta": 0.0079,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 0.2438,
"delta": -0.0082,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8973,
"delta": 0.0073,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0674,
"delta": -0.0026,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2813,
"delta": 0.0093,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.4873,
"delta": -0.0177,
"percent_delta": -0.035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.462,
"delta": 0.022,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3778,
"delta": 0.0118,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 0.8088,
"delta": 0.0328,
"percent_delta": 0.0423,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3778,
"delta": 0.0118,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.94,
"after": 3.8351,
"delta": -0.1049,
"percent_delta": -0.0266,
"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": 107
}
},
{
"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.1788,
"predicted_3B": 0.0729,
"predicted_AB": 3.8351,
"predicted_AVG": 0.2338,
"predicted_BB": 0.2444,
"predicted_H": 0.8966,
"predicted_HBP": 0.027,
"predicted_HR": 0.067,
"predicted_OBP": 0.2797,
"predicted_R": 0.4865,
"predicted_RBI": 0.4612,
"predicted_SLG": 0.3709,
"predicted_SO": 0.8069
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1788,
"after": 0.1788,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0729,
"after": 0.0729,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8351,
"after": 3.8351,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2349,
"after": 0.2338,
"delta": -0.0011,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2438,
"after": 0.2444,
"delta": 0.0006,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8973,
"after": 0.8966,
"delta": -0.0007,
"percent_delta": -0.0008,
"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.0674,
"after": 0.067,
"delta": -0.0004,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2813,
"after": 0.2797,
"delta": -0.0016,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4873,
"after": 0.4865,
"delta": -0.0008,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.462,
"after": 0.4612,
"delta": -0.0008,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3778,
"after": 0.3709,
"delta": -0.0069,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8088,
"after": 0.8069,
"delta": -0.0019,
"percent_delta": -0.0023,
"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.3778,
"after": 0.3709,
"delta": -0.0069,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.94), rates preserved: AVG=0.228 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.1788,
"after": 0.0,
"delta": -0.1788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0729,
"after": 0.0,
"delta": -0.0729,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8351,
"after": 4.0,
"delta": 0.1649,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2444,
"after": 0.0,
"delta": -0.2444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8966,
"after": 1.0,
"delta": 0.1034,
"percent_delta": 0.1153,
"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.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4612,
"after": 0.0,
"delta": -0.4612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8069,
"after": 1.0,
"delta": 0.1931,
"percent_delta": 0.2393,
"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.8069,
"after": 1.0,
"delta": 0.1931,
"percent_delta": 0.2393,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4612,
"after": 0.0,
"delta": -0.4612,
"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.4865,
"after": 0.0,
"delta": -0.4865,
"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.4865,
"after": 0.0,
"delta": -0.4865,
"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.2338,
"after": 0.25,
"delta": 0.0162,
"percent_delta": 0.0693,
"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.2797,
"after": 0.25,
"delta": -0.0297,
"percent_delta": -0.1062,
"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.3709,
"after": 0.25,
"delta": -0.1209,
"percent_delta": -0.326,
"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.2338,
"after": 0.25,
"delta": 0.0162,
"percent_delta": 0.0693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3709,
"after": 0.25,
"delta": -0.1209,
"percent_delta": -0.326,
"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": 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": 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": 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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"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": 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.2338,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2797,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3709,
"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.2338,
"delta": -0.0162,
"percent_delta": -0.0649,
"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": 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.25,
"after": 0.2797,
"delta": 0.0297,
"percent_delta": 0.1187,
"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.25,
"after": 0.3709,
"delta": 0.1209,
"percent_delta": 0.4834,
"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.3709,
"delta": 0.1209,
"percent_delta": 0.4834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2338,
"delta": -0.0162,
"percent_delta": -0.0649,
"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.206,
"after": 0.0,
"delta": -0.206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 4.0,
"delta": 0.06,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2338,
"delta": 0.0068,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 0.0,
"delta": -0.252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 3.0,
"delta": 2.11,
"percent_delta": 2.3708,
"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.272,
"after": 0.2797,
"delta": 0.0077,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 1.0,
"delta": 0.495,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3709,
"delta": 0.0049,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 1.0,
"delta": 0.224,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.89,
"after": 3.0,
"delta": 2.11,
"percent_delta": 2.3708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"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.206 | - |
| predicted_3B | 0.047 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.252 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.505 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.366 | - |
| predicted_SO | 0.776 | - |
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.179 | -0.027 |
| predicted_3B | 0.073 | 0.026 |
| predicted_AB | 3.835 | -0.105 |
| predicted_AVG | 0.235 | 0.008 |
| predicted_BB | 0.244 | -0.008 |
| predicted_H | 0.897 | 0.007 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.067 | -0.003 |
| predicted_OBP | 0.281 | 0.009 |
| predicted_R | 0.487 | -0.018 |
| predicted_RBI | 0.462 | 0.022 |
| predicted_SLG | 0.378 | 0.012 |
| predicted_SO | 0.809 | 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.179 | 0.000 |
| predicted_3B | 0.073 | 0.000 |
| predicted_AB | 3.835 | 0.000 |
| predicted_AVG | 0.234 | -0.001 |
| predicted_BB | 0.244 | 0.001 |
| predicted_H | 0.897 | -0.001 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.067 | -0.000 |
| predicted_OBP | 0.280 | -0.002 |
| predicted_R | 0.486 | -0.001 |
| predicted_RBI | 0.461 | -0.001 |
| predicted_SLG | 0.371 | -0.007 |
| predicted_SO | 0.807 | -0.002 |
AB rounded to 4 (raw=3.94), rates preserved: AVG=0.228 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.179 |
| predicted_3B | 0.000 | -0.073 |
| predicted_AB | 4.000 | 0.165 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 0.000 | -0.244 |
| predicted_H | 1.000 | 0.103 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.250 | -0.030 |
| predicted_R | 0.000 | -0.486 |
| predicted_RBI | 0.000 | -0.461 |
| predicted_SLG | 0.250 | -0.121 |
| predicted_SO | 1.000 | 0.193 |
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 | 3.000 | 2.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 | 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 | 1.000 | 0.000 | 3.000 | 2.000 | 1.000 | 5.000 | 0.2778 | 0.3158 | 0.3889 | 0.2778 | 0.0000 | 0.1667 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 1.000 | 2.000 | 0.000 | 4.000 | 4.000 | 2.000 | 9.000 | 0.2121 | 0.2571 | 0.3636 | 0.2121 | 0.0000 | 0.1212 | 0.0606 | 0.2727 |
| season | 0.60 | 107 | - | 412.000 | 101.000 | 22.000 | 5.000 | 11.000 | 52.000 | 54.000 | 27.000 | 83.000 | 0.2451 | 0.2969 | 0.4029 | 0.2452 | 0.0267 | 0.1262 | 0.0655 | 0.2015 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1430 |
| predicted_3B | 0.1070 |
| predicted_AB | 3.6970 |
| predicted_AVG | 0.2452 |
| predicted_BB | 0.2330 |
| predicted_H | 0.9070 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.2935 |
| predicted_R | 0.4640 |
| predicted_RBI | 0.4910 |
| predicted_SLG | 0.3933 |
| predicted_SO | 0.8520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2060 | 0.1430 | 0.1788 | model_form_blend |
| predicted_3B | 0.0470 | 0.1070 | 0.0729 | model_form_blend |
| predicted_AB | 3.9400 | 3.6970 | 3.8351 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2452 | 0.2349 | model_form_blend |
| predicted_BB | 0.2520 | 0.2330 | 0.2438 | model_form_blend |
| predicted_H | 0.8900 | 0.9070 | 0.8973 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.0700 | 0.0640 | 0.0674 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2935 | 0.2813 | model_form_blend |
| predicted_R | 0.5050 | 0.4640 | 0.4873 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4910 | 0.4620 | model_form_blend |
| predicted_SLG | 0.3660 | 0.3933 | 0.3778 | model_form_blend |
| predicted_SO | 0.7760 | 0.8520 | 0.8088 | 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 | 432 |
| Season rows before report date | 432 |
| Report year | 2026 |
| Profile rows used | 107 |
| 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 | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.245 |
| 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 | 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 | 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 | LF |
| gameID | 20260729_TOR@WAS |
| game_type | full |
| mlbID | 695734 |
| playerID | 695734 |
| playerName | Daylen Lile |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-29 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.305 |
| sl_xwoba | 0.313 |
| sl_xba | 0.253 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 35.6 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 17.7 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 55.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.200 | 1.000 | 0.000 | Hitting_2B | 0.220 | 0.000 | 0.780 | 1.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.870 | 4.000 | 4.000 | Hitting_AB | 3.869 | 3.000 | 0.131 | 1.000 |
| predicted_AVG | 0.250 | 0.250 | 0.250 | Hitting_AVG | 0.294 | 0.000 | -0.044 | 0.250 |
| predicted_BB | 0.371 | 0.000 | 0.000 | Hitting_BB | 0.393 | 1.000 | -0.393 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.970 | 1.000 | 1.000 | Hitting_H | 1.138 | 0.000 | -0.138 | 1.000 |
| predicted_HR | 0.280 | 0.000 | 0.000 | Hitting_HR | 0.248 | 0.000 | -0.248 | 0.000 |
| predicted_OBP | 0.395 | 0.250 | 0.250 | Hitting_OBP | 0.368 | 0.250 | -0.118 | 0.000 |
| predicted_R | 0.648 | 0.000 | 1.000 | Hitting_R | 0.651 | 1.000 | -0.651 | -1.000 |
| predicted_RBI | 0.770 | 0.000 | 1.000 | Hitting_RBI | 0.803 | 0.000 | -0.803 | 0.000 |
| predicted_SLG | 0.602 | 0.500 | 0.250 | Hitting_SLG | 0.556 | 0.000 | -0.056 | 0.500 |
| predicted_SO | 0.924 | 2.000 | 1.000 | Hitting_SO | 0.946 | 1.000 | 1.054 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.9240 -> 2.0000 (boost 1.0760, worse) |
| Biggest Deboost | predicted_RBI: 0.7700 -> 0.0000 (deboost -0.7700, 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.9700 -> 1.0995 (boost 0.1295, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3996 -> 0.3527 (deboost -0.0469, 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_AB: 3.8445 -> 4.0000 (boost 0.1555, better) | predicted_BB: 0.3979 -> 0.0000 (deboost -0.3979, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.284 HR/AB=0.084 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7064 -> 1.0000 (boost 0.2936, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.6032 -> 0.2500 (deboost -0.3532, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.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.2500 -> 0.6032 (boost 0.3532, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682928",
"player_name": "CJ Abrams",
"position": "SS",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.019,
"predicted_AB": 3.87,
"predicted_AVG": 0.25,
"predicted_BB": 0.371,
"predicted_H": 0.97,
"predicted_HR": 0.28,
"predicted_OBP": 0.395,
"predicted_R": 0.648,
"predicted_RBI": 0.77,
"predicted_SLG": 0.602,
"predicted_SO": 0.924
},
"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.2073,
"predicted_3B": 0.016,
"predicted_AB": 3.8445,
"predicted_AVG": 0.2859,
"predicted_BB": 0.3969,
"predicted_H": 1.0995,
"predicted_HBP": 0.056,
"predicted_HR": 0.3288,
"predicted_OBP": 0.3996,
"predicted_R": 0.7076,
"predicted_RBI": 0.8486,
"predicted_SLG": 0.6468,
"predicted_SO": 0.9421
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.2073,
"delta": 0.0073,
"percent_delta": 0.0365,
"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.87,
"after": 3.8445,
"delta": -0.0255,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2859,
"delta": 0.0359,
"percent_delta": 0.1436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.3969,
"delta": 0.0259,
"percent_delta": 0.0698,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0995,
"delta": 0.1295,
"percent_delta": 0.1335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.3288,
"delta": 0.0488,
"percent_delta": 0.1743,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.395,
"after": 0.3996,
"delta": 0.0046,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.648,
"after": 0.7076,
"delta": 0.0596,
"percent_delta": 0.092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.8486,
"delta": 0.0786,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.602,
"after": 0.6468,
"delta": 0.0448,
"percent_delta": 0.0744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 0.9421,
"delta": 0.0181,
"percent_delta": 0.0196,
"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.97,
"after": 1.0995,
"delta": 0.1295,
"percent_delta": 0.1335,
"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": 105
}
},
{
"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.2073,
"predicted_3B": 0.016,
"predicted_AB": 3.8445,
"predicted_AVG": 0.2858,
"predicted_BB": 0.3979,
"predicted_H": 1.0986,
"predicted_HBP": 0.056,
"predicted_HR": 0.327,
"predicted_OBP": 0.3527,
"predicted_R": 0.7064,
"predicted_RBI": 0.8472,
"predicted_SLG": 0.6032,
"predicted_SO": 0.9398
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2073,
"after": 0.2073,
"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.8445,
"after": 3.8445,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2859,
"after": 0.2858,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3969,
"after": 0.3979,
"delta": 0.001,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0995,
"after": 1.0986,
"delta": -0.0009,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.056,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3288,
"after": 0.327,
"delta": -0.0018,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3996,
"after": 0.3527,
"delta": -0.0469,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7076,
"after": 0.7064,
"delta": -0.0012,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8486,
"after": 0.8472,
"delta": -0.0014,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6468,
"after": 0.6032,
"delta": -0.0436,
"percent_delta": -0.0674,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9421,
"after": 0.9398,
"delta": -0.0023,
"percent_delta": -0.0024,
"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.3996,
"after": 0.3527,
"delta": -0.0469,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.284 HR/AB=0.084",
"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.2073,
"after": 0.0,
"delta": -0.2073,
"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.8445,
"after": 4.0,
"delta": 0.1555,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3979,
"after": 0.0,
"delta": -0.3979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0986,
"after": 1.0,
"delta": -0.0986,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.327,
"after": 0.0,
"delta": -0.327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8472,
"after": 1.0,
"delta": 0.1528,
"percent_delta": 0.1804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9398,
"after": 1.0,
"delta": 0.0602,
"percent_delta": 0.0641,
"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": 3.8445,
"after": 4.0,
"delta": 0.1555,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3979,
"after": 0.0,
"delta": -0.3979,
"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.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.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": 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_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": 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.7064,
"after": 1.0,
"delta": 0.2936,
"percent_delta": 0.4156,
"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.7064,
"after": 1.0,
"delta": 0.2936,
"percent_delta": 0.4156,
"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": 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.2858,
"after": 0.25,
"delta": -0.0358,
"percent_delta": -0.1253,
"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.3527,
"after": 0.25,
"delta": -0.1027,
"percent_delta": -0.2912,
"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.6032,
"after": 0.25,
"delta": -0.3532,
"percent_delta": -0.5855,
"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.6032,
"after": 0.25,
"delta": -0.3532,
"percent_delta": -0.5855,
"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": 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": 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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"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_R",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2858,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3527,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6032,
"predicted_SO": 2.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": 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.2858,
"delta": 0.0358,
"percent_delta": 0.1431,
"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.3527,
"delta": 0.1027,
"percent_delta": 0.411,
"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.6032,
"delta": 0.3532,
"percent_delta": 1.4127,
"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.6032,
"delta": 0.3532,
"percent_delta": 1.4127,
"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": 1.0,
"delta": 0.8,
"percent_delta": 4.0,
"direction": "boost",
"projection_effect": "better",
"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.87,
"after": 4.0,
"delta": 0.13,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2858,
"delta": 0.0358,
"percent_delta": 0.1432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.0,
"delta": -0.371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.395,
"after": 0.3527,
"delta": -0.0423,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.648,
"after": 0.0,
"delta": -0.648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.602,
"after": 0.6032,
"delta": 0.0012,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 2.0,
"delta": 1.076,
"percent_delta": 1.1645,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.924,
"after": 2.0,
"delta": 1.076,
"percent_delta": 1.1645,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.019 | - |
| predicted_AB | 3.870 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.371 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.280 | - |
| predicted_OBP | 0.395 | - |
| predicted_R | 0.648 | - |
| predicted_RBI | 0.770 | - |
| predicted_SLG | 0.602 | - |
| predicted_SO | 0.924 | - |
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.207 | 0.007 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 3.845 | -0.026 |
| predicted_AVG | 0.286 | 0.036 |
| predicted_BB | 0.397 | 0.026 |
| predicted_H | 1.099 | 0.129 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.329 | 0.049 |
| predicted_OBP | 0.400 | 0.005 |
| predicted_R | 0.708 | 0.060 |
| predicted_RBI | 0.849 | 0.079 |
| predicted_SLG | 0.647 | 0.045 |
| predicted_SO | 0.942 | 0.018 |
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.207 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 3.845 | 0.000 |
| predicted_AVG | 0.286 | -0.000 |
| predicted_BB | 0.398 | 0.001 |
| predicted_H | 1.099 | -0.001 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.327 | -0.002 |
| predicted_OBP | 0.353 | -0.047 |
| predicted_R | 0.706 | -0.001 |
| predicted_RBI | 0.847 | -0.001 |
| predicted_SLG | 0.603 | -0.044 |
| predicted_SO | 0.940 | -0.002 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.284 HR/AB=0.084
| 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 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
| 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 |
| 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 | 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.207 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | 0.155 |
| predicted_AVG | 0.250 | -0.036 |
| predicted_BB | 0.000 | -0.398 |
| predicted_H | 1.000 | -0.099 |
| predicted_HR | 0.000 | -0.327 |
| predicted_OBP | 0.250 | -0.103 |
| predicted_R | 1.000 | 0.294 |
| predicted_RBI | 1.000 | 0.153 |
| predicted_SLG | 0.250 | -0.353 |
| predicted_SO | 1.000 | 0.060 |
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 | 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 | -1.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 | 7.000 | 1.000 | 0.000 | 3.000 | 6.000 | 5.000 | 3.000 | 5.000 | 0.3684 | 0.4545 | 0.8947 | 0.3684 | 0.1579 | 0.3158 | 0.1579 | 0.2632 |
| last_10 | 0.20 | 10 | - | 40.000 | 18.000 | 3.000 | 0.000 | 7.000 | 14.000 | 11.000 | 5.000 | 11.000 | 0.4500 | 0.5111 | 1.0500 | 0.4500 | 0.1750 | 0.3500 | 0.1250 | 0.2750 |
| season | 0.60 | 105 | - | 394.000 | 115.000 | 21.000 | 2.000 | 27.000 | 82.000 | 68.000 | 39.000 | 97.000 | 0.2919 | 0.3653 | 0.5609 | 0.2919 | 0.0685 | 0.2081 | 0.0990 | 0.2462 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2170 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.8110 |
| predicted_AVG | 0.3331 |
| predicted_BB | 0.4310 |
| predicted_H | 1.2700 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.3930 |
| predicted_OBP | 0.4056 |
| predicted_R | 0.7860 |
| predicted_RBI | 0.9520 |
| predicted_SLG | 0.7057 |
| predicted_SO | 0.9660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.2170 | 0.2073 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0160 | model_form_blend |
| predicted_AB | 3.8700 | 3.8110 | 3.8445 | model_form_blend |
| predicted_AVG | 0.2500 | 0.3331 | 0.2859 | model_form_blend |
| predicted_BB | 0.3710 | 0.4310 | 0.3969 | model_form_blend |
| predicted_H | 0.9700 | 1.2700 | 1.0995 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.2800 | 0.3930 | 0.3288 | model_form_blend |
| predicted_OBP | 0.3950 | 0.4056 | 0.3996 | model_form_blend |
| predicted_R | 0.6480 | 0.7860 | 0.7076 | model_form_blend |
| predicted_RBI | 0.7700 | 0.9520 | 0.8486 | model_form_blend |
| predicted_SLG | 0.6020 | 0.7057 | 0.6468 | model_form_blend |
| predicted_SO | 0.9240 | 0.9660 | 0.9421 | 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 | 427 |
| Season rows before report date | 427 |
| Report year | 2026 |
| Profile rows used | 105 |
| 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 | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.292 |
| 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 | 1 |
| 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 | DH |
| gameID | 20260729_TOR@WAS |
| game_type | full |
| mlbID | 682928 |
| playerID | 682928 |
| playerName | CJ Abrams |
| pos | SS |
| started | True |
| startingPosition | DH |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.395 |
| sl_xwoba | 0.352 |
| sl_xba | 0.262 |
| sl_xslg | 0.472 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 42.5 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 51.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.110 | 0.000 | 0.000 | Hitting_2B | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 2.685 | 4.000 | 3.000 | Hitting_AB | 3.066 | 4.000 | 0.934 | 0.000 |
| predicted_AVG | 0.236 | 0.250 | 0.333 | Hitting_AVG | 0.260 | 0.250 | -0.010 | 0.000 |
| predicted_BB | 0.288 | 0.000 | 0.000 | Hitting_BB | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.550 | 1.000 | 1.000 | Hitting_H | 0.797 | 1.000 | 0.203 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_OBP | 0.289 | 0.250 | 0.333 | Hitting_OBP | 0.349 | 0.250 | -0.099 | 0.000 |
| predicted_R | 0.315 | 1.000 | 0.000 | Hitting_R | 0.423 | 0.000 | 0.577 | 1.000 |
| predicted_RBI | 0.250 | 1.000 | 0.000 | Hitting_RBI | 0.326 | 0.000 | 0.674 | 1.000 |
| predicted_SLG | 0.335 | 0.250 | 0.333 | Hitting_SLG | 0.368 | 0.250 | -0.118 | 0.000 |
| predicted_SO | 0.452 | 1.000 | 1.000 | Hitting_SO | 0.414 | 1.000 | 0.586 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 2.6850 -> 4.0000 (boost 1.3150, better) |
| Biggest Deboost | predicted_BB: 0.2880 -> 0.0000 (deboost -0.2880, 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_SO: 0.4520 -> 0.5504 (boost 0.0984, 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.3433 -> 0.3240 (deboost -0.0193, 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.5491 -> 1.0000 (boost 0.4509, worse) | predicted_BB: 0.3128 -> 0.0000 (deboost -0.3128, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.221 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3216 -> 0.0000 (deboost -0.3216, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2208 -> 0.3330 (boost 0.1122, better) | - | 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 -> 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.2208 (deboost -0.1122, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678391",
"player_name": "Jorbit Vivas",
"position": "3B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.11,
"predicted_3B": 0.014,
"predicted_AB": 2.685,
"predicted_AVG": 0.236,
"predicted_BB": 0.288,
"predicted_H": 0.55,
"predicted_HR": 0.04,
"predicted_OBP": 0.289,
"predicted_R": 0.315,
"predicted_RBI": 0.25,
"predicted_SLG": 0.335,
"predicted_SO": 0.452
},
"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.1042,
"predicted_3B": 0.0344,
"predicted_AB": 2.7714,
"predicted_AVG": 0.2385,
"predicted_BB": 0.3121,
"predicted_H": 0.6123,
"predicted_HBP": 0.026,
"predicted_HR": 0.0379,
"predicted_OBP": 0.3022,
"predicted_R": 0.3221,
"predicted_RBI": 0.2417,
"predicted_SLG": 0.3433,
"predicted_SO": 0.5504
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.11,
"after": 0.1042,
"delta": -0.0058,
"percent_delta": -0.0527,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0344,
"delta": 0.0204,
"percent_delta": 1.4571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.685,
"after": 2.7714,
"delta": 0.0864,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2385,
"delta": 0.0025,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.3121,
"delta": 0.0241,
"percent_delta": 0.0837,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 0.6123,
"delta": 0.0623,
"percent_delta": 0.1133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0379,
"delta": -0.0021,
"percent_delta": -0.0525,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.3022,
"delta": 0.0132,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.315,
"after": 0.3221,
"delta": 0.0071,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2417,
"delta": -0.0083,
"percent_delta": -0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3433,
"delta": 0.0083,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.452,
"after": 0.5504,
"delta": 0.0984,
"percent_delta": 0.2177,
"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_SO",
"before": 0.452,
"after": 0.5504,
"delta": 0.0984,
"percent_delta": 0.2177,
"direction": "boost",
"projection_effect": "worse",
"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": 73
}
},
{
"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.1042,
"predicted_3B": 0.0344,
"predicted_AB": 2.7714,
"predicted_AVG": 0.2208,
"predicted_BB": 0.3128,
"predicted_H": 0.6118,
"predicted_HBP": 0.026,
"predicted_HR": 0.0377,
"predicted_OBP": 0.2998,
"predicted_R": 0.3216,
"predicted_RBI": 0.2413,
"predicted_SLG": 0.324,
"predicted_SO": 0.5491
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1042,
"after": 0.1042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0344,
"after": 0.0344,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7714,
"after": 2.7714,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2385,
"after": 0.2208,
"delta": -0.0177,
"percent_delta": -0.0742,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3121,
"after": 0.3128,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6123,
"after": 0.6118,
"delta": -0.0005,
"percent_delta": -0.0008,
"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.0379,
"after": 0.0377,
"delta": -0.0002,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3022,
"after": 0.2998,
"delta": -0.0024,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3221,
"after": 0.3216,
"delta": -0.0005,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2417,
"after": 0.2413,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3433,
"after": 0.324,
"delta": -0.0193,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5504,
"after": 0.5491,
"delta": -0.0013,
"percent_delta": -0.0024,
"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.3433,
"after": 0.324,
"delta": -0.0193,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.221 HR/AB=0.014",
"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.1042,
"after": 0.0,
"delta": -0.1042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0344,
"after": 0.0,
"delta": -0.0344,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7714,
"after": 3.0,
"delta": 0.2286,
"percent_delta": 0.0825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3128,
"after": 0.0,
"delta": -0.3128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6118,
"after": 1.0,
"delta": 0.3882,
"percent_delta": 0.6345,
"direction": "boost",
"projection_effect": "better",
"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.0377,
"after": 0.0,
"delta": -0.0377,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2413,
"after": 0.0,
"delta": -0.2413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5491,
"after": 1.0,
"delta": 0.4509,
"percent_delta": 0.8212,
"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.5491,
"after": 1.0,
"delta": 0.4509,
"percent_delta": 0.8212,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3128,
"after": 0.0,
"delta": -0.3128,
"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.3216,
"after": 0.0,
"delta": -0.3216,
"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.3216,
"after": 0.0,
"delta": -0.3216,
"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.2208,
"after": 0.333,
"delta": 0.1122,
"percent_delta": 0.5082,
"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.2998,
"after": 0.333,
"delta": 0.0332,
"percent_delta": 0.1107,
"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.324,
"after": 0.333,
"delta": 0.009,
"percent_delta": 0.0278,
"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.2208,
"after": 0.333,
"delta": 0.1122,
"percent_delta": 0.5082,
"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": 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": 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": 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": 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.2208,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2998,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.324,
"predicted_SO": 1.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.2208,
"delta": -0.1122,
"percent_delta": -0.3371,
"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.2998,
"delta": -0.0332,
"percent_delta": -0.0997,
"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.324,
"delta": -0.009,
"percent_delta": -0.0271,
"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.2208,
"delta": -0.1122,
"percent_delta": -0.3371,
"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.11,
"after": 0.0,
"delta": -0.11,
"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": 2.685,
"after": 4.0,
"delta": 1.315,
"percent_delta": 0.4898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2208,
"delta": -0.0152,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"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.289,
"after": 0.2998,
"delta": 0.0108,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.315,
"after": 1.0,
"delta": 0.685,
"percent_delta": 2.1746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.324,
"delta": -0.011,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.452,
"after": 1.0,
"delta": 0.548,
"percent_delta": 1.2124,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.685,
"after": 4.0,
"delta": 1.315,
"percent_delta": 0.4898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"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.110 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 2.685 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.288 | - |
| predicted_H | 0.550 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.315 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.335 | - |
| predicted_SO | 0.452 | - |
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.104 | -0.006 |
| predicted_3B | 0.034 | 0.020 |
| predicted_AB | 2.771 | 0.086 |
| predicted_AVG | 0.238 | 0.003 |
| predicted_BB | 0.312 | 0.024 |
| predicted_H | 0.612 | 0.062 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.038 | -0.002 |
| predicted_OBP | 0.302 | 0.013 |
| predicted_R | 0.322 | 0.007 |
| predicted_RBI | 0.242 | -0.008 |
| predicted_SLG | 0.343 | 0.008 |
| predicted_SO | 0.550 | 0.098 |
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.104 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 2.771 | 0.000 |
| predicted_AVG | 0.221 | -0.018 |
| predicted_BB | 0.313 | 0.001 |
| predicted_H | 0.612 | -0.000 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.038 | -0.000 |
| predicted_OBP | 0.300 | -0.002 |
| predicted_R | 0.322 | -0.001 |
| predicted_RBI | 0.241 | -0.000 |
| predicted_SLG | 0.324 | -0.019 |
| predicted_SO | 0.549 | -0.001 |
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.221 HR/AB=0.014
| 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.104 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 3.000 | 0.229 |
| predicted_AVG | 0.333 | 0.112 |
| predicted_BB | 0.000 | -0.313 |
| predicted_H | 1.000 | 0.388 |
| predicted_HR | 0.000 | -0.038 |
| predicted_OBP | 0.333 | 0.033 |
| predicted_R | 0.000 | -0.322 |
| predicted_RBI | 0.000 | -0.241 |
| predicted_SLG | 0.333 | 0.009 |
| predicted_SO | 1.000 | 0.451 |
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 | 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 | - | 14.000 | 4.000 | 0.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 6.000 | 0.2857 | 0.3529 | 0.4286 | 0.2857 | 0.0000 | 0.0714 | 0.1429 | 0.4286 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 1.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 8.000 | 0.2000 | 0.3056 | 0.3000 | 0.2000 | 0.0000 | 0.0333 | 0.1667 | 0.2667 |
| season | 0.60 | 73 | - | 196.000 | 47.000 | 8.000 | 1.000 | 3.000 | 17.000 | 23.000 | 21.000 | 33.000 | 0.2398 | 0.3184 | 0.3367 | 0.2398 | 0.0153 | 0.0867 | 0.1071 | 0.1684 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0960 |
| predicted_3B | 0.0630 |
| predicted_AB | 2.8930 |
| predicted_AVG | 0.2419 |
| predicted_BB | 0.3460 |
| predicted_H | 0.7000 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.0350 |
| predicted_OBP | 0.3207 |
| predicted_R | 0.3320 |
| predicted_RBI | 0.2300 |
| predicted_SLG | 0.3550 |
| predicted_SO | 0.6890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1100 | 0.0960 | 0.1042 | model_form_blend |
| predicted_3B | 0.0140 | 0.0630 | 0.0344 | model_form_blend |
| predicted_AB | 2.6850 | 2.8930 | 2.7714 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2419 | 0.2385 | model_form_blend |
| predicted_BB | 0.2880 | 0.3460 | 0.3121 | model_form_blend |
| predicted_H | 0.5500 | 0.7000 | 0.6123 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.0400 | 0.0350 | 0.0379 | model_form_blend |
| predicted_OBP | 0.2890 | 0.3207 | 0.3022 | model_form_blend |
| predicted_R | 0.3150 | 0.3320 | 0.3221 | model_form_blend |
| predicted_RBI | 0.2500 | 0.2300 | 0.2417 | model_form_blend |
| predicted_SLG | 0.3350 | 0.3550 | 0.3433 | model_form_blend |
| predicted_SO | 0.4520 | 0.6890 | 0.5504 | 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 | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 73 |
| 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.24 |
| 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 | 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 | 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 | 2B-3B |
| gameID | 20260729_TOR@WAS |
| game_type | full |
| mlbID | 678391 |
| playerID | 678391 |
| playerName | Jorbit Vivas |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-29 |
| sl_k_percent | 14.2 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.299 |
| sl_xwoba | 0.296 |
| sl_xba | 0.243 |
| sl_xslg | 0.326 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 25.9 |
| sl_exit_velocity_avg | 83.3 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 50.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.042 | 0.000 | 0.000 | Hitting_2B | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.232 | 4.000 | 3.000 | Hitting_AB | 3.381 | 4.000 | 0.619 | 0.000 |
| predicted_AVG | 0.190 | 0.250 | 0.333 | Hitting_AVG | 0.256 | 0.000 | -0.006 | 0.250 |
| predicted_BB | 0.389 | 0.000 | 0.000 | Hitting_BB | 0.413 | 0.000 | -0.413 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.560 | 1.000 | 1.000 | Hitting_H | 0.864 | 0.000 | 0.136 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_OBP | 0.284 | 0.250 | 0.333 | Hitting_OBP | 0.338 | 0.000 | -0.088 | 0.250 |
| predicted_R | 0.463 | 0.000 | 0.000 | Hitting_R | 0.525 | 0.000 | -0.525 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.354 | 0.000 | -0.354 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.440 | 0.000 | -0.440 | 0.000 |
| predicted_SLG | 0.259 | 0.250 | 0.333 | Hitting_SLG | 0.304 | 0.000 | -0.054 | 0.250 |
| predicted_SO | 0.779 | 1.000 | 1.000 | Hitting_SO | 0.882 | 1.000 | 0.118 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 7 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 4 |
| Better Metrics | 2 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.2320 -> 4.0000 (boost 0.7680, better) |
| Biggest Deboost | predicted_R: 0.4630 -> 0.0000 (deboost -0.4630, 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 | 4 | 0 | predicted_H: 0.5600 -> 0.6325 (boost 0.0725, better) | predicted_SO: 0.7790 -> 0.6843 (deboost -0.0947, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2917 -> 0.2807 (deboost -0.0110, 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_H: 0.6320 -> 1.0000 (boost 0.3680, better) | predicted_BB: 0.3973 -> 0.0000 (deboost -0.3973, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.193 HR/AB=0.012 |
| 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 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1933 -> 0.3330 (boost 0.1397, 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.1933 (deboost -0.1397, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "2B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.042,
"predicted_3B": 0.032,
"predicted_AB": 3.232,
"predicted_AVG": 0.19,
"predicted_BB": 0.389,
"predicted_H": 0.56,
"predicted_HR": 0.06,
"predicted_OBP": 0.284,
"predicted_R": 0.463,
"predicted_RBI": 0.31,
"predicted_SLG": 0.259,
"predicted_SO": 0.779
},
"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.0394,
"predicted_3B": 0.0265,
"predicted_AB": 3.27,
"predicted_AVG": 0.2027,
"predicted_BB": 0.3963,
"predicted_H": 0.6325,
"predicted_HBP": 0.008,
"predicted_HR": 0.0408,
"predicted_OBP": 0.2917,
"predicted_R": 0.4621,
"predicted_RBI": 0.3096,
"predicted_SLG": 0.2577,
"predicted_SO": 0.6843
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.042,
"after": 0.0394,
"delta": -0.0026,
"percent_delta": -0.0619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0265,
"delta": -0.0055,
"percent_delta": -0.1719,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.232,
"after": 3.27,
"delta": 0.038,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.19,
"after": 0.2027,
"delta": 0.0127,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 0.3963,
"delta": 0.0073,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.6325,
"delta": 0.0725,
"percent_delta": 0.1295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0408,
"delta": -0.0192,
"percent_delta": -0.32,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2917,
"delta": 0.0077,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.463,
"after": 0.4621,
"delta": -0.0009,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3096,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.259,
"after": 0.2577,
"delta": -0.0013,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.779,
"after": 0.6843,
"delta": -0.0947,
"percent_delta": -0.1216,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.56,
"after": 0.6325,
"delta": 0.0725,
"percent_delta": 0.1295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.779,
"after": 0.6843,
"delta": -0.0947,
"percent_delta": -0.1216,
"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": 95
}
},
{
"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.0394,
"predicted_3B": 0.0265,
"predicted_AB": 3.27,
"predicted_AVG": 0.1933,
"predicted_BB": 0.3973,
"predicted_H": 0.632,
"predicted_HBP": 0.008,
"predicted_HR": 0.0406,
"predicted_OBP": 0.2807,
"predicted_R": 0.4613,
"predicted_RBI": 0.3091,
"predicted_SLG": 0.2588,
"predicted_SO": 0.6827
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0394,
"after": 0.0394,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0265,
"after": 0.0265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.27,
"after": 3.27,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2027,
"after": 0.1933,
"delta": -0.0094,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3963,
"after": 0.3973,
"delta": 0.001,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6325,
"after": 0.632,
"delta": -0.0005,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0408,
"after": 0.0406,
"delta": -0.0002,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2917,
"after": 0.2807,
"delta": -0.011,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4621,
"after": 0.4613,
"delta": -0.0008,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3096,
"after": 0.3091,
"delta": -0.0005,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2577,
"after": 0.2588,
"delta": 0.0011,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6843,
"after": 0.6827,
"delta": -0.0016,
"percent_delta": -0.0023,
"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.2917,
"after": 0.2807,
"delta": -0.011,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.27), rates preserved: AVG=0.193 HR/AB=0.012",
"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.0394,
"after": 0.0,
"delta": -0.0394,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0265,
"after": 0.0,
"delta": -0.0265,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.27,
"after": 3.0,
"delta": -0.27,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3973,
"after": 0.0,
"delta": -0.3973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.632,
"after": 1.0,
"delta": 0.368,
"percent_delta": 0.5823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0406,
"after": 0.0,
"delta": -0.0406,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3091,
"after": 0.0,
"delta": -0.3091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6827,
"after": 1.0,
"delta": 0.3173,
"percent_delta": 0.4648,
"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.632,
"after": 1.0,
"delta": 0.368,
"percent_delta": 0.5823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3973,
"after": 0.0,
"delta": -0.3973,
"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.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": 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.1933,
"after": 0.333,
"delta": 0.1397,
"percent_delta": 0.7227,
"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.2807,
"after": 0.333,
"delta": 0.0523,
"percent_delta": 0.1863,
"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.2588,
"after": 0.333,
"delta": 0.0742,
"percent_delta": 0.2867,
"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.1933,
"after": 0.333,
"delta": 0.1397,
"percent_delta": 0.7227,
"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.1933,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2807,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2588,
"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.1933,
"delta": -0.1397,
"percent_delta": -0.4196,
"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.2807,
"delta": -0.0523,
"percent_delta": -0.1572,
"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.2588,
"delta": -0.0742,
"percent_delta": -0.223,
"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.1933,
"delta": -0.1397,
"percent_delta": -0.4196,
"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.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.232,
"after": 4.0,
"delta": 0.768,
"percent_delta": 0.2376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.19,
"after": 0.1933,
"delta": 0.0033,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 0.0,
"delta": -0.389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"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.284,
"after": 0.2807,
"delta": -0.0033,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.463,
"after": 0.0,
"delta": -0.463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.259,
"after": 0.2588,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.779,
"after": 1.0,
"delta": 0.221,
"percent_delta": 0.2837,
"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.232,
"after": 4.0,
"delta": 0.768,
"percent_delta": 0.2376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.463,
"after": 0.0,
"delta": -0.463,
"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.042 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.232 | - |
| predicted_AVG | 0.190 | - |
| predicted_BB | 0.389 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.463 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.259 | - |
| predicted_SO | 0.779 | - |
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.039 | -0.003 |
| predicted_3B | 0.026 | -0.006 |
| predicted_AB | 3.270 | 0.038 |
| predicted_AVG | 0.203 | 0.013 |
| predicted_BB | 0.396 | 0.007 |
| predicted_H | 0.632 | 0.072 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.041 | -0.019 |
| predicted_OBP | 0.292 | 0.008 |
| predicted_R | 0.462 | -0.001 |
| predicted_RBI | 0.310 | -0.000 |
| predicted_SLG | 0.258 | -0.001 |
| predicted_SO | 0.684 | -0.095 |
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.039 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 3.270 | 0.000 |
| predicted_AVG | 0.193 | -0.009 |
| predicted_BB | 0.397 | 0.001 |
| predicted_H | 0.632 | -0.000 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.041 | -0.000 |
| predicted_OBP | 0.281 | -0.011 |
| predicted_R | 0.461 | -0.001 |
| predicted_RBI | 0.309 | -0.001 |
| predicted_SLG | 0.259 | 0.001 |
| predicted_SO | 0.683 | -0.002 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.193 HR/AB=0.012
| 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.039 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 3.000 | -0.270 |
| predicted_AVG | 0.333 | 0.140 |
| predicted_BB | 0.000 | -0.397 |
| predicted_H | 1.000 | 0.368 |
| predicted_HR | 0.000 | -0.041 |
| predicted_OBP | 0.333 | 0.052 |
| predicted_R | 0.000 | -0.461 |
| predicted_RBI | 0.000 | -0.309 |
| predicted_SLG | 0.333 | 0.074 |
| predicted_SO | 1.000 | 0.317 |
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 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 0.1250 | 0.2500 | 0.1250 | 0.1250 | 0.0000 | 0.0625 | 0.1875 | 0.0625 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 0.000 | 0.000 | 0.000 | 3.000 | 5.000 | 3.000 | 1.000 | 0.2286 | 0.2821 | 0.2286 | 0.2286 | 0.0000 | 0.0857 | 0.0857 | 0.0286 |
| season | 0.60 | 95 | - | 307.000 | 75.000 | 4.000 | 3.000 | 1.000 | 31.000 | 44.000 | 37.000 | 74.000 | 0.2443 | 0.3256 | 0.2866 | 0.2443 | 0.0033 | 0.1010 | 0.1205 | 0.2410 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0360 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.3210 |
| predicted_AVG | 0.2198 |
| predicted_BB | 0.4060 |
| predicted_H | 0.7300 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0150 |
| predicted_OBP | 0.3021 |
| predicted_R | 0.4610 |
| predicted_RBI | 0.3090 |
| predicted_SLG | 0.2559 |
| predicted_SO | 0.5570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0420 | 0.0360 | 0.0394 | model_form_blend |
| predicted_3B | 0.0320 | 0.0190 | 0.0265 | model_form_blend |
| predicted_AB | 3.2320 | 3.3210 | 3.2700 | model_form_blend |
| predicted_AVG | 0.1900 | 0.2198 | 0.2027 | model_form_blend |
| predicted_BB | 0.3890 | 0.4060 | 0.3963 | model_form_blend |
| predicted_H | 0.5600 | 0.7300 | 0.6325 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0600 | 0.0150 | 0.0408 | model_form_blend |
| predicted_OBP | 0.2840 | 0.3021 | 0.2917 | model_form_blend |
| predicted_R | 0.4630 | 0.4610 | 0.4621 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3090 | 0.3096 | model_form_blend |
| predicted_SLG | 0.2590 | 0.2559 | 0.2577 | model_form_blend |
| predicted_SO | 0.7790 | 0.5570 | 0.6843 | 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 | 339 |
| Season rows before report date | 339 |
| Report year | 2026 |
| Profile rows used | 95 |
| 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.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| 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 | 0 |
| Hitting_GIDP | 1 |
| 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 | 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 | SS |
| gameID | 20260729_TOR@WAS |
| game_type | full |
| mlbID | 683083 |
| playerID | 683083 |
| playerName | Nasim Nuñez |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-29 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.286 |
| sl_xwoba | 0.273 |
| sl_xba | 0.226 |
| sl_xslg | 0.277 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 0.4 |
| sl_hard_hit_percent | 20.2 |
| sl_exit_velocity_avg | 84.5 |
| sl_launch_angle_avg | 7.4 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 46.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.163 | 0.000 | 0.000 | Hitting_2B | 0.142 | 1.000 | -0.142 | -1.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.430 | 3.000 | 3.000 | Hitting_AB | 3.541 | 2.000 | -0.541 | 1.000 |
| predicted_AVG | 0.313 | 0.000 | 0.333 | Hitting_AVG | 0.236 | 0.500 | -0.236 | -0.500 |
| predicted_BB | 0.209 | 1.000 | 0.000 | Hitting_BB | 0.252 | 1.000 | 0.748 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.720 | 0.000 | 1.000 | Hitting_H | 0.836 | 1.000 | -0.836 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.373 | 0.250 | 0.333 | Hitting_OBP | 0.297 | 0.667 | -0.047 | -0.417 |
| predicted_R | 0.453 | 0.000 | 0.000 | Hitting_R | 0.509 | 0.000 | -0.509 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.412 | 1.000 | -0.412 | -1.000 |
| predicted_SLG | 0.472 | 0.000 | 0.333 | Hitting_SLG | 0.376 | 1.000 | -0.376 | -1.000 |
| predicted_SO | 0.663 | 1.000 | 1.000 | Hitting_SO | 0.670 | 0.000 | 0.330 | 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_BB: 0.2090 -> 1.0000 (boost 0.7910, better) |
| Biggest Deboost | predicted_H: 0.7200 -> 0.0000 (deboost -0.7200, 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.7200 -> 0.8028 (boost 0.0828, better) | predicted_SLG: 0.4720 -> 0.4512 (deboost -0.0208, 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.4512 -> 0.3749 (deboost -0.0763, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6339 -> 1.0000 (boost 0.3661, worse) | predicted_RBI: 0.4541 -> 0.0000 (deboost -0.4541, worse) | AB rounded to 3 (raw=3.43), rates preserved: AVG=0.234 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4539 -> 0.0000 (deboost -0.4539, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2348 -> 0.3330 (boost 0.0982, better) | predicted_SLG: 0.3749 -> 0.3330 (deboost -0.0419, 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_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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3749 (boost 0.0419, better) | predicted_AVG: 0.3330 -> 0.2348 (deboost -0.0982, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696285",
"player_name": "Jacob Young",
"position": "CF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.023,
"predicted_AB": 3.43,
"predicted_AVG": 0.313,
"predicted_BB": 0.209,
"predicted_H": 0.72,
"predicted_HR": 0.08,
"predicted_OBP": 0.373,
"predicted_R": 0.453,
"predicted_RBI": 0.44,
"predicted_SLG": 0.472,
"predicted_SO": 0.663
},
"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.194,
"predicted_3B": 0.0192,
"predicted_AB": 3.416,
"predicted_AVG": 0.2945,
"predicted_BB": 0.2256,
"predicted_H": 0.8028,
"predicted_HBP": 0.047,
"predicted_HR": 0.0825,
"predicted_OBP": 0.3534,
"predicted_R": 0.4547,
"predicted_RBI": 0.4549,
"predicted_SLG": 0.4512,
"predicted_SO": 0.6354
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.194,
"delta": 0.031,
"percent_delta": 0.1902,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0192,
"delta": -0.0038,
"percent_delta": -0.1652,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.43,
"after": 3.416,
"delta": -0.014,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.313,
"after": 0.2945,
"delta": -0.0185,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.209,
"after": 0.2256,
"delta": 0.0166,
"percent_delta": 0.0794,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.8028,
"delta": 0.0828,
"percent_delta": 0.115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0825,
"delta": 0.0025,
"percent_delta": 0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3534,
"delta": -0.0196,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 0.4547,
"delta": 0.0017,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4549,
"delta": 0.0149,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4512,
"delta": -0.0208,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.663,
"after": 0.6354,
"delta": -0.0276,
"percent_delta": -0.0416,
"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.72,
"after": 0.8028,
"delta": 0.0828,
"percent_delta": 0.115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4512,
"delta": -0.0208,
"percent_delta": -0.0441,
"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": 86
}
},
{
"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.194,
"predicted_3B": 0.0192,
"predicted_AB": 3.416,
"predicted_AVG": 0.2348,
"predicted_BB": 0.2261,
"predicted_H": 0.8022,
"predicted_HBP": 0.047,
"predicted_HR": 0.082,
"predicted_OBP": 0.2823,
"predicted_R": 0.4539,
"predicted_RBI": 0.4541,
"predicted_SLG": 0.3749,
"predicted_SO": 0.6339
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.194,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0192,
"after": 0.0192,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.416,
"after": 3.416,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2945,
"after": 0.2348,
"delta": -0.0597,
"percent_delta": -0.2027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2256,
"after": 0.2261,
"delta": 0.0005,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8028,
"after": 0.8022,
"delta": -0.0006,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0825,
"after": 0.082,
"delta": -0.0005,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3534,
"after": 0.2823,
"delta": -0.0711,
"percent_delta": -0.2012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4547,
"after": 0.4539,
"delta": -0.0008,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4549,
"after": 0.4541,
"delta": -0.0008,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4512,
"after": 0.3749,
"delta": -0.0763,
"percent_delta": -0.1691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6354,
"after": 0.6339,
"delta": -0.0015,
"percent_delta": -0.0024,
"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.4512,
"after": 0.3749,
"delta": -0.0763,
"percent_delta": -0.1691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.43), rates preserved: AVG=0.234 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.194,
"after": 0.0,
"delta": -0.194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0192,
"after": 0.0,
"delta": -0.0192,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.416,
"after": 3.0,
"delta": -0.416,
"percent_delta": -0.1218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2261,
"after": 0.0,
"delta": -0.2261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8022,
"after": 1.0,
"delta": 0.1978,
"percent_delta": 0.2466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.082,
"after": 0.0,
"delta": -0.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4541,
"after": 0.0,
"delta": -0.4541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6339,
"after": 1.0,
"delta": 0.3661,
"percent_delta": 0.5775,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6339,
"after": 1.0,
"delta": 0.3661,
"percent_delta": 0.5775,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4541,
"after": 0.0,
"delta": -0.4541,
"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.4539,
"after": 0.0,
"delta": -0.4539,
"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.4539,
"after": 0.0,
"delta": -0.4539,
"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.2348,
"after": 0.333,
"delta": 0.0982,
"percent_delta": 0.4182,
"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.2823,
"after": 0.333,
"delta": 0.0507,
"percent_delta": 0.1796,
"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.3749,
"after": 0.333,
"delta": -0.0419,
"percent_delta": -0.1118,
"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.2348,
"after": 0.333,
"delta": 0.0982,
"percent_delta": 0.4182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3749,
"after": 0.333,
"delta": -0.0419,
"percent_delta": -0.1118,
"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": 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.2348,
"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.2823,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3749,
"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.2348,
"delta": -0.0982,
"percent_delta": -0.2948,
"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.2823,
"delta": -0.0507,
"percent_delta": -0.1522,
"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.3749,
"delta": 0.0419,
"percent_delta": 0.1259,
"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.3749,
"delta": 0.0419,
"percent_delta": 0.1259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2348,
"delta": -0.0982,
"percent_delta": -0.2948,
"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.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.43,
"after": 3.0,
"delta": -0.43,
"percent_delta": -0.1254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.313,
"after": 0.2348,
"delta": -0.0782,
"percent_delta": -0.2498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.209,
"after": 1.0,
"delta": 0.791,
"percent_delta": 3.7847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.2823,
"delta": -0.0907,
"percent_delta": -0.2432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 0.0,
"delta": -0.453,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.3749,
"delta": -0.0971,
"percent_delta": -0.2057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.663,
"after": 1.0,
"delta": 0.337,
"percent_delta": 0.5083,
"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_BB",
"before": 0.209,
"after": 1.0,
"delta": 0.791,
"percent_delta": 3.7847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"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.163 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.430 | - |
| predicted_AVG | 0.313 | - |
| predicted_BB | 0.209 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.373 | - |
| predicted_R | 0.453 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.472 | - |
| predicted_SO | 0.663 | - |
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.194 | 0.031 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.416 | -0.014 |
| predicted_AVG | 0.294 | -0.019 |
| predicted_BB | 0.226 | 0.017 |
| predicted_H | 0.803 | 0.083 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.083 | 0.003 |
| predicted_OBP | 0.353 | -0.020 |
| predicted_R | 0.455 | 0.002 |
| predicted_RBI | 0.455 | 0.015 |
| predicted_SLG | 0.451 | -0.021 |
| predicted_SO | 0.635 | -0.028 |
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.194 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.416 | 0.000 |
| predicted_AVG | 0.235 | -0.060 |
| predicted_BB | 0.226 | 0.001 |
| predicted_H | 0.802 | -0.001 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.082 | -0.001 |
| predicted_OBP | 0.282 | -0.071 |
| predicted_R | 0.454 | -0.001 |
| predicted_RBI | 0.454 | -0.001 |
| predicted_SLG | 0.375 | -0.076 |
| predicted_SO | 0.634 | -0.001 |
AB rounded to 3 (raw=3.43), rates preserved: AVG=0.234 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.194 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 3.000 | -0.416 |
| predicted_AVG | 0.333 | 0.098 |
| predicted_BB | 0.000 | -0.226 |
| predicted_H | 1.000 | 0.198 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.333 | 0.051 |
| predicted_R | 0.000 | -0.454 |
| predicted_RBI | 0.000 | -0.454 |
| predicted_SLG | 0.333 | -0.042 |
| predicted_SO | 1.000 | 0.366 |
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 | - | 16.000 | 5.000 | 2.000 | 0.000 | 0.000 | 3.000 | 2.000 | 1.000 | 3.000 | 0.3125 | 0.3529 | 0.4375 | 0.3125 | 0.0000 | 0.1875 | 0.0625 | 0.1875 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 3.000 | 0.000 | 1.000 | 5.000 | 5.000 | 4.000 | 3.000 | 0.3333 | 0.4211 | 0.5152 | 0.3333 | 0.0303 | 0.1515 | 0.1212 | 0.0909 |
| season | 0.60 | 86 | - | 295.000 | 70.000 | 14.000 | 2.000 | 9.000 | 36.000 | 39.000 | 18.000 | 57.000 | 0.2373 | 0.2902 | 0.3898 | 0.2373 | 0.0305 | 0.1220 | 0.0610 | 0.1932 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2360 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.3970 |
| predicted_AVG | 0.2695 |
| predicted_BB | 0.2480 |
| predicted_H | 0.9150 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.3269 |
| predicted_R | 0.4570 |
| predicted_RBI | 0.4750 |
| predicted_SLG | 0.4231 |
| predicted_SO | 0.5980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.2360 | 0.1940 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0192 | model_form_blend |
| predicted_AB | 3.4300 | 3.3970 | 3.4160 | model_form_blend |
| predicted_AVG | 0.3130 | 0.2695 | 0.2945 | model_form_blend |
| predicted_BB | 0.2090 | 0.2480 | 0.2256 | model_form_blend |
| predicted_H | 0.7200 | 0.9150 | 0.8028 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.0800 | 0.0860 | 0.0825 | model_form_blend |
| predicted_OBP | 0.3730 | 0.3269 | 0.3534 | model_form_blend |
| predicted_R | 0.4530 | 0.4570 | 0.4547 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4750 | 0.4549 | model_form_blend |
| predicted_SLG | 0.4720 | 0.4231 | 0.4512 | model_form_blend |
| predicted_SO | 0.6630 | 0.5980 | 0.6354 | 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 | 318 |
| Season rows before report date | 318 |
| Report year | 2026 |
| Profile rows used | 86 |
| 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.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 | 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 | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| 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 | 20260729_TOR@WAS |
| game_type | full |
| mlbID | 696285 |
| playerID | 696285 |
| playerName | Jacob Young |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-29 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.299 |
| sl_xwoba | 0.318 |
| sl_xba | 0.264 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 35.1 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 10.5 |
| sl_whiff_percent | 21.2 |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.565 | 2.000 | 1.435 | 1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.000 | 2.000 | 2.000 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.000 | 6.000 | 0.000 | -1.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 4.961 | 6.000 | 0.139 | -0.900 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 5.652 | 3.000 | -2.652 | 0.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": "676917",
"player_name": "Cade Cavalli",
"position": "Starter",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 4.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.333 | - |
| 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 | 26.100 | 9.000 | 24.000 | 7.000 | 28.000 | 3.000 | 3.0759 | 1.1772 | 0.3418 | 0.9114 | 0.2658 | 1.0633 | 0.1139 |
| last_10 | 0.35 | 10 | 52.000 | 20.000 | 47.000 | 12.000 | 56.000 | 7.000 | 3.4615 | 1.1346 | 0.3846 | 0.9039 | 0.2308 | 1.0769 | 0.1346 |
| season | 0.20 | 23 | 116.200 | 46.000 | 115.000 | 36.000 | 130.000 | 10.000 | 3.5486 | 1.2943 | 0.3943 | 0.9857 | 0.3086 | 1.1143 | 0.0857 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4720 |
| predicted_ER | 2.0700 |
| predicted_ERA | 3.5285 |
| predicted_H | 4.9250 |
| predicted_HR | 0.6440 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.5790 |
| predicted_WHIP | 1.2118 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.4720 | 2.1221 | model_form_blend |
| predicted_ER | 4.0000 | 2.0700 | 2.8911 | model_form_blend |
| predicted_ERA | - | 3.5285 | 3.5285 | form_only |
| predicted_H | 5.0000 | 4.9250 | 4.9569 | model_form_blend |
| predicted_HR | 0.0000 | 0.6440 | 0.3700 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 3.0000 | 5.5790 | 4.4817 | model_form_blend |
| predicted_WHIP | - | 1.2118 | 1.2118 | 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.1 |
| H | 5 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 3 |
| HR | 0 |
| BF | 24 |
| Pitches | 94 |
| 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 | 25 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.55 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 10 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 98 |
| Pitching_R | 3 |
| Pitching_SO | 3 |
| Pitching_Strikes | 64 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260728_TOR@WAS |
| game_type | full |
| mlbID | 676917 |
| playerID | 676917 |
| playerName | Cade Cavalli |
| pos | P |
| started | True |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-28 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.307 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 40.9 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 47.8 |
| sl_avg_best_speed | 78.386417188 |
| sl_avg_hyper_speed | 94.356339781 |
| 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.588 | 0.000 | -0.588 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.618 | 0.000 | 0.382 | 1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.865 | 1.000 | 1.135 | 1.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 | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 2.0000 (boost 1.0000, 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 -> 2.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "690925",
"player_name": "Clayton Beeter",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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": 2.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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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 | 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 | 5.100 | 2.000 | 3.000 | 2.000 | 3.000 | 1.000 | 3.3750 | 0.9375 | 0.3750 | 0.5625 | 0.3750 | 0.5625 | 0.1875 |
| last_10 | 0.35 | 10 | 9.000 | 2.000 | 3.000 | 4.000 | 8.000 | 1.000 | 2.0000 | 0.7778 | 0.2222 | 0.3333 | 0.4444 | 0.8889 | 0.1111 |
| season | 0.20 | 33 | 32.200 | 11.000 | 18.000 | 20.000 | 34.000 | 3.000 | 3.0306 | 1.1633 | 0.3367 | 0.5510 | 0.6122 | 1.0408 | 0.0918 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4070 |
| predicted_ER | 0.3970 |
| predicted_ERA | 3.5763 |
| predicted_H | 0.6960 |
| predicted_HR | 0.1460 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8530 |
| predicted_WHIP | 1.1028 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4070 | 0.1899 | model_form_blend |
| predicted_ER | 0.0000 | 0.3970 | 0.1852 | model_form_blend |
| predicted_ERA | - | 3.5763 | 3.5763 | form_only |
| predicted_H | 1.0000 | 0.6960 | 0.8582 | model_form_blend |
| predicted_HR | 0.0000 | 0.1460 | 0.0681 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8530 | 0.3979 | model_form_blend |
| predicted_WHIP | - | 1.1028 | 1.1028 | 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 | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 7 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.58 |
| 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 | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260728_TOR@WAS |
| game_type | full |
| mlbID | 690925 |
| playerID | 690925 |
| playerName | Clayton Beeter |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-28 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 14.4 |
| sl_woba | 0.29 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 44.3 |
| sl_avg_best_speed | 78.49666025 |
| sl_avg_hyper_speed | 93.727433 |
| 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.353 | 0.000 | -0.353 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.382 | 1.000 | -0.382 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.794 | 3.000 | 0.206 | -2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.835 | 1.000 | -0.635 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.912 | 1.000 | 0.088 | 0.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.6667 -> 0.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: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687377",
"player_name": "Orlando Ribalta",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"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": 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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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.6667,
"after": 0.2,
"delta": -0.4667,
"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": 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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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.6667,
"after": 0.2,
"delta": -0.4667,
"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 | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| 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.100 | 3.000 | 5.000 | 2.000 | 8.000 | 1.000 | 6.2308 | 1.6154 | 0.6923 | 1.1539 | 0.4615 | 1.8461 | 0.2308 |
| last_10 | 0.35 | 10 | 8.200 | 4.000 | 12.000 | 2.000 | 13.000 | 1.000 | 4.1538 | 1.6154 | 0.4615 | 1.3846 | 0.2308 | 1.5000 | 0.1154 |
| season | 0.20 | 34 | 31.200 | 13.000 | 27.000 | 12.000 | 31.000 | 3.000 | 3.6947 | 1.2316 | 0.4105 | 0.8526 | 0.3790 | 0.9789 | 0.0947 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3070 |
| predicted_ER | 0.4550 |
| predicted_ERA | 4.8012 |
| predicted_H | 0.9270 |
| predicted_HR | 0.1350 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1000 |
| predicted_WHIP | 1.4473 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3070 | 0.1422 | model_form_blend |
| predicted_ER | 0.0000 | 0.4550 | 0.2108 | model_form_blend |
| predicted_ERA | - | 4.8012 | 4.8012 | form_only |
| predicted_H | 1.0000 | 0.9270 | 0.9662 | model_form_blend |
| predicted_HR | 0.0000 | 0.1350 | 0.0625 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1000 | 1.0463 | model_form_blend |
| predicted_WHIP | - | 1.4473 | 1.4473 | 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 | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 17 |
| 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 | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.69 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_TOR@WAS |
| game_type | full |
| mlbID | 687377 |
| playerID | 687377 |
| playerName | Orlando Ribalta |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.282 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 25.3 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 33.7 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 51.6 |
| sl_avg_best_speed | 71.969715122 |
| sl_avg_hyper_speed | 92.913041098 |
| Field | Value |
|---|---|
| Pitcher | Grant Holmes |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3537 |
| ESPN Rank | 96 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0203 |
| Avg Velo | 89.5101 |
| Avg Spin | 2467.7894 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 10 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 3.9866 |
| Season WHIP | 1.3993 |
| Role Avg IP | 4.7670 |
| Recent Avg IP | 4.9330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 118,
"wins": 68,
"losses": 50,
"win_pct": 0.5763,
"runs_scored": 556.0,
"runs_allowed": 452.0,
"run_differential": 104.0,
"run_differential_per_game": 0.8814,
"avg_runs_scored": 4.7119,
"avg_runs_allowed": 3.8305,
"offense_index": 1.0418,
"defense_index": 1.1807,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.172
},
"opponent": {
"team": "WAS",
"games": 115,
"wins": 56,
"losses": 59,
"win_pct": 0.487,
"runs_scored": 603.0,
"runs_allowed": 587.0,
"run_differential": 16.0,
"run_differential_per_game": 0.1391,
"avg_runs_scored": 5.2435,
"avg_runs_allowed": 5.1043,
"offense_index": 1.1593,
"defense_index": 0.8861,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.0,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0409
},
"edges": {
"quality_edge": 0.1311,
"offense_edge": 0.0418,
"opponent_offense_edge": 0.1593,
"defense_strength": 0.1807,
"opponent_defense_weakness": 0.1139,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0009,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656550",
"profile": {
"available": true,
"pitcher_id": "656550",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 399.0,
"k_percent": 19.7,
"bb_percent": 10.2,
"woba": 0.319,
"xwoba": 0.333,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 43.0,
"avg_best_speed": 80.9064,
"avg_hyper_speed": 94.6122,
"whiff_percent": 26.6,
"swing_percent": 48.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": -0.469,
"command_and_miss": -0.1904,
"regression_edge": -0.4,
"xwoba_edge": -0.6,
"barrel_edge": -0.4,
"hard_hit_edge": -0.7,
"whiff_edge": 0.1286,
"bb_edge": -0.325,
"pitch_design_score": -0.0203
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656550",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 89.51007105067247,
"release_spin_rate": 2467.789355018711,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 89.51007105067247,
"release_spin_rate": 2467.789355018711,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5101,
"release_spin_rate": 2467.7894,
"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.0203,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.145,
"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.3537,
"sample_weight": 1.0,
"run_prevention_factor": 1.0301,
"strikeout_factor": 0.99,
"walk_factor": 1.026,
"homer_factor": 1.078,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656550",
"espn_id": 33840,
"player_name": "Grant Holmes",
"team": "ATL",
"role": "pitcher",
"espn_rank": 96,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 96,
"gp_value": 20.0,
"gp_rank": 296,
"gs_value": 19.0,
"gs_rank": 63,
"qs_value": 5.0,
"qs_rank": 83,
"era_value": 3.791,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 97.1,
"ip_rank": 84,
"h_value": 89.0,
"h_rank": 83,
"er_value": 41.0,
"er_rank": 92,
"hr_value": 15.0,
"hr_rank": 40,
"bb_value": 43.0,
"bb_rank": 20,
"k_value": 83.0,
"k_rank": 93,
"k_per_9_value": 7.674658,
"k_per_9_rank": 29,
"whip_value": 1.3561,
"whip_rank": null,
"war_value": 1.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0301,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0301,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.026,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.078,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.99,
"adjusted": 4
}
}
}
}{
"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": 42.1,
"ER": 19,
"H": 42,
"BB": 21,
"SO": 32,
"HR": 4,
"ERA": 4.039370078740157,
"WHIP": 1.4881889763779528,
"K9": 6.803149606299212,
"HR9": 0.8503937007874015,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-24T00:00:00"
}{
"available": true,
"pitcher_id": "656550",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 89.51007105067247,
"release_spin_rate": 2467.789355018711,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 89.51007105067247,
"release_spin_rate": 2467.789355018711,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5101,
"release_spin_rate": 2467.7894,
"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.0203,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.145,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": "656550",
"report_date": "20260730_W",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 7.0,
"R": 8.0,
"H": 22.0,
"BB": 6.0,
"SO": 18.0,
"HR": 1.0,
"BF": 101.0,
"Pitches": 384.0
},
"per_game": {
"IP": 4.2,
"ER": 1.4,
"R": 1.6,
"H": 4.4,
"BB": 1.2,
"SO": 3.6,
"HR": 0.2,
"BF": 20.2,
"Pitches": 76.8
},
"rates": {
"ERA": 2.625,
"WHIP": 1.1667,
"ER_per_IP": 0.29167,
"H_per_IP": 0.91667,
"BB_per_IP": 0.25,
"SO_per_IP": 0.75,
"HR_per_IP": 0.04167
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 42.1,
"ER": 19.0,
"R": 20.0,
"H": 42.0,
"BB": 21.0,
"SO": 32.0,
"HR": 4.0,
"BF": 191.0,
"Pitches": 741.0
},
"per_game": {
"IP": 4.1,
"ER": 1.9,
"R": 2.0,
"H": 4.2,
"BB": 2.1,
"SO": 3.2,
"HR": 0.4,
"BF": 19.1,
"Pitches": 74.1
},
"rates": {
"ERA": 4.0394,
"WHIP": 1.4882,
"ER_per_IP": 0.44882,
"H_per_IP": 0.99213,
"BB_per_IP": 0.49606,
"SO_per_IP": 0.75591,
"HR_per_IP": 0.09449
}
},
"season": {
"games": 21,
"totals": {
"IP": 99.1,
"ER": 44.0,
"R": 46.0,
"H": 93.0,
"BB": 46.0,
"SO": 85.0,
"HR": 15.0,
"BF": 435.0,
"Pitches": 1649.0
},
"per_game": {
"IP": 4.2,
"ER": 2.0952,
"R": 2.1905,
"H": 4.4286,
"BB": 2.1905,
"SO": 4.0476,
"HR": 0.7143,
"BF": 20.7143,
"Pitches": 78.5238
},
"rates": {
"ERA": 3.9866,
"WHIP": 1.3993,
"ER_per_IP": 0.44295,
"H_per_IP": 0.93624,
"BB_per_IP": 0.46309,
"SO_per_IP": 0.8557,
"HR_per_IP": 0.15101
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 1.863,
"predicted_H": 4.417,
"predicted_BB": 1.736,
"predicted_SO": 3.751,
"predicted_HR": 0.442,
"predicted_ERA": 3.6159,
"predicted_WHIP": 1.327
}
}{
"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.0,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.863,
"final": 2.3533,
"source": "model_form_blend"
},
"predicted_H": {
"model": 10.0,
"form": 4.417,
"final": 6.8247,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.736,
"final": 0.9874,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 3.751,
"final": 4.7209,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.442,
"final": 0.2514,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6159,
"final": 3.6159,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.327,
"final": 1.327,
"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 | Didier Fuentes |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3146 |
| ESPN Rank | 98 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2254 |
| Avg Velo | 93.8982 |
| Avg Spin | 2188.9622 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.6000 |
| Season WHIP | 1.1778 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 118,
"wins": 68,
"losses": 50,
"win_pct": 0.5763,
"runs_scored": 556.0,
"runs_allowed": 452.0,
"run_differential": 104.0,
"run_differential_per_game": 0.8814,
"avg_runs_scored": 4.7119,
"avg_runs_allowed": 3.8305,
"offense_index": 1.0418,
"defense_index": 1.1807,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.172
},
"opponent": {
"team": "WAS",
"games": 115,
"wins": 56,
"losses": 59,
"win_pct": 0.487,
"runs_scored": 603.0,
"runs_allowed": 587.0,
"run_differential": 16.0,
"run_differential_per_game": 0.1391,
"avg_runs_scored": 5.2435,
"avg_runs_allowed": 5.1043,
"offense_index": 1.1593,
"defense_index": 0.8861,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.0,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0409
},
"edges": {
"quality_edge": 0.1311,
"offense_edge": 0.0418,
"opponent_offense_edge": 0.1593,
"defense_strength": 0.1807,
"opponent_defense_weakness": 0.1139,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0009,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "800311",
"profile": {
"available": true,
"pitcher_id": "800311",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 172.0,
"k_percent": 28.2,
"bb_percent": 7.2,
"woba": 0.269,
"xwoba": 0.281,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 35.7,
"avg_best_speed": 79.2692,
"avg_hyper_speed": 93.2707,
"whiff_percent": 27.1,
"swing_percent": 51.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.599,
"command_and_miss": 0.5311,
"regression_edge": -0.3429,
"xwoba_edge": 0.8857,
"barrel_edge": 0.4,
"hard_hit_edge": 0.3429,
"whiff_edge": 0.2,
"bb_edge": 0.425,
"pitch_design_score": 0.2254
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "800311",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 93.89820834670131,
"release_spin_rate": 2188.9621948032036,
"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": 22,
"pitch_usage": 0.0,
"release_speed": 93.89820834670131,
"release_spin_rate": 2188.9621948032036,
"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.8982,
"release_spin_rate": 2188.9622,
"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.2254,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6103,
"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.3146,
"sample_weight": 0.688,
"run_prevention_factor": 0.9733,
"strikeout_factor": 1.0285,
"walk_factor": 0.9766,
"homer_factor": 0.9503,
"woba_minus_xwoba": -0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "800311",
"espn_id": 5291189,
"player_name": "Didier Fuentes",
"team": "ATL",
"role": "pitcher",
"espn_rank": 98,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 98,
"gp_value": 37.0,
"gp_rank": 116,
"gs_value": 1.0,
"gs_rank": 274,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.6,
"era_rank": null,
"w_value": 4.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 364,
"sv_value": 1.0,
"sv_rank": 106,
"hld_value": 11.0,
"hld_rank": 44,
"ip_value": 45.0,
"ip_rank": 236,
"h_value": 38.0,
"h_rank": 248,
"er_value": 13.0,
"er_rank": 355,
"hr_value": 2.0,
"hr_rank": 449,
"bb_value": 15.0,
"bb_rank": 288,
"k_value": 55.0,
"k_rank": 170,
"k_per_9_value": 11.0,
"k_per_9_rank": 19,
"whip_value": 1.1777,
"whip_rank": null,
"war_value": 1.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9839,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9658,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0196,
"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.1,
"ER": 4,
"H": 13,
"BB": 4,
"SO": 17,
"HR": 1,
"ERA": 3.176470588235294,
"WHIP": 1.5,
"K9": 13.5,
"HR9": 0.7941176470588235,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "800311",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 93.89820834670131,
"release_spin_rate": 2188.9621948032036,
"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": 22,
"pitch_usage": 0.0,
"release_speed": 93.89820834670131,
"release_spin_rate": 2188.9621948032036,
"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.8982,
"release_spin_rate": 2188.9622,
"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.2254,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6103,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.968,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.642,
"prior_weight": 0.358
},
"role": "pitcher",
"player_id": "800311",
"report_date": "20260730_W",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 3.0,
"SO": 9.0,
"HR": 1.0,
"BF": 28.0,
"Pitches": 108.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.6,
"SO": 1.8,
"HR": 0.2,
"BF": 5.6,
"Pitches": 21.6
},
"rates": {
"ERA": 2.7,
"WHIP": 1.2,
"ER_per_IP": 0.3,
"H_per_IP": 0.75,
"BB_per_IP": 0.45,
"SO_per_IP": 1.35,
"HR_per_IP": 0.15
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 4.0,
"R": 4.0,
"H": 13.0,
"BB": 4.0,
"SO": 17.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 206.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.3,
"BB": 0.4,
"SO": 1.7,
"HR": 0.1,
"BF": 5.1,
"Pitches": 20.6
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.5,
"ER_per_IP": 0.35294,
"H_per_IP": 1.14706,
"BB_per_IP": 0.35294,
"SO_per_IP": 1.5,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 37,
"totals": {
"IP": 45.0,
"ER": 13.0,
"R": 13.0,
"H": 38.0,
"BB": 15.0,
"SO": 55.0,
"HR": 2.0,
"BF": 188.0,
"Pitches": 787.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3514,
"R": 0.3514,
"H": 1.027,
"BB": 0.4054,
"SO": 1.4865,
"HR": 0.0541,
"BF": 5.0811,
"Pitches": 21.2703
},
"rates": {
"ERA": 2.6,
"WHIP": 1.1778,
"ER_per_IP": 0.28889,
"H_per_IP": 0.84444,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.22222,
"HR_per_IP": 0.04444
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.484,
"predicted_H": 1.173,
"predicted_BB": 0.478,
"predicted_SO": 1.544,
"predicted_HR": 0.155,
"predicted_ERA": 3.4582,
"predicted_WHIP": 1.3118
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5013,
"form_weight": 0.4987,
"form_reliability": 0.642,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.968,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.642,
"prior_weight": 0.358
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.484,
"final": 0.2414,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.173,
"final": 0.585,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.478,
"final": 0.2384,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.544,
"final": 1.2713,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.155,
"final": 0.0773,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4582,
"final": 3.4582,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3118,
"final": 1.3118,
"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 | Dylan Lee |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.7905 |
| ESPN Rank | 79 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2055 |
| Avg Velo | 86.2025 |
| Avg Spin | 2138.1464 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.2192 |
| Season WHIP | 0.7397 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 118,
"wins": 68,
"losses": 50,
"win_pct": 0.5763,
"runs_scored": 556.0,
"runs_allowed": 452.0,
"run_differential": 104.0,
"run_differential_per_game": 0.8814,
"avg_runs_scored": 4.7119,
"avg_runs_allowed": 3.8305,
"offense_index": 1.0418,
"defense_index": 1.1807,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.172
},
"opponent": {
"team": "WAS",
"games": 115,
"wins": 56,
"losses": 59,
"win_pct": 0.487,
"runs_scored": 603.0,
"runs_allowed": 587.0,
"run_differential": 16.0,
"run_differential_per_game": 0.1391,
"avg_runs_scored": 5.2435,
"avg_runs_allowed": 5.1043,
"offense_index": 1.1593,
"defense_index": 0.8861,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.0,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0409
},
"edges": {
"quality_edge": 0.1311,
"offense_edge": 0.0418,
"opponent_offense_edge": 0.1593,
"defense_strength": 0.1807,
"opponent_defense_weakness": 0.1139,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0009,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669276",
"profile": {
"available": true,
"pitcher_id": "669276",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 168.0,
"k_percent": 33.7,
"bb_percent": 4.5,
"woba": 0.212,
"xwoba": 0.232,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 31.8,
"avg_best_speed": 76.3131,
"avg_hyper_speed": 92.9098,
"whiff_percent": 38.3,
"swing_percent": 54.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 1.4987,
"command_and_miss": 1.5796,
"regression_edge": -0.5714,
"xwoba_edge": 2.2857,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.9,
"whiff_edge": 1.8,
"bb_edge": 1.1,
"pitch_design_score": -0.2055
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669276",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 86.20253277203352,
"release_spin_rate": 2138.1464465901095,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 86.20253277203352,
"release_spin_rate": 2138.1464465901095,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.2025,
"release_spin_rate": 2138.1464,
"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.2055,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.468,
"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.7905,
"sample_weight": 0.672,
"run_prevention_factor": 0.9328,
"strikeout_factor": 1.092,
"walk_factor": 0.9409,
"homer_factor": 0.9106,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669276",
"espn_id": 41455,
"player_name": "Dylan Lee",
"team": "ATL",
"role": "pitcher",
"espn_rank": 79,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 79,
"gp_value": 50.0,
"gp_rank": 9,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.2191,
"era_rank": null,
"w_value": 5.0,
"w_rank": 94,
"l_value": 0.0,
"l_rank": 504,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 21.0,
"hld_rank": 2,
"ip_value": 48.2,
"ip_rank": 203,
"h_value": 28.0,
"h_rank": 349,
"er_value": 12.0,
"er_rank": 385,
"hr_value": 3.0,
"hr_rank": 369,
"bb_value": 8.0,
"bb_rank": 461,
"k_value": 60.0,
"k_rank": 150,
"k_per_9_value": 11.095891,
"k_per_9_rank": 19,
"whip_value": 0.7397,
"whip_rank": null,
"war_value": 1.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9548,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9548,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9603,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9399,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0618,
"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": 5,
"H": 7,
"BB": 3,
"SO": 14,
"HR": 2,
"ERA": 4.354838709677419,
"WHIP": 0.9677419354838709,
"K9": 12.193548387096774,
"HR9": 1.7419354838709677,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "669276",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 86.20253277203352,
"release_spin_rate": 2138.1464465901095,
"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": 19,
"pitch_usage": 0.0,
"release_speed": 86.20253277203352,
"release_spin_rate": 2138.1464465901095,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.2025,
"release_spin_rate": 2138.1464,
"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.2055,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.468,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.699,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6598,
"prior_weight": 0.3402
},
"role": "pitcher",
"player_id": "669276",
"report_date": "20260730_W",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 4.0,
"R": 5.0,
"H": 4.0,
"BB": 1.0,
"SO": 6.0,
"HR": 2.0,
"BF": 20.0,
"Pitches": 87.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 1.0,
"H": 0.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.4,
"BF": 4.0,
"Pitches": 17.4
},
"rates": {
"ERA": 7.2,
"WHIP": 1.0,
"ER_per_IP": 0.8,
"H_per_IP": 0.8,
"BB_per_IP": 0.2,
"SO_per_IP": 1.2,
"HR_per_IP": 0.4
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 6.0,
"H": 7.0,
"BB": 3.0,
"SO": 14.0,
"HR": 2.0,
"BF": 40.0,
"Pitches": 168.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.6,
"H": 0.7,
"BB": 0.3,
"SO": 1.4,
"HR": 0.2,
"BF": 4.0,
"Pitches": 16.8
},
"rates": {
"ERA": 4.3548,
"WHIP": 0.9677,
"ER_per_IP": 0.48387,
"H_per_IP": 0.67742,
"BB_per_IP": 0.29032,
"SO_per_IP": 1.35484,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 50,
"totals": {
"IP": 48.2,
"ER": 12.0,
"R": 14.0,
"H": 28.0,
"BB": 8.0,
"SO": 60.0,
"HR": 3.0,
"BF": 181.0,
"Pitches": 731.0
},
"per_game": {
"IP": 1.0,
"ER": 0.24,
"R": 0.28,
"H": 0.56,
"BB": 0.16,
"SO": 1.2,
"HR": 0.06,
"BF": 3.62,
"Pitches": 14.62
},
"rates": {
"ERA": 2.2192,
"WHIP": 0.7397,
"ER_per_IP": 0.24658,
"H_per_IP": 0.57534,
"BB_per_IP": 0.16438,
"SO_per_IP": 1.23288,
"HR_per_IP": 0.06164
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.554,
"predicted_H": 0.802,
"predicted_BB": 0.269,
"predicted_SO": 1.158,
"predicted_HR": 0.223,
"predicted_ERA": 4.9857,
"predicted_WHIP": 1.0711
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4937,
"form_weight": 0.5063,
"form_reliability": 0.6598,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.699,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6598,
"prior_weight": 0.3402
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.554,
"final": 0.2805,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.802,
"final": 0.406,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.269,
"final": 0.1362,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.158,
"final": 1.5737,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.223,
"final": 0.1129,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.9857,
"final": 4.9857,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0711,
"final": 1.0711,
"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 | Raisel Iglesias |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3675 |
| ESPN Rank | 143 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1171 |
| Avg Velo | 91.9644 |
| Avg Spin | 2202.9773 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.3684 |
| Season WHIP | 1.0526 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 118,
"wins": 68,
"losses": 50,
"win_pct": 0.5763,
"runs_scored": 556.0,
"runs_allowed": 452.0,
"run_differential": 104.0,
"run_differential_per_game": 0.8814,
"avg_runs_scored": 4.7119,
"avg_runs_allowed": 3.8305,
"offense_index": 1.0418,
"defense_index": 1.1807,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.172
},
"opponent": {
"team": "WAS",
"games": 115,
"wins": 56,
"losses": 59,
"win_pct": 0.487,
"runs_scored": 603.0,
"runs_allowed": 587.0,
"run_differential": 16.0,
"run_differential_per_game": 0.1391,
"avg_runs_scored": 5.2435,
"avg_runs_allowed": 5.1043,
"offense_index": 1.1593,
"defense_index": 0.8861,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.0,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0409
},
"edges": {
"quality_edge": 0.1311,
"offense_edge": 0.0418,
"opponent_offense_edge": 0.1593,
"defense_strength": 0.1807,
"opponent_defense_weakness": 0.1139,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0009,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "628452",
"profile": {
"available": true,
"pitcher_id": "628452",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 141.0,
"k_percent": 29.3,
"bb_percent": 5.4,
"woba": 0.275,
"xwoba": 0.269,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 35.4,
"avg_best_speed": 76.9335,
"avg_hyper_speed": 93.254,
"whiff_percent": 31.0,
"swing_percent": 55.2
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.7045,
"command_and_miss": 0.8868,
"regression_edge": 0.1714,
"xwoba_edge": 1.2286,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.3857,
"whiff_edge": 0.7571,
"bb_edge": 0.875,
"pitch_design_score": 0.1171
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "628452",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 91.96437416016093,
"release_spin_rate": 2202.9772740416006,
"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": 11,
"pitch_usage": 0.0,
"release_speed": 91.96437416016093,
"release_spin_rate": 2202.9772740416006,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.9644,
"release_spin_rate": 2202.9773,
"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.1171,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8368,
"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.3675,
"sample_weight": 0.564,
"run_prevention_factor": 0.9688,
"strikeout_factor": 1.0395,
"walk_factor": 0.9605,
"homer_factor": 0.9835,
"woba_minus_xwoba": 0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "628452",
"espn_id": 33618,
"player_name": "Raisel Iglesias",
"team": "ATL",
"role": "pitcher",
"espn_rank": 143,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 143,
"gp_value": 37.0,
"gp_rank": 116,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 2.3684,
"era_rank": null,
"w_value": 0.0,
"w_rank": 460,
"l_value": 2.0,
"l_rank": 255,
"sv_value": 22.0,
"sv_rank": 9,
"hld_value": 0.0,
"hld_rank": 302,
"ip_value": 38.0,
"ip_rank": 307,
"h_value": 32.0,
"h_rank": 309,
"er_value": 10.0,
"er_rank": 446,
"hr_value": 4.0,
"hr_rank": 297,
"bb_value": 8.0,
"bb_rank": 461,
"k_value": 43.0,
"k_rank": 252,
"k_per_9_value": 10.18421,
"k_per_9_rank": 22,
"whip_value": 1.0526,
"whip_rank": null,
"war_value": 0.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9777,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9907,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0223,
"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": 6,
"H": 10,
"BB": 2,
"SO": 12,
"HR": 3,
"ERA": 5.586206896551724,
"WHIP": 1.2413793103448276,
"K9": 11.172413793103448,
"HR9": 2.793103448275862,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "628452",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 91.96437416016093,
"release_spin_rate": 2202.9772740416006,
"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": 11,
"pitch_usage": 0.0,
"release_speed": 91.96437416016093,
"release_spin_rate": 2202.9772740416006,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.9644,
"release_spin_rate": 2202.9773,
"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.1171,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8368,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.573,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6023,
"prior_weight": 0.3977
},
"role": "pitcher",
"player_id": "628452",
"report_date": "20260730_W",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 3.0,
"H": 4.0,
"BB": 1.0,
"SO": 6.0,
"HR": 2.0,
"BF": 20.0,
"Pitches": 63.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.4,
"BF": 4.0,
"Pitches": 12.6
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.0714,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 6.0,
"R": 7.0,
"H": 10.0,
"BB": 2.0,
"SO": 12.0,
"HR": 3.0,
"BF": 42.0,
"Pitches": 148.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.7,
"H": 1.0,
"BB": 0.2,
"SO": 1.2,
"HR": 0.3,
"BF": 4.2,
"Pitches": 14.8
},
"rates": {
"ERA": 5.5862,
"WHIP": 1.2414,
"ER_per_IP": 0.62069,
"H_per_IP": 1.03448,
"BB_per_IP": 0.2069,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.31034
}
},
"season": {
"games": 37,
"totals": {
"IP": 38.0,
"ER": 10.0,
"R": 13.0,
"H": 32.0,
"BB": 8.0,
"SO": 43.0,
"HR": 4.0,
"BF": 150.0,
"Pitches": 562.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2703,
"R": 0.3514,
"H": 0.8649,
"BB": 0.2162,
"SO": 1.1622,
"HR": 0.1081,
"BF": 4.0541,
"Pitches": 15.1892
},
"rates": {
"ERA": 2.3684,
"WHIP": 1.0526,
"ER_per_IP": 0.26316,
"H_per_IP": 0.84211,
"BB_per_IP": 0.21053,
"SO_per_IP": 1.13158,
"HR_per_IP": 0.10526
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.48,
"predicted_H": 0.94,
"predicted_BB": 0.269,
"predicted_SO": 1.128,
"predicted_HR": 0.255,
"predicted_ERA": 4.3197,
"predicted_WHIP": 1.2086
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.518,
"form_weight": 0.482,
"form_reliability": 0.6023,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.573,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6023,
"prior_weight": 0.3977
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.48,
"final": 0.2313,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.94,
"final": 0.9711,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.269,
"final": 0.6477,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.128,
"final": 0.5437,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.255,
"final": 0.1229,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3197,
"final": 4.3197,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2086,
"final": 1.2086,
"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 | Tyler Kinley |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2847 |
| ESPN Rank | 276 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1234 |
| Avg Velo | 87.6690 |
| Avg Spin | 2566.2911 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 4.2261 |
| Season WHIP | 1.2522 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 118,
"wins": 68,
"losses": 50,
"win_pct": 0.5763,
"runs_scored": 556.0,
"runs_allowed": 452.0,
"run_differential": 104.0,
"run_differential_per_game": 0.8814,
"avg_runs_scored": 4.7119,
"avg_runs_allowed": 3.8305,
"offense_index": 1.0418,
"defense_index": 1.1807,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.172
},
"opponent": {
"team": "WAS",
"games": 115,
"wins": 56,
"losses": 59,
"win_pct": 0.487,
"runs_scored": 603.0,
"runs_allowed": 587.0,
"run_differential": 16.0,
"run_differential_per_game": 0.1391,
"avg_runs_scored": 5.2435,
"avg_runs_allowed": 5.1043,
"offense_index": 1.1593,
"defense_index": 0.8861,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.0,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0409
},
"edges": {
"quality_edge": 0.1311,
"offense_edge": 0.0418,
"opponent_offense_edge": 0.1593,
"defense_strength": 0.1807,
"opponent_defense_weakness": 0.1139,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0009,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641755",
"profile": {
"available": true,
"pitcher_id": "641755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 146.0,
"k_percent": 24.5,
"bb_percent": 10.3,
"woba": 0.329,
"xwoba": 0.279,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 27.0,
"avg_best_speed": 73.6186,
"avg_hyper_speed": 92.5842,
"whiff_percent": 27.9,
"swing_percent": 43.4
},
"league_medians": {
"pa": 111.0,
"k_percent": 22.35,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.5342,
"avg_hyper_speed": 93.8953,
"whiff_percent": 25.7,
"swing_percent": 47.7
},
"components": {
"contact_quality": 0.5502,
"command_and_miss": 0.1782,
"regression_edge": 1.4286,
"xwoba_edge": 0.9429,
"barrel_edge": 0.0,
"hard_hit_edge": 1.5857,
"whiff_edge": 0.3143,
"bb_edge": -0.35,
"pitch_design_score": -0.1234
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641755",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 87.6690103536897,
"release_spin_rate": 2566.2911299602347,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 87.6690103536897,
"release_spin_rate": 2566.2911299602347,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.669,
"release_spin_rate": 2566.2911,
"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.1234,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8814,
"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.2847,
"sample_weight": 0.584,
"run_prevention_factor": 0.9758,
"strikeout_factor": 1.0145,
"walk_factor": 1.0164,
"homer_factor": 0.9464,
"woba_minus_xwoba": 0.05,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "641755",
"espn_id": 34166,
"player_name": "Tyler Kinley",
"team": "ATL",
"role": "pitcher",
"espn_rank": 276,
"espn_total_ranked": 774,
"metrics": {
"espn_rank": 276,
"gp_value": 44.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 324,
"qs_value": 0.0,
"qs_rank": 192,
"era_value": 4.226,
"era_rank": null,
"w_value": 6.0,
"w_rank": 62,
"l_value": 4.0,
"l_rank": 128,
"sv_value": 0.0,
"sv_rank": 216,
"hld_value": 11.0,
"hld_rank": 44,
"ip_value": 38.1,
"ip_rank": 304,
"h_value": 32.0,
"h_rank": 309,
"er_value": 18.0,
"er_rank": 268,
"hr_value": 8.0,
"hr_rank": 157,
"bb_value": 16.0,
"bb_rank": 272,
"k_value": 38.0,
"k_rank": 293,
"k_per_9_value": 8.92174,
"k_per_9_rank": 26,
"whip_value": 1.2521,
"whip_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0096,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9687,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0085,
"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.2,
"ER": 5,
"H": 5,
"BB": 5,
"SO": 6,
"HR": 2,
"ERA": 5.869565217391304,
"WHIP": 1.3043478260869565,
"K9": 7.0434782608695645,
"HR9": 2.3478260869565215,
"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-07-29T00:00:00"
}{
"available": true,
"pitcher_id": "641755",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 87.6690103536897,
"release_spin_rate": 2566.2911299602347,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 87.6690103536897,
"release_spin_rate": 2566.2911299602347,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.669,
"release_spin_rate": 2566.2911,
"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.1234,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8814,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.639,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6044,
"prior_weight": 0.3956
},
"role": "pitcher",
"player_id": "641755",
"report_date": "20260730_W",
"season_year": 2026,
"rows_used": 44,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 3.0,
"HR": 1.0,
"BF": 17.0,
"Pitches": 65.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 0.6,
"HR": 0.2,
"BF": 3.4,
"Pitches": 13.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1538,
"ER_per_IP": 0.46154,
"H_per_IP": 0.69231,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.2,
"ER": 5.0,
"R": 5.0,
"H": 5.0,
"BB": 5.0,
"SO": 6.0,
"HR": 2.0,
"BF": 30.0,
"Pitches": 126.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5,
"R": 0.5,
"H": 0.5,
"BB": 0.5,
"SO": 0.6,
"HR": 0.2,
"BF": 3.0,
"Pitches": 12.6
},
"rates": {
"ERA": 5.8696,
"WHIP": 1.3043,
"ER_per_IP": 0.65217,
"H_per_IP": 0.65217,
"BB_per_IP": 0.65217,
"SO_per_IP": 0.78261,
"HR_per_IP": 0.26087
}
},
"season": {
"games": 44,
"totals": {
"IP": 38.1,
"ER": 18.0,
"R": 19.0,
"H": 32.0,
"BB": 16.0,
"SO": 38.0,
"HR": 8.0,
"BF": 158.0,
"Pitches": 626.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4091,
"R": 0.4318,
"H": 0.7273,
"BB": 0.3636,
"SO": 0.8636,
"HR": 0.1818,
"BF": 3.5909,
"Pitches": 14.2273
},
"rates": {
"ERA": 4.2261,
"WHIP": 1.2522,
"ER_per_IP": 0.46957,
"H_per_IP": 0.83478,
"BB_per_IP": 0.41739,
"SO_per_IP": 0.9913,
"HR_per_IP": 0.2087
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.415,
"predicted_H": 0.649,
"predicted_BB": 0.363,
"predicted_SO": 0.68,
"predicted_HR": 0.162,
"predicted_ERA": 4.6841,
"predicted_WHIP": 1.268
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5171,
"form_weight": 0.4829,
"form_reliability": 0.6044,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.639,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6044,
"prior_weight": 0.3956
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.415,
"final": 0.2004,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.649,
"final": 0.3134,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.363,
"final": 0.1753,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.68,
"final": 1.3626,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.162,
"final": 0.0782,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6841,
"final": 4.6841,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.268,
"final": 1.268,
"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.179 | 0.000 | 0.000 | Hitting_2B | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.540 | 4.000 | 5.000 | Hitting_AB | 3.758 | 4.000 | 0.242 | 0.000 |
| predicted_AVG | 0.197 | 0.250 | 0.200 | Hitting_AVG | 0.249 | 0.000 | 0.001 | 0.250 |
| predicted_BB | 0.643 | 0.000 | 1.000 | Hitting_BB | 0.708 | 0.000 | -0.708 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_H | 0.900 | 1.000 | 1.000 | Hitting_H | 0.936 | 0.000 | 0.064 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_OBP | 0.305 | 0.250 | 0.333 | Hitting_OBP | 0.373 | 0.000 | -0.123 | 0.250 |
| predicted_R | 0.571 | 0.000 | 1.000 | Hitting_R | 0.589 | 0.000 | -0.589 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.445 | 0.000 | -0.445 | 0.000 |
| predicted_SLG | 0.354 | 0.250 | 0.200 | Hitting_SLG | 0.428 | 0.000 | -0.178 | 0.250 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 0.996 | 1.000 | 0.004 | 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_H: 0.9000 -> 1.0000 (boost 0.1000, better) |
| Biggest Deboost | predicted_BB: 0.6430 -> 0.0000 (deboost -0.6430, 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 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 1.0569 (boost 0.0569, worse) | predicted_AB: 4.5400 -> 4.1584 (deboost -0.3816, 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.3047 -> 0.2987 (deboost -0.0060, 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 | 4 | 4 | predicted_AB: 4.1584 -> 5.0000 (boost 0.8416, better) | predicted_RBI: 0.3090 -> 0.0000 (deboost -0.3090, worse) | AB rounded to 5 (raw=4.54), rates preserved: AVG=0.186 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5471 -> 1.0000 (boost 0.4529, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2987 -> 0.3330 (boost 0.0343, better) | predicted_SLG: 0.3330 -> 0.2000 (deboost -0.1330, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2000 -> 0.3330 (boost 0.1330, better) | predicted_OBP: 0.3330 -> 0.2987 (deboost -0.0343, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660670",
"player_name": "Ronald Acuña Jr.",
"position": "RF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.018,
"predicted_AB": 4.54,
"predicted_AVG": 0.197,
"predicted_BB": 0.643,
"predicted_H": 0.9,
"predicted_HR": 0.14,
"predicted_OBP": 0.305,
"predicted_R": 0.571,
"predicted_RBI": 0.32,
"predicted_SLG": 0.354,
"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": "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.1589,
"predicted_3B": 0.0151,
"predicted_AB": 4.1584,
"predicted_AVG": 0.1991,
"predicted_BB": 0.566,
"predicted_H": 0.8301,
"predicted_HBP": 0.097,
"predicted_HR": 0.1149,
"predicted_OBP": 0.3047,
"predicted_R": 0.5333,
"predicted_RBI": 0.3012,
"predicted_SLG": 0.3356,
"predicted_SO": 1.0569
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1589,
"delta": -0.0201,
"percent_delta": -0.1123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0151,
"delta": -0.0029,
"percent_delta": -0.1611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.54,
"after": 4.1584,
"delta": -0.3816,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.1991,
"delta": 0.0021,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.643,
"after": 0.566,
"delta": -0.077,
"percent_delta": -0.1198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.8301,
"delta": -0.0699,
"percent_delta": -0.0777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1149,
"delta": -0.0251,
"percent_delta": -0.1793,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3047,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 0.5333,
"delta": -0.0377,
"percent_delta": -0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3012,
"delta": -0.0188,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3356,
"delta": -0.0184,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0569,
"delta": 0.0569,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0569,
"delta": 0.0569,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.54,
"after": 4.1584,
"delta": -0.3816,
"percent_delta": -0.0841,
"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": 56
}
},
{
"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.1589,
"predicted_3B": 0.0151,
"predicted_AB": 4.1584,
"predicted_AVG": 0.2027,
"predicted_BB": 0.5692,
"predicted_H": 0.843,
"predicted_HBP": 0.097,
"predicted_HR": 0.1175,
"predicted_OBP": 0.2987,
"predicted_R": 0.5471,
"predicted_RBI": 0.309,
"predicted_SLG": 0.333,
"predicted_SO": 1.051
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1589,
"after": 0.1589,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0151,
"after": 0.0151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1584,
"after": 4.1584,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1991,
"after": 0.2027,
"delta": 0.0036,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 0.5692,
"delta": 0.0032,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8301,
"after": 0.843,
"delta": 0.0129,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.097,
"after": 0.097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1149,
"after": 0.1175,
"delta": 0.0026,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3047,
"after": 0.2987,
"delta": -0.006,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5333,
"after": 0.5471,
"delta": 0.0138,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3012,
"after": 0.309,
"delta": 0.0078,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3356,
"after": 0.333,
"delta": -0.0026,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0569,
"after": 1.051,
"delta": -0.0059,
"percent_delta": -0.0056,
"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.3047,
"after": 0.2987,
"delta": -0.006,
"percent_delta": -0.0197,
"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.186 HR/AB=0.026",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1589,
"after": 0.0,
"delta": -0.1589,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0151,
"after": 0.0,
"delta": -0.0151,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1584,
"after": 5.0,
"delta": 0.8416,
"percent_delta": 0.2024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5692,
"after": 1.0,
"delta": 0.4308,
"percent_delta": 0.7569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.843,
"after": 1.0,
"delta": 0.157,
"percent_delta": 0.1862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.097,
"after": 0.0,
"delta": -0.097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1175,
"after": 0.0,
"delta": -0.1175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 1.0,
"delta": -0.051,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.1584,
"after": 5.0,
"delta": 0.8416,
"percent_delta": 0.2024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"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": 1.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": 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.5471,
"after": 1.0,
"delta": 0.4529,
"percent_delta": 0.8278,
"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.5471,
"after": 1.0,
"delta": 0.4529,
"percent_delta": 0.8278,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.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.2027,
"after": 0.2,
"delta": -0.0027,
"percent_delta": -0.0133,
"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_OBP",
"before": 0.2987,
"after": 0.333,
"delta": 0.0343,
"percent_delta": 0.1148,
"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_SLG",
"before": 0.333,
"after": 0.2,
"delta": -0.133,
"percent_delta": -0.3994,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2987,
"after": 0.333,
"delta": 0.0343,
"percent_delta": 0.1148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2,
"delta": -0.133,
"percent_delta": -0.3994,
"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": 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": 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": 0.0,
"delta": -1.0,
"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_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": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2027,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2987,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 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": 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.2027,
"delta": 0.0027,
"percent_delta": 0.0136,
"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_OBP",
"before": 0.333,
"after": 0.2987,
"delta": -0.0343,
"percent_delta": -0.103,
"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.2,
"after": 0.333,
"delta": 0.133,
"percent_delta": 0.6649,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.333,
"delta": 0.133,
"percent_delta": 0.6649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2987,
"delta": -0.0343,
"percent_delta": -0.103,
"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.179,
"after": 0.0,
"delta": -0.179,
"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": 4.54,
"after": 4.0,
"delta": -0.54,
"percent_delta": -0.1189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2027,
"delta": 0.0057,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.643,
"after": 0.0,
"delta": -0.643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.0,
"delta": 0.1,
"percent_delta": 0.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2987,
"delta": -0.0063,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 0.0,
"delta": -0.571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.333,
"delta": -0.021,
"percent_delta": -0.0593,
"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": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9,
"after": 1.0,
"delta": 0.1,
"percent_delta": 0.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.643,
"after": 0.0,
"delta": -0.643,
"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.179 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 4.540 | - |
| predicted_AVG | 0.197 | - |
| predicted_BB | 0.643 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.571 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 1.000 | - |
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.159 | -0.020 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 4.158 | -0.382 |
| predicted_AVG | 0.199 | 0.002 |
| predicted_BB | 0.566 | -0.077 |
| predicted_H | 0.830 | -0.070 |
| predicted_HBP | 0.097 | - |
| predicted_HR | 0.115 | -0.025 |
| predicted_OBP | 0.305 | -0.000 |
| predicted_R | 0.533 | -0.038 |
| predicted_RBI | 0.301 | -0.019 |
| predicted_SLG | 0.336 | -0.018 |
| predicted_SO | 1.057 | 0.057 |
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.159 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 4.158 | 0.000 |
| predicted_AVG | 0.203 | 0.004 |
| predicted_BB | 0.569 | 0.003 |
| predicted_H | 0.843 | 0.013 |
| predicted_HBP | 0.097 | 0.000 |
| predicted_HR | 0.117 | 0.003 |
| predicted_OBP | 0.299 | -0.006 |
| predicted_R | 0.547 | 0.014 |
| predicted_RBI | 0.309 | 0.008 |
| predicted_SLG | 0.333 | -0.003 |
| predicted_SO | 1.051 | -0.006 |
AB rounded to 5 (raw=4.54), rates preserved: AVG=0.186 HR/AB=0.026
| 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 | 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 | 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 | 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.159 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 5.000 | 0.842 |
| predicted_AVG | 0.200 | -0.003 |
| predicted_BB | 1.000 | 0.431 |
| predicted_H | 1.000 | 0.157 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.333 | 0.034 |
| predicted_R | 1.000 | 0.453 |
| predicted_RBI | 0.000 | -0.309 |
| predicted_SLG | 0.200 | -0.133 |
| predicted_SO | 1.000 | -0.051 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.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 | - | 17.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 8.000 | 0.0588 | 0.1579 | 0.0588 | 0.0588 | 0.0000 | 0.0000 | 0.0588 | 0.4706 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 1.000 | 0.000 | 0.000 | 1.000 | 5.000 | 3.000 | 12.000 | 0.1944 | 0.2750 | 0.2222 | 0.1944 | 0.0000 | 0.0278 | 0.0833 | 0.3333 |
| season | 0.60 | 56 | - | 206.000 | 50.000 | 10.000 | 1.000 | 7.000 | 22.000 | 32.000 | 36.000 | 56.000 | 0.2427 | 0.3629 | 0.4029 | 0.2427 | 0.0340 | 0.1068 | 0.1748 | 0.2718 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1310 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.6280 |
| predicted_AVG | 0.2019 |
| predicted_BB | 0.4590 |
| predicted_H | 0.7330 |
| predicted_HBP | 0.0970 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.3044 |
| predicted_R | 0.4810 |
| predicted_RBI | 0.2750 |
| predicted_SLG | 0.3100 |
| predicted_SO | 1.1360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.1310 | 0.1589 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0151 | model_form_blend |
| predicted_AB | 4.5400 | 3.6280 | 4.1584 | model_form_blend |
| predicted_AVG | 0.1970 | 0.2019 | 0.1991 | model_form_blend |
| predicted_BB | 0.6430 | 0.4590 | 0.5660 | model_form_blend |
| predicted_H | 0.9000 | 0.7330 | 0.8301 | model_form_blend |
| predicted_HBP | - | 0.0970 | 0.0970 | form_only |
| predicted_HR | 0.1400 | 0.0800 | 0.1149 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3044 | 0.3047 | model_form_blend |
| predicted_R | 0.5710 | 0.4810 | 0.5333 | model_form_blend |
| predicted_RBI | 0.3200 | 0.2750 | 0.3012 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3100 | 0.3356 | model_form_blend |
| predicted_SO | 1.0000 | 1.1360 | 1.0569 | 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 | 236 |
| Season rows before report date | 236 |
| Report year | 2026 |
| Profile rows used | 56 |
| 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.243 |
| 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 | DH |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 660670 |
| playerID | 660670 |
| playerName | Ronald Acuña Jr. |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 14.6 |
| sl_woba | 0.348 |
| sl_xwoba | 0.376 |
| sl_xba | 0.254 |
| sl_xslg | 0.487 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 12.9 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 17.4 |
| sl_whiff_percent | 29.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.082 | 0.000 | 0.000 | Hitting_2B | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.870 | 4.000 | 5.000 | Hitting_AB | 3.880 | 4.000 | 0.120 | 0.000 |
| predicted_AVG | 0.296 | 0.250 | 0.200 | Hitting_AVG | 0.284 | 0.500 | -0.034 | -0.250 |
| predicted_BB | 0.482 | 0.000 | 1.000 | Hitting_BB | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.440 | 1.000 | 1.000 | Hitting_H | 1.103 | 2.000 | -0.103 | -1.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.246 | 0.000 | -0.246 | 0.000 |
| predicted_OBP | 0.396 | 0.250 | 0.333 | Hitting_OBP | 0.378 | 0.500 | -0.128 | -0.250 |
| predicted_R | 0.694 | 1.000 | 1.000 | Hitting_R | 0.757 | 0.000 | 0.243 | 1.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.726 | 0.000 | -0.726 | 0.000 |
| predicted_SLG | 0.487 | 0.250 | 0.200 | Hitting_SLG | 0.495 | 0.500 | -0.245 | -0.250 |
| predicted_SO | 0.906 | 1.000 | 1.000 | Hitting_SO | 0.891 | 1.000 | 0.109 | 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_R: 0.6940 -> 1.0000 (boost 0.3060, better) |
| Biggest Deboost | predicted_AB: 4.8700 -> 4.0000 (deboost -0.8700, 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.2960 -> 0.3041 (boost 0.0081, better) | predicted_AB: 4.8700 -> 4.4121 (deboost -0.4579, 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.4005 -> 0.3797 (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.4121 -> 5.0000 (boost 0.5879, better) | predicted_RBI: 0.4677 -> 0.0000 (deboost -0.4677, worse) | AB rounded to 5 (raw=4.87), rates preserved: AVG=0.279 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6495 -> 1.0000 (boost 0.3505, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4660 -> 0.2000 (deboost -0.2660, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | 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.4660 (boost 0.2660, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686948",
"player_name": "Drake Baldwin",
"position": "C",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.082,
"predicted_3B": 0.0,
"predicted_AB": 4.87,
"predicted_AVG": 0.296,
"predicted_BB": 0.482,
"predicted_H": 1.44,
"predicted_HR": 0.21,
"predicted_OBP": 0.396,
"predicted_R": 0.694,
"predicted_RBI": 0.47,
"predicted_SLG": 0.487,
"predicted_SO": 0.906
},
"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.0961,
"predicted_3B": 0.0004,
"predicted_AB": 4.4121,
"predicted_AVG": 0.3041,
"predicted_BB": 0.5107,
"predicted_H": 1.3359,
"predicted_HBP": 0.048,
"predicted_HR": 0.1963,
"predicted_OBP": 0.4005,
"predicted_R": 0.6332,
"predicted_RBI": 0.4559,
"predicted_SLG": 0.4865,
"predicted_SO": 0.8953
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.082,
"after": 0.0961,
"delta": 0.0141,
"percent_delta": 0.172,
"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.87,
"after": 4.4121,
"delta": -0.4579,
"percent_delta": -0.094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.3041,
"delta": 0.0081,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.482,
"after": 0.5107,
"delta": 0.0287,
"percent_delta": 0.0595,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.44,
"after": 1.3359,
"delta": -0.1041,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.1963,
"delta": -0.0137,
"percent_delta": -0.0652,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.396,
"after": 0.4005,
"delta": 0.0045,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.694,
"after": 0.6332,
"delta": -0.0608,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4559,
"delta": -0.0141,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.4865,
"delta": -0.0005,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 0.8953,
"delta": -0.0107,
"percent_delta": -0.0118,
"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.296,
"after": 0.3041,
"delta": 0.0081,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.87,
"after": 4.4121,
"delta": -0.4579,
"percent_delta": -0.094,
"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.0961,
"predicted_3B": 0.0004,
"predicted_AB": 4.4121,
"predicted_AVG": 0.3075,
"predicted_BB": 0.5136,
"predicted_H": 1.3566,
"predicted_HBP": 0.048,
"predicted_HR": 0.2008,
"predicted_OBP": 0.3797,
"predicted_R": 0.6495,
"predicted_RBI": 0.4677,
"predicted_SLG": 0.466,
"predicted_SO": 0.8903
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0961,
"after": 0.0961,
"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.4121,
"after": 4.4121,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3041,
"after": 0.3075,
"delta": 0.0034,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5107,
"after": 0.5136,
"delta": 0.0029,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3359,
"after": 1.3566,
"delta": 0.0207,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.048,
"after": 0.048,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1963,
"after": 0.2008,
"delta": 0.0045,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4005,
"after": 0.3797,
"delta": -0.0208,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6332,
"after": 0.6495,
"delta": 0.0163,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4559,
"after": 0.4677,
"delta": 0.0118,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4865,
"after": 0.466,
"delta": -0.0205,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8953,
"after": 0.8903,
"delta": -0.005,
"percent_delta": -0.0056,
"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.4005,
"after": 0.3797,
"delta": -0.0208,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.87), rates preserved: AVG=0.279 HR/AB=0.041",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0961,
"after": 0.0,
"delta": -0.0961,
"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.4121,
"after": 5.0,
"delta": 0.5879,
"percent_delta": 0.1332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5136,
"after": 1.0,
"delta": 0.4864,
"percent_delta": 0.947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3566,
"after": 1.0,
"delta": -0.3566,
"percent_delta": -0.2629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2008,
"after": 0.0,
"delta": -0.2008,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4677,
"after": 0.0,
"delta": -0.4677,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8903,
"after": 1.0,
"delta": 0.1097,
"percent_delta": 0.1232,
"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.4121,
"after": 5.0,
"delta": 0.5879,
"percent_delta": 0.1332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4677,
"after": 0.0,
"delta": -0.4677,
"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": 1.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": 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.6495,
"after": 1.0,
"delta": 0.3505,
"percent_delta": 0.5396,
"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.6495,
"after": 1.0,
"delta": 0.3505,
"percent_delta": 0.5396,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.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.3075,
"after": 0.2,
"delta": -0.1075,
"percent_delta": -0.3496,
"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.3797,
"after": 0.333,
"delta": -0.0467,
"percent_delta": -0.123,
"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.466,
"after": 0.2,
"delta": -0.266,
"percent_delta": -0.5708,
"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.466,
"after": 0.2,
"delta": -0.266,
"percent_delta": -0.5708,
"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": 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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"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": 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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3075,
"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.3797,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.466,
"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.3075,
"delta": 0.1075,
"percent_delta": 0.5374,
"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.333,
"after": 0.3797,
"delta": 0.0467,
"percent_delta": 0.1402,
"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.466,
"delta": 0.266,
"percent_delta": 1.3299,
"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.466,
"delta": 0.266,
"percent_delta": 1.3299,
"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.082,
"after": 0.0,
"delta": -0.082,
"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.87,
"after": 4.0,
"delta": -0.87,
"percent_delta": -0.1786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.3075,
"delta": 0.0115,
"percent_delta": 0.0389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.482,
"after": 0.0,
"delta": -0.482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.44,
"after": 1.0,
"delta": -0.44,
"percent_delta": -0.3056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.396,
"after": 0.3797,
"delta": -0.0163,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.694,
"after": 1.0,
"delta": 0.306,
"percent_delta": 0.4409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.466,
"delta": -0.021,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 1.0,
"delta": 0.094,
"percent_delta": 0.1038,
"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_R",
"before": 0.694,
"after": 1.0,
"delta": 0.306,
"percent_delta": 0.4409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.87,
"after": 4.0,
"delta": -0.87,
"percent_delta": -0.1786,
"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.082 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.870 | - |
| predicted_AVG | 0.296 | - |
| predicted_BB | 0.482 | - |
| predicted_H | 1.440 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.396 | - |
| predicted_R | 0.694 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.487 | - |
| predicted_SO | 0.906 | - |
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.096 | 0.014 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.412 | -0.458 |
| predicted_AVG | 0.304 | 0.008 |
| predicted_BB | 0.511 | 0.029 |
| predicted_H | 1.336 | -0.104 |
| predicted_HBP | 0.048 | - |
| predicted_HR | 0.196 | -0.014 |
| predicted_OBP | 0.401 | 0.005 |
| predicted_R | 0.633 | -0.061 |
| predicted_RBI | 0.456 | -0.014 |
| predicted_SLG | 0.486 | -0.001 |
| predicted_SO | 0.895 | -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.096 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.412 | 0.000 |
| predicted_AVG | 0.307 | 0.003 |
| predicted_BB | 0.514 | 0.003 |
| predicted_H | 1.357 | 0.021 |
| predicted_HBP | 0.048 | 0.000 |
| predicted_HR | 0.201 | 0.005 |
| predicted_OBP | 0.380 | -0.021 |
| predicted_R | 0.649 | 0.016 |
| predicted_RBI | 0.468 | 0.012 |
| predicted_SLG | 0.466 | -0.020 |
| predicted_SO | 0.890 | -0.005 |
AB rounded to 5 (raw=4.87), rates preserved: AVG=0.279 HR/AB=0.041
| 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 | 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 | 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 | 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.096 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.588 |
| predicted_AVG | 0.200 | -0.107 |
| predicted_BB | 1.000 | 0.486 |
| predicted_H | 1.000 | -0.357 |
| predicted_HR | 0.000 | -0.201 |
| predicted_OBP | 0.333 | -0.047 |
| predicted_R | 1.000 | 0.351 |
| predicted_RBI | 0.000 | -0.468 |
| predicted_SLG | 0.200 | -0.266 |
| predicted_SO | 1.000 | 0.110 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.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 | - | 19.000 | 8.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 0.4211 | 0.5000 | 0.4737 | 0.4210 | 0.0000 | 0.0000 | 0.1579 | 0.2105 |
| last_10 | 0.20 | 10 | - | 37.000 | 12.000 | 1.000 | 0.000 | 2.000 | 2.000 | 5.000 | 8.000 | 9.000 | 0.3243 | 0.4444 | 0.5135 | 0.3243 | 0.0541 | 0.0541 | 0.2162 | 0.2432 |
| season | 0.60 | 85 | - | 326.000 | 93.000 | 7.000 | 0.000 | 20.000 | 56.000 | 59.000 | 41.000 | 77.000 | 0.2853 | 0.3760 | 0.4908 | 0.2853 | 0.0614 | 0.1718 | 0.1258 | 0.2362 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8010 |
| predicted_AVG | 0.3149 |
| predicted_BB | 0.5490 |
| predicted_H | 1.1970 |
| predicted_HBP | 0.0480 |
| predicted_HR | 0.1780 |
| predicted_OBP | 0.4064 |
| predicted_R | 0.5520 |
| predicted_RBI | 0.4370 |
| predicted_SLG | 0.4858 |
| predicted_SO | 0.8810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0820 | 0.1150 | 0.0961 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.8700 | 3.8010 | 4.4121 | model_form_blend |
| predicted_AVG | 0.2960 | 0.3149 | 0.3041 | model_form_blend |
| predicted_BB | 0.4820 | 0.5490 | 0.5107 | model_form_blend |
| predicted_H | 1.4400 | 1.1970 | 1.3359 | model_form_blend |
| predicted_HBP | - | 0.0480 | 0.0480 | form_only |
| predicted_HR | 0.2100 | 0.1780 | 0.1963 | model_form_blend |
| predicted_OBP | 0.3960 | 0.4064 | 0.4005 | model_form_blend |
| predicted_R | 0.6940 | 0.5520 | 0.6332 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4370 | 0.4559 | model_form_blend |
| predicted_SLG | 0.4870 | 0.4858 | 0.4865 | model_form_blend |
| predicted_SO | 0.9060 | 0.8810 | 0.8953 | 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 | 358 |
| Season rows before report date | 358 |
| 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 | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| 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 | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| 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 | C |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 686948 |
| playerID | 686948 |
| playerName | Drake Baldwin |
| pos | C |
| started | True |
| startingPosition | C |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.37 |
| sl_xwoba | 0.385 |
| sl_xba | 0.281 |
| sl_xslg | 0.518 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 14.8 |
| sl_hard_hit_percent | 51.2 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 24.1 |
| 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.206 | 2.000 | 0.000 | Hitting_2B | 0.211 | 0.000 | 1.789 | 2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.950 | 3.000 | 5.000 | Hitting_AB | 4.076 | 4.000 | -1.076 | -1.000 |
| predicted_AVG | 0.252 | 0.667 | 0.200 | Hitting_AVG | 0.298 | 0.000 | 0.368 | 0.667 |
| predicted_BB | 0.147 | 1.000 | 0.000 | Hitting_BB | 0.163 | 0.000 | 0.837 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 1.250 | 2.000 | 1.000 | Hitting_H | 1.216 | 0.000 | 0.784 | 2.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_OBP | 0.283 | 0.750 | 0.200 | Hitting_OBP | 0.326 | 0.000 | 0.424 | 0.750 |
| predicted_R | 0.529 | 1.000 | 1.000 | Hitting_R | 0.573 | 0.000 | 0.427 | 1.000 |
| predicted_RBI | 0.560 | 1.000 | 1.000 | Hitting_RBI | 0.656 | 0.000 | 0.344 | 1.000 |
| predicted_SLG | 0.413 | 1.333 | 0.200 | Hitting_SLG | 0.498 | 0.000 | 0.835 | 1.333 |
| predicted_SO | 0.784 | 0.000 | 1.000 | Hitting_SO | 0.837 | 1.000 | -0.837 | -1.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_2B: 0.2060 -> 2.0000 (boost 1.7940, better) |
| Biggest Deboost | predicted_AB: 4.9500 -> 3.0000 (deboost -1.9500, 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_SLG: 0.4130 -> 0.4193 (boost 0.0063, better) | predicted_AB: 4.9500 -> 4.4774 (deboost -0.4726, 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.4193 -> 0.4070 (deboost -0.0123, 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.4774 -> 5.0000 (boost 0.5226, better) | predicted_2B: 0.2120 -> 0.0000 (deboost -0.2120, worse) | AB rounded to 5 (raw=4.95), rates preserved: AVG=0.232 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5122 -> 1.0000 (boost 0.4878, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4070 -> 0.2000 (deboost -0.2070, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_2B: 0.0000 -> 2.0000 (boost 2.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.4070 (boost 0.2070, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.206,
"predicted_3B": 0.0,
"predicted_AB": 4.95,
"predicted_AVG": 0.252,
"predicted_BB": 0.147,
"predicted_H": 1.25,
"predicted_HR": 0.15,
"predicted_OBP": 0.283,
"predicted_R": 0.529,
"predicted_RBI": 0.56,
"predicted_SLG": 0.413,
"predicted_SO": 0.784
},
"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.212,
"predicted_3B": 0.0004,
"predicted_AB": 4.4774,
"predicted_AVG": 0.2525,
"predicted_BB": 0.1513,
"predicted_H": 1.1317,
"predicted_HBP": 0.013,
"predicted_HR": 0.15,
"predicted_OBP": 0.2833,
"predicted_R": 0.4993,
"predicted_RBI": 0.5015,
"predicted_SLG": 0.4193,
"predicted_SO": 0.7569
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.206,
"after": 0.212,
"delta": 0.006,
"percent_delta": 0.0291,
"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.95,
"after": 4.4774,
"delta": -0.4726,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2525,
"delta": 0.0005,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.147,
"after": 0.1513,
"delta": 0.0043,
"percent_delta": 0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.25,
"after": 1.1317,
"delta": -0.1183,
"percent_delta": -0.0946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.15,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2833,
"delta": 0.0003,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.4993,
"delta": -0.0297,
"percent_delta": -0.0561,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5015,
"delta": -0.0585,
"percent_delta": -0.1045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4193,
"delta": 0.0063,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.784,
"after": 0.7569,
"delta": -0.0271,
"percent_delta": -0.0346,
"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_SLG",
"before": 0.413,
"after": 0.4193,
"delta": 0.0063,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.95,
"after": 4.4774,
"delta": -0.4726,
"percent_delta": -0.0955,
"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.212,
"predicted_3B": 0.0004,
"predicted_AB": 4.4774,
"predicted_AVG": 0.2567,
"predicted_BB": 0.1521,
"predicted_H": 1.1492,
"predicted_HBP": 0.013,
"predicted_HR": 0.1534,
"predicted_OBP": 0.2811,
"predicted_R": 0.5122,
"predicted_RBI": 0.5144,
"predicted_SLG": 0.407,
"predicted_SO": 0.7527
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.212,
"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.4774,
"after": 4.4774,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2525,
"after": 0.2567,
"delta": 0.0042,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1513,
"after": 0.1521,
"delta": 0.0008,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1317,
"after": 1.1492,
"delta": 0.0175,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1534,
"delta": 0.0034,
"percent_delta": 0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2833,
"after": 0.2811,
"delta": -0.0022,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4993,
"after": 0.5122,
"delta": 0.0129,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5015,
"after": 0.5144,
"delta": 0.0129,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4193,
"after": 0.407,
"delta": -0.0123,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7569,
"after": 0.7527,
"delta": -0.0042,
"percent_delta": -0.0055,
"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.4193,
"after": 0.407,
"delta": -0.0123,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.95), rates preserved: AVG=0.232 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.212,
"after": 0.0,
"delta": -0.212,
"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.4774,
"after": 5.0,
"delta": 0.5226,
"percent_delta": 0.1167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1521,
"after": 0.0,
"delta": -0.1521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1492,
"after": 1.0,
"delta": -0.1492,
"percent_delta": -0.1298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1534,
"after": 0.0,
"delta": -0.1534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5144,
"after": 1.0,
"delta": 0.4856,
"percent_delta": 0.944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7527,
"after": 1.0,
"delta": 0.2473,
"percent_delta": 0.3286,
"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.4774,
"after": 5.0,
"delta": 0.5226,
"percent_delta": 0.1167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"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.5122,
"after": 1.0,
"delta": 0.4878,
"percent_delta": 0.9524,
"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.5122,
"after": 1.0,
"delta": 0.4878,
"percent_delta": 0.9524,
"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.2567,
"after": 0.2,
"delta": -0.0567,
"percent_delta": -0.2209,
"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.2811,
"after": 0.2,
"delta": -0.0811,
"percent_delta": -0.2885,
"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.407,
"after": 0.2,
"delta": -0.207,
"percent_delta": -0.5086,
"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.407,
"after": 0.2,
"delta": -0.207,
"percent_delta": -0.5086,
"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": 2.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": 1.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": 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": 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": 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": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"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_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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2567,
"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.2811,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.407,
"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.2,
"after": 0.2567,
"delta": 0.0567,
"percent_delta": 0.2834,
"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.2811,
"delta": 0.0811,
"percent_delta": 0.4055,
"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.407,
"delta": 0.207,
"percent_delta": 1.0351,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.407,
"delta": 0.207,
"percent_delta": 1.0351,
"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.206,
"after": 2.0,
"delta": 1.794,
"percent_delta": 8.7087,
"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.95,
"after": 3.0,
"delta": -1.95,
"percent_delta": -0.3939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2567,
"delta": 0.0047,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.147,
"after": 1.0,
"delta": 0.853,
"percent_delta": 5.8027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.25,
"after": 2.0,
"delta": 0.75,
"percent_delta": 0.6,
"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.283,
"after": 0.2811,
"delta": -0.0019,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.407,
"delta": -0.006,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.784,
"after": 0.0,
"delta": -0.784,
"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_2B",
"before": 0.206,
"after": 2.0,
"delta": 1.794,
"percent_delta": 8.7087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.95,
"after": 3.0,
"delta": -1.95,
"percent_delta": -0.3939,
"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.206 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.950 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.147 | - |
| predicted_H | 1.250 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.529 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.784 | - |
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.212 | 0.006 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.477 | -0.473 |
| predicted_AVG | 0.253 | 0.001 |
| predicted_BB | 0.151 | 0.004 |
| predicted_H | 1.132 | -0.118 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.150 | 0.000 |
| predicted_OBP | 0.283 | 0.000 |
| predicted_R | 0.499 | -0.030 |
| predicted_RBI | 0.501 | -0.059 |
| predicted_SLG | 0.419 | 0.006 |
| predicted_SO | 0.757 | -0.027 |
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.212 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.477 | 0.000 |
| predicted_AVG | 0.257 | 0.004 |
| predicted_BB | 0.152 | 0.001 |
| predicted_H | 1.149 | 0.018 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.153 | 0.003 |
| predicted_OBP | 0.281 | -0.002 |
| predicted_R | 0.512 | 0.013 |
| predicted_RBI | 0.514 | 0.013 |
| predicted_SLG | 0.407 | -0.012 |
| predicted_SO | 0.753 | -0.004 |
AB rounded to 5 (raw=4.95), rates preserved: AVG=0.232 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 | 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.212 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.523 |
| predicted_AVG | 0.200 | -0.057 |
| predicted_BB | 0.000 | -0.152 |
| predicted_H | 1.000 | -0.149 |
| predicted_HR | 0.000 | -0.153 |
| predicted_OBP | 0.200 | -0.081 |
| predicted_R | 1.000 | 0.488 |
| predicted_RBI | 1.000 | 0.486 |
| predicted_SLG | 0.200 | -0.207 |
| predicted_SO | 1.000 | 0.247 |
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 | -2.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 | 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 | - | 19.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 0.1579 | 0.2000 | 0.2105 | 0.1579 | 0.0000 | 0.0000 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 3.000 | 0.000 | 2.000 | 3.000 | 5.000 | 1.000 | 6.000 | 0.2250 | 0.2439 | 0.4500 | 0.2250 | 0.0500 | 0.0750 | 0.0250 | 0.1500 |
| season | 0.60 | 102 | - | 390.000 | 115.000 | 21.000 | 0.000 | 19.000 | 61.000 | 54.000 | 15.000 | 80.000 | 0.2949 | 0.3220 | 0.4949 | 0.2949 | 0.0487 | 0.1564 | 0.0385 | 0.2051 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8510 |
| predicted_AVG | 0.2532 |
| predicted_BB | 0.1570 |
| predicted_H | 0.9750 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1500 |
| predicted_OBP | 0.2836 |
| predicted_R | 0.4600 |
| predicted_RBI | 0.4240 |
| predicted_SLG | 0.4277 |
| predicted_SO | 0.7210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2060 | 0.2200 | 0.2120 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.9500 | 3.8510 | 4.4774 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2532 | 0.2525 | model_form_blend |
| predicted_BB | 0.1470 | 0.1570 | 0.1513 | model_form_blend |
| predicted_H | 1.2500 | 0.9750 | 1.1317 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1500 | 0.1500 | 0.1500 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2836 | 0.2833 | model_form_blend |
| predicted_R | 0.5290 | 0.4600 | 0.4993 | model_form_blend |
| predicted_RBI | 0.5600 | 0.4240 | 0.5015 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4277 | 0.4193 | model_form_blend |
| predicted_SO | 0.7840 | 0.7210 | 0.7569 | 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 | 393 |
| Season rows before report date | 393 |
| 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 | 4 |
| AB | 3 |
| H | 2 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.295 |
| 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 | 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 | CF |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 671739 |
| playerID | 671739 |
| playerName | Michael Harris II |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 3.7 |
| sl_woba | 0.356 |
| sl_xwoba | 0.357 |
| sl_xba | 0.296 |
| sl_xslg | 0.505 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 91.3 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 56.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.241 | 0.000 | 0.000 | Hitting_2B | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.070 | 3.000 | 4.000 | Hitting_AB | 3.911 | 4.000 | -0.911 | -1.000 |
| predicted_AVG | 0.240 | 0.000 | 0.250 | Hitting_AVG | 0.272 | 0.250 | -0.272 | -0.250 |
| predicted_BB | 0.444 | 1.000 | 0.000 | Hitting_BB | 0.472 | 0.000 | 0.528 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.980 | 0.000 | 1.000 | Hitting_H | 1.064 | 1.000 | -1.064 | -1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.250 | Hitting_OBP | 0.351 | 0.250 | -0.101 | 0.000 |
| predicted_R | 0.676 | 0.000 | 1.000 | Hitting_R | 0.712 | 0.000 | -0.712 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.627 | 1.000 | -0.627 | -1.000 |
| predicted_SLG | 0.449 | 0.000 | 0.250 | Hitting_SLG | 0.548 | 0.250 | -0.548 | -0.250 |
| predicted_SO | 1.093 | 0.000 | 1.000 | Hitting_SO | 1.060 | 2.000 | -1.060 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4440 -> 1.0000 (boost 0.5560, better) |
| Biggest Deboost | predicted_SO: 1.0930 -> 0.0000 (deboost -1.0930, 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 | 2 | 1 | 1 | 2 | predicted_SO: 1.0930 -> 1.1618 (boost 0.0688, worse) | predicted_AB: 4.0700 -> 3.9727 (deboost -0.0973, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4556 -> 0.4750 (boost 0.0194, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 2 | 3 | predicted_RBI: 0.6293 -> 1.0000 (boost 0.3707, better) | predicted_BB: 0.4678 -> 0.0000 (deboost -0.4678, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.235 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6930 -> 1.0000 (boost 0.3070, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2409 -> 0.2500 (boost 0.0091, better) | predicted_SLG: 0.4750 -> 0.2500 (deboost -0.2250, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.4750 (boost 0.2250, better) | predicted_AVG: 0.2500 -> 0.2409 (deboost -0.0091, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.241,
"predicted_3B": 0.0,
"predicted_AB": 4.07,
"predicted_AVG": 0.24,
"predicted_BB": 0.444,
"predicted_H": 0.98,
"predicted_HR": 0.23,
"predicted_OBP": 0.318,
"predicted_R": 0.676,
"predicted_RBI": 0.61,
"predicted_SLG": 0.449,
"predicted_SO": 1.093
},
"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.2246,
"predicted_3B": 0.0004,
"predicted_AB": 3.9727,
"predicted_AVG": 0.2366,
"predicted_BB": 0.4652,
"predicted_H": 0.9424,
"predicted_HBP": 0.012,
"predicted_HR": 0.2296,
"predicted_OBP": 0.3191,
"predicted_R": 0.6756,
"predicted_RBI": 0.6135,
"predicted_SLG": 0.4556,
"predicted_SO": 1.1618
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.241,
"after": 0.2246,
"delta": -0.0164,
"percent_delta": -0.068,
"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.07,
"after": 3.9727,
"delta": -0.0973,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2366,
"delta": -0.0034,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.4652,
"delta": 0.0212,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9424,
"delta": -0.0376,
"percent_delta": -0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2296,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3191,
"delta": 0.0011,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.676,
"after": 0.6756,
"delta": -0.0004,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6135,
"delta": 0.0035,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4556,
"delta": 0.0066,
"percent_delta": 0.0147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.093,
"after": 1.1618,
"delta": 0.0688,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.093,
"after": 1.1618,
"delta": 0.0688,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9727,
"delta": -0.0973,
"percent_delta": -0.0239,
"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": 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.2246,
"predicted_3B": 0.0004,
"predicted_AB": 3.9727,
"predicted_AVG": 0.2409,
"predicted_BB": 0.4678,
"predicted_H": 0.957,
"predicted_HBP": 0.012,
"predicted_HR": 0.2349,
"predicted_OBP": 0.3209,
"predicted_R": 0.693,
"predicted_RBI": 0.6293,
"predicted_SLG": 0.475,
"predicted_SO": 1.1553
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2246,
"after": 0.2246,
"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.9727,
"after": 3.9727,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2366,
"after": 0.2409,
"delta": 0.0043,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4652,
"after": 0.4678,
"delta": 0.0026,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9424,
"after": 0.957,
"delta": 0.0146,
"percent_delta": 0.0155,
"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.2296,
"after": 0.2349,
"delta": 0.0053,
"percent_delta": 0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3191,
"after": 0.3209,
"delta": 0.0018,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6756,
"after": 0.693,
"delta": 0.0174,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6135,
"after": 0.6293,
"delta": 0.0158,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4556,
"after": 0.475,
"delta": 0.0194,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1618,
"after": 1.1553,
"delta": -0.0065,
"percent_delta": -0.0056,
"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_SLG",
"before": 0.4556,
"after": 0.475,
"delta": 0.0194,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.07), rates preserved: AVG=0.235 HR/AB=0.058",
"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.2246,
"after": 0.0,
"delta": -0.2246,
"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.9727,
"after": 4.0,
"delta": 0.0273,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4678,
"after": 0.0,
"delta": -0.4678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.957,
"after": 1.0,
"delta": 0.043,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2349,
"after": 0.0,
"delta": -0.2349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6293,
"after": 1.0,
"delta": 0.3707,
"percent_delta": 0.5891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1553,
"after": 1.0,
"delta": -0.1553,
"percent_delta": -0.1344,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6293,
"after": 1.0,
"delta": 0.3707,
"percent_delta": 0.5891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4678,
"after": 0.0,
"delta": -0.4678,
"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.693,
"after": 1.0,
"delta": 0.307,
"percent_delta": 0.443,
"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.693,
"after": 1.0,
"delta": 0.307,
"percent_delta": 0.443,
"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.2409,
"after": 0.25,
"delta": 0.0091,
"percent_delta": 0.0378,
"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.3209,
"after": 0.25,
"delta": -0.0709,
"percent_delta": -0.2209,
"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.475,
"after": 0.25,
"delta": -0.225,
"percent_delta": -0.4737,
"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.2409,
"after": 0.25,
"delta": 0.0091,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.25,
"delta": -0.225,
"percent_delta": -0.4737,
"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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2409,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3209,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.475,
"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.25,
"after": 0.2409,
"delta": -0.0091,
"percent_delta": -0.0364,
"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.25,
"after": 0.3209,
"delta": 0.0709,
"percent_delta": 0.2835,
"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.475,
"delta": 0.225,
"percent_delta": 0.9,
"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.475,
"delta": 0.225,
"percent_delta": 0.9,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2409,
"delta": -0.0091,
"percent_delta": -0.0364,
"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.241,
"after": 0.0,
"delta": -0.241,
"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.07,
"after": 3.0,
"delta": -1.07,
"percent_delta": -0.2629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2409,
"delta": 0.0009,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.318,
"after": 0.3209,
"delta": 0.0029,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.676,
"after": 0.0,
"delta": -0.676,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.475,
"delta": 0.026,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.093,
"after": 0.0,
"delta": -1.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.093,
"after": 0.0,
"delta": -1.093,
"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.241 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.444 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.676 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.449 | - |
| predicted_SO | 1.093 | - |
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.225 | -0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.973 | -0.097 |
| predicted_AVG | 0.237 | -0.003 |
| predicted_BB | 0.465 | 0.021 |
| predicted_H | 0.942 | -0.038 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.230 | -0.000 |
| predicted_OBP | 0.319 | 0.001 |
| predicted_R | 0.676 | -0.000 |
| predicted_RBI | 0.614 | 0.004 |
| predicted_SLG | 0.456 | 0.007 |
| predicted_SO | 1.162 | 0.069 |
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.225 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.973 | 0.000 |
| predicted_AVG | 0.241 | 0.004 |
| predicted_BB | 0.468 | 0.003 |
| predicted_H | 0.957 | 0.015 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.235 | 0.005 |
| predicted_OBP | 0.321 | 0.002 |
| predicted_R | 0.693 | 0.017 |
| predicted_RBI | 0.629 | 0.016 |
| predicted_SLG | 0.475 | 0.019 |
| predicted_SO | 1.155 | -0.006 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.235 HR/AB=0.058
| 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.225 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.027 |
| predicted_AVG | 0.250 | 0.009 |
| predicted_BB | 0.000 | -0.468 |
| predicted_H | 1.000 | 0.043 |
| predicted_HR | 0.000 | -0.235 |
| predicted_OBP | 0.250 | -0.071 |
| predicted_R | 1.000 | 0.307 |
| predicted_RBI | 1.000 | 0.371 |
| predicted_SLG | 0.250 | -0.225 |
| predicted_SO | 1.000 | -0.155 |
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 | -1.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 | -1.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 | - | 19.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 3.000 | 9.000 | 0.1579 | 0.2727 | 0.3684 | 0.1579 | 0.0526 | 0.1579 | 0.1579 | 0.4737 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 1.000 | 0.000 | 2.000 | 7.000 | 6.000 | 6.000 | 13.000 | 0.2105 | 0.3182 | 0.3947 | 0.2105 | 0.0526 | 0.1842 | 0.1579 | 0.3421 |
| season | 0.60 | 108 | - | 419.000 | 110.000 | 26.000 | 0.000 | 28.000 | 66.000 | 73.000 | 48.000 | 118.000 | 0.2625 | 0.3390 | 0.5251 | 0.2625 | 0.0668 | 0.1575 | 0.1146 | 0.2816 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2030 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8450 |
| predicted_AVG | 0.2322 |
| predicted_BB | 0.4930 |
| predicted_H | 0.8930 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.2290 |
| predicted_OBP | 0.3206 |
| predicted_R | 0.6750 |
| predicted_RBI | 0.6180 |
| predicted_SLG | 0.4642 |
| predicted_SO | 1.2520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2410 | 0.2030 | 0.2246 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0700 | 3.8450 | 3.9727 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2322 | 0.2366 | model_form_blend |
| predicted_BB | 0.4440 | 0.4930 | 0.4652 | model_form_blend |
| predicted_H | 0.9800 | 0.8930 | 0.9424 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.2300 | 0.2290 | 0.2296 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3206 | 0.3191 | model_form_blend |
| predicted_R | 0.6760 | 0.6750 | 0.6756 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6180 | 0.6135 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4642 | 0.4556 | model_form_blend |
| predicted_SO | 1.0930 | 1.2520 | 1.1618 | 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 | 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 | 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.263 |
| 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 | 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 | 2 |
| 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 | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 621566 |
| playerID | 621566 |
| playerName | Matt Olson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.369 |
| sl_xwoba | 0.359 |
| sl_xba | 0.248 |
| sl_xslg | 0.509 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 50.3 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 24.7 |
| 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.124 | 0.000 | 0.000 | Hitting_2B | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 2.719 | 4.000 | 3.000 | Hitting_AB | 2.996 | 2.000 | 1.004 | 2.000 |
| predicted_AVG | 0.223 | 0.000 | 0.333 | Hitting_AVG | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_BB | 0.303 | 0.000 | 0.000 | Hitting_BB | 0.377 | 0.000 | -0.377 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.607 | 0.000 | 1.000 | Hitting_H | 0.652 | 0.000 | -0.652 | 0.000 |
| predicted_HR | 0.067 | 0.000 | 0.000 | Hitting_HR | 0.073 | 0.000 | -0.073 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.333 | Hitting_OBP | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_R | 0.360 | 0.000 | 0.000 | Hitting_R | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_RBI | 0.303 | 0.000 | 0.000 | Hitting_RBI | 0.352 | 0.000 | -0.352 | 0.000 |
| predicted_SLG | 0.351 | 0.000 | 0.333 | Hitting_SLG | 0.339 | 0.000 | -0.339 | 0.000 |
| predicted_SO | 0.742 | 0.000 | 1.000 | Hitting_SO | 0.784 | 2.000 | -0.784 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.7190 -> 4.0000 (boost 1.2810, better) |
| Biggest Deboost | predicted_SO: 0.7420 -> 0.0000 (deboost -0.7420, 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 | 0 | 5 | predicted_SO: 0.7420 -> 0.8178 (boost 0.0758, worse) | predicted_AB: 2.7190 -> 2.6398 (deboost -0.0792, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3373 -> 0.3426 (boost 0.0053, 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.5737 -> 1.0000 (boost 0.4263, better) | predicted_BB: 0.2988 -> 0.0000 (deboost -0.2988, worse) | AB rounded to 3 (raw=2.72), rates preserved: AVG=0.211 HR/AB=0.025 |
| 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.3330 -> 0.0000 (deboost -0.3330, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2173 -> 0.3330 (boost 0.1157, better) | predicted_SLG: 0.3426 -> 0.3330 (deboost -0.0096, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 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 |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3426 (boost 0.0096, better) | predicted_AVG: 0.3330 -> 0.2173 (deboost -0.1157, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "573262",
"player_name": "Mike Yastrzemski",
"position": "DH",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.124,
"predicted_3B": 0.011,
"predicted_AB": 2.719,
"predicted_AVG": 0.223,
"predicted_BB": 0.303,
"predicted_H": 0.607,
"predicted_HR": 0.067,
"predicted_OBP": 0.301,
"predicted_R": 0.36,
"predicted_RBI": 0.303,
"predicted_SLG": 0.351,
"predicted_SO": 0.742
},
"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.1118,
"predicted_3B": 0.0093,
"predicted_AB": 2.6398,
"predicted_AVG": 0.2135,
"predicted_BB": 0.2971,
"predicted_H": 0.5649,
"predicted_HBP": 0.019,
"predicted_HR": 0.0653,
"predicted_OBP": 0.2951,
"predicted_R": 0.3246,
"predicted_RBI": 0.2878,
"predicted_SLG": 0.3373,
"predicted_SO": 0.8178
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.1118,
"delta": -0.0122,
"percent_delta": -0.0984,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.719,
"after": 2.6398,
"delta": -0.0792,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2135,
"delta": -0.0095,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.2971,
"delta": -0.0059,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.607,
"after": 0.5649,
"delta": -0.0421,
"percent_delta": -0.0694,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.067,
"after": 0.0653,
"delta": -0.0017,
"percent_delta": -0.0254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2951,
"delta": -0.0059,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.36,
"after": 0.3246,
"delta": -0.0354,
"percent_delta": -0.0983,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.303,
"after": 0.2878,
"delta": -0.0152,
"percent_delta": -0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3373,
"delta": -0.0137,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.742,
"after": 0.8178,
"delta": 0.0758,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.742,
"after": 0.8178,
"delta": 0.0758,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.719,
"after": 2.6398,
"delta": -0.0792,
"percent_delta": -0.0291,
"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": 89
}
},
{
"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.1118,
"predicted_3B": 0.0093,
"predicted_AB": 2.6398,
"predicted_AVG": 0.2173,
"predicted_BB": 0.2988,
"predicted_H": 0.5737,
"predicted_HBP": 0.019,
"predicted_HR": 0.0668,
"predicted_OBP": 0.2969,
"predicted_R": 0.333,
"predicted_RBI": 0.2952,
"predicted_SLG": 0.3426,
"predicted_SO": 0.8132
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1118,
"after": 0.1118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6398,
"after": 2.6398,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2135,
"after": 0.2173,
"delta": 0.0038,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2971,
"after": 0.2988,
"delta": 0.0017,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5649,
"after": 0.5737,
"delta": 0.0088,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0653,
"after": 0.0668,
"delta": 0.0015,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2951,
"after": 0.2969,
"delta": 0.0018,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3246,
"after": 0.333,
"delta": 0.0084,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2878,
"after": 0.2952,
"delta": 0.0074,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3373,
"after": 0.3426,
"delta": 0.0053,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8178,
"after": 0.8132,
"delta": -0.0046,
"percent_delta": -0.0056,
"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_SLG",
"before": 0.3373,
"after": 0.3426,
"delta": 0.0053,
"percent_delta": 0.0157,
"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=2.72), rates preserved: AVG=0.211 HR/AB=0.025",
"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.1118,
"after": 0.0,
"delta": -0.1118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6398,
"after": 3.0,
"delta": 0.3602,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2988,
"after": 0.0,
"delta": -0.2988,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5737,
"after": 1.0,
"delta": 0.4263,
"percent_delta": 0.7431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0668,
"after": 0.0,
"delta": -0.0668,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2952,
"after": 0.0,
"delta": -0.2952,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8132,
"after": 1.0,
"delta": 0.1868,
"percent_delta": 0.2297,
"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.5737,
"after": 1.0,
"delta": 0.4263,
"percent_delta": 0.7431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2988,
"after": 0.0,
"delta": -0.2988,
"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.333,
"after": 0.0,
"delta": -0.333,
"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.333,
"after": 0.0,
"delta": -0.333,
"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.2173,
"after": 0.333,
"delta": 0.1157,
"percent_delta": 0.5324,
"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.2969,
"after": 0.333,
"delta": 0.0361,
"percent_delta": 0.1216,
"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.3426,
"after": 0.333,
"delta": -0.0096,
"percent_delta": -0.028,
"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.2173,
"after": 0.333,
"delta": 0.1157,
"percent_delta": 0.5324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3426,
"after": 0.333,
"delta": -0.0096,
"percent_delta": -0.028,
"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": 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": 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_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": 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.2173,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2969,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3426,
"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.2173,
"delta": -0.1157,
"percent_delta": -0.3474,
"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.2969,
"delta": -0.0361,
"percent_delta": -0.1084,
"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.3426,
"delta": 0.0096,
"percent_delta": 0.0289,
"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.3426,
"delta": 0.0096,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2173,
"delta": -0.1157,
"percent_delta": -0.3474,
"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.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.719,
"after": 4.0,
"delta": 1.281,
"percent_delta": 0.4711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2173,
"delta": -0.0057,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.607,
"after": 0.0,
"delta": -0.607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_OBP",
"before": 0.301,
"after": 0.2969,
"delta": -0.0041,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"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.351,
"after": 0.3426,
"delta": -0.0084,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.742,
"after": 0.0,
"delta": -0.742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.719,
"after": 4.0,
"delta": 1.281,
"percent_delta": 0.4711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.742,
"after": 0.0,
"delta": -0.742,
"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.124 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 2.719 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.303 | - |
| predicted_H | 0.607 | - |
| predicted_HR | 0.067 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.360 | - |
| predicted_RBI | 0.303 | - |
| predicted_SLG | 0.351 | - |
| predicted_SO | 0.742 | - |
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.112 | -0.012 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 2.640 | -0.079 |
| predicted_AVG | 0.213 | -0.010 |
| predicted_BB | 0.297 | -0.006 |
| predicted_H | 0.565 | -0.042 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.065 | -0.002 |
| predicted_OBP | 0.295 | -0.006 |
| predicted_R | 0.325 | -0.035 |
| predicted_RBI | 0.288 | -0.015 |
| predicted_SLG | 0.337 | -0.014 |
| predicted_SO | 0.818 | 0.076 |
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.112 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 2.640 | 0.000 |
| predicted_AVG | 0.217 | 0.004 |
| predicted_BB | 0.299 | 0.002 |
| predicted_H | 0.574 | 0.009 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.067 | 0.002 |
| predicted_OBP | 0.297 | 0.002 |
| predicted_R | 0.333 | 0.008 |
| predicted_RBI | 0.295 | 0.007 |
| predicted_SLG | 0.343 | 0.005 |
| predicted_SO | 0.813 | -0.005 |
AB rounded to 3 (raw=2.72), rates preserved: AVG=0.211 HR/AB=0.025
| 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.112 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 3.000 | 0.360 |
| predicted_AVG | 0.333 | 0.116 |
| predicted_BB | 0.000 | -0.299 |
| predicted_H | 1.000 | 0.426 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.333 | 0.036 |
| predicted_R | 0.000 | -0.333 |
| predicted_RBI | 0.000 | -0.295 |
| predicted_SLG | 0.333 | -0.010 |
| predicted_SO | 1.000 | 0.187 |
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 | 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 | - | 8.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 0.1250 | 0.2222 | 0.1250 | 0.1250 | 0.0000 | 0.0000 | 0.1250 | 0.6250 |
| last_10 | 0.20 | 10 | - | 22.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 3.000 | 10.000 | 0.1818 | 0.2800 | 0.3636 | 0.1818 | 0.0454 | 0.1818 | 0.1364 | 0.4546 |
| season | 0.60 | 89 | - | 242.000 | 54.000 | 11.000 | 1.000 | 6.000 | 27.000 | 32.000 | 27.000 | 66.000 | 0.2231 | 0.3077 | 0.3512 | 0.2231 | 0.0248 | 0.1116 | 0.1116 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0950 |
| predicted_3B | 0.0070 |
| predicted_AB | 2.5310 |
| predicted_AVG | 0.2005 |
| predicted_BB | 0.2890 |
| predicted_H | 0.5070 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.2871 |
| predicted_R | 0.2760 |
| predicted_RBI | 0.2670 |
| predicted_SLG | 0.3184 |
| predicted_SO | 0.9220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1240 | 0.0950 | 0.1118 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 2.7190 | 2.5310 | 2.6398 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2005 | 0.2135 | model_form_blend |
| predicted_BB | 0.3030 | 0.2890 | 0.2971 | model_form_blend |
| predicted_H | 0.6070 | 0.5070 | 0.5649 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0670 | 0.0630 | 0.0653 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2871 | 0.2951 | model_form_blend |
| predicted_R | 0.3600 | 0.2760 | 0.3246 | model_form_blend |
| predicted_RBI | 0.3030 | 0.2670 | 0.2878 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3184 | 0.3373 | model_form_blend |
| predicted_SO | 0.7420 | 0.9220 | 0.8178 | 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 | 273 |
| Season rows before report date | 273 |
| Report year | 2026 |
| Profile rows used | 89 |
| 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 | 0 |
| 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 | 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 | 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 | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 573262 |
| playerID | 573262 |
| playerName | Mike Yastrzemski |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.301 |
| sl_xwoba | 0.296 |
| sl_xba | 0.222 |
| sl_xslg | 0.341 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 24.3 |
| sl_swing_percent | 41.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.202 | 1.000 | 0.000 | Hitting_2B | 0.221 | 0.000 | 0.779 | 1.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 4.100 | 4.000 | 4.000 | Hitting_AB | 3.862 | 4.000 | 0.138 | 0.000 |
| predicted_AVG | 0.203 | 0.250 | 0.250 | Hitting_AVG | 0.266 | 0.250 | -0.016 | 0.000 |
| predicted_BB | 0.260 | 0.000 | 0.000 | Hitting_BB | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 1.027 | 1.000 | -0.027 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.275 | 0.250 | 0.250 | Hitting_OBP | 0.318 | 0.250 | -0.068 | 0.000 |
| predicted_R | 0.462 | 1.000 | 0.000 | Hitting_R | 0.501 | 0.000 | 0.499 | 1.000 |
| predicted_RBI | 0.430 | 2.000 | 0.000 | Hitting_RBI | 0.555 | 0.000 | 1.445 | 2.000 |
| predicted_SLG | 0.314 | 0.500 | 0.250 | Hitting_SLG | 0.417 | 0.250 | 0.083 | 0.250 |
| predicted_SO | 0.558 | 1.000 | 0.000 | Hitting_SO | 0.587 | 0.000 | 0.413 | 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 | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.4300 -> 2.0000 (boost 1.5700, better) |
| Biggest Deboost | predicted_BB: 0.2600 -> 0.0000 (deboost -0.2600, 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 | 2 | 1 | predicted_AVG: 0.2030 -> 0.2141 (boost 0.0111, better) | predicted_AB: 4.1000 -> 3.9429 (deboost -0.1571, 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.2752 -> 0.2635 (deboost -0.0117, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.8533 -> 1.0000 (boost 0.1467, better) | predicted_SO: 0.4898 -> 0.0000 (deboost -0.4898, better) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.208 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4324 -> 0.0000 (deboost -0.4324, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2164 -> 0.2500 (boost 0.0336, better) | predicted_SLG: 0.3213 -> 0.2500 (deboost -0.0713, 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_RBI: 0.0000 -> 2.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.2500 -> 0.3213 (boost 0.0713, better) | predicted_AVG: 0.2500 -> 0.2164 (deboost -0.0336, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"position": "LF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.202,
"predicted_3B": 0.019,
"predicted_AB": 4.1,
"predicted_AVG": 0.203,
"predicted_BB": 0.26,
"predicted_H": 0.83,
"predicted_HR": 0.07,
"predicted_OBP": 0.275,
"predicted_R": 0.462,
"predicted_RBI": 0.43,
"predicted_SLG": 0.314,
"predicted_SO": 0.558
},
"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.177,
"predicted_3B": 0.016,
"predicted_AB": 3.9429,
"predicted_AVG": 0.2141,
"predicted_BB": 0.2505,
"predicted_H": 0.8403,
"predicted_HBP": 0.013,
"predicted_HR": 0.0666,
"predicted_OBP": 0.2752,
"predicted_R": 0.4215,
"predicted_RBI": 0.4179,
"predicted_SLG": 0.3182,
"predicted_SO": 0.4926
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.177,
"delta": -0.025,
"percent_delta": -0.1238,
"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": 4.1,
"after": 3.9429,
"delta": -0.1571,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.2141,
"delta": 0.0111,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.2505,
"delta": -0.0095,
"percent_delta": -0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8403,
"delta": 0.0103,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0666,
"delta": -0.0034,
"percent_delta": -0.0486,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2752,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 0.4215,
"delta": -0.0405,
"percent_delta": -0.0877,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4179,
"delta": -0.0121,
"percent_delta": -0.0281,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.3182,
"delta": 0.0042,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.558,
"after": 0.4926,
"delta": -0.0654,
"percent_delta": -0.1172,
"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_AVG",
"before": 0.203,
"after": 0.2141,
"delta": 0.0111,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9429,
"delta": -0.1571,
"percent_delta": -0.0383,
"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": 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.177,
"predicted_3B": 0.016,
"predicted_AB": 3.9429,
"predicted_AVG": 0.2164,
"predicted_BB": 0.2519,
"predicted_H": 0.8533,
"predicted_HBP": 0.013,
"predicted_HR": 0.0681,
"predicted_OBP": 0.2635,
"predicted_R": 0.4324,
"predicted_RBI": 0.4287,
"predicted_SLG": 0.3213,
"predicted_SO": 0.4898
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.177,
"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.9429,
"after": 3.9429,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2141,
"after": 0.2164,
"delta": 0.0023,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2505,
"after": 0.2519,
"delta": 0.0014,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8403,
"after": 0.8533,
"delta": 0.013,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0666,
"after": 0.0681,
"delta": 0.0015,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2752,
"after": 0.2635,
"delta": -0.0117,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4215,
"after": 0.4324,
"delta": 0.0109,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4179,
"after": 0.4287,
"delta": 0.0108,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3182,
"after": 0.3213,
"delta": 0.0031,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4926,
"after": 0.4898,
"delta": -0.0028,
"percent_delta": -0.0057,
"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.2752,
"after": 0.2635,
"delta": -0.0117,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.10), rates preserved: AVG=0.208 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.0,
"delta": -0.177,
"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.9429,
"after": 4.0,
"delta": 0.0571,
"percent_delta": 0.0145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2519,
"after": 0.0,
"delta": -0.2519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8533,
"after": 1.0,
"delta": 0.1467,
"percent_delta": 0.1719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"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.4287,
"after": 0.0,
"delta": -0.4287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4898,
"after": 0.0,
"delta": -0.4898,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8533,
"after": 1.0,
"delta": 0.1467,
"percent_delta": 0.1719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4898,
"after": 0.0,
"delta": -0.4898,
"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": 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": 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_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.4324,
"after": 0.0,
"delta": -0.4324,
"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.4324,
"after": 0.0,
"delta": -0.4324,
"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": 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.2164,
"after": 0.25,
"delta": 0.0336,
"percent_delta": 0.1553,
"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.3213,
"after": 0.25,
"delta": -0.0713,
"percent_delta": -0.2219,
"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.2164,
"after": 0.25,
"delta": 0.0336,
"percent_delta": 0.1553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3213,
"after": 0.25,
"delta": -0.0713,
"percent_delta": -0.2219,
"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": 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": 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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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_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": 4.0,
"predicted_AVG": 0.2164,
"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.2635,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3213,
"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.25,
"after": 0.2164,
"delta": -0.0336,
"percent_delta": -0.1343,
"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": 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.3213,
"delta": 0.0713,
"percent_delta": 0.2851,
"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.3213,
"delta": 0.0713,
"percent_delta": 0.2851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2164,
"delta": -0.0336,
"percent_delta": -0.1343,
"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.202,
"after": 1.0,
"delta": 0.798,
"percent_delta": 3.9505,
"direction": "boost",
"projection_effect": "better",
"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": 4.1,
"after": 4.0,
"delta": -0.1,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.2164,
"delta": 0.0134,
"percent_delta": 0.066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"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.275,
"after": 0.2635,
"delta": -0.0115,
"percent_delta": -0.0418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 1.0,
"delta": 0.538,
"percent_delta": 1.1645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 2.0,
"delta": 1.57,
"percent_delta": 3.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.3213,
"delta": 0.0073,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"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": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.43,
"after": 2.0,
"delta": 1.57,
"percent_delta": 3.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"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.202 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.203 | - |
| predicted_BB | 0.260 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.462 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.314 | - |
| predicted_SO | 0.558 | - |
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.177 | -0.025 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 3.943 | -0.157 |
| predicted_AVG | 0.214 | 0.011 |
| predicted_BB | 0.251 | -0.010 |
| predicted_H | 0.840 | 0.010 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.067 | -0.003 |
| predicted_OBP | 0.275 | 0.000 |
| predicted_R | 0.421 | -0.041 |
| predicted_RBI | 0.418 | -0.012 |
| predicted_SLG | 0.318 | 0.004 |
| predicted_SO | 0.493 | -0.065 |
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.177 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 3.943 | 0.000 |
| predicted_AVG | 0.216 | 0.002 |
| predicted_BB | 0.252 | 0.001 |
| predicted_H | 0.853 | 0.013 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.068 | 0.001 |
| predicted_OBP | 0.264 | -0.012 |
| predicted_R | 0.432 | 0.011 |
| predicted_RBI | 0.429 | 0.011 |
| predicted_SLG | 0.321 | 0.003 |
| predicted_SO | 0.490 | -0.003 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.208 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 | 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 | 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.177 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | 0.057 |
| predicted_AVG | 0.250 | 0.034 |
| predicted_BB | 0.000 | -0.252 |
| predicted_H | 1.000 | 0.147 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.250 | -0.014 |
| predicted_R | 0.000 | -0.432 |
| predicted_RBI | 0.000 | -0.429 |
| predicted_SLG | 0.250 | -0.071 |
| predicted_SO | 0.000 | -0.490 |
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 | 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 | 2.000 | 2.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 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.1579 | 0.2000 | 0.1579 | 0.1579 | 0.0000 | 0.0526 | 0.0526 | 0.0000 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 2.000 | 0.1944 | 0.2308 | 0.2222 | 0.1944 | 0.0000 | 0.0556 | 0.0556 | 0.0556 |
| season | 0.60 | 104 | - | 390.000 | 102.000 | 21.000 | 2.000 | 10.000 | 55.000 | 48.000 | 27.000 | 58.000 | 0.2615 | 0.3119 | 0.4026 | 0.2615 | 0.0256 | 0.1410 | 0.0692 | 0.1487 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7350 |
| predicted_AVG | 0.2287 |
| predicted_BB | 0.2380 |
| predicted_H | 0.8540 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.2754 |
| predicted_R | 0.3680 |
| predicted_RBI | 0.4020 |
| predicted_SLG | 0.3237 |
| predicted_SO | 0.4060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2020 | 0.1440 | 0.1770 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0160 | model_form_blend |
| predicted_AB | 4.1000 | 3.7350 | 3.9429 | model_form_blend |
| predicted_AVG | 0.2030 | 0.2287 | 0.2141 | model_form_blend |
| predicted_BB | 0.2600 | 0.2380 | 0.2505 | model_form_blend |
| predicted_H | 0.8300 | 0.8540 | 0.8403 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0700 | 0.0620 | 0.0666 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2754 | 0.2752 | model_form_blend |
| predicted_R | 0.4620 | 0.3680 | 0.4215 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4020 | 0.4179 | model_form_blend |
| predicted_SLG | 0.3140 | 0.3237 | 0.3182 | model_form_blend |
| predicted_SO | 0.5580 | 0.4060 | 0.4926 | 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 | 407 |
| Season rows before report date | 407 |
| 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 | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.262 |
| 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 | 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 | 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 | LF |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 643289 |
| playerID | 643289 |
| playerName | Mauricio Dubón |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.313 |
| sl_xwoba | 0.31 |
| sl_xba | 0.266 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 30.7 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 16.6 |
| sl_swing_percent | 52.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.194 | 0.000 | 0.000 | Hitting_2B | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.260 | 3.000 | 4.000 | Hitting_AB | 3.915 | 3.000 | -0.915 | 0.000 |
| predicted_AVG | 0.263 | 0.000 | 0.250 | Hitting_AVG | 0.266 | 0.333 | -0.266 | -0.333 |
| predicted_BB | 0.287 | 1.000 | 0.000 | Hitting_BB | 0.309 | 1.000 | 0.691 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 1.120 | 0.000 | 1.000 | Hitting_H | 1.040 | 1.000 | -1.040 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.279 | 0.250 | 0.250 | Hitting_OBP | 0.319 | 0.500 | -0.069 | -0.250 |
| predicted_R | 0.630 | 1.000 | 1.000 | Hitting_R | 0.647 | 0.000 | 0.353 | 1.000 |
| predicted_RBI | 0.650 | 1.000 | 1.000 | Hitting_RBI | 0.555 | 0.000 | 0.445 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_SLG | 0.483 | 0.000 | 0.250 | Hitting_SLG | 0.441 | 0.333 | -0.441 | -0.333 |
| predicted_SO | 0.639 | 0.000 | 1.000 | Hitting_SO | 0.651 | 1.000 | -0.651 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.2870 -> 1.0000 (boost 0.7130, better) |
| Biggest Deboost | predicted_AB: 4.2600 -> 3.0000 (deboost -1.2600, 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: 4.2600 -> 4.1558 (deboost -0.1042, 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.2827 -> 0.3041 (boost 0.0214, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.6539 -> 1.0000 (boost 0.3461, better) | predicted_BB: 0.2747 -> 0.0000 (deboost -0.2747, worse) | AB rounded to 4 (raw=4.26), rates preserved: AVG=0.252 HR/AB=0.060 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6224 -> 1.0000 (boost 0.3776, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4818 -> 0.2500 (deboost -0.2318, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.4818 (boost 0.2318, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.194,
"predicted_3B": 0.0,
"predicted_AB": 4.26,
"predicted_AVG": 0.263,
"predicted_BB": 0.287,
"predicted_H": 1.12,
"predicted_HR": 0.25,
"predicted_OBP": 0.279,
"predicted_R": 0.63,
"predicted_RBI": 0.65,
"predicted_SLG": 0.483,
"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.1642,
"predicted_3B": 0.0004,
"predicted_AB": 4.1558,
"predicted_AVG": 0.254,
"predicted_BB": 0.2732,
"predicted_H": 1.0564,
"predicted_HBP": 0.029,
"predicted_HR": 0.2491,
"predicted_OBP": 0.2827,
"predicted_R": 0.6067,
"predicted_RBI": 0.6375,
"predicted_SLG": 0.4725,
"predicted_SO": 0.6848
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.1642,
"delta": -0.0298,
"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": 4.26,
"after": 4.1558,
"delta": -0.1042,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.254,
"delta": -0.009,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.2732,
"delta": -0.0138,
"percent_delta": -0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0564,
"delta": -0.0636,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2491,
"delta": -0.0009,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2827,
"delta": 0.0037,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.63,
"after": 0.6067,
"delta": -0.0233,
"percent_delta": -0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.6375,
"delta": -0.0125,
"percent_delta": -0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.4725,
"delta": -0.0105,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.6848,
"delta": 0.0458,
"percent_delta": 0.0717,
"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": 4.26,
"after": 4.1558,
"delta": -0.1042,
"percent_delta": -0.0245,
"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": 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.1642,
"predicted_3B": 0.0004,
"predicted_AB": 4.1558,
"predicted_AVG": 0.2581,
"predicted_BB": 0.2747,
"predicted_H": 1.0728,
"predicted_HBP": 0.029,
"predicted_HR": 0.2548,
"predicted_OBP": 0.3041,
"predicted_R": 0.6224,
"predicted_RBI": 0.6539,
"predicted_SLG": 0.4818,
"predicted_SO": 0.681
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1642,
"after": 0.1642,
"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.1558,
"after": 4.1558,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2581,
"delta": 0.0041,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2732,
"after": 0.2747,
"delta": 0.0015,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0564,
"after": 1.0728,
"delta": 0.0164,
"percent_delta": 0.0155,
"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.2491,
"after": 0.2548,
"delta": 0.0057,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2827,
"after": 0.3041,
"delta": 0.0214,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6067,
"after": 0.6224,
"delta": 0.0157,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6375,
"after": 0.6539,
"delta": 0.0164,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4725,
"after": 0.4818,
"delta": 0.0093,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6848,
"after": 0.681,
"delta": -0.0038,
"percent_delta": -0.0055,
"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.2827,
"after": 0.3041,
"delta": 0.0214,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.252 HR/AB=0.060",
"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.1642,
"after": 0.0,
"delta": -0.1642,
"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.1558,
"after": 4.0,
"delta": -0.1558,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2747,
"after": 0.0,
"delta": -0.2747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0728,
"after": 1.0,
"delta": -0.0728,
"percent_delta": -0.0679,
"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.2548,
"after": 0.0,
"delta": -0.2548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6539,
"after": 1.0,
"delta": 0.3461,
"percent_delta": 0.5293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 1.0,
"delta": 0.319,
"percent_delta": 0.4684,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6539,
"after": 1.0,
"delta": 0.3461,
"percent_delta": 0.5293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2747,
"after": 0.0,
"delta": -0.2747,
"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.6224,
"after": 1.0,
"delta": 0.3776,
"percent_delta": 0.6067,
"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.6224,
"after": 1.0,
"delta": 0.3776,
"percent_delta": 0.6067,
"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.2581,
"after": 0.25,
"delta": -0.0081,
"percent_delta": -0.0314,
"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.3041,
"after": 0.25,
"delta": -0.0541,
"percent_delta": -0.1779,
"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.4818,
"after": 0.25,
"delta": -0.2318,
"percent_delta": -0.4811,
"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.4818,
"after": 0.25,
"delta": -0.2318,
"percent_delta": -0.4811,
"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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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.2581,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3041,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4818,
"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.25,
"after": 0.2581,
"delta": 0.0081,
"percent_delta": 0.0326,
"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.25,
"after": 0.3041,
"delta": 0.0541,
"percent_delta": 0.2166,
"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.4818,
"delta": 0.2318,
"percent_delta": 0.9272,
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4818,
"delta": 0.2318,
"percent_delta": 0.9272,
"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.194,
"after": 0.0,
"delta": -0.194,
"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.26,
"after": 3.0,
"delta": -1.26,
"percent_delta": -0.2958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2581,
"delta": -0.0049,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 1.0,
"delta": 0.713,
"percent_delta": 2.4843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 0.0,
"delta": -1.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.3041,
"delta": 0.0251,
"percent_delta": 0.09,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.4818,
"delta": -0.0012,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.0,
"delta": -0.639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.287,
"after": 1.0,
"delta": 0.713,
"percent_delta": 2.4843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 3.0,
"delta": -1.26,
"percent_delta": -0.2958,
"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.194 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.287 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.630 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.483 | - |
| 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.164 | -0.030 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.156 | -0.104 |
| predicted_AVG | 0.254 | -0.009 |
| predicted_BB | 0.273 | -0.014 |
| predicted_H | 1.056 | -0.064 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.249 | -0.001 |
| predicted_OBP | 0.283 | 0.004 |
| predicted_R | 0.607 | -0.023 |
| predicted_RBI | 0.637 | -0.013 |
| predicted_SLG | 0.472 | -0.011 |
| predicted_SO | 0.685 | 0.046 |
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.164 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.156 | 0.000 |
| predicted_AVG | 0.258 | 0.004 |
| predicted_BB | 0.275 | 0.002 |
| predicted_H | 1.073 | 0.016 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.255 | 0.006 |
| predicted_OBP | 0.304 | 0.021 |
| predicted_R | 0.622 | 0.016 |
| predicted_RBI | 0.654 | 0.016 |
| predicted_SLG | 0.482 | 0.009 |
| predicted_SO | 0.681 | -0.004 |
AB rounded to 4 (raw=4.26), rates preserved: AVG=0.252 HR/AB=0.060
| 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.164 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.156 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.275 |
| predicted_H | 1.000 | -0.073 |
| predicted_HR | 0.000 | -0.255 |
| predicted_OBP | 0.250 | -0.054 |
| predicted_R | 1.000 | 0.378 |
| predicted_RBI | 1.000 | 0.346 |
| predicted_SLG | 0.250 | -0.232 |
| predicted_SO | 1.000 | 0.319 |
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 | -1.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 | 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 | 4.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 1.000 | 3.000 | 0.1905 | 0.2273 | 0.4762 | 0.1905 | 0.0952 | 0.1905 | 0.0476 | 0.1429 |
| last_10 | 0.20 | 10 | - | 43.000 | 10.000 | 0.000 | 0.000 | 4.000 | 7.000 | 6.000 | 2.000 | 12.000 | 0.2326 | 0.2667 | 0.5116 | 0.2326 | 0.0930 | 0.1628 | 0.0465 | 0.2791 |
| season | 0.60 | 108 | - | 420.000 | 110.000 | 21.000 | 0.000 | 18.000 | 60.000 | 68.000 | 31.000 | 69.000 | 0.2619 | 0.3126 | 0.4405 | 0.2619 | 0.0429 | 0.1429 | 0.0738 | 0.1643 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0190 |
| predicted_AVG | 0.2421 |
| predicted_BB | 0.2550 |
| predicted_H | 0.9730 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.2480 |
| predicted_OBP | 0.2875 |
| predicted_R | 0.5760 |
| predicted_RBI | 0.6210 |
| predicted_SLG | 0.4587 |
| predicted_SO | 0.7450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.1250 | 0.1642 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2600 | 4.0190 | 4.1558 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2421 | 0.2540 | model_form_blend |
| predicted_BB | 0.2870 | 0.2550 | 0.2732 | model_form_blend |
| predicted_H | 1.1200 | 0.9730 | 1.0564 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.2500 | 0.2480 | 0.2491 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2875 | 0.2827 | model_form_blend |
| predicted_R | 0.6300 | 0.5760 | 0.6067 | model_form_blend |
| predicted_RBI | 0.6500 | 0.6210 | 0.6375 | model_form_blend |
| predicted_SLG | 0.4830 | 0.4587 | 0.4725 | model_form_blend |
| predicted_SO | 0.6390 | 0.7450 | 0.6848 | 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 | 447 |
| Season rows before report date | 447 |
| 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 | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.262 |
| 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 | 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 | 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 | 2B |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 645277 |
| playerID | 645277 |
| playerName | Ozzie Albies |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.324 |
| sl_xwoba | 0.286 |
| sl_xba | 0.236 |
| sl_xslg | 0.365 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 27.6 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 56.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.227 | 0.000 | 0.000 | Hitting_2B | 0.297 | 1.000 | -0.297 | -1.000 |
| predicted_3B | 0.045 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.091 | 3.000 | 3.000 | Hitting_AB | 3.484 | 4.000 | -0.484 | -1.000 |
| predicted_AVG | 0.202 | 0.333 | 0.333 | Hitting_AVG | 0.305 | 0.250 | 0.028 | 0.083 |
| predicted_BB | 0.136 | 0.000 | 0.000 | Hitting_BB | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.600 | 1.000 | 1.000 | Hitting_H | 1.062 | 1.000 | -0.062 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_OBP | 0.246 | 0.333 | 0.333 | Hitting_OBP | 0.346 | 0.250 | -0.013 | 0.083 |
| predicted_R | 0.409 | 0.000 | 0.000 | Hitting_R | 0.516 | 1.000 | -0.516 | -1.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.516 | 0.000 | -0.516 | 0.000 |
| predicted_SLG | 0.335 | 0.333 | 0.333 | Hitting_SLG | 0.493 | 0.500 | -0.160 | -0.167 |
| predicted_SO | 0.591 | 0.000 | 1.000 | Hitting_SO | 0.672 | 1.000 | -0.672 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.6000 -> 1.0000 (boost 0.4000, better) |
| Biggest Deboost | predicted_SO: 0.5910 -> 0.0000 (deboost -0.5910, 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.2460 -> 0.2527 (boost 0.0067, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3414 -> 0.3520 (boost 0.0106, better) | predicted_OBP: 0.2527 -> 0.2422 (deboost -0.0105, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.5793 -> 1.0000 (boost 0.4207, worse) | predicted_RBI: 0.3166 -> 0.0000 (deboost -0.3166, worse) | AB rounded to 3 (raw=3.14), rates preserved: AVG=0.204 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4296 -> 0.0000 (deboost -0.4296, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2043 -> 0.3330 (boost 0.1287, better) | predicted_SLG: 0.3520 -> 0.3330 (deboost -0.0190, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | 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.3520 (boost 0.0190, better) | predicted_AVG: 0.3330 -> 0.2043 (deboost -0.1287, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805347",
"player_name": "Jim Jarvis",
"position": "SS",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.227,
"predicted_3B": 0.045,
"predicted_AB": 3.091,
"predicted_AVG": 0.202,
"predicted_BB": 0.136,
"predicted_H": 0.6,
"predicted_HR": 0.05,
"predicted_OBP": 0.246,
"predicted_R": 0.409,
"predicted_RBI": 0.27,
"predicted_SLG": 0.335,
"predicted_SO": 0.591
},
"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.2208,
"predicted_3B": 0.0428,
"predicted_AB": 3.1372,
"predicted_AVG": 0.2061,
"predicted_BB": 0.156,
"predicted_H": 0.6313,
"predicted_HBP": 0.028,
"predicted_HR": 0.0511,
"predicted_OBP": 0.2527,
"predicted_R": 0.4188,
"predicted_RBI": 0.3086,
"predicted_SLG": 0.3414,
"predicted_SO": 0.5826
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.2208,
"delta": -0.0062,
"percent_delta": -0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0428,
"delta": -0.0022,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.091,
"after": 3.1372,
"delta": 0.0462,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.202,
"after": 0.2061,
"delta": 0.0041,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.136,
"after": 0.156,
"delta": 0.02,
"percent_delta": 0.1471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.6313,
"delta": 0.0313,
"percent_delta": 0.0522,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0511,
"delta": 0.0011,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.246,
"after": 0.2527,
"delta": 0.0067,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.409,
"after": 0.4188,
"delta": 0.0098,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.3086,
"delta": 0.0386,
"percent_delta": 0.143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3414,
"delta": 0.0064,
"percent_delta": 0.0191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.591,
"after": 0.5826,
"delta": -0.0084,
"percent_delta": -0.0142,
"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.246,
"after": 0.2527,
"delta": 0.0067,
"percent_delta": 0.0272,
"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": 22
}
},
{
"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.2208,
"predicted_3B": 0.0428,
"predicted_AB": 3.1372,
"predicted_AVG": 0.2043,
"predicted_BB": 0.1569,
"predicted_H": 0.6411,
"predicted_HBP": 0.028,
"predicted_HR": 0.0523,
"predicted_OBP": 0.2422,
"predicted_R": 0.4296,
"predicted_RBI": 0.3166,
"predicted_SLG": 0.352,
"predicted_SO": 0.5793
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2208,
"after": 0.2208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0428,
"after": 0.0428,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1372,
"after": 3.1372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2061,
"after": 0.2043,
"delta": -0.0018,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.1569,
"delta": 0.0009,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6313,
"after": 0.6411,
"delta": 0.0098,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0511,
"after": 0.0523,
"delta": 0.0012,
"percent_delta": 0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2527,
"after": 0.2422,
"delta": -0.0105,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4188,
"after": 0.4296,
"delta": 0.0108,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3086,
"after": 0.3166,
"delta": 0.008,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3414,
"after": 0.352,
"delta": 0.0106,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5826,
"after": 0.5793,
"delta": -0.0033,
"percent_delta": -0.0057,
"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_SLG",
"before": 0.3414,
"after": 0.352,
"delta": 0.0106,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2527,
"after": 0.2422,
"delta": -0.0105,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.14), rates preserved: AVG=0.204 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.2208,
"after": 0.0,
"delta": -0.2208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0428,
"after": 0.0,
"delta": -0.0428,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1372,
"after": 3.0,
"delta": -0.1372,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1569,
"after": 0.0,
"delta": -0.1569,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6411,
"after": 1.0,
"delta": 0.3589,
"percent_delta": 0.5598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0523,
"after": 0.0,
"delta": -0.0523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3166,
"after": 0.0,
"delta": -0.3166,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5793,
"after": 1.0,
"delta": 0.4207,
"percent_delta": 0.7262,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5793,
"after": 1.0,
"delta": 0.4207,
"percent_delta": 0.7262,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3166,
"after": 0.0,
"delta": -0.3166,
"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.4296,
"after": 0.0,
"delta": -0.4296,
"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.4296,
"after": 0.0,
"delta": -0.4296,
"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.2043,
"after": 0.333,
"delta": 0.1287,
"percent_delta": 0.63,
"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.2422,
"after": 0.333,
"delta": 0.0908,
"percent_delta": 0.3749,
"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.352,
"after": 0.333,
"delta": -0.019,
"percent_delta": -0.054,
"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.2043,
"after": 0.333,
"delta": 0.1287,
"percent_delta": 0.63,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.333,
"delta": -0.019,
"percent_delta": -0.054,
"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": 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_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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"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": "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": 3.0,
"predicted_AVG": 0.2043,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2422,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.352,
"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": 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.2043,
"delta": -0.1287,
"percent_delta": -0.3863,
"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.2422,
"delta": -0.0908,
"percent_delta": -0.2726,
"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.352,
"delta": 0.019,
"percent_delta": 0.0571,
"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.352,
"delta": 0.019,
"percent_delta": 0.0571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2043,
"delta": -0.1287,
"percent_delta": -0.3863,
"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.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.091,
"after": 3.0,
"delta": -0.091,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.202,
"after": 0.2043,
"delta": 0.0023,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"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.246,
"after": 0.2422,
"delta": -0.0038,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.352,
"delta": 0.017,
"percent_delta": 0.0507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"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.227 | - |
| predicted_3B | 0.045 | - |
| predicted_AB | 3.091 | - |
| predicted_AVG | 0.202 | - |
| predicted_BB | 0.136 | - |
| predicted_H | 0.600 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.246 | - |
| predicted_R | 0.409 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.335 | - |
| predicted_SO | 0.591 | - |
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.221 | -0.006 |
| predicted_3B | 0.043 | -0.002 |
| predicted_AB | 3.137 | 0.046 |
| predicted_AVG | 0.206 | 0.004 |
| predicted_BB | 0.156 | 0.020 |
| predicted_H | 0.631 | 0.031 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.051 | 0.001 |
| predicted_OBP | 0.253 | 0.007 |
| predicted_R | 0.419 | 0.010 |
| predicted_RBI | 0.309 | 0.039 |
| predicted_SLG | 0.341 | 0.006 |
| predicted_SO | 0.583 | -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.221 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.137 | 0.000 |
| predicted_AVG | 0.204 | -0.002 |
| predicted_BB | 0.157 | 0.001 |
| predicted_H | 0.641 | 0.010 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.052 | 0.001 |
| predicted_OBP | 0.242 | -0.010 |
| predicted_R | 0.430 | 0.011 |
| predicted_RBI | 0.317 | 0.008 |
| predicted_SLG | 0.352 | 0.011 |
| predicted_SO | 0.579 | -0.003 |
AB rounded to 3 (raw=3.14), rates preserved: AVG=0.204 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.221 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 3.000 | -0.137 |
| predicted_AVG | 0.333 | 0.129 |
| predicted_BB | 0.000 | -0.157 |
| predicted_H | 1.000 | 0.359 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.333 | 0.091 |
| predicted_R | 0.000 | -0.430 |
| predicted_RBI | 0.000 | -0.317 |
| predicted_SLG | 0.333 | -0.019 |
| predicted_SO | 1.000 | 0.421 |
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 | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | - | 13.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.0769 | 0.1429 | 0.1538 | 0.0769 | 0.0000 | 0.0769 | 0.0769 | 0.0769 |
| last_10 | 0.20 | 10 | - | 30.000 | 5.000 | 2.000 | 1.000 | 0.000 | 4.000 | 4.000 | 2.000 | 4.000 | 0.1667 | 0.2188 | 0.3000 | 0.1667 | 0.0000 | 0.1333 | 0.0667 | 0.1333 |
| season | 0.60 | 22 | - | 68.000 | 17.000 | 5.000 | 1.000 | 1.000 | 8.000 | 9.000 | 3.000 | 13.000 | 0.2500 | 0.2917 | 0.3971 | 0.2500 | 0.0147 | 0.1177 | 0.0441 | 0.1912 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2100 |
| predicted_3B | 0.0390 |
| predicted_AB | 3.2180 |
| predicted_AVG | 0.2133 |
| predicted_BB | 0.1910 |
| predicted_H | 0.6860 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.2645 |
| predicted_R | 0.4360 |
| predicted_RBI | 0.3760 |
| predicted_SLG | 0.3526 |
| predicted_SO | 0.5680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.2100 | 0.2208 | model_form_blend |
| predicted_3B | 0.0450 | 0.0390 | 0.0428 | model_form_blend |
| predicted_AB | 3.0910 | 3.2180 | 3.1372 | model_form_blend |
| predicted_AVG | 0.2020 | 0.2133 | 0.2061 | model_form_blend |
| predicted_BB | 0.1360 | 0.1910 | 0.1560 | model_form_blend |
| predicted_H | 0.6000 | 0.6860 | 0.6313 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.0500 | 0.0530 | 0.0511 | model_form_blend |
| predicted_OBP | 0.2460 | 0.2645 | 0.2527 | model_form_blend |
| predicted_R | 0.4090 | 0.4360 | 0.4188 | model_form_blend |
| predicted_RBI | 0.2700 | 0.3760 | 0.3086 | model_form_blend |
| predicted_SLG | 0.3350 | 0.3526 | 0.3414 | model_form_blend |
| predicted_SO | 0.5910 | 0.5680 | 0.5826 | 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 | 64 |
| Season rows before report date | 64 |
| Report year | 2026 |
| Profile rows used | 22 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 1 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | SS |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 805347 |
| playerID | 805347 |
| playerName | Jim Jarvis |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.3 |
| sl_xwoba | 0.284 |
| sl_xba | 0.254 |
| sl_xslg | 0.345 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 3.8 |
| sl_whiff_percent | 15.4 |
| 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.120 | 0.000 | 0.000 | Hitting_2B | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_3B | 0.009 | 1.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | 0.990 | 1.000 |
| predicted_AB | 3.680 | 3.000 | 4.000 | Hitting_AB | 3.690 | 3.000 | -0.690 | 0.000 |
| predicted_AVG | 0.157 | 0.333 | 0.250 | Hitting_AVG | 0.219 | 0.000 | 0.114 | 0.333 |
| predicted_BB | 0.315 | 0.000 | 0.000 | Hitting_BB | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 0.580 | 1.000 | 1.000 | Hitting_H | 0.809 | 0.000 | 0.191 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_OBP | 0.242 | 0.333 | 0.250 | Hitting_OBP | 0.299 | 0.250 | 0.034 | 0.083 |
| predicted_R | 0.398 | 0.000 | 0.000 | Hitting_R | 0.453 | 0.000 | -0.453 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.484 | 0.000 | -0.484 | 0.000 |
| predicted_SLG | 0.289 | 1.000 | 0.250 | Hitting_SLG | 0.353 | 0.000 | 0.647 | 1.000 |
| predicted_SO | 1.241 | 1.000 | 1.000 | Hitting_SO | 1.248 | 3.000 | -0.248 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_3B: 0.0090 -> 1.0000 (boost 0.9910, better) |
| Biggest Deboost | predicted_AB: 3.6800 -> 3.0000 (deboost -0.6800, 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 | 1 | 3 | predicted_SO: 1.2410 -> 1.3850 (boost 0.1440, worse) | predicted_R: 0.3980 -> 0.3368 (deboost -0.0612, 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.2465 -> 0.2301 (deboost -0.0164, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_H: 0.6135 -> 1.0000 (boost 0.3865, better) | predicted_SO: 1.3772 -> 1.0000 (deboost -0.3772, better) | AB rounded to 4 (raw=3.68), rates preserved: AVG=0.167 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3455 -> 0.0000 (deboost -0.3455, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1676 -> 0.2500 (boost 0.0824, better) | predicted_SLG: 0.2750 -> 0.2500 (deboost -0.0250, 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_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.2750 (boost 0.0250, better) | predicted_AVG: 0.2500 -> 0.1676 (deboost -0.0824, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663586",
"player_name": "Austin Riley",
"position": "3B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.12,
"predicted_3B": 0.009,
"predicted_AB": 3.68,
"predicted_AVG": 0.157,
"predicted_BB": 0.315,
"predicted_H": 0.58,
"predicted_HR": 0.09,
"predicted_OBP": 0.242,
"predicted_R": 0.398,
"predicted_RBI": 0.35,
"predicted_SLG": 0.289,
"predicted_SO": 1.241
},
"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.1265,
"predicted_3B": 0.0077,
"predicted_AB": 3.6597,
"predicted_AVG": 0.1648,
"predicted_BB": 0.2952,
"predicted_H": 0.6041,
"predicted_HBP": 0.111,
"predicted_HR": 0.0818,
"predicted_OBP": 0.2465,
"predicted_R": 0.3368,
"predicted_RBI": 0.3651,
"predicted_SLG": 0.2827,
"predicted_SO": 1.385
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.12,
"after": 0.1265,
"delta": 0.0065,
"percent_delta": 0.0542,
"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.68,
"after": 3.6597,
"delta": -0.0203,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.157,
"after": 0.1648,
"delta": 0.0078,
"percent_delta": 0.0497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.2952,
"delta": -0.0198,
"percent_delta": -0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.6041,
"delta": 0.0241,
"percent_delta": 0.0416,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0818,
"delta": -0.0082,
"percent_delta": -0.0911,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.242,
"after": 0.2465,
"delta": 0.0045,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.398,
"after": 0.3368,
"delta": -0.0612,
"percent_delta": -0.1538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3651,
"delta": 0.0151,
"percent_delta": 0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.289,
"after": 0.2827,
"delta": -0.0063,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.241,
"after": 1.385,
"delta": 0.144,
"percent_delta": 0.116,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.241,
"after": 1.385,
"delta": 0.144,
"percent_delta": 0.116,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.398,
"after": 0.3368,
"delta": -0.0612,
"percent_delta": -0.1538,
"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": 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.1265,
"predicted_3B": 0.0077,
"predicted_AB": 3.6597,
"predicted_AVG": 0.1676,
"predicted_BB": 0.2969,
"predicted_H": 0.6135,
"predicted_HBP": 0.111,
"predicted_HR": 0.0837,
"predicted_OBP": 0.2301,
"predicted_R": 0.3455,
"predicted_RBI": 0.3745,
"predicted_SLG": 0.275,
"predicted_SO": 1.3772
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1265,
"after": 0.1265,
"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.6597,
"after": 3.6597,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1648,
"after": 0.1676,
"delta": 0.0028,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2952,
"after": 0.2969,
"delta": 0.0017,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6041,
"after": 0.6135,
"delta": 0.0094,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.111,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0818,
"after": 0.0837,
"delta": 0.0019,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2465,
"after": 0.2301,
"delta": -0.0164,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3368,
"after": 0.3455,
"delta": 0.0087,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3651,
"after": 0.3745,
"delta": 0.0094,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2827,
"after": 0.275,
"delta": -0.0077,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.385,
"after": 1.3772,
"delta": -0.0078,
"percent_delta": -0.0056,
"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.2465,
"after": 0.2301,
"delta": -0.0164,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.68), rates preserved: AVG=0.167 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.1265,
"after": 0.0,
"delta": -0.1265,
"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.6597,
"after": 4.0,
"delta": 0.3403,
"percent_delta": 0.093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2969,
"after": 0.0,
"delta": -0.2969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6135,
"after": 1.0,
"delta": 0.3865,
"percent_delta": 0.63,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0837,
"after": 0.0,
"delta": -0.0837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3745,
"after": 0.0,
"delta": -0.3745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3772,
"after": 1.0,
"delta": -0.3772,
"percent_delta": -0.2739,
"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.6135,
"after": 1.0,
"delta": 0.3865,
"percent_delta": 0.63,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3772,
"after": 1.0,
"delta": -0.3772,
"percent_delta": -0.2739,
"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": 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.3455,
"after": 0.0,
"delta": -0.3455,
"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.3455,
"after": 0.0,
"delta": -0.3455,
"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.1676,
"after": 0.25,
"delta": 0.0824,
"percent_delta": 0.4916,
"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.2301,
"after": 0.25,
"delta": 0.0199,
"percent_delta": 0.0865,
"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.275,
"after": 0.25,
"delta": -0.025,
"percent_delta": -0.0909,
"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.1676,
"after": 0.25,
"delta": 0.0824,
"percent_delta": 0.4916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.275,
"after": 0.25,
"delta": -0.025,
"percent_delta": -0.0909,
"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": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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_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_3B",
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 1.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1676,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2301,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.275,
"predicted_SO": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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.25,
"after": 0.1676,
"delta": -0.0824,
"percent_delta": -0.3295,
"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.2301,
"delta": -0.0199,
"percent_delta": -0.0797,
"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.275,
"delta": 0.025,
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.275,
"delta": 0.025,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1676,
"delta": -0.0824,
"percent_delta": -0.3295,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 1.0,
"delta": 0.991,
"percent_delta": 110.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.68,
"after": 3.0,
"delta": -0.68,
"percent_delta": -0.1848,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.157,
"after": 0.1676,
"delta": 0.0106,
"percent_delta": 0.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.0,
"delta": -0.315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.242,
"after": 0.2301,
"delta": -0.0119,
"percent_delta": -0.0492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.398,
"after": 0.0,
"delta": -0.398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.289,
"after": 0.275,
"delta": -0.014,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.241,
"after": 1.0,
"delta": -0.241,
"percent_delta": -0.1942,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.009,
"after": 1.0,
"delta": 0.991,
"percent_delta": 110.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.68,
"after": 3.0,
"delta": -0.68,
"percent_delta": -0.1848,
"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.120 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.680 | - |
| predicted_AVG | 0.157 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.242 | - |
| predicted_R | 0.398 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.289 | - |
| predicted_SO | 1.241 | - |
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.127 | 0.007 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.660 | -0.020 |
| predicted_AVG | 0.165 | 0.008 |
| predicted_BB | 0.295 | -0.020 |
| predicted_H | 0.604 | 0.024 |
| predicted_HBP | 0.111 | - |
| predicted_HR | 0.082 | -0.008 |
| predicted_OBP | 0.246 | 0.005 |
| predicted_R | 0.337 | -0.061 |
| predicted_RBI | 0.365 | 0.015 |
| predicted_SLG | 0.283 | -0.006 |
| predicted_SO | 1.385 | 0.144 |
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.127 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.660 | 0.000 |
| predicted_AVG | 0.168 | 0.003 |
| predicted_BB | 0.297 | 0.002 |
| predicted_H | 0.614 | 0.009 |
| predicted_HBP | 0.111 | 0.000 |
| predicted_HR | 0.084 | 0.002 |
| predicted_OBP | 0.230 | -0.016 |
| predicted_R | 0.345 | 0.009 |
| predicted_RBI | 0.374 | 0.009 |
| predicted_SLG | 0.275 | -0.008 |
| predicted_SO | 1.377 | -0.008 |
AB rounded to 4 (raw=3.68), rates preserved: AVG=0.167 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.127 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.340 |
| predicted_AVG | 0.250 | 0.082 |
| predicted_BB | 0.000 | -0.297 |
| predicted_H | 1.000 | 0.386 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.250 | 0.020 |
| predicted_R | 0.000 | -0.345 |
| predicted_RBI | 0.000 | -0.374 |
| predicted_SLG | 0.250 | -0.025 |
| predicted_SO | 1.000 | -0.377 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 3.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 | 3.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 | - | 18.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 12.000 | 0.0556 | 0.1500 | 0.1111 | 0.0556 | 0.0000 | 0.0556 | 0.0556 | 0.6667 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 1.000 | 0.000 | 0.000 | 3.000 | 0.000 | 2.000 | 20.000 | 0.1622 | 0.2250 | 0.1892 | 0.1622 | 0.0000 | 0.0811 | 0.0541 | 0.5405 |
| season | 0.60 | 108 | - | 389.000 | 82.000 | 13.000 | 1.000 | 12.000 | 50.000 | 43.000 | 34.000 | 134.000 | 0.2108 | 0.2897 | 0.3419 | 0.2108 | 0.0308 | 0.1285 | 0.0874 | 0.3445 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1350 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.6330 |
| predicted_AVG | 0.1751 |
| predicted_BB | 0.2690 |
| predicted_H | 0.6360 |
| predicted_HBP | 0.1110 |
| predicted_HR | 0.0710 |
| predicted_OBP | 0.2525 |
| predicted_R | 0.2560 |
| predicted_RBI | 0.3850 |
| predicted_SLG | 0.2745 |
| predicted_SO | 1.5750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1200 | 0.1350 | 0.1265 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 3.6800 | 3.6330 | 3.6597 | model_form_blend |
| predicted_AVG | 0.1570 | 0.1751 | 0.1648 | model_form_blend |
| predicted_BB | 0.3150 | 0.2690 | 0.2952 | model_form_blend |
| predicted_H | 0.5800 | 0.6360 | 0.6041 | model_form_blend |
| predicted_HBP | - | 0.1110 | 0.1110 | form_only |
| predicted_HR | 0.0900 | 0.0710 | 0.0818 | model_form_blend |
| predicted_OBP | 0.2420 | 0.2525 | 0.2465 | model_form_blend |
| predicted_R | 0.3980 | 0.2560 | 0.3368 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3850 | 0.3651 | model_form_blend |
| predicted_SLG | 0.2890 | 0.2745 | 0.2827 | model_form_blend |
| predicted_SO | 1.2410 | 1.5750 | 1.3850 | 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 | 419 |
| Season rows before report date | 419 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.211 |
| 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 | 3 |
| 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 | 3 |
| 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 | 3B |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 663586 |
| playerID | 663586 |
| playerName | Austin Riley |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.288 |
| sl_xwoba | 0.295 |
| sl_xba | 0.208 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 18.6 |
| sl_whiff_percent | 32.7 |
| sl_swing_percent | 47.9 |
| 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 | 2.190 | 2.000 | -2.190 | -2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.095 | 3.000 | 0.905 | 0.000 |
| predicted_H | 10.000 | 10.000 | 10.000 | Pitching_H | 4.429 | 6.000 | 5.571 | 4.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.619 | 5.000 | 0.381 | 0.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.048 | 5.000 | 1.952 | 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": "656550",
"player_name": "Grant Holmes",
"position": "Starter",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 10.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 10.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 6.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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"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 | 3.000 | - |
| predicted_H | 10.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 6.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.000 | 7.000 | 22.000 | 6.000 | 18.000 | 1.000 | 2.6250 | 1.1667 | 0.2917 | 0.9167 | 0.2500 | 0.7500 | 0.0417 |
| last_10 | 0.35 | 10 | 42.100 | 19.000 | 42.000 | 21.000 | 32.000 | 4.000 | 4.0394 | 1.4882 | 0.4488 | 0.9921 | 0.4961 | 0.7559 | 0.0945 |
| season | 0.20 | 21 | 99.100 | 44.000 | 93.000 | 46.000 | 85.000 | 15.000 | 3.9866 | 1.3993 | 0.4430 | 0.9362 | 0.4631 | 0.8557 | 0.1510 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7360 |
| predicted_ER | 1.8630 |
| predicted_ERA | 3.6159 |
| predicted_H | 4.4170 |
| predicted_HR | 0.4420 |
| predicted_IP | 4.2000 |
| predicted_SO | 3.7510 |
| predicted_WHIP | 1.3270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.7360 | 0.9874 | model_form_blend |
| predicted_ER | 3.0000 | 1.8630 | 2.3533 | model_form_blend |
| predicted_ERA | - | 3.6159 | 3.6159 | form_only |
| predicted_H | 10.0000 | 4.4170 | 6.8247 | model_form_blend |
| predicted_HR | 0.0000 | 0.4420 | 0.2514 | model_form_blend |
| predicted_IP | 5.0000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 6.0000 | 3.7510 | 4.7209 | model_form_blend |
| predicted_WHIP | - | 1.3270 | 1.3270 | 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.0 |
| H | 10 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 6 |
| HR | 0 |
| BF | 25 |
| Pitches | 96 |
| 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 | 22 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.79 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 6 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 91 |
| Pitching_R | 3 |
| Pitching_SO | 5 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260724_ATL@BAL |
| game_type | full |
| mlbID | 656550 |
| playerID | 656550 |
| playerName | Grant Holmes |
| pos | P |
| started | True |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-24 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.319 |
| sl_xwoba | 0.333 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 43.0 |
| sl_whiff_percent | 26.6 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 80.906365556 |
| sl_avg_hyper_speed | 94.612240903 |
| 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.405 | 1.000 | -0.405 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.351 | 0.000 | -0.351 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.027 | 0.000 | -1.027 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.084 | 1.000 | 0.016 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.486 | 3.000 | -0.486 | -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": "800311",
"player_name": "Didier Fuentes",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"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": 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": 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": 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 | 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 | 6.200 | 2.000 | 5.000 | 3.000 | 9.000 | 1.000 | 2.7000 | 1.2000 | 0.3000 | 0.7500 | 0.4500 | 1.3500 | 0.1500 |
| last_10 | 0.35 | 10 | 11.100 | 4.000 | 13.000 | 4.000 | 17.000 | 1.000 | 3.1765 | 1.5000 | 0.3529 | 1.1471 | 0.3529 | 1.5000 | 0.0882 |
| season | 0.20 | 37 | 45.000 | 13.000 | 38.000 | 15.000 | 55.000 | 2.000 | 2.6000 | 1.1778 | 0.2889 | 0.8444 | 0.3333 | 1.2222 | 0.0444 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4780 |
| predicted_ER | 0.4840 |
| predicted_ERA | 3.4582 |
| predicted_H | 1.1730 |
| predicted_HR | 0.1550 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.5440 |
| predicted_WHIP | 1.3118 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4780 | 0.2384 | model_form_blend |
| predicted_ER | 0.0000 | 0.4840 | 0.2414 | model_form_blend |
| predicted_ERA | - | 3.4582 | 3.4582 | form_only |
| predicted_H | 0.0000 | 1.1730 | 0.5850 | model_form_blend |
| predicted_HR | 0.0000 | 0.1550 | 0.0773 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.5440 | 1.2713 | model_form_blend |
| predicted_WHIP | - | 1.3118 | 1.3118 | 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.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 2.60 |
| 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 | 17 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 800311 |
| playerID | 800311 |
| playerName | Didier Fuentes |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 28.2 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.269 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 51.4 |
| sl_avg_best_speed | 79.269238421 |
| sl_avg_hyper_speed | 93.270726991 |
| 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.160 | 0.000 | -0.160 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.560 | 0.000 | -0.560 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.852 | 1.000 | 0.148 | 0.000 |
| 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": "669276",
"player_name": "Dylan Lee",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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 | 5.000 | 4.000 | 4.000 | 1.000 | 6.000 | 2.000 | 7.2000 | 1.0000 | 0.8000 | 0.8000 | 0.2000 | 1.2000 | 0.4000 |
| last_10 | 0.35 | 10 | 10.100 | 5.000 | 7.000 | 3.000 | 14.000 | 2.000 | 4.3548 | 0.9677 | 0.4839 | 0.6774 | 0.2903 | 1.3548 | 0.1935 |
| season | 0.20 | 50 | 48.200 | 12.000 | 28.000 | 8.000 | 60.000 | 3.000 | 2.2192 | 0.7397 | 0.2466 | 0.5753 | 0.1644 | 1.2329 | 0.0616 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2690 |
| predicted_ER | 0.5540 |
| predicted_ERA | 4.9857 |
| predicted_H | 0.8020 |
| predicted_HR | 0.2230 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1580 |
| predicted_WHIP | 1.0711 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2690 | 0.1362 | model_form_blend |
| predicted_ER | 0.0000 | 0.5540 | 0.2805 | model_form_blend |
| predicted_ERA | - | 4.9857 | 4.9857 | form_only |
| predicted_H | 0.0000 | 0.8020 | 0.4060 | model_form_blend |
| predicted_HR | 0.0000 | 0.2230 | 0.1129 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.1580 | 1.5737 | model_form_blend |
| predicted_WHIP | - | 1.0711 | 1.0711 | 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 | 50 |
| Season rows before report date | 50 |
| Report year | 2026 |
| Profile rows used | 50 |
| 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 | 17 |
| 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.22 |
| Pitching_Flyouts | 1 |
| 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 | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 669276 |
| playerID | 669276 |
| playerName | Dylan Lee |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 33.7 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.212 |
| sl_xwoba | 0.232 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 31.8 |
| sl_whiff_percent | 38.3 |
| sl_swing_percent | 54.2 |
| sl_avg_best_speed | 76.313116481 |
| sl_avg_hyper_speed | 92.909842897 |
| 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 | 0.216 | 0.000 | 0.784 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.865 | 0.000 | 0.135 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.989 | 1.000 | 0.011 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.162 | 0.000 | -1.162 | 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": "628452",
"player_name": "Raisel Iglesias",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 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": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 1.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.200 | 2.000 | 4.000 | 1.000 | 6.000 | 2.000 | 3.8571 | 1.0714 | 0.4286 | 0.8571 | 0.2143 | 1.2857 | 0.4286 |
| last_10 | 0.35 | 10 | 9.200 | 6.000 | 10.000 | 2.000 | 12.000 | 3.000 | 5.5862 | 1.2414 | 0.6207 | 1.0345 | 0.2069 | 1.2414 | 0.3103 |
| season | 0.20 | 37 | 38.000 | 10.000 | 32.000 | 8.000 | 43.000 | 4.000 | 2.3684 | 1.0526 | 0.2632 | 0.8421 | 0.2105 | 1.1316 | 0.1053 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2690 |
| predicted_ER | 0.4800 |
| predicted_ERA | 4.3197 |
| predicted_H | 0.9400 |
| predicted_HR | 0.2550 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1280 |
| predicted_WHIP | 1.2086 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2690 | 0.6477 | model_form_blend |
| predicted_ER | 0.0000 | 0.4800 | 0.2313 | model_form_blend |
| predicted_ERA | - | 4.3197 | 4.3197 | form_only |
| predicted_H | 1.0000 | 0.9400 | 0.9711 | model_form_blend |
| predicted_HR | 0.0000 | 0.2550 | 0.1229 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1280 | 0.5437 | model_form_blend |
| predicted_WHIP | - | 1.2086 | 1.2086 | 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.37 |
| Pitching_Flyouts | 2 |
| 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 | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260729_ATL@NYM_2 |
| game_type | full |
| mlbID | 628452 |
| playerID | 628452 |
| playerName | Raisel Iglesias |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 29.3 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.275 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 35.4 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 55.2 |
| sl_avg_best_speed | 76.933455 |
| sl_avg_hyper_speed | 93.253971474 |
| 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.364 | 0.000 | -0.364 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.409 | 0.000 | -0.409 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.727 | 0.000 | -0.727 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.755 | 1.000 | -0.555 | -0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.864 | 0.000 | 1.136 | 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: 0.6667 -> 0.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: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641755",
"player_name": "Tyler Kinley",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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": 0.2,
"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": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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": 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": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"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 | 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 | 4.100 | 2.000 | 3.000 | 2.000 | 3.000 | 1.000 | 4.1538 | 1.1538 | 0.4615 | 0.6923 | 0.4615 | 0.6923 | 0.2308 |
| last_10 | 0.35 | 10 | 7.200 | 5.000 | 5.000 | 5.000 | 6.000 | 2.000 | 5.8696 | 1.3043 | 0.6522 | 0.6522 | 0.6522 | 0.7826 | 0.2609 |
| season | 0.20 | 44 | 38.100 | 18.000 | 32.000 | 16.000 | 38.000 | 8.000 | 4.2261 | 1.2522 | 0.4696 | 0.8348 | 0.4174 | 0.9913 | 0.2087 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3630 |
| predicted_ER | 0.4150 |
| predicted_ERA | 4.6841 |
| predicted_H | 0.6490 |
| predicted_HR | 0.1620 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6800 |
| predicted_WHIP | 1.2680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3630 | 0.1753 | model_form_blend |
| predicted_ER | 0.0000 | 0.4150 | 0.2004 | model_form_blend |
| predicted_ERA | - | 4.6841 | 4.6841 | form_only |
| predicted_H | 0.0000 | 0.6490 | 0.3134 | model_form_blend |
| predicted_HR | 0.0000 | 0.1620 | 0.0782 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.6800 | 1.3626 | model_form_blend |
| predicted_WHIP | - | 1.2680 | 1.2680 | 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 | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 44 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 2 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.23 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260729_ATL@NYM |
| game_type | full |
| mlbID | 641755 |
| playerID | 641755 |
| playerName | Tyler Kinley |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-29 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.329 |
| sl_xwoba | 0.279 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 27.0 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 43.4 |
| sl_avg_best_speed | 73.6186132 |
| sl_avg_hyper_speed | 92.58416303 |