Ultra Detailed Player Audit - 20260929

Player-by-player trace from JSON pipeline. Metric-by-metric comparison without wide horizontal table dependency.

Windows shown explicitly: newly generated team recent form targets the latest 10 games; each game below shows the window actually stored in its artifact. Player historical helpers = 75 games; balancing rates = 162 games.

Savant layers shown explicitly: hitter Statcast quality, pitcher Statcast quality, and pitch movement from embedded data/all_players_stats.csv features.

Color guide: Red = final above baseline, Blue = final below baseline, Green = no difference.

20260929_BOS@NYY

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 2, "home_runs": 4, "confidence": 0.54, "home_win_probability": 0.54, "away_win_probability": 0.45999999999999996, "predicted_score_text": "BOS 2 - 4 NYY", "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.6229, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.023231356759222315, "contact": 0.01854986565616788, "power": 0.07571445191288273, "discipline": 0.004438552303714274, "xwoba": 0.31709090909090903, "recent_xwoba": 0.31709090909090903, "barrel": 8.193939393939393, "ab_hard_contact": 0.0910624870311031, "ab_bat_speed": 70.49641829941295, "ab_strikeout_rate": 0.2197627463975845, "available_players": 9, "top_players": [{"player_id": "702332", "player_name": "Caleb Durbin", "position": "3B", "weight": 3.0, "quality": -0.72914012829292, "contact": -0.6628584341643211, "power": -1.2069446391851557, "discipline": 0.6018846704795611, "xwoba": 0.291, "recent_xwoba": 0.291, "barrel": 2.7, "ab_hard_contact": -0.9061308789412061, "ab_bat_speed": 66.65650831305759, "ab_strikeout_rate": 0.13905688796199744, "available": 1.0}, {"player_id": "575929", "player_name": "Willson Contreras", "position": "1B", "weight": 4.0, "quality": 0.7473019309598263, "contact": 0.7638148874216593, "power": 1.098653552445118, "discipline": -0.021030502469526757, "xwoba": 0.376, "recent_xwoba": 0.376, "barrel": 13.3, "ab_hard_contact": 1.0987853346166456, "ab_bat_speed": 74.97971402761647, "ab_strikeout_rate": 0.2549006323396567, "available": 1.0}, {"player_id": "596115", "player_name": "Trevor Story", "position": "SS", "weight": 3.0, "quality": -0.8374835024050465, "contact": -1.0571866643292582, "power": -0.593874144722772, "discipline": -1.1642370129870128, "xwoba": 0.248, "recent_xwoba": 0.248, "barrel": 5.4, "ab_hard_contact": 0.20670758173503648, "ab_bat_speed": 69.5356501558957, "ab_strikeout_rate": 0.31875000000000003, "available": 1.0}, {"player_id": "677800", "player_name": "Wilyer Abreu", "position": "RF", "weight": 4.0, "quality": 0.6453722830574521, "contact": 0.5492712667223292, "power": 0.9204730255911104, "discipline": 0.2979803591470259, "xwoba": 0.346, "recent_xwoba": 0.346, "barrel": 12.5, "ab_hard_contact": 0.44755574991743796, "ab_bat_speed": 72.92543339395944, "ab_strikeout_rate": 0.18917548500881834, "available": 1.0}, {"player_id": "701350", "player_name": "Roman Anthony", "position": "DH", "weight": 4.0, "quality": 0.5900556853804907, "contact": 0.6268064836668973, "power": 0.8171005095092105, "discipline": 0.10933803877282139, "xwoba": 0.341, "recent_xwoba": 0.341, "barrel": 11.7, "ab_hard_contact": 1.0387720949461172, "ab_bat_speed": 73.94998792270532, "ab_strikeout_rate": 0.25724637681159424, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "693645", "player_name": "Cam Schlittler", "quality": 0.8389052494967194, "contact": 1.002442458490714, "command": 0.6579150326797385, "movement": 1.56471520104096, "xwoba": 0.262, "whiff": 29.4, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "NYY", "original_runs": 4, "run_delta": -0.3088, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 34.0, "quality": 0.2584032173026917, "contact": 0.16270864232551194, "power": 0.4820810980382363, "discipline": -0.15404329760047214, "xwoba": 0.3207941176470588, "recent_xwoba": 0.3207941176470588, "barrel": 10.255882352941178, "ab_hard_contact": 0.24864717084875423, "ab_bat_speed": 71.19800685760754, "ab_strikeout_rate": 0.25987351150421545, "available_players": 9, "top_players": [{"player_id": "700250", "player_name": "Ben Rice", "position": "DH", "weight": 4.0, "quality": 1.0875181841098063, "contact": 1.1029687312583543, "power": 1.4655395002403322, "discipline": 0.4115931514528637, "xwoba": 0.378, "recent_xwoba": 0.378, "barrel": 14.300000000000002, "ab_hard_contact": 0.8848852429018725, "ab_bat_speed": 71.42264696813977, "ab_strikeout_rate": 0.24306269270298048, "available": 1.0}, {"player_id": "682987", "player_name": "Spencer Jones", "position": "CF", "weight": 4.0, "quality": 0.6374568959231188, "contact": 0.4078199002616467, "power": 1.4860828117315443, "discipline": -1.0000003854592896, "xwoba": 0.328, "recent_xwoba": 0.328, "barrel": 15.9, "ab_hard_contact": 0.4772752822499322, "ab_bat_speed": 75.76573781567421, "ab_strikeout_rate": 0.39008480104370513, "available": 1.0}, {"player_id": "671218", "player_name": "Heliot Ramos", "position": "RF", "weight": 4.0, "quality": 0.600175176157839, "contact": 0.5144510783011279, "power": 1.0795688756766737, "discipline": -0.5458838383838384, "xwoba": 0.329, "recent_xwoba": 0.329, "barrel": 13.8, "ab_hard_contact": 0.5029965611525185, "ab_bat_speed": 71.38892731481482, "ab_strikeout_rate": 0.27461111111111114, "available": 1.0}, {"player_id": "683011", "player_name": "Anthony Volpe", "position": "2B", "weight": 4.0, "quality": -0.31256256563571055, "contact": -0.34799093681928805, "power": -0.5052406462670672, "discipline": 0.16689476041200177, "xwoba": 0.291, "recent_xwoba": 0.291, "barrel": 4.9, "ab_hard_contact": -0.07738435391278711, "ab_bat_speed": 69.5652346743295, "ab_strikeout_rate": 0.22068965517241382, "available": 1.0}, {"player_id": "641355", "player_name": "Cody Bellinger", "position": "LF", "weight": 4.0, "quality": 0.35505717316423285, "contact": 0.5371742720936451, "power": 0.1171251617740629, "discipline": 0.6290348124098125, "xwoba": 0.335, "recent_xwoba": 0.335, "barrel": 6.6, "ab_hard_contact": 0.36269371167173226, "ab_bat_speed": 69.03931248346561, "ab_strikeout_rate": 0.15433531746031745, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "801139", "player_name": "Payton Tolle", "quality": 0.8032389126691336, "contact": 1.0472513732503175, "command": 0.4163436041083099, "movement": 0.9638282049805513, "xwoba": 0.255, "whiff": 27.9, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}}, "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.3398, "recent_form_edge_home_minus_away": 0.23, "pitcher_matchup_edge_home_minus_away": -0.0121, "composite_home_edge": 0.5778, "existing_home_win_probability": 0.5554, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 0.5778}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.555379, "uncapped_away_win_probability": 0.444621, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.555379, "discount_factor": 0.85, "published_confidence": 0.54, "guardrail_confidence_cap": 0.54, "guardrail_cap_enforced": true, "applied_discounts": [{"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.7, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.54, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 2, "home_runs": 4, "predicted_score_text": "BOS 2 - 4 NYY", "confidence": 0.54, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 2, "home_runs": 4, "score_text": "BOS 2 - 4 NYY", "winner": "NYY"}, "final_simulation_score": {"away_runs": 2, "home_runs": 4, "score_text": "BOS 2 - 4 NYY", "winner": "NYY"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.0121, "recent_form_edge_home_minus_away": 0.23, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 2, "home_runs": 4, "winner": "NYY", "model_winner": "NYY", "simulation_winner": "NYY", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 6, "published_winner": "NYY", "published_winner_draw_share": 0.5, "draw_majority_team": null, "published_winner_is_draw_majority": false, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 2, "simulation_margin": 2, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 2, "home_runs": 4}, "simulation_score": {"away_runs": 2, "home_runs": 4}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 2, "final_margin": 2, "winner_quality_edge": 0.3398, "winner": "NYY", "score_reviewed": {"away_runs": 2, "home_runs": 4, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "NYY", "display_confidence": 0.54, "internal_signal_score": 0.5577, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.54, "confidence_compression_detected": false, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "low_total_lean", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 2, "winner_quality_edge": 0.3398, "winner_recent_form_edge": 0.16, "winner_pitcher_matchup_edge": -0.0121, "winner_simulation_draw_rate": 0.5, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.5, "total_runs_spread": {"min": 2, "median": 7, "max": 9, "range": 7}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionBOS 2 - 4 NYYNYY0.540enhanced_prediction.pre_simulation_targetTrue
Simulation drawBOS 2 - 4 NYYNYY-organic_simulation_realized_targetTrue

The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.

Full Prediction Process

Optimization Roadmap Runtime Status

This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.4601; empirical=0.5749; weight=0.5000; final=0.5175
P1H2H margin as base featureavailablehome net=16; abs=16; home delta=0.0923; away delta=-0.0923
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=2.2500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=0.4366; recent edge=0.1600; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.4000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5400
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml3.7605.471-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction340.5400Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
4embedded_savant_run_environment24-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review24-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target24-Capped at max 12 realistic runs
7simulation_result24-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.7100625090277582,
  "base_low_score_probability": 0.4262554369315935,
  "low_score_signal_threshold": 0.5062554369315935,
  "low_score_signal_strength": 0.28380707209616474,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0712000000000002,
    "combined": 1.6658145504000006
  },
  "prediction": "low_scoring",
  "expected_total_runs": 6,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.4,
  "low_score_model_expected_total_runs": 6.4,
  "final_simulation_total_runs": 6,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 454,
  "near_bucket_sample_size": 454,
  "medium_bucket_sample_size": 931,
  "wide_bucket_sample_size": 1099,
  "global_sample_size": 1116,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5749,
  "bayesian_hit_rate": 0.572,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5973,
  "raw_pick_probability_unclamped": 0.5973,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.5073,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5568,
  "score_implied_floor_pick_probability": 0.5071,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.597293,
  "uncapped_away_win_probability": 0.402707,
  "calibrated_pick_probability": 0.5554,
  "predicted_side": "home",
  "reliability": 0.961864,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.975212
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.4601,
  "sample_size": 454,
  "empirical_hit_rate": 0.5749,
  "empirical_weight": 0.5,
  "blended_confidence": 0.5175,
  "published_confidence": 0.54,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": 16.0,
  "absolute_net_margin": 16.0,
  "home_average_margin": 3.2,
  "home_run_delta": 0.0923,
  "away_run_delta": -0.0923,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 15.0
    },
    {
      "game_id": null,
      "home_margin": 7.0
    },
    {
      "game_id": null,
      "home_margin": -6.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.577639751552795,
    "runs_scored": 739,
    "runs_allowed": 601,
    "run_differential": 138,
    "run_differential_per_game": 0.8571428571428571,
    "available": true
  },
  "away": {
    "team": "BOS",
    "games": 162,
    "wins": 87,
    "losses": 75,
    "win_pct": 0.5370370370370371,
    "runs_scored": 689,
    "runs_allowed": 611,
    "run_differential": 78,
    "run_differential_per_game": 0.48148148148148145,
    "available": true
  },
  "run_differential_edge_per_game": 0.3757,
  "win_pct_edge": 0.0406,
  "quality_edge": 0.3398,
  "season_quality_edge": 0.4366,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.4366,
    "recent_quality_edge": 0.16,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": 0.3398
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.02977999552619565
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.028299020330958595
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.027920813842935526
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.027284242285591977
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.026775108419609717
    }
  ],
  "home_distribution": {
    "0": 0.08934411812353953,
    "1": 0.12914603979535405,
    "2": 0.1603566349998798,
    "3": 0.17103440822877292,
    "4": 0.1567006358070743,
    "5": 0.1233243235615736,
    "6": 0.08337146626985006,
    "7": 0.04841465609872311,
    "8": 0.024150547298842237,
    "9": 0.01034827156487325,
    "10": 0.0038088982515172886
  },
  "away_distribution": {
    "0": 0.09318405526785921,
    "1": 0.13433465606203532,
    "2": 0.16545805387361748,
    "3": 0.17411698519962368,
    "4": 0.15654808115449936,
    "5": 0.12025627343088624,
    "6": 0.07892618611896245,
    "7": 0.04425760169079799,
    "8": 0.02120352259904954,
    "9": 0.00867923688573888,
    "10": 0.0030353477169295655
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.54,
  "winner_flipped": false,
  "reasons": [
    "predicted side recently lost this matchup by 5+ runs",
    "recent head-to-head is split and volatile",
    "a prior same-side pick already missed against the actual result",
    "a prior same-side pick missed by 5+ actual runs"
  ],
  "signals": {
    "predicted_team": "NYY",
    "opponent_team": "BOS",
    "h2h_net_margin": 16,
    "opponent_breakout": false,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-08-30",
        "predicted_team_runs": 16,
        "opponent_runs": 1,
        "margin_for_predicted_team": 15,
        "winner": "NYY"
      },
      {
        "date": "2026-08-29",
        "predicted_team_runs": 9,
        "opponent_runs": 2,
        "margin_for_predicted_team": 7,
        "winner": "NYY"
      },
      {
        "date": "2026-08-29",
        "predicted_team_runs": 0,
        "opponent_runs": 6,
        "margin_for_predicted_team": -6,
        "winner": "BOS"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 7,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 3,
      "same_pick_blowout_loss_count": 1,
      "prior_predictions": [
        {
          "date": "20260830",
          "away": "BOS",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "BOS",
          "actual_winner": "NYY",
          "actual_margin": 15,
          "raw_pick_probability": 0.53,
          "artifact": "20260830_BOS@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260829",
          "away": "BOS",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "BOS",
          "actual_winner": "BOS",
          "actual_margin": 6,
          "raw_pick_probability": 0.53,
          "artifact": "20260829_BOS@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260829",
          "away": "BOS",
          "home": "NYY",
          "game_number": 2,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 7,
          "raw_pick_probability": 0.533674,
          "artifact": "20260829_BOS@NYY_2.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260828",
          "away": "BOS",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 1,
          "raw_pick_probability": 0.53,
          "artifact": "20260828_BOS@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260627",
          "away": "NYY",
          "home": "BOS",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "BOS",
          "actual_margin": 3,
          "raw_pick_probability": 0.53,
          "artifact": "20260627_NYY@BOS.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "NYY",
    "guardrail_opponent_team": "BOS",
    "output_pre_simulation_winner": "NYY",
    "output_opponent_team": "BOS",
    "simulation_score_winner": "NYY",
    "final_score_winner": "NYY",
    "pre_simulation_winner": "NYY",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": false,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "BOS 2 - 4 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "BOS 2 - 4 NYY",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0121,
      "recent_form_edge_home_minus_away": 0.23,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 2,
      "home_runs": 4,
      "winner": "NYY",
      "model_winner": "NYY",
      "simulation_winner": "NYY",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "NYY",
        "published_winner_draw_share": 0.5,
        "draw_majority_team": null,
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 2,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 2,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.3398,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 2,
        "home_runs": 4,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "NYY",
      "games": 161,
      "wins": 93,
      "losses": 68,
      "win_pct": 0.577639751552795,
      "runs_scored": 739,
      "runs_allowed": 601,
      "run_differential": 138,
      "run_differential_per_game": 0.8571428571428571,
      "available": true
    },
    "away": {
      "team": "BOS",
      "games": 162,
      "wins": 87,
      "losses": 75,
      "win_pct": 0.5370370370370371,
      "runs_scored": 689,
      "runs_allowed": 611,
      "run_differential": 78,
      "run_differential_per_game": 0.48148148148148145,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.3398,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.5175,
  "final_confidence": 0.5554,
  "calibrated_pick_probability": 0.5554,
  "shrinkage_weight": 0.975212,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 454,
  "calibration_empirical_hit_rate": 0.5749,
  "calibration_bayesian_hit_rate": 0.572,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.3398,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 3,
      "home_runs": 4
    },
    "margin": 1,
    "probability_before": 0.555379,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.975212,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.555379,
    "aligned_pick_probability": 0.555379
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 26,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 2,
    "home_runs": 4,
    "score_text": "BOS 2 - 4 NYY",
    "winner": "NYY"
  },
  "final_simulation_score": {
    "away_runs": 2,
    "home_runs": 4,
    "score_text": "BOS 2 - 4 NYY",
    "winner": "NYY"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.0121,
    "recent_form_edge_home_minus_away": 0.23,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 2,
    "home_runs": 4,
    "winner": "NYY",
    "model_winner": "NYY",
    "simulation_winner": "NYY",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 6,
      "published_winner": "NYY",
      "published_winner_draw_share": 0.5,
      "draw_majority_team": null,
      "published_winner_is_draw_majority": false,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 2,
    "simulation_margin": 2,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 2,
      "home_runs": 4
    },
    "simulation_score": {
      "away_runs": 2,
      "home_runs": 4
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 2,
    "final_margin": 2,
    "winner_quality_edge": 0.3398,
    "winner": "NYY",
    "score_reviewed": {
      "away_runs": 2,
      "home_runs": 4,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 2,
  "home_runs": 4,
  "confidence": 0.54,
  "home_win_probability": 0.54,
  "away_win_probability": 0.45999999999999996,
  "predicted_score_text": "BOS 2 - 4 NYY",
  "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.6229,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.023231356759222315,
        "contact": 0.01854986565616788,
        "power": 0.07571445191288273,
        "discipline": 0.004438552303714274,
        "xwoba": 0.31709090909090903,
        "recent_xwoba": 0.31709090909090903,
        "barrel": 8.193939393939393,
        "ab_hard_contact": 0.0910624870311031,
        "ab_bat_speed": 70.49641829941295,
        "ab_strikeout_rate": 0.2197627463975845,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "702332",
            "player_name": "Caleb Durbin",
            "position": "3B",
            "weight": 3.0,
            "quality": -0.72914012829292,
            "contact": -0.6628584341643211,
            "power": -1.2069446391851557,
            "discipline": 0.6018846704795611,
            "xwoba": 0.291,
            "recent_xwoba": 0.291,
            "barrel": 2.7,
            "ab_hard_contact": -0.9061308789412061,
            "ab_bat_speed": 66.65650831305759,
            "ab_strikeout_rate": 0.13905688796199744,
            "available": 1.0
          },
          {
            "player_id": "575929",
            "player_name": "Willson Contreras",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.7473019309598263,
            "contact": 0.7638148874216593,
            "power": 1.098653552445118,
            "discipline": -0.021030502469526757,
            "xwoba": 0.376,
            "recent_xwoba": 0.376,
            "barrel": 13.3,
            "ab_hard_contact": 1.0987853346166456,
            "ab_bat_speed": 74.97971402761647,
            "ab_strikeout_rate": 0.2549006323396567,
            "available": 1.0
          },
          {
            "player_id": "596115",
            "player_name": "Trevor Story",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.8374835024050465,
            "contact": -1.0571866643292582,
            "power": -0.593874144722772,
            "discipline": -1.1642370129870128,
            "xwoba": 0.248,
            "recent_xwoba": 0.248,
            "barrel": 5.4,
            "ab_hard_contact": 0.20670758173503648,
            "ab_bat_speed": 69.5356501558957,
            "ab_strikeout_rate": 0.31875000000000003,
            "available": 1.0
          },
          {
            "player_id": "677800",
            "player_name": "Wilyer Abreu",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.6453722830574521,
            "contact": 0.5492712667223292,
            "power": 0.9204730255911104,
            "discipline": 0.2979803591470259,
            "xwoba": 0.346,
            "recent_xwoba": 0.346,
            "barrel": 12.5,
            "ab_hard_contact": 0.44755574991743796,
            "ab_bat_speed": 72.92543339395944,
            "ab_strikeout_rate": 0.18917548500881834,
            "available": 1.0
          },
          {
            "player_id": "701350",
            "player_name": "Roman Anthony",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.5900556853804907,
            "contact": 0.6268064836668973,
            "power": 0.8171005095092105,
            "discipline": 0.10933803877282139,
            "xwoba": 0.341,
            "recent_xwoba": 0.341,
            "barrel": 11.7,
            "ab_hard_contact": 1.0387720949461172,
            "ab_bat_speed": 73.94998792270532,
            "ab_strikeout_rate": 0.25724637681159424,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "693645",
        "player_name": "Cam Schlittler",
        "quality": 0.8389052494967194,
        "contact": 1.002442458490714,
        "command": 0.6579150326797385,
        "movement": 1.56471520104096,
        "xwoba": 0.262,
        "whiff": 29.4,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "NYY",
      "original_runs": 4,
      "run_delta": -0.3088,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 34.0,
        "quality": 0.2584032173026917,
        "contact": 0.16270864232551194,
        "power": 0.4820810980382363,
        "discipline": -0.15404329760047214,
        "xwoba": 0.3207941176470588,
        "recent_xwoba": 0.3207941176470588,
        "barrel": 10.255882352941178,
        "ab_hard_contact": 0.24864717084875423,
        "ab_bat_speed": 71.19800685760754,
        "ab_strikeout_rate": 0.25987351150421545,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "700250",
            "player_name": "Ben Rice",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.0875181841098063,
            "contact": 1.1029687312583543,
            "power": 1.4655395002403322,
            "discipline": 0.4115931514528637,
            "xwoba": 0.378,
            "recent_xwoba": 0.378,
            "barrel": 14.300000000000002,
            "ab_hard_contact": 0.8848852429018725,
            "ab_bat_speed": 71.42264696813977,
            "ab_strikeout_rate": 0.24306269270298048,
            "available": 1.0
          },
          {
            "player_id": "682987",
            "player_name": "Spencer Jones",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.6374568959231188,
            "contact": 0.4078199002616467,
            "power": 1.4860828117315443,
            "discipline": -1.0000003854592896,
            "xwoba": 0.328,
            "recent_xwoba": 0.328,
            "barrel": 15.9,
            "ab_hard_contact": 0.4772752822499322,
            "ab_bat_speed": 75.76573781567421,
            "ab_strikeout_rate": 0.39008480104370513,
            "available": 1.0
          },
          {
            "player_id": "671218",
            "player_name": "Heliot Ramos",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.600175176157839,
            "contact": 0.5144510783011279,
            "power": 1.0795688756766737,
            "discipline": -0.5458838383838384,
            "xwoba": 0.329,
            "recent_xwoba": 0.329,
            "barrel": 13.8,
            "ab_hard_contact": 0.5029965611525185,
            "ab_bat_speed": 71.38892731481482,
            "ab_strikeout_rate": 0.27461111111111114,
            "available": 1.0
          },
          {
            "player_id": "683011",
            "player_name": "Anthony Volpe",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.31256256563571055,
            "contact": -0.34799093681928805,
            "power": -0.5052406462670672,
            "discipline": 0.16689476041200177,
            "xwoba": 0.291,
            "recent_xwoba": 0.291,
            "barrel": 4.9,
            "ab_hard_contact": -0.07738435391278711,
            "ab_bat_speed": 69.5652346743295,
            "ab_strikeout_rate": 0.22068965517241382,
            "available": 1.0
          },
          {
            "player_id": "641355",
            "player_name": "Cody Bellinger",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.35505717316423285,
            "contact": 0.5371742720936451,
            "power": 0.1171251617740629,
            "discipline": 0.6290348124098125,
            "xwoba": 0.335,
            "recent_xwoba": 0.335,
            "barrel": 6.6,
            "ab_hard_contact": 0.36269371167173226,
            "ab_bat_speed": 69.03931248346561,
            "ab_strikeout_rate": 0.15433531746031745,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "801139",
        "player_name": "Payton Tolle",
        "quality": 0.8032389126691336,
        "contact": 1.0472513732503175,
        "command": 0.4163436041083099,
        "movement": 0.9638282049805513,
        "xwoba": 0.255,
        "whiff": 27.9,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    }
  },
  "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.3398,
      "recent_form_edge_home_minus_away": 0.23,
      "pitcher_matchup_edge_home_minus_away": -0.0121,
      "composite_home_edge": 0.5778,
      "existing_home_win_probability": 0.5554,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 0.5778
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.555379,
  "uncapped_away_win_probability": 0.444621,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.555379,
    "discount_factor": 0.85,
    "published_confidence": 0.54,
    "guardrail_confidence_cap": 0.54,
    "guardrail_cap_enforced": true,
    "applied_discounts": [
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.7,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.54,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 2,
    "home_runs": 4,
    "predicted_score_text": "BOS 2 - 4 NYY",
    "confidence": 0.54,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "BOS 2 - 4 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 2,
      "home_runs": 4,
      "score_text": "BOS 2 - 4 NYY",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0121,
      "recent_form_edge_home_minus_away": 0.23,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 2,
      "home_runs": 4,
      "winner": "NYY",
      "model_winner": "NYY",
      "simulation_winner": "NYY",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "NYY",
        "published_winner_draw_share": 0.5,
        "draw_majority_team": null,
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 2,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 2,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.3398,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 2,
        "home_runs": 4,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "NYY",
    "display_confidence": 0.54,
    "internal_signal_score": 0.5577,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.54,
    "confidence_compression_detected": false,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "low_total_lean",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 2,
      "winner_quality_edge": 0.3398,
      "winner_recent_form_edge": 0.16,
      "winner_pitcher_matchup_edge": -0.0121,
      "winner_simulation_draw_rate": 0.5,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.5,
      "total_runs_spread": {
        "min": 2,
        "median": 7,
        "max": 9,
        "range": 7
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

Savant Batter Quality

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.

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away BOSTrue1.01611.0161190
Home NYYTrue1.03821.0382190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHRoman Anthony-1.06490.8656neutral0.34100.25900.424011.7046.60926.102927.30120.4286
1BWillson Contreras-1.08731.1643neutral0.37600.25600.484013.3044.2089.8017.9030.8025.2011-0.4286
CFCeddanne Rafaela-0.9697-0.4034negative_batter_regression0.28500.24900.36205.4031.9086.301224.8020.303.80-1.2857
RFWilyer Abreu-1.07450.9928neutral0.34600.25300.468012.5043.5089.8018.9024.6020.7010.400.3143
CAdley Rutschman-1.03840.5118neutral0.32700.25400.4120738.5088.9014.7016.3016.609.500.1143
2BNick Sogard-0.9978-0.0293neutral0.31100.25100.35504.8028.6086.8016.1020.4020.2011.20-0.4000
LFJarren Duran-1.01970.2631neutral0.30100.23700.38809.1039.9089.6012.5033.5027.106.700.7714
3BCaleb Durbin-0.9556-0.5920neutral0.29100.23400.31602.702583.1012.3016.4013.508.70-0.7429
SSTrevor Story-0.9372-0.8369neutral0.24800.21100.31705.4036.5087.1014.8031.8032.304.10-0.6857

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFHeliot Ramos-1.06720.8961neutral0.32900.25600.446013.8048.4092.206.8029.3027.4070.4857
1BPaul Goldschmidt-1.01340.1793neutral0.31100.23800.41409.9035.9086.8014.6026.4022.607.60-0.5429
SSGeorge Lombard Jr.-1.00010.0012neutral0.29800.24000.38808.2035.1087.108.5025.6026.506-0.1429
2BAnthony Volpe-0.9854-0.1947neutral0.29100.23200.33404.903787.9012.6025.2022.8010.20-0.1714
LFCody Bellinger-1.04500.6002neutral0.33500.27100.41106.6037.8089.2017.602015.8010.50-0.0286
DHBen Rice-1.11091.4788neutral0.37800.26700.511014.3048.6091.9014.5025.4024.3012.70-0.1714
CFSpencer Jones-1.07831.0438neutral0.32800.23800.455015.9055.1094.1020.6038.7036.308.700.1429
3BAmed Rosario-1.03390.4522neutral0.30900.25000.424010.4039.3090.2011.5026.7023.405.700.3429
CAustin Wells-1.01000.1333neutral0.30000.20800.36007.7042.7089.3020.5027.9026.5012.400.5429
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0382,
    "raw_average_factor": 1.0382,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "671218",
        "player_name": "Heliot Ramos",
        "offense_factor": 1.0672,
        "quality_score": 0.8961,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671218",
          "espn_rank": null
        },
        "metrics": {
          "pa": 392.0,
          "k_percent": 27.4,
          "bb_percent": 7.0,
          "woba": 0.312,
          "xwoba": 0.329,
          "xba": 0.256,
          "xslg": 0.446,
          "sweet_spot_percent": 34.4,
          "barrel_batted_rate": 13.8,
          "hard_hit_percent": 48.4,
          "exit_velocity_avg": 92.2,
          "launch_angle_avg": 6.8,
          "whiff_percent": 29.3,
          "swing_percent": 50.4
        },
        "components": {
          "expected_quality": 0.9629,
          "regression_edge": 0.4857,
          "xwoba_edge": 0.8571,
          "xba_edge": 0.5714,
          "xslg_edge": 1.1857,
          "barrel_edge": 1.6,
          "hard_hit_edge": 1.5429,
          "exit_velocity_edge": 1.52,
          "sweet_spot_edge": 0.1833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "502671",
        "player_name": "Paul Goldschmidt",
        "offense_factor": 1.0134,
        "quality_score": 0.1793,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "502671",
          "espn_rank": null
        },
        "metrics": {
          "pa": 354.0,
          "k_percent": 22.6,
          "bb_percent": 7.6,
          "woba": 0.33,
          "xwoba": 0.311,
          "xba": 0.238,
          "xslg": 0.414,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 9.9,
          "hard_hit_percent": 35.9,
          "exit_velocity_avg": 86.8,
          "launch_angle_avg": 14.6,
          "whiff_percent": 26.4,
          "swing_percent": 48.3
        },
        "components": {
          "expected_quality": 0.2969,
          "regression_edge": -0.5429,
          "xwoba_edge": 0.3429,
          "xba_edge": 0.0571,
          "xslg_edge": 0.7286,
          "barrel_edge": 0.7333,
          "hard_hit_edge": -0.2429,
          "exit_velocity_edge": -0.64,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "806146",
        "player_name": "George Lombard Jr.",
        "offense_factor": 1.0001,
        "quality_score": 0.0012,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "806146",
          "espn_rank": null
        },
        "metrics": {
          "pa": 127.0,
          "k_percent": 26.5,
          "bb_percent": 6.0,
          "woba": 0.303,
          "xwoba": 0.298,
          "xba": 0.24,
          "xslg": 0.388,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 35.1,
          "exit_velocity_avg": 87.1,
          "launch_angle_avg": 8.5,
          "whiff_percent": 25.6,
          "swing_percent": 46.8
        },
        "components": {
          "expected_quality": 0.0257,
          "regression_edge": -0.1429,
          "xwoba_edge": -0.0286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.3571,
          "barrel_edge": 0.3556,
          "hard_hit_edge": -0.3571,
          "exit_velocity_edge": -0.52,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "683011",
        "player_name": "Anthony Volpe",
        "offense_factor": 0.9854,
        "quality_score": -0.1947,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683011",
          "espn_rank": null
        },
        "metrics": {
          "pa": 209.0,
          "k_percent": 22.8,
          "bb_percent": 10.2,
          "woba": 0.297,
          "xwoba": 0.291,
          "xba": 0.232,
          "xslg": 0.334,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 4.9,
          "hard_hit_percent": 37.0,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 12.6,
          "whiff_percent": 25.2,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": -0.2104,
          "regression_edge": -0.1714,
          "xwoba_edge": -0.2286,
          "xba_edge": -0.1143,
          "xslg_edge": -0.4143,
          "barrel_edge": -0.3778,
          "hard_hit_edge": -0.0857,
          "exit_velocity_edge": -0.2,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "641355",
        "player_name": "Cody Bellinger",
        "offense_factor": 1.045,
        "quality_score": 0.6002,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "641355",
          "espn_rank": null
        },
        "metrics": {
          "pa": 521.0,
          "k_percent": 15.8,
          "bb_percent": 10.5,
          "woba": 0.336,
          "xwoba": 0.335,
          "xba": 0.271,
          "xslg": 0.411,
          "sweet_spot_percent": 38.2,
          "barrel_batted_rate": 6.6,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 17.6,
          "whiff_percent": 20.0,
          "swing_percent": 47.1
        },
        "components": {
          "expected_quality": 0.7026,
          "regression_edge": -0.0286,
          "xwoba_edge": 1.0286,
          "xba_edge": 1.0,
          "xslg_edge": 0.6857,
          "barrel_edge": 0.0,
          "hard_hit_edge": 0.0286,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.8167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "700250",
        "player_name": "Ben Rice",
        "offense_factor": 1.1109,
        "quality_score": 1.4788,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "700250",
          "espn_rank": null
        },
        "metrics": {
          "pa": 611.0,
          "k_percent": 24.3,
          "bb_percent": 12.7,
          "woba": 0.384,
          "xwoba": 0.378,
          "xba": 0.267,
          "xslg": 0.511,
          "sweet_spot_percent": 38.4,
          "barrel_batted_rate": 14.3,
          "hard_hit_percent": 48.6,
          "exit_velocity_avg": 91.9,
          "launch_angle_avg": 14.5,
          "whiff_percent": 25.4,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": 1.7474,
          "regression_edge": -0.1714,
          "xwoba_edge": 2.2571,
          "xba_edge": 0.8857,
          "xslg_edge": 2.1143,
          "barrel_edge": 1.7111,
          "hard_hit_edge": 1.5714,
          "exit_velocity_edge": 1.4,
          "sweet_spot_edge": 0.85,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "682987",
        "player_name": "Spencer Jones",
        "offense_factor": 1.0783,
        "quality_score": 1.0438,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682987",
          "espn_rank": null
        },
        "metrics": {
          "pa": 253.0,
          "k_percent": 36.3,
          "bb_percent": 8.7,
          "woba": 0.323,
          "xwoba": 0.328,
          "xba": 0.238,
          "xslg": 0.455,
          "sweet_spot_percent": 43.9,
          "barrel_batted_rate": 15.9,
          "hard_hit_percent": 55.1,
          "exit_velocity_avg": 94.1,
          "launch_angle_avg": 20.6,
          "whiff_percent": 38.7,
          "swing_percent": 53.2
        },
        "components": {
          "expected_quality": 1.1904,
          "regression_edge": 0.1429,
          "xwoba_edge": 0.8286,
          "xba_edge": 0.0571,
          "xslg_edge": 1.3143,
          "barrel_edge": 2.0667,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.28,
          "sweet_spot_edge": 1.7667,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "3B",
        "player_id": "642708",
        "player_name": "Amed Rosario",
        "offense_factor": 1.0339,
        "quality_score": 0.4522,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "642708",
          "espn_rank": null
        },
        "metrics": {
          "pa": 225.0,
          "k_percent": 23.4,
          "bb_percent": 5.7,
          "woba": 0.297,
          "xwoba": 0.309,
          "xba": 0.25,
          "xslg": 0.424,
          "sweet_spot_percent": 34.7,
          "barrel_batted_rate": 10.4,
          "hard_hit_percent": 39.3,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 11.5,
          "whiff_percent": 26.7,
          "swing_percent": 55.3
        },
        "components": {
          "expected_quality": 0.47,
          "regression_edge": 0.3429,
          "xwoba_edge": 0.2857,
          "xba_edge": 0.4,
          "xslg_edge": 0.8714,
          "barrel_edge": 0.8444,
          "hard_hit_edge": 0.2429,
          "exit_velocity_edge": 0.72,
          "sweet_spot_edge": 0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "669224",
        "player_name": "Austin Wells",
        "offense_factor": 1.01,
        "quality_score": 0.1333,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669224",
          "espn_rank": null
        },
        "metrics": {
          "pa": 358.0,
          "k_percent": 26.5,
          "bb_percent": 12.4,
          "woba": 0.281,
          "xwoba": 0.3,
          "xba": 0.208,
          "xslg": 0.36,
          "sweet_spot_percent": 33.8,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 42.7,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 20.5,
          "whiff_percent": 27.9,
          "swing_percent": 46.3
        },
        "components": {
          "expected_quality": 0.0666,
          "regression_edge": 0.5429,
          "xwoba_edge": 0.0286,
          "xba_edge": -0.8,
          "xslg_edge": -0.0429,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.7286,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.0833,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0161,
    "raw_average_factor": 1.0161,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "701350",
        "player_name": "Roman Anthony",
        "offense_factor": 1.0649,
        "quality_score": 0.8656,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "701350",
          "espn_rank": null
        },
        "metrics": {
          "pa": 203.0,
          "k_percent": 27.3,
          "bb_percent": 12.0,
          "woba": 0.326,
          "xwoba": 0.341,
          "xba": 0.259,
          "xslg": 0.424,
          "sweet_spot_percent": 38.4,
          "barrel_batted_rate": 11.7,
          "hard_hit_percent": 46.6,
          "exit_velocity_avg": 92.0,
          "launch_angle_avg": 6.1,
          "whiff_percent": 29.0,
          "swing_percent": 39.7
        },
        "components": {
          "expected_quality": 1.021,
          "regression_edge": 0.4286,
          "xwoba_edge": 1.2,
          "xba_edge": 0.6571,
          "xslg_edge": 0.8714,
          "barrel_edge": 1.1333,
          "hard_hit_edge": 1.2857,
          "exit_velocity_edge": 1.44,
          "sweet_spot_edge": 0.85,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "575929",
        "player_name": "Willson Contreras",
        "offense_factor": 1.0873,
        "quality_score": 1.1643,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "575929",
          "espn_rank": null
        },
        "metrics": {
          "pa": 519.0,
          "k_percent": 25.2,
          "bb_percent": 11.0,
          "woba": 0.391,
          "xwoba": 0.376,
          "xba": 0.256,
          "xslg": 0.484,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 13.3,
          "hard_hit_percent": 44.2,
          "exit_velocity_avg": 89.8,
          "launch_angle_avg": 17.9,
          "whiff_percent": 30.8,
          "swing_percent": 48.8
        },
        "components": {
          "expected_quality": 1.4236,
          "regression_edge": -0.4286,
          "xwoba_edge": 2.2,
          "xba_edge": 0.5714,
          "xslg_edge": 1.7286,
          "barrel_edge": 1.4889,
          "hard_hit_edge": 0.9429,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "678882",
        "player_name": "Ceddanne Rafaela",
        "offense_factor": 0.9697,
        "quality_score": -0.4034,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "678882",
          "espn_rank": null
        },
        "metrics": {
          "pa": 556.0,
          "k_percent": 20.3,
          "bb_percent": 3.8,
          "woba": 0.33,
          "xwoba": 0.285,
          "xba": 0.249,
          "xslg": 0.362,
          "sweet_spot_percent": 34.5,
          "barrel_batted_rate": 5.4,
          "hard_hit_percent": 31.9,
          "exit_velocity_avg": 86.3,
          "launch_angle_avg": 12.0,
          "whiff_percent": 24.8,
          "swing_percent": 57.7
        },
        "components": {
          "expected_quality": -0.2598,
          "regression_edge": -1.2857,
          "xwoba_edge": -0.4,
          "xba_edge": 0.3714,
          "xslg_edge": -0.0143,
          "barrel_edge": -0.2667,
          "hard_hit_edge": -0.8143,
          "exit_velocity_edge": -0.84,
          "sweet_spot_edge": 0.2,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "677800",
        "player_name": "Wilyer Abreu",
        "offense_factor": 1.0745,
        "quality_score": 0.9928,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "677800",
          "espn_rank": null
        },
        "metrics": {
          "pa": 633.0,
          "k_percent": 20.7,
          "bb_percent": 10.4,
          "woba": 0.335,
          "xwoba": 0.346,
          "xba": 0.253,
          "xslg": 0.468,
          "sweet_spot_percent": 36.2,
          "barrel_batted_rate": 12.5,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 89.8,
          "launch_angle_avg": 18.9,
          "whiff_percent": 24.6,
          "swing_percent": 47.5
        },
        "components": {
          "expected_quality": 1.1033,
          "regression_edge": 0.3143,
          "xwoba_edge": 1.3429,
          "xba_edge": 0.4857,
          "xslg_edge": 1.5,
          "barrel_edge": 1.3111,
          "hard_hit_edge": 0.8429,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": 0.4833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "668939",
        "player_name": "Adley Rutschman",
        "offense_factor": 1.0384,
        "quality_score": 0.5118,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "668939",
          "espn_rank": null
        },
        "metrics": {
          "pa": 372.0,
          "k_percent": 16.6,
          "bb_percent": 9.5,
          "woba": 0.323,
          "xwoba": 0.327,
          "xba": 0.254,
          "xslg": 0.412,
          "sweet_spot_percent": 39.5,
          "barrel_batted_rate": 7.0,
          "hard_hit_percent": 38.5,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 14.7,
          "whiff_percent": 16.3,
          "swing_percent": 40.4
        },
        "components": {
          "expected_quality": 0.5765,
          "regression_edge": 0.1143,
          "xwoba_edge": 0.8,
          "xba_edge": 0.5143,
          "xslg_edge": 0.7,
          "barrel_edge": 0.0889,
          "hard_hit_edge": 0.1286,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 1.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "686765",
        "player_name": "Nick Sogard",
        "offense_factor": 0.9978,
        "quality_score": -0.0293,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "686765",
          "espn_rank": null
        },
        "metrics": {
          "pa": 226.0,
          "k_percent": 20.2,
          "bb_percent": 11.2,
          "woba": 0.325,
          "xwoba": 0.311,
          "xba": 0.251,
          "xslg": 0.355,
          "sweet_spot_percent": 38.1,
          "barrel_batted_rate": 4.8,
          "hard_hit_percent": 28.6,
          "exit_velocity_avg": 86.8,
          "launch_angle_avg": 16.1,
          "whiff_percent": 20.4,
          "swing_percent": 39.9
        },
        "components": {
          "expected_quality": 0.0311,
          "regression_edge": -0.4,
          "xwoba_edge": 0.3429,
          "xba_edge": 0.4286,
          "xslg_edge": -0.1143,
          "barrel_edge": -0.4,
          "hard_hit_edge": -1.2857,
          "exit_velocity_edge": -0.64,
          "sweet_spot_edge": 0.8,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "680776",
        "player_name": "Jarren Duran",
        "offense_factor": 1.0197,
        "quality_score": 0.2631,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680776",
          "espn_rank": null
        },
        "metrics": {
          "pa": 567.0,
          "k_percent": 27.1,
          "bb_percent": 6.7,
          "woba": 0.274,
          "xwoba": 0.301,
          "xba": 0.237,
          "xslg": 0.388,
          "sweet_spot_percent": 31.6,
          "barrel_batted_rate": 9.1,
          "hard_hit_percent": 39.9,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 12.5,
          "whiff_percent": 33.5,
          "swing_percent": 51.0
        },
        "components": {
          "expected_quality": 0.1803,
          "regression_edge": 0.7714,
          "xwoba_edge": 0.0571,
          "xba_edge": 0.0286,
          "xslg_edge": 0.3571,
          "barrel_edge": 0.5556,
          "hard_hit_edge": 0.3286,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": -0.2833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "702332",
        "player_name": "Caleb Durbin",
        "offense_factor": 0.9556,
        "quality_score": -0.592,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "702332",
          "espn_rank": null
        },
        "metrics": {
          "pa": 538.0,
          "k_percent": 13.5,
          "bb_percent": 8.7,
          "woba": 0.317,
          "xwoba": 0.291,
          "xba": 0.234,
          "xslg": 0.316,
          "sweet_spot_percent": 29.5,
          "barrel_batted_rate": 2.7,
          "hard_hit_percent": 25.0,
          "exit_velocity_avg": 83.1,
          "launch_angle_avg": 12.3,
          "whiff_percent": 16.4,
          "swing_percent": 46.3
        },
        "components": {
          "expected_quality": -0.5675,
          "regression_edge": -0.7429,
          "xwoba_edge": -0.2286,
          "xba_edge": -0.0571,
          "xslg_edge": -0.6714,
          "barrel_edge": -0.8667,
          "hard_hit_edge": -1.8,
          "exit_velocity_edge": -2.12,
          "sweet_spot_edge": -0.6333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "596115",
        "player_name": "Trevor Story",
        "offense_factor": 0.9372,
        "quality_score": -0.8369,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "596115",
          "espn_rank": null
        },
        "metrics": {
          "pa": 236.0,
          "k_percent": 32.3,
          "bb_percent": 4.1,
          "woba": 0.272,
          "xwoba": 0.248,
          "xba": 0.211,
          "xslg": 0.317,
          "sweet_spot_percent": 29.3,
          "barrel_batted_rate": 5.4,
          "hard_hit_percent": 36.5,
          "exit_velocity_avg": 87.1,
          "launch_angle_avg": 14.8,
          "whiff_percent": 31.8,
          "swing_percent": 55.7
        },
        "components": {
          "expected_quality": -0.8615,
          "regression_edge": -0.6857,
          "xwoba_edge": -1.4571,
          "xba_edge": -0.7143,
          "xslg_edge": -0.6571,
          "barrel_edge": -0.2667,
          "hard_hit_edge": -0.1571,
          "exit_velocity_edge": -0.52,
          "sweet_spot_edge": -0.6667,
          "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"
}

Savant Pitcher Quality

Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away BOSTrue-0.797610.93221.05140.94800.9104neutral0.25500.285028.406.6027.90634.50
Home NYYTrue-0.713410.93941.07710.94400.9612neutral0.26200.243031.406.4029.407.3038.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away BOSTrueNone9592.932264000000000.1718
Home NYYTrueNone9795.852516000000000.2800
Run FactorValue
away_runs_vs_home_pitcher0.9650
home_runs_vs_away_pitcher0.9613
home_pitcher_starter_only_factor0.9394
away_pitcher_starter_only_factor0.9322
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.6296
home_pitcher_quality_edge-0.0266
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "693645",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 691.0,
      "k_percent": 31.4,
      "bb_percent": 6.4,
      "woba": 0.243,
      "xwoba": 0.262,
      "sweet_spot_percent": 32.5,
      "barrel_batted_rate": 7.3,
      "hard_hit_percent": 38.3,
      "avg_best_speed": 77.6999,
      "avg_hyper_speed": 93.7524,
      "whiff_percent": 29.4,
      "swing_percent": 52.0
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6329,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.8909,
      "command_and_miss": 0.9479,
      "regression_edge": -0.5429,
      "xwoba_edge": 1.4286,
      "barrel_edge": -0.0222,
      "hard_hit_edge": -0.0571,
      "whiff_edge": 0.6,
      "bb_edge": 0.7,
      "pitch_design_score": 0.28
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "693645",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 97,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 97,
        "pitch_usage": 0.0,
        "release_speed": 95.84565678559713,
        "release_spin_rate": 2515.855995429108,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 97,
          "pitch_usage": 0.0,
          "release_speed": 95.84565678559713,
          "release_spin_rate": 2515.855995429108,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.8457,
        "release_spin_rate": 2515.856,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "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.7134,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9394,
    "strikeout_factor": 1.0771,
    "walk_factor": 0.944,
    "homer_factor": 0.9612,
    "woba_minus_xwoba": -0.019,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "693645",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "801139",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 570.0,
      "k_percent": 28.4,
      "bb_percent": 6.6,
      "woba": 0.285,
      "xwoba": 0.255,
      "sweet_spot_percent": 30.6,
      "barrel_batted_rate": 6.0,
      "hard_hit_percent": 34.5,
      "avg_best_speed": 76.2521,
      "avg_hyper_speed": 93.4995,
      "whiff_percent": 27.9,
      "swing_percent": 55.1
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6329,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.9357,
      "command_and_miss": 0.67,
      "regression_edge": 0.8571,
      "xwoba_edge": 1.6286,
      "barrel_edge": 0.2667,
      "hard_hit_edge": 0.4857,
      "whiff_edge": 0.3857,
      "bb_edge": 0.65,
      "pitch_design_score": 0.1718
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "801139",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 95,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 95,
        "pitch_usage": 0.0,
        "release_speed": 92.93252132522656,
        "release_spin_rate": 2264.4127469236832,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 95,
          "pitch_usage": 0.0,
          "release_speed": 92.93252132522656,
          "release_spin_rate": 2264.4127469236832,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.9325,
        "release_spin_rate": 2264.4127,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1718,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.2273,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.7976,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9322,
    "strikeout_factor": 1.0514,
    "walk_factor": 0.948,
    "homer_factor": 0.9104,
    "woba_minus_xwoba": 0.03,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "801139",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.965,
    "home_runs_vs_away_pitcher": 0.9613,
    "home_pitcher_starter_only_factor": 0.9394,
    "away_pitcher_starter_only_factor": 0.9322,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.6296,
    "home_pitcher_quality_edge": -0.0266
  },
  "score_before": {
    "away_runs": 2.0,
    "home_runs": 4.0
  },
  "score_after": {
    "away_runs": 1.9299,
    "home_runs": 3.8452,
    "home_win_probability": 0.6623
  },
  "reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}

Team Form Snapshot

TeamLast-10 W-LWin %R/GRA/GRun DiffStreakOffenseDefense
Away BOS5-50.5002.102.50-41Lcoldstrong
Home NYY5-50.5004.604.5011Waverageaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away BOS87-750.537780.481True
Home NYY93-680.5781380.857True
Signal--0.3760.340applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-08-30BOS @ NYY1 - 16NYY15blowout
2026-08-29BOS @ NYY2 - 9NYY7blowout
2026-08-29BOS @ NYY6 - 0BOS6blowout
2026-08-28BOS @ NYY0 - 1NYY1close
2026-06-28NYY @ BOS4 - 5BOS1close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target BOS--2----
Game target NYY--4----
Player finalized BOS337414311
Player finalized NYY347414311
Player model fractional BOS33.576.683.620.873.142.8110.19
Player model fractional NYY32.187.474.201.314.292.749.53
Simulation box BOS369202212
Simulation box NYY30642448

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.

Pitching Snapshot

TeamRolePitcherPre IPPre ERPre SOPre HPre BBWeighted ERAWeighted WHIPBox Sync
Away BOSStarterPayton Tolle5.2027433.081.16True
Away BOSCloserAroldis Chapman220212.091.01True
Away BOSSetup ManErik Miller0.1001007.271.80True
Home NYYStarterCam Schlittler609121.940.87True
Home NYYSetup ManBrent Headrick110304.901.49True
Home NYYCloserDavid Bednar103202.411.25True
Home NYYMiddle Reliever (High Leverage)Paul Blackburn110302.411.41True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
homeNYYbatterCFSpencer Jonesworse92736predicted_AB-1.7800deboostworse
awayBOSbatter3BCaleb Durbinworse113829predicted_SO1.4690boostworse
homeNYYbatterDHBen Riceworse102819predicted_AB-1.3200deboostworse
homeNYYbatterSSGeorge Lombard Jr.better116574predicted_RBI1.3100boostbetter
homeNYYbatter3BAmed Rosarioworse116556predicted_SO1.2960boostworse
awayBOSbatterDHRoman Anthonybetter107382predicted_SO-1.2000deboostbetter
awayBOSbatterCFCeddanne Rafaelaworse11110011predicted_SO1.1280boostworse
homeNYYbatterRFHeliot Ramosbetter118392predicted_SO-1.1000deboostbetter
awayBOSpitcherCloserAroldis Chapmanbetter11010predicted_IP1.0000boostbetter
homeNYYbatterLFCody Bellingerworse1239210predicted_3B0.9770boostbetter
awayBOSbatter1BWillson Contrerasworse115647predicted_SO0.9600boostworse
awayBOSbatterCAdley Rutschmanworse1129110predicted_AB0.9500boostbetter
awayBOSbatterLFJarren Duranworse1129110predicted_SO0.8990boostworse
awayBOSbatter2BNick Sogardworse91827predicted_SO-0.8750deboostbetter
homeNYYbatter1BPaul Goldschmidtbetter117465predicted_2B0.8660boostbetter
homeNYYbatterCAustin Wellsworse1129110predicted_AB-0.7980deboostworse
homeNYYbatter2BAnthony Volpeworse82617predicted_H-0.7910deboostworse
awayBOSbatterSSTrevor Storyworse114738predicted_SO0.6560boostworse
awayBOSbatterRFWilyer Abreuworse92718predicted_R-0.5190deboostworse
awayBOSpitcherStarterPayton Tolleworse10101predicted_IP-0.4667deboostworse
awayBOSpitcherSetup ManErik Millerworse10101predicted_IP-0.2333deboostworse

This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.

Away Team: BOS

Away Pitcher Deep Analysis

FieldValue
PitcherPayton Tolle
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7976
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1718
Avg Velo92.9325
Avg Spin2264.4127
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER2
Pre H4
Pre BB3
Pre SO7
Season ERA3.0269
Season WHIP1.0964
Role Avg IP5.7180
Recent Avg IP5.7330
Last Start IP5.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "BOS",
    "games": 162,
    "wins": 87,
    "losses": 75,
    "win_pct": 0.537,
    "runs_scored": 689.0,
    "runs_allowed": 611.0,
    "run_differential": 78.0,
    "run_differential_per_game": 0.4815,
    "avg_runs_scored": 4.2531,
    "avg_runs_allowed": 3.7716,
    "offense_index": 0.9463,
    "defense_index": 1.1917,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 2.1,
      "avg_runs_allowed": 2.5,
      "run_differential": -4.0
    },
    "available": true,
    "quality_score": 0.0904
  },
  "opponent": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0213,
    "defense_index": 1.204,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1708
  },
  "edges": {
    "quality_edge": -0.0804,
    "offense_edge": -0.0537,
    "opponent_offense_edge": 0.0213,
    "defense_strength": 0.1917,
    "opponent_defense_weakness": -0.204,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0017,
    "run_prevention": 0.9883,
    "strikeout": 0.9959
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "801139",
    "profile": {
      "available": true,
      "pitcher_id": "801139",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 570.0,
        "k_percent": 28.4,
        "bb_percent": 6.6,
        "woba": 0.285,
        "xwoba": 0.255,
        "sweet_spot_percent": 30.6,
        "barrel_batted_rate": 6.0,
        "hard_hit_percent": 34.5,
        "avg_best_speed": 76.2521,
        "avg_hyper_speed": 93.4995,
        "whiff_percent": 27.9,
        "swing_percent": 55.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9357,
        "command_and_miss": 0.67,
        "regression_edge": 0.8571,
        "xwoba_edge": 1.6286,
        "barrel_edge": 0.2667,
        "hard_hit_edge": 0.4857,
        "whiff_edge": 0.3857,
        "bb_edge": 0.65,
        "pitch_design_score": 0.1718
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "801139",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 95,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 95,
          "pitch_usage": 0.0,
          "release_speed": 92.93252132522656,
          "release_spin_rate": 2264.4127469236832,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 95,
            "pitch_usage": 0.0,
            "release_speed": 92.93252132522656,
            "release_spin_rate": 2264.4127469236832,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9325,
          "release_spin_rate": 2264.4127,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1718,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2273,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.7976,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9322,
      "strikeout_factor": 1.0514,
      "walk_factor": 0.948,
      "homer_factor": 0.9104,
      "woba_minus_xwoba": 0.03,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "801139",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9322,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9322,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.948,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9104,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 7.0,
        "factor": 1.0514,
        "adjusted": 7
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 59.0,
    "ER": 17,
    "H": 50,
    "BB": 14,
    "SO": 75,
    "HR": 6,
    "ERA": 2.5932203389830506,
    "WHIP": 1.0847457627118642,
    "K9": 11.440677966101694,
    "HR9": 0.9152542372881355,
    "games_pitched": 10,
    "quality_starts": 5,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "801139",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 95,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 95,
    "pitch_usage": 0.0,
    "release_speed": 92.93252132522656,
    "release_spin_rate": 2264.4127469236832,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 95,
      "pitch_usage": 0.0,
      "release_speed": 92.93252132522656,
      "release_spin_rate": 2264.4127469236832,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9325,
    "release_spin_rate": 2264.4127,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1718,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2273,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 26.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8387,
    "prior_weight": 0.1613
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "801139",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 26,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 28.2,
        "ER": 9.0,
        "R": 9.0,
        "H": 26.0,
        "BB": 7.0,
        "SO": 37.0,
        "HR": 2.0,
        "BF": 120.0,
        "Pitches": 471.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.8,
        "R": 1.8,
        "H": 5.2,
        "BB": 1.4,
        "SO": 7.4,
        "HR": 0.4,
        "BF": 24.0,
        "Pitches": 94.2
      },
      "rates": {
        "ERA": 2.8256,
        "WHIP": 1.1512,
        "ER_per_IP": 0.31395,
        "H_per_IP": 0.90698,
        "BB_per_IP": 0.24419,
        "SO_per_IP": 1.2907,
        "HR_per_IP": 0.06977
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 59.0,
        "ER": 17.0,
        "R": 17.0,
        "H": 50.0,
        "BB": 14.0,
        "SO": 75.0,
        "HR": 6.0,
        "BF": 236.0,
        "Pitches": 922.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.7,
        "R": 1.7,
        "H": 5.0,
        "BB": 1.4,
        "SO": 7.5,
        "HR": 0.6,
        "BF": 23.6,
        "Pitches": 92.2
      },
      "rates": {
        "ERA": 2.5932,
        "WHIP": 1.0847,
        "ER_per_IP": 0.28814,
        "H_per_IP": 0.84746,
        "BB_per_IP": 0.23729,
        "SO_per_IP": 1.27119,
        "HR_per_IP": 0.10169
      }
    },
    "season": {
      "games": 26,
      "totals": {
        "IP": 148.2,
        "ER": 50.0,
        "R": 54.0,
        "H": 123.0,
        "BB": 40.0,
        "SO": 171.0,
        "HR": 15.0,
        "BF": 603.0,
        "Pitches": 2282.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.9231,
        "R": 2.0769,
        "H": 4.7308,
        "BB": 1.5385,
        "SO": 6.5769,
        "HR": 0.5769,
        "BF": 23.1923,
        "Pitches": 87.7692
      },
      "rates": {
        "ERA": 3.0269,
        "WHIP": 1.0964,
        "ER_per_IP": 0.33632,
        "H_per_IP": 0.82735,
        "BB_per_IP": 0.26906,
        "SO_per_IP": 1.15022,
        "HR_per_IP": 0.1009
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 1.973,
    "predicted_H": 5.123,
    "predicted_BB": 1.545,
    "predicted_SO": 6.941,
    "predicted_HR": 0.56,
    "predicted_ERA": 3.0799,
    "predicted_WHIP": 1.1567
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4181,
  "form_weight": 0.5819,
  "form_reliability": 0.8387,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 26.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8387,
    "prior_weight": 0.1613
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.973,
      "final": 1.9843,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 5.123,
      "final": 4.6534,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.545,
      "final": 2.1534,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 6.941,
      "final": 6.9657,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.56,
      "final": 0.744,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0799,
      "final": 3.0799,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1567,
      "final": 1.1567,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherAroldis Chapman
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7067
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2575
Avg Velo94.4617
Avg Spin2268.1974
HB Inches0
IVB Inches0
Release Extension0
Pre IP2
Pre ER2
Pre H2
Pre BB1
Pre SO0
Season ERA1.3935
Season WHIP1.0452
Role Avg IP0.9940
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "BOS",
    "games": 162,
    "wins": 87,
    "losses": 75,
    "win_pct": 0.537,
    "runs_scored": 689.0,
    "runs_allowed": 611.0,
    "run_differential": 78.0,
    "run_differential_per_game": 0.4815,
    "avg_runs_scored": 4.2531,
    "avg_runs_allowed": 3.7716,
    "offense_index": 0.9463,
    "defense_index": 1.1917,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 2.1,
      "avg_runs_allowed": 2.5,
      "run_differential": -4.0
    },
    "available": true,
    "quality_score": 0.0904
  },
  "opponent": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0213,
    "defense_index": 1.204,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1708
  },
  "edges": {
    "quality_edge": -0.0804,
    "offense_edge": -0.0537,
    "opponent_offense_edge": 0.0213,
    "defense_strength": 0.1917,
    "opponent_defense_weakness": -0.204,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0017,
    "run_prevention": 0.9883,
    "strikeout": 0.9959
  },
  "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": 204.0,
        "k_percent": 33.3,
        "bb_percent": 10.8,
        "woba": 0.263,
        "xwoba": 0.252,
        "sweet_spot_percent": 26.3,
        "barrel_batted_rate": 6.8,
        "hard_hit_percent": 38.1,
        "avg_best_speed": 77.1627,
        "avg_hyper_speed": 94.4661,
        "whiff_percent": 30.4,
        "swing_percent": 52.0
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0358,
        "command_and_miss": 0.9,
        "regression_edge": 0.3143,
        "xwoba_edge": 1.7143,
        "barrel_edge": 0.0889,
        "hard_hit_edge": -0.0286,
        "whiff_edge": 0.7429,
        "bb_edge": -0.4,
        "pitch_design_score": 0.2575
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "547973",
        "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": 94.46172099554705,
          "release_spin_rate": 2268.197412570452,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 94.46172099554705,
            "release_spin_rate": 2268.197412570452,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4617,
          "release_spin_rate": 2268.1974,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2575,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.839,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.7067,
      "sample_weight": 0.816,
      "run_prevention_factor": 0.9399,
      "strikeout_factor": 1.0765,
      "walk_factor": 1.0261,
      "homer_factor": 0.9532,
      "woba_minus_xwoba": 0.011,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "547973",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.951,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.951,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0213,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9618,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0624,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 4,
    "BB": 4,
    "SO": 18,
    "HR": 1,
    "ERA": 1.8,
    "WHIP": 0.8,
    "K9": 16.2,
    "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-09-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "547973",
  "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": 94.46172099554705,
    "release_spin_rate": 2268.197412570452,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 94.46172099554705,
      "release_spin_rate": 2268.197412570452,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4617,
    "release_spin_rate": 2268.1974,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2575,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.839,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.632,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6801,
    "prior_weight": 0.3199
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "547973",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 52,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 83.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.6,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.6,
        "SO_per_IP": 1.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 18.0,
        "HR": 1.0,
        "BF": 38.0,
        "Pitches": 164.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.8,
        "HR": 0.1,
        "BF": 3.8,
        "Pitches": 16.4
      },
      "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": 1.8,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 52,
      "totals": {
        "IP": 51.2,
        "ER": 8.0,
        "R": 10.0,
        "H": 31.0,
        "BB": 23.0,
        "SO": 71.0,
        "HR": 3.0,
        "BF": 209.0,
        "Pitches": 833.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1538,
        "R": 0.1923,
        "H": 0.5962,
        "BB": 0.4423,
        "SO": 1.3654,
        "HR": 0.0577,
        "BF": 4.0192,
        "Pitches": 16.0192
      },
      "rates": {
        "ERA": 1.3935,
        "WHIP": 1.0452,
        "ER_per_IP": 0.15484,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.44516,
        "SO_per_IP": 1.37419,
        "HR_per_IP": 0.05806
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.233,
    "predicted_H": 0.553,
    "predicted_BB": 0.461,
    "predicted_SO": 1.465,
    "predicted_HR": 0.079,
    "predicted_ERA": 2.0947,
    "predicted_WHIP": 1.0135
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4852,
  "form_weight": 0.5148,
  "form_reliability": 0.6801,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.632,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6801,
    "prior_weight": 0.3199
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.233,
      "final": 1.0903,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.553,
      "final": 1.255,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.461,
      "final": 0.7225,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.465,
      "final": 0.7542,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.079,
      "final": 0.5258,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0947,
      "final": 2.0947,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0135,
      "final": 1.0135,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherErik Miller
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6300
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1074
Avg Velo91.7812
Avg Spin2416.1896
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.8052
Season WHIP1.3247
Role Avg IP0.9150
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "BOS",
    "games": 162,
    "wins": 87,
    "losses": 75,
    "win_pct": 0.537,
    "runs_scored": 689.0,
    "runs_allowed": 611.0,
    "run_differential": 78.0,
    "run_differential_per_game": 0.4815,
    "avg_runs_scored": 4.2531,
    "avg_runs_allowed": 3.7716,
    "offense_index": 0.9463,
    "defense_index": 1.1917,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 2.1,
      "avg_runs_allowed": 2.5,
      "run_differential": -4.0
    },
    "available": true,
    "quality_score": 0.0904
  },
  "opponent": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0213,
    "defense_index": 1.204,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1708
  },
  "edges": {
    "quality_edge": -0.0804,
    "offense_edge": -0.0537,
    "opponent_offense_edge": 0.0213,
    "defense_strength": 0.1917,
    "opponent_defense_weakness": -0.204,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0017,
    "run_prevention": 0.9883,
    "strikeout": 0.9959
  },
  "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": 202.0,
        "k_percent": 32.6,
        "bb_percent": 15.0,
        "woba": 0.288,
        "xwoba": 0.275,
        "sweet_spot_percent": 30.7,
        "barrel_batted_rate": 5.4,
        "hard_hit_percent": 26.3,
        "avg_best_speed": 72.1008,
        "avg_hyper_speed": 92.6502,
        "whiff_percent": 35.0,
        "swing_percent": 40.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9044,
        "command_and_miss": 0.875,
        "regression_edge": 0.3714,
        "xwoba_edge": 1.0571,
        "barrel_edge": 0.4,
        "hard_hit_edge": 1.6571,
        "whiff_edge": 1.4,
        "bb_edge": -1.45,
        "pitch_design_score": 0.1074
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669062",
        "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.78122059697414,
          "release_spin_rate": 2416.1896483420023,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.78122059697414,
            "release_spin_rate": 2416.1896483420023,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.7812,
          "release_spin_rate": 2416.1896,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1074,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.7668,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.63,
      "sample_weight": 0.808,
      "run_prevention_factor": 0.9465,
      "strikeout_factor": 1.0937,
      "walk_factor": 1.0937,
      "homer_factor": 0.895,
      "woba_minus_xwoba": 0.013,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "669062",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9568,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9568,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0757,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9152,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0757,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 7,
    "BB": 9,
    "SO": 14,
    "HR": 1,
    "ERA": 6.750000000000001,
    "WHIP": 1.7142857142857144,
    "K9": 13.500000000000002,
    "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-09-24T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669062",
  "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.78122059697414,
    "release_spin_rate": 2416.1896483420023,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.78122059697414,
      "release_spin_rate": 2416.1896483420023,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.7812,
    "release_spin_rate": 2416.1896,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1074,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.7668,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.563,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6787,
    "prior_weight": 0.3213
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "669062",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 56,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 6.0,
        "R": 6.0,
        "H": 5.0,
        "BB": 6.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 26.0,
        "Pitches": 100.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.2,
        "R": 1.2,
        "H": 1.0,
        "BB": 1.2,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 5.2,
        "Pitches": 20.0
      },
      "rates": {
        "ERA": 12.4615,
        "WHIP": 2.5385,
        "ER_per_IP": 1.38462,
        "H_per_IP": 1.15385,
        "BB_per_IP": 1.38462,
        "SO_per_IP": 0.92308,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 7.0,
        "R": 7.0,
        "H": 7.0,
        "BB": 9.0,
        "SO": 14.0,
        "HR": 1.0,
        "BF": 46.0,
        "Pitches": 179.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.7,
        "R": 0.7,
        "H": 0.7,
        "BB": 0.9,
        "SO": 1.4,
        "HR": 0.1,
        "BF": 4.6,
        "Pitches": 17.9
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.7143,
        "ER_per_IP": 0.75,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.96429,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 56,
      "totals": {
        "IP": 51.1,
        "ER": 16.0,
        "R": 17.0,
        "H": 36.0,
        "BB": 32.0,
        "SO": 74.0,
        "HR": 3.0,
        "BF": 224.0,
        "Pitches": 956.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2857,
        "R": 0.3036,
        "H": 0.6429,
        "BB": 0.5714,
        "SO": 1.3214,
        "HR": 0.0536,
        "BF": 4.0,
        "Pitches": 17.0714
      },
      "rates": {
        "ERA": 2.8052,
        "WHIP": 1.3247,
        "ER_per_IP": 0.31169,
        "H_per_IP": 0.7013,
        "BB_per_IP": 0.62338,
        "SO_per_IP": 1.44156,
        "HR_per_IP": 0.05844
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.635,
    "predicted_H": 0.74,
    "predicted_BB": 0.674,
    "predicted_SO": 0.891,
    "predicted_HR": 0.064,
    "predicted_ERA": 7.2733,
    "predicted_WHIP": 1.8003
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4857,
  "form_weight": 0.5143,
  "form_reliability": 0.6787,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.563,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6787,
    "prior_weight": 0.3213
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.635,
      "final": 0.3265,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.74,
      "final": 0.3805,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.674,
      "final": 0.3466,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.891,
      "final": 0.9439,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.064,
      "final": 0.0329,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 7.2733,
      "final": 7.2733,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.8003,
      "final": 1.8003,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
Roman Anthony (701350) · BATTER · DH · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 215
All-history rows before 20260929: 215
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2351
Diff (system - data): 0.0099
System opponent_avg: 0.2860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2001.0000.000Hitting_2B0.1720.0000.8281.000
predicted_3B0.0550.0000.000Hitting_3B0.0470.000-0.0470.000
predicted_AB3.8554.0004.000Hitting_AB3.9772.0000.0232.000
predicted_AVG0.2450.2500.250Hitting_AVG0.2350.0000.0150.250
predicted_BB0.5271.0001.000Hitting_BB0.6190.0000.3811.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9451.0001.000Hitting_H0.9350.0000.0651.000
predicted_HR0.0910.0000.000Hitting_HR0.0790.000-0.0790.000
predicted_OBP0.3360.4000.400Hitting_OBP0.3410.0000.0590.400
predicted_R0.4361.0001.000Hitting_R0.4700.0000.5301.000
predicted_RBI0.2731.0000.000Hitting_RBI0.2560.0000.7441.000
predicted_SLG0.3960.5000.250Hitting_SLG0.3610.0000.1390.500
predicted_SO1.2000.0002.000Hitting_SO1.2192.000-1.219-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics7
Deboosted Metrics3
Better Metrics8
Worse Metrics2
Biggest Boostpredicted_2B: 0.2000 -> 1.0000 (boost 0.8000, better)
Biggest Deboostpredicted_SO: 1.2000 -> 0.0000 (deboost -1.2000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_SLG: 0.3960 -> 0.4152 (boost 0.0192, 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.
3team_form_snapshot30303-predicted_SLG: 0.4152 -> 0.4067 (deboost -0.0085, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_SO: 1.1997 -> 2.0000 (boost 0.8003, worse)predicted_BB: 0.4934 -> 0.0000 (deboost -0.4934, worse)AB rounded to 4 (raw=3.85), rates preserved: AVG=0.214 HR/AB=0.022
6consistency_constraints10101-predicted_R: 0.4324 -> 0.0000 (deboost -0.4324, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4628 (boost 0.4628, better)predicted_SO: 2.0000 -> 1.5148 (deboost -0.4852, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation74334predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.3834 -> 0.0000 (deboost -0.3834, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50505-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference54150predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3670 -> 0.4067 (boost 0.0397, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701350",
  "player_name": "Roman Anthony",
  "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.2,
        "predicted_3B": 0.055,
        "predicted_AB": 3.855,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.527,
        "predicted_H": 0.945,
        "predicted_HR": 0.091,
        "predicted_OBP": 0.336,
        "predicted_R": 0.436,
        "predicted_RBI": 0.273,
        "predicted_SLG": 0.396,
        "predicted_SO": 1.2
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.2305,
        "predicted_3B": 0.0684,
        "predicted_AB": 3.807,
        "predicted_AVG": 0.2508,
        "predicted_BB": 0.4957,
        "predicted_H": 0.9546,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.086,
        "predicted_OBP": 0.338,
        "predicted_R": 0.4502,
        "predicted_RBI": 0.2772,
        "predicted_SLG": 0.4152,
        "predicted_SO": 1.1942
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2,
          "after": 0.2305,
          "delta": 0.0305,
          "percent_delta": 0.1525,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.055,
          "after": 0.0684,
          "delta": 0.0134,
          "percent_delta": 0.2436,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.855,
          "after": 3.807,
          "delta": -0.048,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2508,
          "delta": 0.0058,
          "percent_delta": 0.0237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.527,
          "after": 0.4957,
          "delta": -0.0313,
          "percent_delta": -0.0594,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.945,
          "after": 0.9546,
          "delta": 0.0096,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.091,
          "after": 0.086,
          "delta": -0.005,
          "percent_delta": -0.0549,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.338,
          "delta": 0.002,
          "percent_delta": 0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.436,
          "after": 0.4502,
          "delta": 0.0142,
          "percent_delta": 0.0326,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.273,
          "after": 0.2772,
          "delta": 0.0042,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.4152,
          "delta": 0.0192,
          "percent_delta": 0.0485,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2,
          "after": 1.1942,
          "delta": -0.0058,
          "percent_delta": -0.0048,
          "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.396,
          "after": 0.4152,
          "delta": 0.0192,
          "percent_delta": 0.0485,
          "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": 55
      }
    },
    {
      "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.2305,
        "predicted_3B": 0.0684,
        "predicted_AB": 3.807,
        "predicted_AVG": 0.2445,
        "predicted_BB": 0.4934,
        "predicted_H": 0.9308,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0833,
        "predicted_OBP": 0.3312,
        "predicted_R": 0.4324,
        "predicted_RBI": 0.2663,
        "predicted_SLG": 0.4067,
        "predicted_SO": 1.1997
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2305,
          "after": 0.2305,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0684,
          "after": 0.0684,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.807,
          "after": 3.807,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2508,
          "after": 0.2445,
          "delta": -0.0063,
          "percent_delta": -0.0251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4957,
          "after": 0.4934,
          "delta": -0.0023,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9546,
          "after": 0.9308,
          "delta": -0.0238,
          "percent_delta": -0.0249,
          "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.086,
          "after": 0.0833,
          "delta": -0.0027,
          "percent_delta": -0.0314,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.4502,
          "after": 0.4324,
          "delta": -0.0178,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2772,
          "after": 0.2663,
          "delta": -0.0109,
          "percent_delta": -0.0393,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4152,
          "after": 0.4067,
          "delta": -0.0085,
          "percent_delta": -0.0205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1942,
          "after": 1.1997,
          "delta": 0.0055,
          "percent_delta": 0.0046,
          "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.4152,
          "after": 0.4067,
          "delta": -0.0085,
          "percent_delta": -0.0205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.214 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2305,
          "after": 0.0,
          "delta": -0.2305,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0684,
          "after": 0.0,
          "delta": -0.0684,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.807,
          "after": 4.0,
          "delta": 0.193,
          "percent_delta": 0.0507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4934,
          "after": 0.0,
          "delta": -0.4934,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9308,
          "after": 1.0,
          "delta": 0.0692,
          "percent_delta": 0.0743,
          "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.0833,
          "after": 0.0,
          "delta": -0.0833,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2663,
          "after": 0.0,
          "delta": -0.2663,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1997,
          "after": 2.0,
          "delta": 0.8003,
          "percent_delta": 0.6671,
          "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.1997,
          "after": 2.0,
          "delta": 0.8003,
          "percent_delta": 0.6671,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4934,
          "after": 0.0,
          "delta": -0.4934,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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": 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.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": 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.4324,
          "after": 0.0,
          "delta": -0.4324,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1887,
        "predicted_3B": 0.0224,
        "predicted_BB": 0.4628,
        "predicted_H": 0.8351,
        "predicted_HR": 0.1344,
        "predicted_RBI": 0.3834,
        "predicted_SO": 1.5148
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1887,
          "delta": 0.1887,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0224,
          "delta": 0.0224,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4628,
          "delta": 0.4628,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8351,
          "delta": -0.1649,
          "percent_delta": -0.1649,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1344,
          "delta": 0.1344,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3834,
          "delta": 0.3834,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.5148,
          "delta": -0.4852,
          "percent_delta": -0.2426,
          "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": 0.4628,
          "delta": 0.4628,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.5148,
          "delta": -0.4852,
          "percent_delta": -0.2426,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1887,
          "after": 0.0,
          "delta": -0.1887,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0224,
          "after": 0.0,
          "delta": -0.0224,
          "percent_delta": -1.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_BB",
          "before": 0.4628,
          "after": 1.0,
          "delta": 0.5372,
          "percent_delta": 1.1608,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8351,
          "after": 1.0,
          "delta": 0.1649,
          "percent_delta": 0.1975,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1344,
          "after": 0.0,
          "delta": -0.1344,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.3834,
          "after": 0.0,
          "delta": -0.3834,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5148,
          "after": 2.0,
          "delta": 0.4852,
          "percent_delta": 0.3203,
          "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_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": 0.3834,
          "after": 0.0,
          "delta": -0.3834,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.208,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.367,
        "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.2445,
          "after": 0.208,
          "delta": -0.0365,
          "percent_delta": -0.1493,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.296,
          "delta": -0.0352,
          "percent_delta": -0.1063,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SLG",
          "before": 0.4067,
          "after": 0.367,
          "delta": -0.0397,
          "percent_delta": -0.0976,
          "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": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "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": 10,
      "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": 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": 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": 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": 2.0,
          "after": 0.0,
          "delta": -2.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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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.2445,
        "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.3312,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4067,
        "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.208,
          "after": 0.2445,
          "delta": 0.0365,
          "percent_delta": 0.1755,
          "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.296,
          "after": 0.3312,
          "delta": 0.0352,
          "percent_delta": 0.1189,
          "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.367,
          "after": 0.4067,
          "delta": 0.0397,
          "percent_delta": 0.1081,
          "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.367,
          "after": 0.4067,
          "delta": 0.0397,
          "percent_delta": 0.1081,
          "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.055,
        "after": 0.0,
        "delta": -0.055,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.855,
        "after": 4.0,
        "delta": 0.145,
        "percent_delta": 0.0376,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.2445,
        "delta": -0.0005,
        "percent_delta": -0.002,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.527,
        "after": 1.0,
        "delta": 0.473,
        "percent_delta": 0.8975,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.945,
        "after": 1.0,
        "delta": 0.055,
        "percent_delta": 0.0582,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.091,
        "after": 0.0,
        "delta": -0.091,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.336,
        "after": 0.3312,
        "delta": -0.0048,
        "percent_delta": -0.0143,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.436,
        "after": 1.0,
        "delta": 0.564,
        "percent_delta": 1.2936,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.273,
        "after": 1.0,
        "delta": 0.727,
        "percent_delta": 2.663,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.4067,
        "delta": 0.0107,
        "percent_delta": 0.027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.2,
        "after": 0.0,
        "delta": -1.2,
        "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.2,
        "after": 1.0,
        "delta": 0.8,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.2,
        "after": 0.0,
        "delta": -1.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.200-
predicted_3B0.055-
predicted_AB3.855-
predicted_AVG0.245-
predicted_BB0.527-
predicted_H0.945-
predicted_HR0.091-
predicted_OBP0.336-
predicted_R0.436-
predicted_RBI0.273-
predicted_SLG0.396-
predicted_SO1.200-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2310.030
predicted_3B0.0680.013
predicted_AB3.807-0.048
predicted_AVG0.2510.006
predicted_BB0.496-0.031
predicted_H0.9550.010
predicted_HBP0.013-
predicted_HR0.086-0.005
predicted_OBP0.3380.002
predicted_R0.4500.014
predicted_RBI0.2770.004
predicted_SLG0.4150.019
predicted_SO1.194-0.006
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2310.000
predicted_3B0.0680.000
predicted_AB3.8070.000
predicted_AVG0.244-0.006
predicted_BB0.493-0.002
predicted_H0.931-0.024
predicted_HBP0.0130.000
predicted_HR0.083-0.003
predicted_OBP0.331-0.007
predicted_R0.432-0.018
predicted_RBI0.266-0.011
predicted_SLG0.407-0.009
predicted_SO1.2000.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.85), rates preserved: AVG=0.214 HR/AB=0.022

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO2.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1890.189
3B0.0220.022
BB0.4630.463
H0.835-0.165
HR0.1340.134
RBI0.3830.383
SO1.515-0.485
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.189
3B0.000-0.022
AB4.0000.000
BB1.0000.537
H1.0000.165
HR0.000-0.134
R1.0001.000
RBI0.000-0.383
SO2.0000.485
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.231
predicted_3B0.000-0.068
predicted_AB4.0000.193
predicted_AVG0.208-0.037
predicted_BB0.000-0.493
predicted_H1.0000.069
predicted_HR0.000-0.083
predicted_OBP0.296-0.035
predicted_R0.000-0.432
predicted_RBI0.000-0.266
predicted_SLG0.367-0.040
predicted_SO2.0000.800
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 55
Reference playing time: 3.855
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0005.0002.0001.0000.0000.0003.0002.0007.0000.29410.36840.52940.29410.00000.00000.11770.4118
last_100.2010-37.00010.0004.0001.0001.0005.0004.0004.00011.0000.27030.34150.51350.27030.02700.13510.10810.2973
season0.6055-212.00052.00011.0003.0005.00015.00024.00029.00066.0000.24530.33880.39620.24530.02360.07070.13680.3113
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2730
predicted_3B0.0870
predicted_AB3.7400
predicted_AVG0.2588
predicted_BB0.4520
predicted_H0.9680
predicted_HBP0.0130
predicted_HR0.0790
predicted_OBP0.3409
predicted_R0.4700
predicted_RBI0.2830
predicted_SLG0.4420
predicted_SO1.1860
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.27300.2305model_form_blend
predicted_3B0.05500.08700.0684model_form_blend
predicted_AB3.85503.74003.8070model_form_blend
predicted_AVG0.24500.25880.2508model_form_blend
predicted_BB0.52700.45200.4957model_form_blend
predicted_H0.94500.96800.9546model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.09100.07900.0860model_form_blend
predicted_OBP0.33600.34090.3380model_form_blend
predicted_R0.43600.47000.4502model_form_blend
predicted_RBI0.27300.28300.2772model_form_blend
predicted_SLG0.39600.44200.4152model_form_blend
predicted_SO1.20001.18601.1942model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date215
Season rows before report date215
Report year2026
Profile rows used55
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H1
2B1
3B0
HR0
R1
RBI1
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260927_CHC@BOS
game_typefull
mlbID701350
playerID701350
playerNameRoman Anthony
posLF
startedTrue
startingPositionLF
teamBOS
teamID4
game_date2026-09-27
sl_k_percent27.3
sl_bb_percent12.0
sl_woba0.326
sl_xwoba0.341
sl_xba0.259
sl_xslg0.424
sl_sweet_spot_percent38.4
sl_barrel_batted_rate11.7
sl_hard_hit_percent46.6
sl_exit_velocity_avg92.0
sl_launch_angle_avg6.1
sl_whiff_percent29.0
sl_swing_percent39.7
Willson Contreras (575929) · BATTER · 1B · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 531
All-history rows before 20260929: 531
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2812
Diff (system - data): -0.0052
System opponent_avg: 0.0830

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1670.0000.000Hitting_2B0.1850.000-0.1850.000
predicted_3B0.0240.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB3.4844.0004.000Hitting_AB3.5422.0000.4582.000
predicted_AVG0.2720.2500.250Hitting_AVG0.2810.000-0.0310.250
predicted_BB0.4680.0000.000Hitting_BB0.5010.000-0.5010.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H0.7901.0001.000Hitting_H0.9960.0000.0041.000
predicted_HR0.1800.0001.000Hitting_HR0.2170.000-0.2170.000
predicted_OBP0.3850.2500.250Hitting_OBP0.3970.000-0.1470.250
predicted_R0.5321.0001.000Hitting_R0.5520.0000.4481.000
predicted_RBI0.5201.0001.000Hitting_RBI0.6780.0000.3221.000
predicted_SLG0.4830.2501.000Hitting_SLG0.5320.000-0.2820.250
predicted_SO1.0402.0001.000Hitting_SO1.0451.0000.9551.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_SO: 1.0400 -> 2.0000 (boost 0.9600, worse)
Biggest Deboostpredicted_BB: 0.4680 -> 0.0000 (deboost -0.4680, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_AB: 3.4840 -> 3.4119 (deboost -0.0721, 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.
3team_form_snapshot30303-predicted_OBP: 0.3865 -> 0.3261 (deboost -0.0604, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73434predicted_AB: 3.4119 -> 4.0000 (boost 0.5881, better)predicted_BB: 0.4511 -> 0.0000 (deboost -0.4511, worse)AB rounded to 4 (raw=3.48), rates preserved: AVG=0.206 HR/AB=0.051
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
7consistency_constraints10101-predicted_R: 0.4809 -> 0.0000 (deboost -0.4809, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3873 (boost 0.3873, better)predicted_RBI: 1.0000 -> 0.5655 (deboost -0.4345, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation74352predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.3873 -> 0.0000 (deboost -0.3873, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context50505-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference22011predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_OBP: 0.2890 -> 0.3261 (boost 0.0371, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.167,
        "predicted_3B": 0.024,
        "predicted_AB": 3.484,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.468,
        "predicted_H": 0.79,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.385,
        "predicted_R": 0.532,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.483,
        "predicted_SO": 1.04
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1375,
        "predicted_3B": 0.0279,
        "predicted_AB": 3.4119,
        "predicted_AVG": 0.2691,
        "predicted_BB": 0.4532,
        "predicted_H": 0.8291,
        "predicted_HBP": 0.249,
        "predicted_HR": 0.1826,
        "predicted_OBP": 0.3865,
        "predicted_R": 0.5007,
        "predicted_RBI": 0.5196,
        "predicted_SLG": 0.4833,
        "predicted_SO": 0.9957
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.167,
          "after": 0.1375,
          "delta": -0.0295,
          "percent_delta": -0.1766,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0279,
          "delta": 0.0039,
          "percent_delta": 0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.484,
          "after": 3.4119,
          "delta": -0.0721,
          "percent_delta": -0.0207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2691,
          "delta": -0.0029,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.468,
          "after": 0.4532,
          "delta": -0.0148,
          "percent_delta": -0.0316,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 0.8291,
          "delta": 0.0391,
          "percent_delta": 0.0495,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1826,
          "delta": 0.0026,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.385,
          "after": 0.3865,
          "delta": 0.0015,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.532,
          "after": 0.5007,
          "delta": -0.0313,
          "percent_delta": -0.0588,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.52,
          "after": 0.5196,
          "delta": -0.0004,
          "percent_delta": -0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.483,
          "after": 0.4833,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.04,
          "after": 0.9957,
          "delta": -0.0443,
          "percent_delta": -0.0426,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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": 3.484,
          "after": 3.4119,
          "delta": -0.0721,
          "percent_delta": -0.0207,
          "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": 126
      }
    },
    {
      "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.1375,
        "predicted_3B": 0.0279,
        "predicted_AB": 3.4119,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.4511,
        "predicted_H": 0.8085,
        "predicted_HBP": 0.249,
        "predicted_HR": 0.177,
        "predicted_OBP": 0.3261,
        "predicted_R": 0.4809,
        "predicted_RBI": 0.4991,
        "predicted_SLG": 0.4492,
        "predicted_SO": 1.0003
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1375,
          "after": 0.1375,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0279,
          "after": 0.0279,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4119,
          "after": 3.4119,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2691,
          "after": 0.237,
          "delta": -0.0321,
          "percent_delta": -0.1193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4532,
          "after": 0.4511,
          "delta": -0.0021,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8291,
          "after": 0.8085,
          "delta": -0.0206,
          "percent_delta": -0.0248,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.249,
          "after": 0.249,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1826,
          "after": 0.177,
          "delta": -0.0056,
          "percent_delta": -0.0307,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3865,
          "after": 0.3261,
          "delta": -0.0604,
          "percent_delta": -0.1563,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5007,
          "after": 0.4809,
          "delta": -0.0198,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5196,
          "after": 0.4991,
          "delta": -0.0205,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4833,
          "after": 0.4492,
          "delta": -0.0341,
          "percent_delta": -0.0706,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9957,
          "after": 1.0003,
          "delta": 0.0046,
          "percent_delta": 0.0046,
          "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.3865,
          "after": 0.3261,
          "delta": -0.0604,
          "percent_delta": -0.1563,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.48), rates preserved: AVG=0.206 HR/AB=0.051",
      "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.1375,
          "after": 0.0,
          "delta": -0.1375,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0279,
          "after": 0.0,
          "delta": -0.0279,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4119,
          "after": 4.0,
          "delta": 0.5881,
          "percent_delta": 0.1724,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4511,
          "after": 0.0,
          "delta": -0.4511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8085,
          "after": 1.0,
          "delta": 0.1915,
          "percent_delta": 0.2369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.249,
          "after": 0.0,
          "delta": -0.249,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.177,
          "after": 0.0,
          "delta": -0.177,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4991,
          "after": 1.0,
          "delta": 0.5009,
          "percent_delta": 1.0036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0003,
          "after": 1.0,
          "delta": -0.0003,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4119,
          "after": 4.0,
          "delta": 0.5881,
          "percent_delta": 0.1724,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4511,
          "after": 0.0,
          "delta": -0.4511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)",
      "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": 7,
      "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.4809,
          "after": 0.0,
          "delta": -0.4809,
          "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.4809,
          "after": 0.0,
          "delta": -0.4809,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1674,
        "predicted_3B": 0.0153,
        "predicted_BB": 0.3873,
        "predicted_H": 0.7429,
        "predicted_HR": 0.1932,
        "predicted_RBI": 0.5655,
        "predicted_SO": 1.3711
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1674,
          "delta": 0.1674,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0153,
          "delta": 0.0153,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3873,
          "delta": 0.3873,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7429,
          "delta": -0.2571,
          "percent_delta": -0.2571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1932,
          "delta": 0.1932,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5655,
          "delta": -0.4345,
          "percent_delta": -0.4345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3711,
          "delta": 0.3711,
          "percent_delta": 0.3711,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3873,
          "delta": 0.3873,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5655,
          "delta": -0.4345,
          "percent_delta": -0.4345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1674,
          "after": 0.0,
          "delta": -0.1674,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0153,
          "after": 0.0,
          "delta": -0.0153,
          "percent_delta": -1.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_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": 0.7429,
          "after": 1.0,
          "delta": 0.2571,
          "percent_delta": 0.3461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1932,
          "after": 1.0,
          "delta": 0.8068,
          "percent_delta": 4.176,
          "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.5655,
          "after": 1.0,
          "delta": 0.4345,
          "percent_delta": 0.7683,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3711,
          "after": 1.0,
          "delta": -0.3711,
          "percent_delta": -0.2707,
          "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_R",
          "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": 0.3873,
          "after": 0.0,
          "delta": -0.3873,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.207,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.423,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.237,
          "after": 0.207,
          "delta": -0.03,
          "percent_delta": -0.1266,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3261,
          "after": 0.289,
          "delta": -0.0371,
          "percent_delta": -0.1138,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4492,
          "after": 0.423,
          "delta": -0.0262,
          "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": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_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": 12,
      "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.237,
        "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.3261,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4492,
        "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.207,
          "after": 0.237,
          "delta": 0.03,
          "percent_delta": 0.1447,
          "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.289,
          "after": 0.3261,
          "delta": 0.0371,
          "percent_delta": 0.1282,
          "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.423,
          "after": 0.4492,
          "delta": 0.0262,
          "percent_delta": 0.0619,
          "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_OBP",
          "before": 0.289,
          "after": 0.3261,
          "delta": 0.0371,
          "percent_delta": 0.1282,
          "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.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": 3.484,
        "after": 4.0,
        "delta": 0.516,
        "percent_delta": 0.1481,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.272,
        "after": 0.237,
        "delta": -0.035,
        "percent_delta": -0.1287,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.468,
        "after": 0.0,
        "delta": -0.468,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 1.0,
        "delta": 0.21,
        "percent_delta": 0.2658,
        "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.385,
        "after": 0.3261,
        "delta": -0.0589,
        "percent_delta": -0.153,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.532,
        "after": 1.0,
        "delta": 0.468,
        "percent_delta": 0.8797,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.52,
        "after": 1.0,
        "delta": 0.48,
        "percent_delta": 0.9231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.483,
        "after": 0.4492,
        "delta": -0.0338,
        "percent_delta": -0.07,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.04,
        "after": 2.0,
        "delta": 0.96,
        "percent_delta": 0.9231,
        "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_SO",
        "before": 1.04,
        "after": 2.0,
        "delta": 0.96,
        "percent_delta": 0.9231,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.468,
        "after": 0.0,
        "delta": -0.468,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.167-
predicted_3B0.024-
predicted_AB3.484-
predicted_AVG0.272-
predicted_BB0.468-
predicted_H0.790-
predicted_HR0.180-
predicted_OBP0.385-
predicted_R0.532-
predicted_RBI0.520-
predicted_SLG0.483-
predicted_SO1.040-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.138-0.029
predicted_3B0.0280.004
predicted_AB3.412-0.072
predicted_AVG0.269-0.003
predicted_BB0.453-0.015
predicted_H0.8290.039
predicted_HBP0.249-
predicted_HR0.1830.003
predicted_OBP0.3870.002
predicted_R0.501-0.031
predicted_RBI0.520-0.000
predicted_SLG0.4830.000
predicted_SO0.996-0.044
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1380.000
predicted_3B0.0280.000
predicted_AB3.4120.000
predicted_AVG0.237-0.032
predicted_BB0.451-0.002
predicted_H0.808-0.021
predicted_HBP0.2490.000
predicted_HR0.177-0.006
predicted_OBP0.326-0.060
predicted_R0.481-0.020
predicted_RBI0.499-0.020
predicted_SLG0.449-0.034
predicted_SO1.0000.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.48), rates preserved: AVG=0.206 HR/AB=0.051

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1670.167
3B0.0150.015
BB0.3870.387
H0.743-0.257
HR0.1930.193
RBI0.566-0.434
SO1.3710.371
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.167
3B0.000-0.015
AB4.0000.000
BB0.000-0.387
H1.0000.257
HR1.0000.807
R1.0001.000
RBI1.0000.434
SO1.000-0.371
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.138
predicted_3B0.000-0.028
predicted_AB4.0000.588
predicted_AVG0.207-0.030
predicted_BB0.000-0.451
predicted_H1.0000.192
predicted_HR0.000-0.177
predicted_OBP0.289-0.037
predicted_R0.000-0.481
predicted_RBI1.0000.501
predicted_SLG0.423-0.026
predicted_SO1.000-0.000
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 126
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0004.0000.0000.0001.0002.0002.0002.0004.0000.28570.44440.50000.28570.07140.14290.14290.2857
last_100.2010-32.0007.0000.0001.0001.0003.0003.0004.0008.0000.21880.35900.37500.21880.03120.09380.12500.2500
season0.60126-439.000121.00021.0003.00027.00081.00067.00059.000131.0000.27560.38740.52160.27560.06150.18450.13440.2984
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0990
predicted_3B0.0330
predicted_AB3.3180
predicted_AVG0.2653
predicted_BB0.4340
predicted_H0.8800
predicted_HBP0.2490
predicted_HR0.1860
predicted_OBP0.3884
predicted_R0.4600
predicted_RBI0.5190
predicted_SLG0.4836
predicted_SO0.9380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16700.09900.1375model_form_blend
predicted_3B0.02400.03300.0279model_form_blend
predicted_AB3.48403.31803.4119model_form_blend
predicted_AVG0.27200.26530.2691model_form_blend
predicted_BB0.46800.43400.4532model_form_blend
predicted_H0.79000.88000.8291model_form_blend
predicted_HBP-0.24900.2490form_only
predicted_HR0.18000.18600.1826model_form_blend
predicted_OBP0.38500.38840.3865model_form_blend
predicted_R0.53200.46000.5007model_form_blend
predicted_RBI0.52000.51900.5196model_form_blend
predicted_SLG0.48300.48360.4833model_form_blend
predicted_SO1.04000.93800.9957model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date531
Season rows before report date531
Report year2026
Profile rows used126
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R1
RBI1
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260927_CHC@BOS
game_typefull
mlbID575929
playerID575929
playerNameWillson Contreras
pos1B
startedTrue
startingPositionDH
teamBOS
teamID4
game_date2026-09-27
sl_k_percent25.2
sl_bb_percent11.0
sl_woba0.391
sl_xwoba0.376
sl_xba0.256
sl_xslg0.484
sl_sweet_spot_percent32.2
sl_barrel_batted_rate13.3
sl_hard_hit_percent44.2
sl_exit_velocity_avg89.8
sl_launch_angle_avg17.9
sl_whiff_percent30.8
sl_swing_percent48.8
Ceddanne Rafaela (678882) · BATTER · CF · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 572
All-history rows before 20260929: 572
System season_avg: 0.2830
Data season_avg (2026 season-to-date): 0.2817
Diff (system - data): 0.0013
System opponent_avg: 0.2860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2330.0000.000Hitting_2B0.2500.000-0.2500.000
predicted_3B0.0230.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB4.0804.0004.000Hitting_AB4.1082.000-0.1082.000
predicted_AVG0.2750.2500.250Hitting_AVG0.2820.500-0.032-0.250
predicted_BB0.1650.0000.000Hitting_BB0.1680.000-0.1680.000
predicted_CS-0.0000.000BaseRunning_CS0.0730.000-0.0730.000
predicted_H1.1201.0001.000Hitting_H1.1571.000-0.1570.000
predicted_HR0.0700.0000.000Hitting_HR0.1120.000-0.1120.000
predicted_OBP0.3180.2500.250Hitting_OBP0.3180.500-0.068-0.250
predicted_R0.4810.0000.000Hitting_R0.5050.000-0.5050.000
predicted_RBI0.3900.0001.000Hitting_RBI0.5030.000-0.5030.000
predicted_SLG0.3850.2500.250Hitting_SLG0.4370.500-0.187-0.250
predicted_SO0.8722.0001.000Hitting_SO0.8951.0001.1051.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics0
Worse Metrics11
Biggest Boostpredicted_SO: 0.8720 -> 2.0000 (boost 1.1280, worse)
Biggest Deboostpredicted_R: 0.4810 -> 0.0000 (deboost -0.4810, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend60606-predicted_AB: 4.0800 -> 3.8333 (deboost -0.2467, 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.
3team_form_snapshot20202-predicted_OBP: 0.3104 -> 0.2939 (deboost -0.0165, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_AB: 3.8333 -> 4.0000 (boost 0.1667, better)predicted_RBI: 0.3533 -> 0.0000 (deboost -0.3533, worse)AB rounded to 4 (raw=4.08), rates preserved: AVG=0.219 HR/AB=0.016
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)
7consistency_constraints10101-predicted_R: 0.3721 -> 0.0000 (deboost -0.3721, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4660 (boost 0.4660, better)predicted_H: 1.0000 -> 0.8823 (deboost -0.1177, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62433predicted_RBI: 0.4660 -> 1.0000 (boost 0.5340, better)predicted_SO: 1.2388 -> 1.0000 (deboost -0.2388, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context41313predicted_SLG: 0.3720 -> 0.3880 (boost 0.0160, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference11001predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)-Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_AVG: 0.2340 -> 0.2631 (boost 0.0291, better)predicted_SLG: 0.3880 -> 0.3720 (deboost -0.0160, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.233,
        "predicted_3B": 0.023,
        "predicted_AB": 4.08,
        "predicted_AVG": 0.275,
        "predicted_BB": 0.165,
        "predicted_H": 1.12,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.318,
        "predicted_R": 0.481,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.385,
        "predicted_SO": 0.872
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1864,
        "predicted_3B": 0.0182,
        "predicted_AB": 3.8333,
        "predicted_AVG": 0.2696,
        "predicted_BB": 0.168,
        "predicted_H": 1.0343,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.067,
        "predicted_OBP": 0.3104,
        "predicted_R": 0.3874,
        "predicted_RBI": 0.3678,
        "predicted_SLG": 0.3738,
        "predicted_SO": 0.8798
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.233,
          "after": 0.1864,
          "delta": -0.0466,
          "percent_delta": -0.2,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0182,
          "delta": -0.0048,
          "percent_delta": -0.2087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.08,
          "after": 3.8333,
          "delta": -0.2467,
          "percent_delta": -0.0605,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.2696,
          "delta": -0.0054,
          "percent_delta": -0.0196,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.165,
          "after": 0.168,
          "delta": 0.003,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.12,
          "after": 1.0343,
          "delta": -0.0857,
          "percent_delta": -0.0765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.067,
          "delta": -0.003,
          "percent_delta": -0.0429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.318,
          "after": 0.3104,
          "delta": -0.0076,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.481,
          "after": 0.3874,
          "delta": -0.0936,
          "percent_delta": -0.1946,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.3678,
          "delta": -0.0222,
          "percent_delta": -0.0569,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.385,
          "after": 0.3738,
          "delta": -0.0112,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.872,
          "after": 0.8798,
          "delta": 0.0078,
          "percent_delta": 0.0089,
          "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.08,
          "after": 3.8333,
          "delta": -0.2467,
          "percent_delta": -0.0605,
          "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": 133
      }
    },
    {
      "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.1864,
        "predicted_3B": 0.0182,
        "predicted_AB": 3.8333,
        "predicted_AVG": 0.2631,
        "predicted_BB": 0.1672,
        "predicted_H": 1.0085,
        "predicted_HBP": 0.032,
        "predicted_HR": 0.0649,
        "predicted_OBP": 0.2939,
        "predicted_R": 0.3721,
        "predicted_RBI": 0.3533,
        "predicted_SLG": 0.372,
        "predicted_SO": 0.8838
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1864,
          "after": 0.1864,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0182,
          "after": 0.0182,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8333,
          "after": 3.8333,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2696,
          "after": 0.2631,
          "delta": -0.0065,
          "percent_delta": -0.0241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.168,
          "after": 0.1672,
          "delta": -0.0008,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0343,
          "after": 1.0085,
          "delta": -0.0258,
          "percent_delta": -0.0249,
          "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.067,
          "after": 0.0649,
          "delta": -0.0021,
          "percent_delta": -0.0313,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3104,
          "after": 0.2939,
          "delta": -0.0165,
          "percent_delta": -0.0532,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3874,
          "after": 0.3721,
          "delta": -0.0153,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3678,
          "after": 0.3533,
          "delta": -0.0145,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3738,
          "after": 0.372,
          "delta": -0.0018,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8798,
          "after": 0.8838,
          "delta": 0.004,
          "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_OBP",
          "before": 0.3104,
          "after": 0.2939,
          "delta": -0.0165,
          "percent_delta": -0.0532,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.219 HR/AB=0.016",
      "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.1864,
          "after": 0.0,
          "delta": -0.1864,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0182,
          "after": 0.0,
          "delta": -0.0182,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8333,
          "after": 4.0,
          "delta": 0.1667,
          "percent_delta": 0.0435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1672,
          "after": 0.0,
          "delta": -0.1672,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0085,
          "after": 1.0,
          "delta": -0.0085,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.0649,
          "after": 0.0,
          "delta": -0.0649,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3533,
          "after": 0.0,
          "delta": -0.3533,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8838,
          "after": 1.0,
          "delta": 0.1162,
          "percent_delta": 0.1315,
          "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": 3.8333,
          "after": 4.0,
          "delta": 0.1667,
          "percent_delta": 0.0435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3533,
          "after": 0.0,
          "delta": -0.3533,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, 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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.3721,
          "after": 0.0,
          "delta": -0.3721,
          "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.3721,
          "after": 0.0,
          "delta": -0.3721,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1724,
        "predicted_3B": 0.0155,
        "predicted_BB": 0.1805,
        "predicted_H": 0.8823,
        "predicted_HR": 0.1255,
        "predicted_RBI": 0.466,
        "predicted_SO": 1.2388
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1724,
          "delta": 0.1724,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0155,
          "delta": 0.0155,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1805,
          "delta": 0.1805,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8823,
          "delta": -0.1177,
          "percent_delta": -0.1177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1255,
          "delta": 0.1255,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.466,
          "delta": 0.466,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2388,
          "delta": 0.2388,
          "percent_delta": 0.2388,
          "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_RBI",
          "before": 0.0,
          "after": 0.466,
          "delta": 0.466,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8823,
          "delta": -0.1177,
          "percent_delta": -0.1177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1724,
          "after": 0.0,
          "delta": -0.1724,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0155,
          "after": 0.0,
          "delta": -0.0155,
          "percent_delta": -1.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_BB",
          "before": 0.1805,
          "after": 0.0,
          "delta": -0.1805,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8823,
          "after": 1.0,
          "delta": 0.1177,
          "percent_delta": 0.1334,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1255,
          "after": 0.0,
          "delta": -0.1255,
          "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.466,
          "after": 1.0,
          "delta": 0.534,
          "percent_delta": 1.1459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2388,
          "after": 1.0,
          "delta": -0.2388,
          "percent_delta": -0.1928,
          "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.466,
          "after": 1.0,
          "delta": 0.534,
          "percent_delta": 1.1459,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2388,
          "after": 1.0,
          "delta": -0.2388,
          "percent_delta": -0.1928,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.234,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.275,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.388,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2631,
          "after": 0.234,
          "delta": -0.0291,
          "percent_delta": -0.1106,
          "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.2939,
          "after": 0.275,
          "delta": -0.0189,
          "percent_delta": -0.0643,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.372,
          "after": 0.388,
          "delta": 0.016,
          "percent_delta": 0.043,
          "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": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.372,
          "after": 0.388,
          "delta": 0.016,
          "percent_delta": 0.043,
          "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": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "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.2631,
        "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.2939,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.372,
        "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.234,
          "after": 0.2631,
          "delta": 0.0291,
          "percent_delta": 0.1244,
          "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.275,
          "after": 0.2939,
          "delta": 0.0189,
          "percent_delta": 0.0687,
          "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.388,
          "after": 0.372,
          "delta": -0.016,
          "percent_delta": -0.0411,
          "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_AVG",
          "before": 0.234,
          "after": 0.2631,
          "delta": 0.0291,
          "percent_delta": 0.1244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.372,
          "delta": -0.016,
          "percent_delta": -0.0411,
          "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.233,
        "after": 0.0,
        "delta": -0.233,
        "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": 4.08,
        "after": 4.0,
        "delta": -0.08,
        "percent_delta": -0.0196,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.165,
        "after": 0.0,
        "delta": -0.165,
        "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.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.318,
        "after": 0.2939,
        "delta": -0.0241,
        "percent_delta": -0.0758,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.481,
        "after": 0.0,
        "delta": -0.481,
        "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.385,
        "after": 0.372,
        "delta": -0.013,
        "percent_delta": -0.0338,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.872,
        "after": 2.0,
        "delta": 1.128,
        "percent_delta": 1.2936,
        "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.872,
        "after": 2.0,
        "delta": 1.128,
        "percent_delta": 1.2936,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "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": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.233-
predicted_3B0.023-
predicted_AB4.080-
predicted_AVG0.275-
predicted_BB0.165-
predicted_H1.120-
predicted_HR0.070-
predicted_OBP0.318-
predicted_R0.481-
predicted_RBI0.390-
predicted_SLG0.385-
predicted_SO0.872-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.186-0.047
predicted_3B0.018-0.005
predicted_AB3.833-0.247
predicted_AVG0.270-0.005
predicted_BB0.1680.003
predicted_H1.034-0.086
predicted_HBP0.032-
predicted_HR0.067-0.003
predicted_OBP0.310-0.008
predicted_R0.387-0.094
predicted_RBI0.368-0.022
predicted_SLG0.374-0.011
predicted_SO0.8800.008
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1860.000
predicted_3B0.0180.000
predicted_AB3.8330.000
predicted_AVG0.263-0.007
predicted_BB0.167-0.001
predicted_H1.008-0.026
predicted_HBP0.0320.000
predicted_HR0.065-0.002
predicted_OBP0.294-0.017
predicted_R0.372-0.015
predicted_RBI0.353-0.015
predicted_SLG0.372-0.002
predicted_SO0.8840.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.08), rates preserved: AVG=0.219 HR/AB=0.016

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1720.172
3B0.0150.015
BB0.1800.180
H0.882-0.118
HR0.1260.126
RBI0.4660.466
SO1.2390.239
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.172
3B0.000-0.015
AB4.0000.000
BB0.000-0.180
H1.0000.118
HR0.000-0.126
R0.0000.000
RBI1.0000.534
SO1.000-0.239
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.186
predicted_3B0.000-0.018
predicted_AB4.0000.167
predicted_AVG0.234-0.029
predicted_BB0.000-0.167
predicted_H1.000-0.008
predicted_HR0.000-0.065
predicted_OBP0.275-0.019
predicted_R0.000-0.372
predicted_RBI0.000-0.353
predicted_SLG0.3880.016
predicted_SO1.0000.116
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 133
Reference playing time: 4.080
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0003.0000.0000.0000.0000.0000.0001.0004.0000.25000.30770.25000.25000.00000.00000.08330.3333
last_100.2010-32.0007.0000.0000.0000.0003.0000.0001.0009.0000.21880.23530.21880.21880.00000.09380.03120.2812
season0.60133-527.000149.00031.0003.00015.00067.00064.00022.000116.0000.28270.31960.43830.28270.02850.12710.04180.2201
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1260
predicted_3B0.0120
predicted_AB3.5130
predicted_AVG0.2626
predicted_BB0.1720
predicted_H0.9230
predicted_HBP0.0320
predicted_HR0.0630
predicted_OBP0.3006
predicted_R0.2660
predicted_RBI0.3390
predicted_SLG0.3593
predicted_SO0.8900
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23300.12600.1864model_form_blend
predicted_3B0.02300.01200.0182model_form_blend
predicted_AB4.08003.51303.8333model_form_blend
predicted_AVG0.27500.26260.2696model_form_blend
predicted_BB0.16500.17200.1680model_form_blend
predicted_H1.12000.92301.0343model_form_blend
predicted_HBP-0.03200.0320form_only
predicted_HR0.07000.06300.0670model_form_blend
predicted_OBP0.31800.30060.3104model_form_blend
predicted_R0.48100.26600.3874model_form_blend
predicted_RBI0.39000.33900.3678model_form_blend
predicted_SLG0.38500.35930.3738model_form_blend
predicted_SO0.87200.89000.8798model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date572
Season rows before report date572
Report year2026
Profile rows used133
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260927_CHC@BOS
game_typefull
mlbID678882
playerID678882
playerNameCeddanne Rafaela
posCF
startedTrue
startingPositionCF
teamBOS
teamID4
game_date2026-09-27
sl_k_percent20.3
sl_bb_percent3.8
sl_woba0.33
sl_xwoba0.285
sl_xba0.249
sl_xslg0.362
sl_sweet_spot_percent34.5
sl_barrel_batted_rate5.4
sl_hard_hit_percent31.9
sl_exit_velocity_avg86.3
sl_launch_angle_avg12.0
sl_whiff_percent24.8
sl_swing_percent57.7
Wilyer Abreu (677800) · BATTER · RF · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 652
All-history rows before 20260929: 652
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2561
Diff (system - data): -0.0061
System opponent_avg: 0.1670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2470.0001.000Hitting_2B0.2480.000-0.2480.000
predicted_3B0.0260.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.2004.0004.000Hitting_AB3.8333.0000.1671.000
predicted_AVG0.2090.2500.250Hitting_AVG0.2560.000-0.0060.250
predicted_BB0.4550.0001.000Hitting_BB0.4661.000-0.466-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0290.000-0.0290.000
predicted_H0.8801.0001.000Hitting_H0.9820.0000.0181.000
predicted_HR0.1100.0000.000Hitting_HR0.1700.000-0.1700.000
predicted_OBP0.2810.2500.400Hitting_OBP0.3370.250-0.0870.000
predicted_R0.5190.0001.000Hitting_R0.5740.000-0.5740.000
predicted_RBI0.4900.0001.000Hitting_RBI0.5260.000-0.5260.000
predicted_SLG0.3880.2500.500Hitting_SLG0.4690.000-0.2190.250
predicted_SO0.8961.0001.000Hitting_SO0.8831.0000.1170.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics1
Worse Metrics8
Biggest Boostpredicted_H: 0.8800 -> 1.0000 (boost 0.1200, better)
Biggest Deboostpredicted_R: 0.5190 -> 0.0000 (deboost -0.5190, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 4.2000 -> 4.0146 (deboost -0.1854, 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.
3team_form_snapshot20202-predicted_SLG: 0.3716 -> 0.3483 (deboost -0.0233, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_H: 0.8214 -> 1.0000 (boost 0.1786, better)predicted_RBI: 0.4388 -> 0.0000 (deboost -0.4388, worse)AB rounded to 4 (raw=4.20), rates preserved: AVG=0.173 HR/AB=0.023
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)
7consistency_constraints10101-predicted_R: 0.4304 -> 0.0000 (deboost -0.4304, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4300 (boost 0.4300, better)predicted_H: 1.0000 -> 0.7587 (deboost -0.2413, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation75261predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.1670 -> 1.0000 (deboost -0.1670, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context62424predicted_SLG: 0.3483 -> 0.3920 (boost 0.0437, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
12current_json_final20202-predicted_SLG: 0.3920 -> 0.3483 (deboost -0.0437, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.247,
        "predicted_3B": 0.026,
        "predicted_AB": 4.2,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.455,
        "predicted_H": 0.88,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.281,
        "predicted_R": 0.519,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.388,
        "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.2378,
        "predicted_3B": 0.0216,
        "predicted_AB": 4.0146,
        "predicted_AVG": 0.2096,
        "predicted_BB": 0.4253,
        "predicted_H": 0.8424,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1017,
        "predicted_OBP": 0.2818,
        "predicted_R": 0.4481,
        "predicted_RBI": 0.4568,
        "predicted_SLG": 0.3716,
        "predicted_SO": 0.9214
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.247,
          "after": 0.2378,
          "delta": -0.0092,
          "percent_delta": -0.0372,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0216,
          "delta": -0.0044,
          "percent_delta": -0.1692,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2,
          "after": 4.0146,
          "delta": -0.1854,
          "percent_delta": -0.0441,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.2096,
          "delta": 0.0006,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.455,
          "after": 0.4253,
          "delta": -0.0297,
          "percent_delta": -0.0653,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8424,
          "delta": -0.0376,
          "percent_delta": -0.0427,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1017,
          "delta": -0.0083,
          "percent_delta": -0.0755,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2818,
          "delta": 0.0008,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.519,
          "after": 0.4481,
          "delta": -0.0709,
          "percent_delta": -0.1366,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.4568,
          "delta": -0.0332,
          "percent_delta": -0.0678,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3716,
          "delta": -0.0164,
          "percent_delta": -0.0423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.896,
          "after": 0.9214,
          "delta": 0.0254,
          "percent_delta": 0.0283,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.2,
          "after": 4.0146,
          "delta": -0.1854,
          "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": 154
      }
    },
    {
      "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.2378,
        "predicted_3B": 0.0216,
        "predicted_AB": 4.0146,
        "predicted_AVG": 0.2046,
        "predicted_BB": 0.4233,
        "predicted_H": 0.8214,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0986,
        "predicted_OBP": 0.2805,
        "predicted_R": 0.4304,
        "predicted_RBI": 0.4388,
        "predicted_SLG": 0.3483,
        "predicted_SO": 0.9256
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2378,
          "after": 0.2378,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0216,
          "after": 0.0216,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0146,
          "after": 4.0146,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2096,
          "after": 0.2046,
          "delta": -0.005,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4253,
          "after": 0.4233,
          "delta": -0.002,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8424,
          "after": 0.8214,
          "delta": -0.021,
          "percent_delta": -0.0249,
          "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.1017,
          "after": 0.0986,
          "delta": -0.0031,
          "percent_delta": -0.0305,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2818,
          "after": 0.2805,
          "delta": -0.0013,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4481,
          "after": 0.4304,
          "delta": -0.0177,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4568,
          "after": 0.4388,
          "delta": -0.018,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3716,
          "after": 0.3483,
          "delta": -0.0233,
          "percent_delta": -0.0627,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9214,
          "after": 0.9256,
          "delta": 0.0042,
          "percent_delta": 0.0046,
          "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.3716,
          "after": 0.3483,
          "delta": -0.0233,
          "percent_delta": -0.0627,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.20), rates preserved: AVG=0.173 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.2378,
          "after": 0.0,
          "delta": -0.2378,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0216,
          "after": 0.0,
          "delta": -0.0216,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0146,
          "after": 4.0,
          "delta": -0.0146,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4233,
          "after": 0.0,
          "delta": -0.4233,
          "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.013,
          "after": 0.0,
          "delta": -0.013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0986,
          "after": 0.0,
          "delta": -0.0986,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4388,
          "after": 0.0,
          "delta": -0.4388,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9256,
          "after": 1.0,
          "delta": 0.0744,
          "percent_delta": 0.0804,
          "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.8214,
          "after": 1.0,
          "delta": 0.1786,
          "percent_delta": 0.2174,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4388,
          "after": 0.0,
          "delta": -0.4388,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 7,
      "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.4304,
          "after": 0.0,
          "delta": -0.4304,
          "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.4304,
          "after": 0.0,
          "delta": -0.4304,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.205,
        "predicted_3B": 0.0162,
        "predicted_BB": 0.4013,
        "predicted_H": 0.7587,
        "predicted_HR": 0.15,
        "predicted_RBI": 0.43,
        "predicted_SO": 1.167
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.205,
          "delta": 0.205,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0162,
          "delta": 0.0162,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4013,
          "delta": 0.4013,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7587,
          "delta": -0.2413,
          "percent_delta": -0.2413,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.15,
          "delta": 0.15,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.43,
          "delta": 0.43,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.167,
          "delta": 0.167,
          "percent_delta": 0.167,
          "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_RBI",
          "before": 0.0,
          "after": 0.43,
          "delta": 0.43,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7587,
          "delta": -0.2413,
          "percent_delta": -0.2413,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.205,
          "after": 1.0,
          "delta": 0.795,
          "percent_delta": 3.878,
          "direction": "boost",
          "projection_effect": "better",
          "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": 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.4013,
          "after": 1.0,
          "delta": 0.5987,
          "percent_delta": 1.4919,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7587,
          "after": 1.0,
          "delta": 0.2413,
          "percent_delta": 0.318,
          "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_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.43,
          "after": 1.0,
          "delta": 0.57,
          "percent_delta": 1.3256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.167,
          "after": 1.0,
          "delta": -0.167,
          "percent_delta": -0.1431,
          "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_R",
          "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.167,
          "after": 1.0,
          "delta": -0.167,
          "percent_delta": -0.1431,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.206,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.289,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2046,
          "after": 0.206,
          "delta": 0.0014,
          "percent_delta": 0.0068,
          "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_OBP",
          "before": 0.2805,
          "after": 0.289,
          "delta": 0.0085,
          "percent_delta": 0.0303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_SLG",
          "before": 0.3483,
          "after": 0.392,
          "delta": 0.0437,
          "percent_delta": 0.1255,
          "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": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3483,
          "after": 0.392,
          "delta": 0.0437,
          "percent_delta": 0.1255,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 12,
      "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.2046,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2805,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3483,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.206,
          "after": 0.2046,
          "delta": -0.0014,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2805,
          "delta": -0.0085,
          "percent_delta": -0.0295,
          "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.392,
          "after": 0.3483,
          "delta": -0.0437,
          "percent_delta": -0.1116,
          "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.392,
          "after": 0.3483,
          "delta": -0.0437,
          "percent_delta": -0.1116,
          "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.247,
        "after": 0.0,
        "delta": -0.247,
        "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": 4.2,
        "after": 4.0,
        "delta": -0.2,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.209,
        "after": 0.2046,
        "delta": -0.0044,
        "percent_delta": -0.0211,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.455,
        "after": 0.0,
        "delta": -0.455,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 1.0,
        "delta": 0.12,
        "percent_delta": 0.1364,
        "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.281,
        "after": 0.2805,
        "delta": -0.0005,
        "percent_delta": -0.0018,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.388,
        "after": 0.3483,
        "delta": -0.0397,
        "percent_delta": -0.1023,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.896,
        "after": 1.0,
        "delta": 0.104,
        "percent_delta": 0.1161,
        "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_H",
        "before": 0.88,
        "after": 1.0,
        "delta": 0.12,
        "percent_delta": 0.1364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.519,
        "after": 0.0,
        "delta": -0.519,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.247-
predicted_3B0.026-
predicted_AB4.200-
predicted_AVG0.209-
predicted_BB0.455-
predicted_H0.880-
predicted_HR0.110-
predicted_OBP0.281-
predicted_R0.519-
predicted_RBI0.490-
predicted_SLG0.388-
predicted_SO0.896-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.238-0.009
predicted_3B0.022-0.004
predicted_AB4.015-0.185
predicted_AVG0.2100.001
predicted_BB0.425-0.030
predicted_H0.842-0.038
predicted_HBP0.013-
predicted_HR0.102-0.008
predicted_OBP0.2820.001
predicted_R0.448-0.071
predicted_RBI0.457-0.033
predicted_SLG0.372-0.016
predicted_SO0.9210.025
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2380.000
predicted_3B0.0220.000
predicted_AB4.0150.000
predicted_AVG0.205-0.005
predicted_BB0.423-0.002
predicted_H0.821-0.021
predicted_HBP0.0130.000
predicted_HR0.099-0.003
predicted_OBP0.281-0.001
predicted_R0.430-0.018
predicted_RBI0.439-0.018
predicted_SLG0.348-0.023
predicted_SO0.9260.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.20), rates preserved: AVG=0.173 HR/AB=0.023

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.2050.205
3B0.0160.016
BB0.4010.401
H0.759-0.241
HR0.1500.150
RBI0.4300.430
SO1.1670.167
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.795
3B0.000-0.016
AB4.0000.000
BB1.0000.599
H1.0000.241
HR0.000-0.150
R1.0001.000
RBI1.0000.570
SO1.000-0.167
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.238
predicted_3B0.000-0.022
predicted_AB4.000-0.015
predicted_AVG0.2060.001
predicted_BB0.000-0.423
predicted_H1.0000.179
predicted_HR0.000-0.099
predicted_OBP0.2890.008
predicted_R0.000-0.430
predicted_RBI0.000-0.439
predicted_SLG0.3920.044
predicted_SO1.0000.074
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 4.200
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0001.0000.0000.0002.0000.0001.0005.0000.15790.20000.21050.15790.00000.10530.05260.2632
last_100.2010-37.0005.0002.0000.0000.0002.0002.0004.00011.0000.13510.21950.18920.13510.00000.05410.10810.2973
season0.60154-584.000146.00038.0004.00023.00075.00080.00070.000138.0000.25000.32980.44690.25000.03940.12840.11990.2363
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2260
predicted_3B0.0160
predicted_AB3.7760
predicted_AVG0.2103
predicted_BB0.3870
predicted_H0.7940
predicted_HBP0.0130
predicted_HR0.0910
predicted_OBP0.2828
predicted_R0.3570
predicted_RBI0.4140
predicted_SLG0.3506
predicted_SO0.9540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24700.22600.2378model_form_blend
predicted_3B0.02600.01600.0216model_form_blend
predicted_AB4.20003.77604.0146model_form_blend
predicted_AVG0.20900.21030.2096model_form_blend
predicted_BB0.45500.38700.4253model_form_blend
predicted_H0.88000.79400.8424model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.11000.09100.1017model_form_blend
predicted_OBP0.28100.28280.2818model_form_blend
predicted_R0.51900.35700.4481model_form_blend
predicted_RBI0.49000.41400.4568model_form_blend
predicted_SLG0.38800.35060.3716model_form_blend
predicted_SO0.89600.95400.9214model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date652
Season rows before report date652
Report year2026
Profile rows used154
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists1
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260927_CHC@BOS
game_typefull
mlbID677800
playerID677800
playerNameWilyer Abreu
posRF
startedTrue
startingPositionRF
teamBOS
teamID4
game_date2026-09-27
sl_k_percent20.7
sl_bb_percent10.4
sl_woba0.335
sl_xwoba0.346
sl_xba0.253
sl_xslg0.468
sl_sweet_spot_percent36.2
sl_barrel_batted_rate12.5
sl_hard_hit_percent43.5
sl_exit_velocity_avg89.8
sl_launch_angle_avg18.9
sl_whiff_percent24.6
sl_swing_percent47.5
Adley Rutschman (668939) · BATTER · C · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 103
All-history rows before 20260929: 103
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2081
Diff (system - data): 0.0349
System opponent_avg: 0.1970
System season_avg diverges from 2026 season-to-date by 0.0349. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2650.0001.000Hitting_2B0.1940.000-0.1940.000
predicted_3B0.0100.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0505.0004.000Hitting_AB3.8252.0001.1753.000
predicted_AVG0.2750.2000.250Hitting_AVG0.2080.500-0.008-0.300
predicted_BB0.3780.0000.000Hitting_BB0.3501.000-0.350-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1101.0001.000Hitting_H0.7961.0000.2040.000
predicted_HR0.1800.0000.000Hitting_HR0.1751.000-0.175-1.000
predicted_OBP0.3470.2000.250Hitting_OBP0.2740.667-0.074-0.467
predicted_R0.4490.0001.000Hitting_R0.5051.000-0.505-1.000
predicted_RBI0.6100.0001.000Hitting_RBI0.4561.000-0.456-1.000
predicted_SLG0.5230.2000.500Hitting_SLG0.3962.000-0.196-1.800
predicted_SO0.6941.0001.000Hitting_SO0.9610.0000.0391.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_AB: 4.0500 -> 5.0000 (boost 0.9500, better)
Biggest Deboostpredicted_RBI: 0.6100 -> 0.0000 (deboost -0.6100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 4.0500 -> 3.9013 (deboost -0.1487, 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.
3team_form_snapshot30303-predicted_SLG: 0.5023 -> 0.4660 (deboost -0.0363, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_RBI: 0.5591 -> 1.0000 (boost 0.4409, better)predicted_BB: 0.3369 -> 0.0000 (deboost -0.3369, worse)AB rounded to 4 (raw=4.05), rates preserved: AVG=0.228 HR/AB=0.039
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
7consistency_constraints10101-predicted_R: 0.4102 -> 0.0000 (deboost -0.4102, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_BB: 0.0000 -> 0.3673 (boost 0.3673, better)predicted_RBI: 1.0000 -> 0.5548 (deboost -0.4452, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation64242predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.3673 -> 0.0000 (deboost -0.3673, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context50505-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference21111predicted_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
12current_json_final33030predicted_SLG: 0.3830 -> 0.4660 (boost 0.0830, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668939",
  "player_name": "Adley Rutschman",
  "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.265,
        "predicted_3B": 0.01,
        "predicted_AB": 4.05,
        "predicted_AVG": 0.275,
        "predicted_BB": 0.378,
        "predicted_H": 1.11,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.347,
        "predicted_R": 0.449,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.523,
        "predicted_SO": 0.694
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.2843,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.9013,
        "predicted_AVG": 0.2747,
        "predicted_BB": 0.3385,
        "predicted_H": 1.0696,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.1628,
        "predicted_OBP": 0.3383,
        "predicted_R": 0.4271,
        "predicted_RBI": 0.5821,
        "predicted_SLG": 0.5023,
        "predicted_SO": 0.7078
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.265,
          "after": 0.2843,
          "delta": 0.0193,
          "percent_delta": 0.0728,
          "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.05,
          "after": 3.9013,
          "delta": -0.1487,
          "percent_delta": -0.0367,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.2747,
          "delta": -0.0003,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.378,
          "after": 0.3385,
          "delta": -0.0395,
          "percent_delta": -0.1045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.11,
          "after": 1.0696,
          "delta": -0.0404,
          "percent_delta": -0.0364,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1628,
          "delta": -0.0172,
          "percent_delta": -0.0956,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.347,
          "after": 0.3383,
          "delta": -0.0087,
          "percent_delta": -0.0251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.449,
          "after": 0.4271,
          "delta": -0.0219,
          "percent_delta": -0.0488,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 0.5821,
          "delta": -0.0279,
          "percent_delta": -0.0457,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.523,
          "after": 0.5023,
          "delta": -0.0207,
          "percent_delta": -0.0396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.694,
          "after": 0.7078,
          "delta": 0.0138,
          "percent_delta": 0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.05,
          "after": 3.9013,
          "delta": -0.1487,
          "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": 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.2843,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.9013,
        "predicted_AVG": 0.2673,
        "predicted_BB": 0.3369,
        "predicted_H": 1.043,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.1578,
        "predicted_OBP": 0.3256,
        "predicted_R": 0.4102,
        "predicted_RBI": 0.5591,
        "predicted_SLG": 0.466,
        "predicted_SO": 0.7111
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2843,
          "after": 0.2843,
          "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.9013,
          "after": 3.9013,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2747,
          "after": 0.2673,
          "delta": -0.0074,
          "percent_delta": -0.0269,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3385,
          "after": 0.3369,
          "delta": -0.0016,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0696,
          "after": 1.043,
          "delta": -0.0266,
          "percent_delta": -0.0249,
          "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.1628,
          "after": 0.1578,
          "delta": -0.005,
          "percent_delta": -0.0307,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3383,
          "after": 0.3256,
          "delta": -0.0127,
          "percent_delta": -0.0375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4271,
          "after": 0.4102,
          "delta": -0.0169,
          "percent_delta": -0.0396,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5821,
          "after": 0.5591,
          "delta": -0.023,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5023,
          "after": 0.466,
          "delta": -0.0363,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7078,
          "after": 0.7111,
          "delta": 0.0033,
          "percent_delta": 0.0047,
          "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.5023,
          "after": 0.466,
          "delta": -0.0363,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.05), rates preserved: AVG=0.228 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.2843,
          "after": 0.0,
          "delta": -0.2843,
          "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.9013,
          "after": 4.0,
          "delta": 0.0987,
          "percent_delta": 0.0253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3369,
          "after": 0.0,
          "delta": -0.3369,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.043,
          "after": 1.0,
          "delta": -0.043,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.1578,
          "after": 0.0,
          "delta": -0.1578,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5591,
          "after": 1.0,
          "delta": 0.4409,
          "percent_delta": 0.7886,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7111,
          "after": 1.0,
          "delta": 0.2889,
          "percent_delta": 0.4063,
          "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.5591,
          "after": 1.0,
          "delta": 0.4409,
          "percent_delta": 0.7886,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3369,
          "after": 0.0,
          "delta": -0.3369,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 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": 7,
      "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.4102,
          "after": 0.0,
          "delta": -0.4102,
          "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.4102,
          "after": 0.0,
          "delta": -0.4102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1975,
        "predicted_3B": 0.0123,
        "predicted_BB": 0.3673,
        "predicted_H": 0.7933,
        "predicted_HR": 0.1511,
        "predicted_RBI": 0.5548,
        "predicted_SO": 0.9896
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1975,
          "delta": 0.1975,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0123,
          "delta": 0.0123,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3673,
          "delta": 0.3673,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7933,
          "delta": -0.2067,
          "percent_delta": -0.2067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1511,
          "delta": 0.1511,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5548,
          "delta": -0.4452,
          "percent_delta": -0.4452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9896,
          "delta": -0.0104,
          "percent_delta": -0.0104,
          "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_BB",
          "before": 0.0,
          "after": 0.3673,
          "delta": 0.3673,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5548,
          "delta": -0.4452,
          "percent_delta": -0.4452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1975,
          "after": 1.0,
          "delta": 0.8025,
          "percent_delta": 4.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0123,
          "after": 0.0,
          "delta": -0.0123,
          "percent_delta": -1.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_BB",
          "before": 0.3673,
          "after": 0.0,
          "delta": -0.3673,
          "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_HR",
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5548,
          "after": 1.0,
          "delta": 0.4452,
          "percent_delta": 0.8025,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9896,
          "after": 1.0,
          "delta": 0.0104,
          "percent_delta": 0.0105,
          "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.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3673,
          "after": 0.0,
          "delta": -0.3673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.207,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.282,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.383,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2673,
          "after": 0.207,
          "delta": -0.0603,
          "percent_delta": -0.2256,
          "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.3256,
          "after": 0.282,
          "delta": -0.0436,
          "percent_delta": -0.1339,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.466,
          "after": 0.383,
          "delta": -0.083,
          "percent_delta": -0.1781,
          "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": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 12,
      "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.2673,
        "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.3256,
        "predicted_R": 0.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": 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.207,
          "after": 0.2673,
          "delta": 0.0603,
          "percent_delta": 0.2915,
          "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.282,
          "after": 0.3256,
          "delta": 0.0436,
          "percent_delta": 0.1546,
          "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.383,
          "after": 0.466,
          "delta": 0.083,
          "percent_delta": 0.2167,
          "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.383,
          "after": 0.466,
          "delta": 0.083,
          "percent_delta": 0.2167,
          "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.265,
        "after": 0.0,
        "delta": -0.265,
        "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.05,
        "after": 5.0,
        "delta": 0.95,
        "percent_delta": 0.2346,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.275,
        "after": 0.2673,
        "delta": -0.0077,
        "percent_delta": -0.028,
        "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": 1.11,
        "after": 1.0,
        "delta": -0.11,
        "percent_delta": -0.0991,
        "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.347,
        "after": 0.3256,
        "delta": -0.0214,
        "percent_delta": -0.0617,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.449,
        "after": 0.0,
        "delta": -0.449,
        "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.523,
        "after": 0.466,
        "delta": -0.057,
        "percent_delta": -0.109,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.694,
        "after": 1.0,
        "delta": 0.306,
        "percent_delta": 0.4409,
        "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": 4.05,
        "after": 5.0,
        "delta": 0.95,
        "percent_delta": 0.2346,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.265-
predicted_3B0.010-
predicted_AB4.050-
predicted_AVG0.275-
predicted_BB0.378-
predicted_H1.110-
predicted_HR0.180-
predicted_OBP0.347-
predicted_R0.449-
predicted_RBI0.610-
predicted_SLG0.523-
predicted_SO0.694-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2840.019
predicted_3B0.009-0.001
predicted_AB3.901-0.149
predicted_AVG0.275-0.000
predicted_BB0.339-0.039
predicted_H1.070-0.040
predicted_HBP0.014-
predicted_HR0.163-0.017
predicted_OBP0.338-0.009
predicted_R0.427-0.022
predicted_RBI0.582-0.028
predicted_SLG0.502-0.021
predicted_SO0.7080.014
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2840.000
predicted_3B0.0090.000
predicted_AB3.9010.000
predicted_AVG0.267-0.007
predicted_BB0.337-0.002
predicted_H1.043-0.027
predicted_HBP0.0140.000
predicted_HR0.158-0.005
predicted_OBP0.326-0.013
predicted_R0.410-0.017
predicted_RBI0.559-0.023
predicted_SLG0.466-0.036
predicted_SO0.7110.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.05), rates preserved: AVG=0.228 HR/AB=0.039

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1980.198
3B0.0120.012
BB0.3670.367
H0.793-0.207
HR0.1510.151
RBI0.555-0.445
SO0.990-0.010
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.802
3B0.000-0.012
AB4.0000.000
BB0.000-0.367
H1.0000.207
HR0.000-0.151
R1.0001.000
RBI1.0000.445
SO1.0000.010
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.284
predicted_3B0.000-0.009
predicted_AB4.0000.099
predicted_AVG0.207-0.060
predicted_BB0.000-0.337
predicted_H1.000-0.043
predicted_HR0.000-0.158
predicted_OBP0.282-0.044
predicted_R0.000-0.410
predicted_RBI1.0000.441
predicted_SLG0.383-0.083
predicted_SO1.0000.289
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 98
Reference playing time: 4.050
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0007.0002.0000.0001.0003.0002.0001.0004.0000.38890.42110.66670.38890.05560.16670.05560.2222
last_100.2010-38.00010.0004.0000.0001.0003.0002.0001.0007.0000.26320.28210.44740.26320.02630.07900.02630.1842
season0.6098-362.00088.00026.0001.00013.00060.00044.00037.00068.0000.24310.31280.42820.24310.03590.16580.10220.1878
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3100
predicted_3B0.0070
predicted_AB3.7040
predicted_AVG0.2743
predicted_BB0.2860
predicted_H1.0160
predicted_HBP0.0140
predicted_HR0.1400
predicted_OBP0.3268
predicted_R0.3980
predicted_RBI0.5450
predicted_SLG0.4748
predicted_SO0.7260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26500.31000.2843model_form_blend
predicted_3B0.01000.00700.0087model_form_blend
predicted_AB4.05003.70403.9013model_form_blend
predicted_AVG0.27500.27430.2747model_form_blend
predicted_BB0.37800.28600.3385model_form_blend
predicted_H1.11001.01601.0696model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.18000.14000.1628model_form_blend
predicted_OBP0.34700.32680.3383model_form_blend
predicted_R0.44900.39800.4271model_form_blend
predicted_RBI0.61000.54500.5821model_form_blend
predicted_SLG0.52300.47480.5023model_form_blend
predicted_SO0.69400.72600.7078model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date103
Season rows before report date103
Report year2026
Profile rows used98
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260927_CHC@BOS
game_typefull
mlbID668939
playerID668939
playerNameAdley Rutschman
posC
startedTrue
startingPositionC
teamBOS
teamID4
game_date2026-09-27
sl_k_percent16.6
sl_bb_percent9.5
sl_woba0.323
sl_xwoba0.327
sl_xba0.254
sl_xslg0.412
sl_sweet_spot_percent39.5
sl_barrel_batted_rate7.0
sl_hard_hit_percent38.5
sl_exit_velocity_avg88.9
sl_launch_angle_avg14.7
sl_whiff_percent16.3
sl_swing_percent40.4
Nick Sogard (686765) · BATTER · 2B · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 246
All-history rows before 20260929: 246
System season_avg: 0.2510
Data season_avg (2026 season-to-date): 0.2593
Diff (system - data): -0.0083
System opponent_avg: 0.1760

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2030.0000.000Hitting_2B0.2240.000-0.2240.000
predicted_3B0.0160.0000.000Hitting_3B0.0160.000-0.0160.000
predicted_AB3.8703.0004.000Hitting_AB3.7323.000-0.7320.000
predicted_AVG0.2500.3330.250Hitting_AVG0.2590.3330.0740.000
predicted_BB0.4841.0001.000Hitting_BB0.5531.0000.4470.000
predicted_CS-0.0000.000BaseRunning_CS0.0160.000-0.0160.000
predicted_H0.9701.0001.000Hitting_H0.9671.0000.0330.000
predicted_HR0.0600.0000.000Hitting_HR0.0890.000-0.0890.000
predicted_OBP0.3370.5000.400Hitting_OBP0.3560.5000.1440.000
predicted_R0.4380.0000.000Hitting_R0.5571.000-0.557-1.000
predicted_RBI0.2500.0000.000Hitting_RBI0.2970.000-0.2970.000
predicted_SB-0.0000.000BaseRunning_SB0.0040.000-0.0040.000
predicted_SLG0.3450.3330.250Hitting_SLG0.4000.333-0.0660.000
predicted_SO0.8750.0001.000Hitting_SO0.8460.000-0.8460.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics1
Deboosted Metrics8
Better Metrics2
Worse Metrics7
Biggest Boostpredicted_BB: 0.4840 -> 1.0000 (boost 0.5160, better)
Biggest Deboostpredicted_SO: 0.8750 -> 0.0000 (deboost -0.8750, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 3.8700 -> 3.8115 (deboost -0.0585, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_OBP: 0.3298 -> 0.3221 (deboost -0.0077, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_AB: 3.8115 -> 4.0000 (boost 0.1885, better)predicted_BB: 0.4466 -> 0.0000 (deboost -0.4466, worse)AB rounded to 4 (raw=3.87), rates preserved: AVG=0.212 HR/AB=0.015
6consistency_constraints10101-predicted_R: 0.3823 -> 0.0000 (deboost -0.3823, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.4102 (boost 0.4102, better)predicted_H: 1.0000 -> 0.7606 (deboost -0.2394, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62433predicted_BB: 0.4102 -> 1.0000 (boost 0.5898, better)predicted_RBI: 0.3528 -> 0.0000 (deboost -0.3528, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context41313predicted_SLG: 0.3412 -> 0.3610 (boost 0.0198, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference31221predicted_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
11current_json_final32121predicted_AVG: 0.2100 -> 0.2427 (boost 0.0327, better)predicted_SLG: 0.3610 -> 0.3412 (deboost -0.0198, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686765",
  "player_name": "Nick Sogard",
  "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.203,
        "predicted_3B": 0.016,
        "predicted_AB": 3.87,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.484,
        "predicted_H": 0.97,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.337,
        "predicted_R": 0.438,
        "predicted_RBI": 0.25,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.875
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.0135,
        "predicted_AB": 3.8115,
        "predicted_AVG": 0.2485,
        "predicted_BB": 0.4487,
        "predicted_H": 0.9486,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0583,
        "predicted_OBP": 0.3298,
        "predicted_R": 0.398,
        "predicted_RBI": 0.2298,
        "predicted_SLG": 0.3411,
        "predicted_SO": 0.8615
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.203,
          "after": 0.179,
          "delta": -0.024,
          "percent_delta": -0.1182,
          "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": 3.87,
          "after": 3.8115,
          "delta": -0.0585,
          "percent_delta": -0.0151,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2485,
          "delta": -0.0015,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.484,
          "after": 0.4487,
          "delta": -0.0353,
          "percent_delta": -0.0729,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 0.9486,
          "delta": -0.0214,
          "percent_delta": -0.0221,
          "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.337,
          "after": 0.3298,
          "delta": -0.0072,
          "percent_delta": -0.0214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.438,
          "after": 0.398,
          "delta": -0.04,
          "percent_delta": -0.0913,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.25,
          "after": 0.2298,
          "delta": -0.0202,
          "percent_delta": -0.0808,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3411,
          "delta": -0.0039,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.875,
          "after": 0.8615,
          "delta": -0.0135,
          "percent_delta": -0.0154,
          "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.87,
          "after": 3.8115,
          "delta": -0.0585,
          "percent_delta": -0.0151,
          "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": 64
      }
    },
    {
      "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.0135,
        "predicted_AB": 3.8115,
        "predicted_AVG": 0.2427,
        "predicted_BB": 0.4466,
        "predicted_H": 0.925,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0565,
        "predicted_OBP": 0.3221,
        "predicted_R": 0.3823,
        "predicted_RBI": 0.2207,
        "predicted_SLG": 0.3412,
        "predicted_SO": 0.8655
      },
      "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.0135,
          "after": 0.0135,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8115,
          "after": 3.8115,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2485,
          "after": 0.2427,
          "delta": -0.0058,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4487,
          "after": 0.4466,
          "delta": -0.0021,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9486,
          "after": 0.925,
          "delta": -0.0236,
          "percent_delta": -0.0249,
          "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.0583,
          "after": 0.0565,
          "delta": -0.0018,
          "percent_delta": -0.0309,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3298,
          "after": 0.3221,
          "delta": -0.0077,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.398,
          "after": 0.3823,
          "delta": -0.0157,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2298,
          "after": 0.2207,
          "delta": -0.0091,
          "percent_delta": -0.0396,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3411,
          "after": 0.3412,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8615,
          "after": 0.8655,
          "delta": 0.004,
          "percent_delta": 0.0046,
          "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.3298,
          "after": 0.3221,
          "delta": -0.0077,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.212 HR/AB=0.015",
      "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.179,
          "after": 0.0,
          "delta": -0.179,
          "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.8115,
          "after": 4.0,
          "delta": 0.1885,
          "percent_delta": 0.0495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4466,
          "after": 0.0,
          "delta": -0.4466,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.925,
          "after": 1.0,
          "delta": 0.075,
          "percent_delta": 0.0811,
          "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.0565,
          "after": 0.0,
          "delta": -0.0565,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2207,
          "after": 0.0,
          "delta": -0.2207,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8655,
          "after": 1.0,
          "delta": 0.1345,
          "percent_delta": 0.1554,
          "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.8115,
          "after": 4.0,
          "delta": 0.1885,
          "percent_delta": 0.0495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4466,
          "after": 0.0,
          "delta": -0.4466,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.3823,
          "after": 0.0,
          "delta": -0.3823,
          "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.3823,
          "after": 0.0,
          "delta": -0.3823,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1735,
        "predicted_3B": 0.0135,
        "predicted_BB": 0.4102,
        "predicted_H": 0.7606,
        "predicted_HR": 0.1155,
        "predicted_RBI": 0.3528,
        "predicted_SO": 1.0966
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1735,
          "delta": 0.1735,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0135,
          "delta": 0.0135,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4102,
          "delta": 0.4102,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7606,
          "delta": -0.2394,
          "percent_delta": -0.2394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1155,
          "delta": 0.1155,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3528,
          "delta": 0.3528,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0966,
          "delta": 0.0966,
          "percent_delta": 0.0966,
          "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_BB",
          "before": 0.0,
          "after": 0.4102,
          "delta": 0.4102,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7606,
          "delta": -0.2394,
          "percent_delta": -0.2394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1735,
          "after": 0.0,
          "delta": -0.1735,
          "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": 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.4102,
          "after": 1.0,
          "delta": 0.5898,
          "percent_delta": 1.4378,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7606,
          "after": 1.0,
          "delta": 0.2394,
          "percent_delta": 0.3148,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1155,
          "after": 0.0,
          "delta": -0.1155,
          "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.3528,
          "after": 0.0,
          "delta": -0.3528,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0966,
          "after": 1.0,
          "delta": -0.0966,
          "percent_delta": -0.0881,
          "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_BB",
          "before": 0.4102,
          "after": 1.0,
          "delta": 0.5898,
          "percent_delta": 1.4378,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3528,
          "after": 0.0,
          "delta": -0.3528,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.361,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2427,
          "after": 0.21,
          "delta": -0.0327,
          "percent_delta": -0.1347,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.296,
          "delta": -0.0261,
          "percent_delta": -0.081,
          "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.3412,
          "after": 0.361,
          "delta": 0.0198,
          "percent_delta": 0.058,
          "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": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3412,
          "after": 0.361,
          "delta": 0.0198,
          "percent_delta": 0.058,
          "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": 10,
      "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": 11,
      "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.2427,
        "predicted_BB": 1.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.3412,
        "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.21,
          "after": 0.2427,
          "delta": 0.0327,
          "percent_delta": 0.1556,
          "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.296,
          "after": 0.3221,
          "delta": 0.0261,
          "percent_delta": 0.0882,
          "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.361,
          "after": 0.3412,
          "delta": -0.0198,
          "percent_delta": -0.0549,
          "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.21,
          "after": 0.2427,
          "delta": 0.0327,
          "percent_delta": 0.1556,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.361,
          "after": 0.3412,
          "delta": -0.0198,
          "percent_delta": -0.0549,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.203,
        "after": 0.0,
        "delta": -0.203,
        "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.87,
        "after": 3.0,
        "delta": -0.87,
        "percent_delta": -0.2248,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2427,
        "delta": -0.0073,
        "percent_delta": -0.0292,
        "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.97,
        "after": 1.0,
        "delta": 0.03,
        "percent_delta": 0.0309,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.337,
        "after": 0.3221,
        "delta": -0.0149,
        "percent_delta": -0.0442,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.345,
        "after": 0.3412,
        "delta": -0.0038,
        "percent_delta": -0.011,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.875,
        "after": 0.0,
        "delta": -0.875,
        "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.484,
        "after": 1.0,
        "delta": 0.516,
        "percent_delta": 1.0661,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.875,
        "after": 0.0,
        "delta": -0.875,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.203-
predicted_3B0.016-
predicted_AB3.870-
predicted_AVG0.250-
predicted_BB0.484-
predicted_H0.970-
predicted_HR0.060-
predicted_OBP0.337-
predicted_R0.438-
predicted_RBI0.250-
predicted_SLG0.345-
predicted_SO0.875-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.179-0.024
predicted_3B0.013-0.003
predicted_AB3.812-0.058
predicted_AVG0.248-0.002
predicted_BB0.449-0.035
predicted_H0.949-0.021
predicted_HBP0.012-
predicted_HR0.058-0.002
predicted_OBP0.330-0.007
predicted_R0.398-0.040
predicted_RBI0.230-0.020
predicted_SLG0.341-0.004
predicted_SO0.862-0.013
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1790.000
predicted_3B0.0130.000
predicted_AB3.8120.000
predicted_AVG0.243-0.006
predicted_BB0.447-0.002
predicted_H0.925-0.024
predicted_HBP0.0120.000
predicted_HR0.057-0.002
predicted_OBP0.322-0.008
predicted_R0.382-0.016
predicted_RBI0.221-0.009
predicted_SLG0.3410.000
predicted_SO0.8660.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.87), rates preserved: AVG=0.212 HR/AB=0.015

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1730.173
3B0.0130.013
BB0.4100.410
H0.761-0.239
HR0.1160.116
RBI0.3530.353
SO1.0970.097
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.173
3B0.000-0.013
AB4.0000.000
BB1.0000.590
H1.0000.239
HR0.000-0.116
R0.0000.000
RBI0.000-0.353
SO1.000-0.097
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.179
predicted_3B0.000-0.013
predicted_AB4.0000.188
predicted_AVG0.210-0.033
predicted_BB0.000-0.447
predicted_H1.0000.075
predicted_HR0.000-0.057
predicted_OBP0.296-0.026
predicted_R0.000-0.382
predicted_RBI0.000-0.221
predicted_SLG0.3610.020
predicted_SO1.0000.134
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 64
Reference playing time: 3.870
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0000.0000.0000.0000.0001.0002.0003.0000.27780.35000.27780.27780.00000.00000.11110.1667
last_100.2010-40.0008.0001.0000.0000.0000.0001.0002.00010.0000.20000.23810.22500.20000.00000.00000.05000.2500
season0.6064-235.00059.00013.0001.0005.00018.00028.00031.00056.0000.25110.33960.37870.25110.02130.07660.13190.2383
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1460
predicted_3B0.0100
predicted_AB3.7310
predicted_AVG0.2464
predicted_BB0.4000
predicted_H0.9190
predicted_HBP0.0120
predicted_HR0.0560
predicted_OBP0.3198
predicted_R0.3430
predicted_RBI0.2020
predicted_SLG0.3358
predicted_SO0.8430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20300.14600.1790model_form_blend
predicted_3B0.01600.01000.0135model_form_blend
predicted_AB3.87003.73103.8115model_form_blend
predicted_AVG0.25000.24640.2485model_form_blend
predicted_BB0.48400.40000.4487model_form_blend
predicted_H0.97000.91900.9486model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.06000.05600.0583model_form_blend
predicted_OBP0.33700.31980.3298model_form_blend
predicted_R0.43800.34300.3980model_form_blend
predicted_RBI0.25000.20200.2298model_form_blend
predicted_SLG0.34500.33580.3411model_form_blend
predicted_SO0.87500.84300.8615model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date246
Season rows before report date246
Report year2026
Profile rows used64
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR0
R0
RBI0
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260927_CHC@BOS
game_typefull
mlbID686765
playerID686765
playerNameNick Sogard
pos2B
startedTrue
startingPosition2B
teamBOS
teamID4
game_date2026-09-27
sl_k_percent20.2
sl_bb_percent11.2
sl_woba0.325
sl_xwoba0.311
sl_xba0.251
sl_xslg0.355
sl_sweet_spot_percent38.1
sl_barrel_batted_rate4.8
sl_hard_hit_percent28.6
sl_exit_velocity_avg86.8
sl_launch_angle_avg16.1
sl_whiff_percent20.4
sl_swing_percent39.9
Jarren Duran (680776) · BATTER · LF · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 592
All-history rows before 20260929: 592
System season_avg: 0.2060
Data season_avg (2026 season-to-date): 0.2047
Diff (system - data): 0.0013
System opponent_avg: 0.1330

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1010.0000.000Hitting_2B0.1130.000-0.1130.000
predicted_3B0.0270.0000.000Hitting_3B0.0170.000-0.0170.000
predicted_AB3.6824.0003.000Hitting_AB3.8872.0000.1132.000
predicted_AVG0.2030.0000.000Hitting_AVG0.2050.000-0.2050.000
predicted_BB0.2700.0000.000Hitting_BB0.2970.000-0.2970.000
predicted_CS-0.0000.000BaseRunning_CS0.0240.000-0.0240.000
predicted_H0.3800.0000.000Hitting_H0.7960.000-0.7960.000
predicted_HR0.0500.0000.000Hitting_HR0.1550.000-0.1550.000
predicted_OBP0.2670.0000.000Hitting_OBP0.2660.000-0.2660.000
predicted_R0.4390.0000.000Hitting_R0.4880.000-0.4880.000
predicted_RBI0.1400.0000.000Hitting_RBI0.4920.000-0.4920.000
predicted_SLG0.3320.0000.000Hitting_SLG0.3620.000-0.3620.000
predicted_SO1.1012.0001.000Hitting_SO1.1590.0000.8412.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_SO: 1.1010 -> 2.0000 (boost 0.8990, worse)
Biggest Deboostpredicted_R: 0.4390 -> 0.0000 (deboost -0.4390, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend74352predicted_H: 0.3800 -> 0.5465 (boost 0.1665, better)predicted_AB: 3.6820 -> 3.4884 (deboost -0.1936, 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.
3team_form_snapshot30303-predicted_SLG: 0.3381 -> 0.2451 (deboost -0.0930, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60606-predicted_H: 0.5329 -> 0.0000 (deboost -0.5329, worse)AB rounded to 3 (raw=3.68), rates preserved: AVG=0.128 HR/AB=0.016
6bvp_blend00000--Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.133)
7consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3693 -> 0.0000 (deboost -0.3693, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3833 (boost 0.3833, better)predicted_H: 1.0000 -> 0.6259 (deboost -0.3741, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation60615-predicted_H: 0.6259 -> 0.0000 (deboost -0.6259, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference32112predicted_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
12current_json_final30303-predicted_SLG: 0.3530 -> 0.2451 (deboost -0.1079, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.101,
        "predicted_3B": 0.027,
        "predicted_AB": 3.682,
        "predicted_AVG": 0.203,
        "predicted_BB": 0.27,
        "predicted_H": 0.38,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.267,
        "predicted_R": 0.439,
        "predicted_RBI": 0.14,
        "predicted_SLG": 0.332,
        "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.0823,
        "predicted_3B": 0.0327,
        "predicted_AB": 3.4884,
        "predicted_AVG": 0.2172,
        "predicted_BB": 0.2909,
        "predicted_H": 0.5465,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.2858,
        "predicted_R": 0.3845,
        "predicted_RBI": 0.1805,
        "predicted_SLG": 0.3381,
        "predicted_SO": 0.9746
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.101,
          "after": 0.0823,
          "delta": -0.0187,
          "percent_delta": -0.1851,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0327,
          "delta": 0.0057,
          "percent_delta": 0.2111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.682,
          "after": 3.4884,
          "delta": -0.1936,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.2172,
          "delta": 0.0142,
          "percent_delta": 0.07,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.27,
          "after": 0.2909,
          "delta": 0.0209,
          "percent_delta": 0.0774,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.38,
          "after": 0.5465,
          "delta": 0.1665,
          "percent_delta": 0.4382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.06,
          "delta": 0.01,
          "percent_delta": 0.2,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.267,
          "after": 0.2858,
          "delta": 0.0188,
          "percent_delta": 0.0704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.439,
          "after": 0.3845,
          "delta": -0.0545,
          "percent_delta": -0.1241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.14,
          "after": 0.1805,
          "delta": 0.0405,
          "percent_delta": 0.2893,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.332,
          "after": 0.3381,
          "delta": 0.0061,
          "percent_delta": 0.0184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.101,
          "after": 0.9746,
          "delta": -0.1264,
          "percent_delta": -0.1148,
          "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_H",
          "before": 0.38,
          "after": 0.5465,
          "delta": 0.1665,
          "percent_delta": 0.4382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.682,
          "after": 3.4884,
          "delta": -0.1936,
          "percent_delta": -0.0526,
          "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": 148
      }
    },
    {
      "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.0823,
        "predicted_3B": 0.0327,
        "predicted_AB": 3.4884,
        "predicted_AVG": 0.1528,
        "predicted_BB": 0.2896,
        "predicted_H": 0.5329,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0581,
        "predicted_OBP": 0.2177,
        "predicted_R": 0.3693,
        "predicted_RBI": 0.1734,
        "predicted_SLG": 0.2451,
        "predicted_SO": 0.9791
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0823,
          "after": 0.0823,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0327,
          "after": 0.0327,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4884,
          "after": 3.4884,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2172,
          "after": 0.1528,
          "delta": -0.0644,
          "percent_delta": -0.2965,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2909,
          "after": 0.2896,
          "delta": -0.0013,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5465,
          "after": 0.5329,
          "delta": -0.0136,
          "percent_delta": -0.0249,
          "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.06,
          "after": 0.0581,
          "delta": -0.0019,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2858,
          "after": 0.2177,
          "delta": -0.0681,
          "percent_delta": -0.2383,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3845,
          "after": 0.3693,
          "delta": -0.0152,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1805,
          "after": 0.1734,
          "delta": -0.0071,
          "percent_delta": -0.0393,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3381,
          "after": 0.2451,
          "delta": -0.093,
          "percent_delta": -0.2751,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9746,
          "after": 0.9791,
          "delta": 0.0045,
          "percent_delta": 0.0046,
          "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.3381,
          "after": 0.2451,
          "delta": -0.093,
          "percent_delta": -0.2751,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.68), rates preserved: AVG=0.128 HR/AB=0.016",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0823,
          "after": 0.0,
          "delta": -0.0823,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0327,
          "after": 0.0,
          "delta": -0.0327,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4884,
          "after": 3.0,
          "delta": -0.4884,
          "percent_delta": -0.14,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2896,
          "after": 0.0,
          "delta": -0.2896,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5329,
          "after": 0.0,
          "delta": -0.5329,
          "percent_delta": -1.0,
          "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.0581,
          "after": 0.0,
          "delta": -0.0581,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1734,
          "after": 0.0,
          "delta": -0.1734,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9791,
          "after": 1.0,
          "delta": 0.0209,
          "percent_delta": 0.0213,
          "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.5329,
          "after": 0.0,
          "delta": -0.5329,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.133)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8667,
        "bvp": 0.1333
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.3693,
          "after": 0.0,
          "delta": -0.3693,
          "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.3693,
          "after": 0.0,
          "delta": -0.3693,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1206,
        "predicted_3B": 0.0151,
        "predicted_BB": 0.2476,
        "predicted_H": 0.6259,
        "predicted_HR": 0.1302,
        "predicted_RBI": 0.3833,
        "predicted_SO": 1.275
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1206,
          "delta": 0.1206,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0151,
          "delta": 0.0151,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2476,
          "delta": 0.2476,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6259,
          "delta": -0.3741,
          "percent_delta": -0.3741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1302,
          "delta": 0.1302,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3833,
          "delta": 0.3833,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.275,
          "delta": 0.275,
          "percent_delta": 0.275,
          "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_RBI",
          "before": 0.0,
          "after": 0.3833,
          "delta": 0.3833,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6259,
          "delta": -0.3741,
          "percent_delta": -0.3741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1206,
          "after": 0.0,
          "delta": -0.1206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0151,
          "after": 0.0,
          "delta": -0.0151,
          "percent_delta": -1.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_BB",
          "before": 0.2476,
          "after": 0.0,
          "delta": -0.2476,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6259,
          "after": 0.0,
          "delta": -0.6259,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1302,
          "after": 0.0,
          "delta": -0.1302,
          "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.3833,
          "after": 0.0,
          "delta": -0.3833,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.275,
          "after": 1.0,
          "delta": -0.275,
          "percent_delta": -0.2157,
          "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_H",
          "before": 0.6259,
          "after": 0.0,
          "delta": -0.6259,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.189,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.252,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.353,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1528,
          "after": 0.189,
          "delta": 0.0362,
          "percent_delta": 0.2369,
          "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": 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_OBP",
          "before": 0.2177,
          "after": 0.252,
          "delta": 0.0343,
          "percent_delta": 0.1576,
          "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.2451,
          "after": 0.353,
          "delta": 0.1079,
          "percent_delta": 0.4402,
          "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": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 12,
      "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.1528,
        "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.2177,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2451,
        "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.189,
          "after": 0.1528,
          "delta": -0.0362,
          "percent_delta": -0.1917,
          "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.252,
          "after": 0.2177,
          "delta": -0.0343,
          "percent_delta": -0.1361,
          "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.353,
          "after": 0.2451,
          "delta": -0.1079,
          "percent_delta": -0.3056,
          "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_SLG",
          "before": 0.353,
          "after": 0.2451,
          "delta": -0.1079,
          "percent_delta": -0.3056,
          "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.101,
        "after": 0.0,
        "delta": -0.101,
        "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.682,
        "after": 4.0,
        "delta": 0.318,
        "percent_delta": 0.0864,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.203,
        "after": 0.1528,
        "delta": -0.0502,
        "percent_delta": -0.2473,
        "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.38,
        "after": 0.0,
        "delta": -0.38,
        "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.267,
        "after": 0.2177,
        "delta": -0.0493,
        "percent_delta": -0.1846,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.332,
        "after": 0.2451,
        "delta": -0.0869,
        "percent_delta": -0.2617,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.101,
        "after": 2.0,
        "delta": 0.899,
        "percent_delta": 0.8165,
        "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.101,
        "after": 2.0,
        "delta": 0.899,
        "percent_delta": 0.8165,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.101-
predicted_3B0.027-
predicted_AB3.682-
predicted_AVG0.203-
predicted_BB0.270-
predicted_H0.380-
predicted_HR0.050-
predicted_OBP0.267-
predicted_R0.439-
predicted_RBI0.140-
predicted_SLG0.332-
predicted_SO1.101-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.082-0.019
predicted_3B0.0330.006
predicted_AB3.488-0.194
predicted_AVG0.2170.014
predicted_BB0.2910.021
predicted_H0.5460.166
predicted_HBP0.047-
predicted_HR0.0600.010
predicted_OBP0.2860.019
predicted_R0.385-0.054
predicted_RBI0.1800.040
predicted_SLG0.3380.006
predicted_SO0.975-0.126
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0820.000
predicted_3B0.0330.000
predicted_AB3.4880.000
predicted_AVG0.153-0.064
predicted_BB0.290-0.001
predicted_H0.533-0.014
predicted_HBP0.0470.000
predicted_HR0.058-0.002
predicted_OBP0.218-0.068
predicted_R0.369-0.015
predicted_RBI0.173-0.007
predicted_SLG0.245-0.093
predicted_SO0.9790.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.68), rates preserved: AVG=0.128 HR/AB=0.016

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.133)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0001.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1210.121
3B0.0150.015
BB0.2480.248
H0.626-0.374
HR0.1300.130
RBI0.3830.383
SO1.2750.275
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.121
3B0.000-0.015
AB3.0000.000
BB0.000-0.248
H0.000-0.626
HR0.000-0.130
R0.0000.000
RBI0.000-0.383
SO1.000-0.275
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.082
predicted_3B0.000-0.033
predicted_AB3.000-0.488
predicted_AVG0.1890.036
predicted_BB0.000-0.290
predicted_H1.0000.467
predicted_HR0.000-0.058
predicted_OBP0.2520.034
predicted_R0.000-0.369
predicted_RBI0.000-0.173
predicted_SLG0.3530.108
predicted_SO1.0000.021
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 148
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0004.0000.0000.0000.0000.0001.0002.0002.0000.30770.40000.30770.30770.00000.00000.15380.1538
last_100.2010-24.0006.0000.0001.0000.0000.0001.0003.0005.0000.25000.35710.33330.25000.00000.00000.12500.2083
season0.60148-545.000112.00015.0004.00020.00063.00065.00040.000163.0000.20550.26510.35780.20550.03670.11560.07340.2991
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0580
predicted_3B0.0400
predicted_AB3.2380
predicted_AVG0.2355
predicted_BB0.3180
predicted_H0.7620
predicted_HBP0.0470
predicted_HR0.0730
predicted_OBP0.3102
predicted_R0.3140
predicted_RBI0.2330
predicted_SLG0.3460
predicted_SO0.8110
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10100.05800.0823model_form_blend
predicted_3B0.02700.04000.0327model_form_blend
predicted_AB3.68203.23803.4884model_form_blend
predicted_AVG0.20300.23550.2172model_form_blend
predicted_BB0.27000.31800.2909model_form_blend
predicted_H0.38000.76200.5465model_form_blend
predicted_HBP-0.04700.0470form_only
predicted_HR0.05000.07300.0600model_form_blend
predicted_OBP0.26700.31020.2858model_form_blend
predicted_R0.43900.31400.3845model_form_blend
predicted_RBI0.14000.23300.1805model_form_blend
predicted_SLG0.33200.34600.3381model_form_blend
predicted_SO1.10100.81100.9746model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date592
Season rows before report date592
Report year2026
Profile rows used148
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260927_CHC@BOS
game_typeshort
mlbID680776
playerID680776
playerNameJarren Duran
posLF
startedFalse
startingPositionLF
teamBOS
teamID4
game_date2026-09-27
sl_k_percent27.1
sl_bb_percent6.7
sl_woba0.274
sl_xwoba0.301
sl_xba0.237
sl_xslg0.388
sl_sweet_spot_percent31.6
sl_barrel_batted_rate9.1
sl_hard_hit_percent39.9
sl_exit_velocity_avg89.6
sl_launch_angle_avg12.5
sl_whiff_percent33.5
sl_swing_percent51.0
Caleb Durbin (702332) · BATTER · 3B · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 565
All-history rows before 20260929: 565
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2518
Diff (system - data): -0.0108
System opponent_avg: 0.2240

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1700.0000.000Hitting_2B0.1790.000-0.1790.000
predicted_3B0.0070.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.5604.0003.000Hitting_AB3.5014.0000.4990.000
predicted_AVG0.2250.5000.000Hitting_AVG0.2520.2500.2480.250
predicted_BB0.3330.0000.000Hitting_BB0.3700.000-0.3700.000
predicted_CS-0.0000.000BaseRunning_CS0.0460.000-0.0460.000
predicted_H0.8002.0000.000Hitting_H0.8811.0001.1191.000
predicted_HR0.0500.0000.000Hitting_HR0.0940.000-0.0940.000
predicted_OBP0.3050.5000.000Hitting_OBP0.3370.2500.1630.250
predicted_R0.4690.0000.000Hitting_R0.5200.000-0.5200.000
predicted_RBI0.2900.0000.000Hitting_RBI0.4650.000-0.4650.000
predicted_SLG0.3230.5000.000Hitting_SLG0.3880.2500.1120.250
predicted_SO0.5312.0001.000Hitting_SO0.5520.0001.4482.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_SO: 0.5310 -> 2.0000 (boost 1.4690, worse)
Biggest Deboostpredicted_R: 0.4690 -> 0.0000 (deboost -0.4690, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend60606-predicted_AB: 3.5600 -> 3.4860 (deboost -0.0740, 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.
3team_form_snapshot30303-predicted_OBP: 0.3000 -> 0.2817 (deboost -0.0183, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82617predicted_SO: 0.5094 -> 1.0000 (boost 0.4906, worse)predicted_AB: 3.4860 -> 3.0000 (deboost -0.4860, worse)AB rounded to 3 (raw=3.56), rates preserved: AVG=0.182 HR/AB=0.014
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
7consistency_constraints10101-predicted_R: 0.4003 -> 0.0000 (deboost -0.4003, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3998 (boost 0.3998, better)predicted_H: 1.0000 -> 0.6336 (deboost -0.3664, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61506predicted_SO: 0.6741 -> 1.0000 (boost 0.3259, worse)predicted_H: 0.6336 -> 0.0000 (deboost -0.6336, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context32121predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.2817 -> 0.2740 (deboost -0.0077, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33021predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final21111predicted_OBP: 0.2740 -> 0.2817 (boost 0.0077, better)predicted_SLG: 0.3660 -> 0.3024 (deboost -0.0636, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.17,
        "predicted_3B": 0.007,
        "predicted_AB": 3.56,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.333,
        "predicted_H": 0.8,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.305,
        "predicted_R": 0.469,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.323,
        "predicted_SO": 0.531
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1587,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.486,
        "predicted_AVG": 0.2148,
        "predicted_BB": 0.3517,
        "predicted_H": 0.7491,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.0526,
        "predicted_OBP": 0.3,
        "predicted_R": 0.4168,
        "predicted_RBI": 0.2765,
        "predicted_SLG": 0.3116,
        "predicted_SO": 0.5071
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.17,
          "after": 0.1587,
          "delta": -0.0113,
          "percent_delta": -0.0665,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.56,
          "after": 3.486,
          "delta": -0.074,
          "percent_delta": -0.0208,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2148,
          "delta": -0.0102,
          "percent_delta": -0.0453,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.333,
          "after": 0.3517,
          "delta": 0.0187,
          "percent_delta": 0.0562,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8,
          "after": 0.7491,
          "delta": -0.0509,
          "percent_delta": -0.0636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0526,
          "delta": 0.0026,
          "percent_delta": 0.052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.3,
          "delta": -0.005,
          "percent_delta": -0.0164,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.469,
          "after": 0.4168,
          "delta": -0.0522,
          "percent_delta": -0.1113,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.2765,
          "delta": -0.0135,
          "percent_delta": -0.0466,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.323,
          "after": 0.3116,
          "delta": -0.0114,
          "percent_delta": -0.0353,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.531,
          "after": 0.5071,
          "delta": -0.0239,
          "percent_delta": -0.045,
          "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": 3.56,
          "after": 3.486,
          "delta": -0.074,
          "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": 147
      }
    },
    {
      "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.1587,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.486,
        "predicted_AVG": 0.2095,
        "predicted_BB": 0.3501,
        "predicted_H": 0.7304,
        "predicted_HBP": 0.075,
        "predicted_HR": 0.051,
        "predicted_OBP": 0.2817,
        "predicted_R": 0.4003,
        "predicted_RBI": 0.2656,
        "predicted_SLG": 0.3024,
        "predicted_SO": 0.5094
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1587,
          "after": 0.1587,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.486,
          "after": 3.486,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2148,
          "after": 0.2095,
          "delta": -0.0053,
          "percent_delta": -0.0247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3517,
          "after": 0.3501,
          "delta": -0.0016,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7491,
          "after": 0.7304,
          "delta": -0.0187,
          "percent_delta": -0.025,
          "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.0526,
          "after": 0.051,
          "delta": -0.0016,
          "percent_delta": -0.0304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2817,
          "delta": -0.0183,
          "percent_delta": -0.061,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4168,
          "after": 0.4003,
          "delta": -0.0165,
          "percent_delta": -0.0396,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2765,
          "after": 0.2656,
          "delta": -0.0109,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3116,
          "after": 0.3024,
          "delta": -0.0092,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5071,
          "after": 0.5094,
          "delta": 0.0023,
          "percent_delta": 0.0045,
          "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.2817,
          "delta": -0.0183,
          "percent_delta": -0.061,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.56), rates preserved: AVG=0.182 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.1587,
          "after": 0.0,
          "delta": -0.1587,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.486,
          "after": 3.0,
          "delta": -0.486,
          "percent_delta": -0.1394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3501,
          "after": 0.0,
          "delta": -0.3501,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7304,
          "after": 1.0,
          "delta": 0.2696,
          "percent_delta": 0.3691,
          "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.051,
          "after": 0.0,
          "delta": -0.051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2656,
          "after": 0.0,
          "delta": -0.2656,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5094,
          "after": 1.0,
          "delta": 0.4906,
          "percent_delta": 0.9631,
          "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.5094,
          "after": 1.0,
          "delta": 0.4906,
          "percent_delta": 0.9631,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.486,
          "after": 3.0,
          "delta": -0.486,
          "percent_delta": -0.1394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 7,
      "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.4003,
          "after": 0.0,
          "delta": -0.4003,
          "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.4003,
          "after": 0.0,
          "delta": -0.4003,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1313,
        "predicted_3B": 0.0088,
        "predicted_BB": 0.2687,
        "predicted_H": 0.6336,
        "predicted_HR": 0.1162,
        "predicted_RBI": 0.3998,
        "predicted_SO": 0.6741
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1313,
          "delta": 0.1313,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0088,
          "delta": 0.0088,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2687,
          "delta": 0.2687,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6336,
          "delta": -0.3664,
          "percent_delta": -0.3664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1162,
          "delta": 0.1162,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3998,
          "delta": 0.3998,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6741,
          "delta": -0.3259,
          "percent_delta": -0.3259,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3998,
          "delta": 0.3998,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6336,
          "delta": -0.3664,
          "percent_delta": -0.3664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1313,
          "after": 0.0,
          "delta": -0.1313,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0088,
          "after": 0.0,
          "delta": -0.0088,
          "percent_delta": -1.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_BB",
          "before": 0.2687,
          "after": 0.0,
          "delta": -0.2687,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6336,
          "after": 0.0,
          "delta": -0.6336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1162,
          "after": 0.0,
          "delta": -0.1162,
          "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.3998,
          "after": 0.0,
          "delta": -0.3998,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6741,
          "after": 1.0,
          "delta": 0.3259,
          "percent_delta": 0.4835,
          "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.6741,
          "after": 1.0,
          "delta": 0.3259,
          "percent_delta": 0.4835,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6336,
          "after": 0.0,
          "delta": -0.6336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.205,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.274,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2095,
          "after": 0.205,
          "delta": -0.0045,
          "percent_delta": -0.0215,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "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_OBP",
          "before": 0.2817,
          "after": 0.274,
          "delta": -0.0077,
          "percent_delta": -0.0273,
          "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.3024,
          "after": 0.366,
          "delta": 0.0636,
          "percent_delta": 0.2103,
          "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2817,
          "after": 0.274,
          "delta": -0.0077,
          "percent_delta": -0.0273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 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": 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": 12,
      "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.2095,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2817,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3024,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2095,
          "delta": 0.0045,
          "percent_delta": 0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.274,
          "after": 0.2817,
          "delta": 0.0077,
          "percent_delta": 0.028,
          "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.366,
          "after": 0.3024,
          "delta": -0.0636,
          "percent_delta": -0.1737,
          "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_OBP",
          "before": 0.274,
          "after": 0.2817,
          "delta": 0.0077,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.366,
          "after": 0.3024,
          "delta": -0.0636,
          "percent_delta": -0.1737,
          "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.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.56,
        "after": 4.0,
        "delta": 0.44,
        "percent_delta": 0.1236,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.225,
        "after": 0.2095,
        "delta": -0.0155,
        "percent_delta": -0.0689,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.8,
        "after": 2.0,
        "delta": 1.2,
        "percent_delta": 1.5,
        "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.305,
        "after": 0.2817,
        "delta": -0.0233,
        "percent_delta": -0.0764,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.469,
        "after": 0.0,
        "delta": -0.469,
        "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.323,
        "after": 0.3024,
        "delta": -0.0206,
        "percent_delta": -0.0638,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.531,
        "after": 2.0,
        "delta": 1.469,
        "percent_delta": 2.7665,
        "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.531,
        "after": 2.0,
        "delta": 1.469,
        "percent_delta": 2.7665,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.469,
        "after": 0.0,
        "delta": -0.469,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.170-
predicted_3B0.007-
predicted_AB3.560-
predicted_AVG0.225-
predicted_BB0.333-
predicted_H0.800-
predicted_HR0.050-
predicted_OBP0.305-
predicted_R0.469-
predicted_RBI0.290-
predicted_SLG0.323-
predicted_SO0.531-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.159-0.011
predicted_3B0.006-0.001
predicted_AB3.486-0.074
predicted_AVG0.215-0.010
predicted_BB0.3520.019
predicted_H0.749-0.051
predicted_HBP0.075-
predicted_HR0.0530.003
predicted_OBP0.300-0.005
predicted_R0.417-0.052
predicted_RBI0.277-0.013
predicted_SLG0.312-0.011
predicted_SO0.507-0.024
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1590.000
predicted_3B0.0060.000
predicted_AB3.4860.000
predicted_AVG0.209-0.005
predicted_BB0.350-0.002
predicted_H0.730-0.019
predicted_HBP0.0750.000
predicted_HR0.051-0.002
predicted_OBP0.282-0.018
predicted_R0.400-0.017
predicted_RBI0.266-0.011
predicted_SLG0.302-0.009
predicted_SO0.5090.002
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.56), rates preserved: AVG=0.182 HR/AB=0.014

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1310.131
3B0.0090.009
BB0.2690.269
H0.634-0.366
HR0.1160.116
RBI0.4000.400
SO0.674-0.326
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.131
3B0.000-0.009
AB3.0000.000
BB0.000-0.269
H0.000-0.634
HR0.000-0.116
R0.0000.000
RBI0.000-0.400
SO1.0000.326
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.159
predicted_3B0.000-0.006
predicted_AB3.000-0.486
predicted_AVG0.205-0.005
predicted_BB0.000-0.350
predicted_H1.0000.270
predicted_HR0.000-0.051
predicted_OBP0.274-0.008
predicted_R0.000-0.400
predicted_RBI0.000-0.266
predicted_SLG0.3660.064
predicted_SO1.0000.491
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0002.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 147
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0001.0000.0000.0000.0000.0000.0002.0002.0000.05880.15790.05880.05880.00000.00000.11770.1177
last_100.2010-33.0007.0002.0000.0000.0000.0003.0005.0003.0000.21210.33330.27270.21210.00000.00000.15150.0909
season0.60147-497.000120.00025.0001.00013.00061.00069.00049.00078.0000.24140.32450.37420.24140.02620.12270.09860.1569
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1440
predicted_3B0.0050
predicted_AB3.3900
predicted_AVG0.2015
predicted_BB0.3760
predicted_H0.6830
predicted_HBP0.0750
predicted_HR0.0560
predicted_OBP0.2936
predicted_R0.3490
predicted_RBI0.2590
predicted_SLG0.2967
predicted_SO0.4760
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17000.14400.1587model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB3.56003.39003.4860model_form_blend
predicted_AVG0.22500.20150.2148model_form_blend
predicted_BB0.33300.37600.3517model_form_blend
predicted_H0.80000.68300.7491model_form_blend
predicted_HBP-0.07500.0750form_only
predicted_HR0.05000.05600.0526model_form_blend
predicted_OBP0.30500.29360.3000model_form_blend
predicted_R0.46900.34900.4168model_form_blend
predicted_RBI0.29000.25900.2765model_form_blend
predicted_SLG0.32300.29670.3116model_form_blend
predicted_SO0.53100.47600.5071model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date565
Season rows before report date565
Report year2026
Profile rows used147
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260927_CHC@BOS
game_typefull
mlbID702332
playerID702332
playerNameCaleb Durbin
pos3B
startedTrue
startingPosition3B
teamBOS
teamID4
game_date2026-09-27
sl_k_percent13.5
sl_bb_percent8.7
sl_woba0.317
sl_xwoba0.291
sl_xba0.234
sl_xslg0.316
sl_sweet_spot_percent29.5
sl_barrel_batted_rate2.7
sl_hard_hit_percent25.0
sl_exit_velocity_avg83.1
sl_launch_angle_avg12.3
sl_whiff_percent16.4
sl_swing_percent46.3
Trevor Story (596115) · BATTER · SS · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 244
All-history rows before 20260929: 244
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2402
Diff (system - data): -0.0052
System opponent_avg: 0.1700

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2190.0000.000Hitting_2B0.2420.000-0.2420.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9224.0003.000Hitting_AB4.0782.000-0.0782.000
predicted_AVG0.2050.2500.333Hitting_AVG0.2400.0000.0100.250
predicted_BB0.1720.0000.000Hitting_BB0.1560.000-0.1560.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7601.0001.000Hitting_H0.9800.0000.0201.000
predicted_HR0.1200.0000.000Hitting_HR0.0780.000-0.0780.000
predicted_OBP0.2530.2500.333Hitting_OBP0.2700.333-0.020-0.083
predicted_R0.3750.0000.000Hitting_R0.4180.000-0.4180.000
predicted_RBI0.3600.0000.000Hitting_RBI0.5160.000-0.5160.000
predicted_SLG0.3280.2500.333Hitting_SLG0.3570.000-0.1070.250
predicted_SO1.3442.0002.000Hitting_SO1.3980.0000.6022.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_SO: 1.3440 -> 2.0000 (boost 0.6560, worse)
Biggest Deboostpredicted_R: 0.3750 -> 0.0000 (deboost -0.3750, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_SLG: 0.3280 -> 0.3356 (boost 0.0076, better)predicted_AB: 3.9220 -> 3.8152 (deboost -0.1068, 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.
3team_form_snapshot20202-predicted_OBP: 0.2561 -> 0.2300 (deboost -0.0261, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81726predicted_H: 0.7321 -> 1.0000 (boost 0.2679, better)predicted_AB: 3.8152 -> 3.0000 (deboost -0.8152, worse)AB rounded to 3 (raw=3.92), rates preserved: AVG=0.166 HR/AB=0.031
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
7consistency_constraints10101-predicted_R: 0.3457 -> 0.0000 (deboost -0.3457, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_SO: 1.0000 -> 1.4947 (boost 0.4947, worse)predicted_H: 1.0000 -> 0.7168 (deboost -0.2832, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_SO: 1.4947 -> 2.0000 (boost 0.5053, worse)predicted_RBI: 0.4161 -> 0.0000 (deboost -0.4161, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43140predicted_OBP: 0.2300 -> 0.2550 (boost 0.0250, better)predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, better)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference22011predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_OBP: 0.2550 -> 0.2300 (deboost -0.0250, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "596115",
  "player_name": "Trevor Story",
  "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.219,
        "predicted_3B": 0.0,
        "predicted_AB": 3.922,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.172,
        "predicted_H": 0.76,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.253,
        "predicted_R": 0.375,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.328,
        "predicted_SO": 1.344
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1807,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.8152,
        "predicted_AVG": 0.2034,
        "predicted_BB": 0.1897,
        "predicted_H": 0.7508,
        "predicted_HBP": 0.08,
        "predicted_HR": 0.1255,
        "predicted_OBP": 0.2561,
        "predicted_R": 0.3599,
        "predicted_RBI": 0.3756,
        "predicted_SLG": 0.3356,
        "predicted_SO": 1.3465
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.219,
          "after": 0.1807,
          "delta": -0.0383,
          "percent_delta": -0.1749,
          "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.922,
          "after": 3.8152,
          "delta": -0.1068,
          "percent_delta": -0.0272,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2034,
          "delta": -0.0016,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.172,
          "after": 0.1897,
          "delta": 0.0177,
          "percent_delta": 0.1029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.76,
          "after": 0.7508,
          "delta": -0.0092,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1255,
          "delta": 0.0055,
          "percent_delta": 0.0458,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.253,
          "after": 0.2561,
          "delta": 0.0031,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.375,
          "after": 0.3599,
          "delta": -0.0151,
          "percent_delta": -0.0403,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.3756,
          "delta": 0.0156,
          "percent_delta": 0.0433,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.328,
          "after": 0.3356,
          "delta": 0.0076,
          "percent_delta": 0.0232,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.344,
          "after": 1.3465,
          "delta": 0.0025,
          "percent_delta": 0.0019,
          "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.3356,
          "delta": 0.0076,
          "percent_delta": 0.0232,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.922,
          "after": 3.8152,
          "delta": -0.1068,
          "percent_delta": -0.0272,
          "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": 64
      }
    },
    {
      "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.1807,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.8152,
        "predicted_AVG": 0.1919,
        "predicted_BB": 0.1888,
        "predicted_H": 0.7321,
        "predicted_HBP": 0.08,
        "predicted_HR": 0.1216,
        "predicted_OBP": 0.23,
        "predicted_R": 0.3457,
        "predicted_RBI": 0.3608,
        "predicted_SLG": 0.3353,
        "predicted_SO": 1.3527
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1807,
          "after": 0.1807,
          "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.8152,
          "after": 3.8152,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2034,
          "after": 0.1919,
          "delta": -0.0115,
          "percent_delta": -0.0565,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1897,
          "after": 0.1888,
          "delta": -0.0009,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7508,
          "after": 0.7321,
          "delta": -0.0187,
          "percent_delta": -0.0249,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.08,
          "after": 0.08,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1255,
          "after": 0.1216,
          "delta": -0.0039,
          "percent_delta": -0.0311,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2561,
          "after": 0.23,
          "delta": -0.0261,
          "percent_delta": -0.1019,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3599,
          "after": 0.3457,
          "delta": -0.0142,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3756,
          "after": 0.3608,
          "delta": -0.0148,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3356,
          "after": 0.3353,
          "delta": -0.0003,
          "percent_delta": -0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.3465,
          "after": 1.3527,
          "delta": 0.0062,
          "percent_delta": 0.0046,
          "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.2561,
          "after": 0.23,
          "delta": -0.0261,
          "percent_delta": -0.1019,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.92), rates preserved: AVG=0.166 HR/AB=0.031",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1807,
          "after": 0.0,
          "delta": -0.1807,
          "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.8152,
          "after": 3.0,
          "delta": -0.8152,
          "percent_delta": -0.2137,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1888,
          "after": 0.0,
          "delta": -0.1888,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7321,
          "after": 1.0,
          "delta": 0.2679,
          "percent_delta": 0.3659,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.08,
          "after": 0.0,
          "delta": -0.08,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1216,
          "after": 0.0,
          "delta": -0.1216,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3608,
          "after": 0.0,
          "delta": -0.3608,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3527,
          "after": 1.0,
          "delta": -0.3527,
          "percent_delta": -0.2607,
          "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_H",
          "before": 0.7321,
          "after": 1.0,
          "delta": 0.2679,
          "percent_delta": 0.3659,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.8152,
          "after": 3.0,
          "delta": -0.8152,
          "percent_delta": -0.2137,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 7,
      "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.3457,
          "after": 0.0,
          "delta": -0.3457,
          "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.3457,
          "after": 0.0,
          "delta": -0.3457,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1539,
        "predicted_3B": 0.0096,
        "predicted_BB": 0.1929,
        "predicted_H": 0.7168,
        "predicted_HR": 0.1044,
        "predicted_RBI": 0.4161,
        "predicted_SO": 1.4947
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1539,
          "delta": 0.1539,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0096,
          "delta": 0.0096,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1929,
          "delta": 0.1929,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7168,
          "delta": -0.2832,
          "percent_delta": -0.2832,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1044,
          "delta": 0.1044,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4161,
          "delta": 0.4161,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4947,
          "delta": 0.4947,
          "percent_delta": 0.4947,
          "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_SO",
          "before": 1.0,
          "after": 1.4947,
          "delta": 0.4947,
          "percent_delta": 0.4947,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7168,
          "delta": -0.2832,
          "percent_delta": -0.2832,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1539,
          "after": 0.0,
          "delta": -0.1539,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0096,
          "after": 0.0,
          "delta": -0.0096,
          "percent_delta": -1.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_BB",
          "before": 0.1929,
          "after": 0.0,
          "delta": -0.1929,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7168,
          "after": 1.0,
          "delta": 0.2832,
          "percent_delta": 0.3951,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1044,
          "after": 0.0,
          "delta": -0.1044,
          "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.4161,
          "after": 0.0,
          "delta": -0.4161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4947,
          "after": 2.0,
          "delta": 0.5053,
          "percent_delta": 0.3381,
          "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.4947,
          "after": 2.0,
          "delta": 0.5053,
          "percent_delta": 0.3381,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4161,
          "after": 0.0,
          "delta": -0.4161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.207,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.255,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.348,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1919,
          "after": 0.207,
          "delta": 0.0151,
          "percent_delta": 0.0787,
          "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.23,
          "after": 0.255,
          "delta": 0.025,
          "percent_delta": 0.1087,
          "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.3353,
          "after": 0.348,
          "delta": 0.0127,
          "percent_delta": 0.0379,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.23,
          "after": 0.255,
          "delta": 0.025,
          "percent_delta": 0.1087,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 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": 12,
      "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.1919,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.23,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3353,
        "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.207,
          "after": 0.1919,
          "delta": -0.0151,
          "percent_delta": -0.073,
          "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.255,
          "after": 0.23,
          "delta": -0.025,
          "percent_delta": -0.098,
          "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.348,
          "after": 0.3353,
          "delta": -0.0127,
          "percent_delta": -0.0365,
          "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_OBP",
          "before": 0.255,
          "after": 0.23,
          "delta": -0.025,
          "percent_delta": -0.098,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.922,
        "after": 4.0,
        "delta": 0.078,
        "percent_delta": 0.0199,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.1919,
        "delta": -0.0131,
        "percent_delta": -0.0639,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.172,
        "after": 0.0,
        "delta": -0.172,
        "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.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.253,
        "after": 0.23,
        "delta": -0.023,
        "percent_delta": -0.0909,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.375,
        "after": 0.0,
        "delta": -0.375,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.328,
        "after": 0.3353,
        "delta": 0.0073,
        "percent_delta": 0.0223,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.344,
        "after": 2.0,
        "delta": 0.656,
        "percent_delta": 0.4881,
        "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_SO",
        "before": 1.344,
        "after": 2.0,
        "delta": 0.656,
        "percent_delta": 0.4881,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.375,
        "after": 0.0,
        "delta": -0.375,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.219-
predicted_3B0.000-
predicted_AB3.922-
predicted_AVG0.205-
predicted_BB0.172-
predicted_H0.760-
predicted_HR0.120-
predicted_OBP0.253-
predicted_R0.375-
predicted_RBI0.360-
predicted_SLG0.328-
predicted_SO1.344-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.181-0.038
predicted_3B0.0010.001
predicted_AB3.815-0.107
predicted_AVG0.203-0.002
predicted_BB0.1900.018
predicted_H0.751-0.009
predicted_HBP0.080-
predicted_HR0.1260.006
predicted_OBP0.2560.003
predicted_R0.360-0.015
predicted_RBI0.3760.016
predicted_SLG0.3360.008
predicted_SO1.3470.002
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1810.000
predicted_3B0.0010.000
predicted_AB3.8150.000
predicted_AVG0.192-0.012
predicted_BB0.189-0.001
predicted_H0.732-0.019
predicted_HBP0.0800.000
predicted_HR0.122-0.004
predicted_OBP0.230-0.026
predicted_R0.346-0.014
predicted_RBI0.361-0.015
predicted_SLG0.335-0.000
predicted_SO1.3530.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.92), rates preserved: AVG=0.166 HR/AB=0.031

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1540.154
3B0.0100.010
BB0.1930.193
H0.717-0.283
HR0.1040.104
RBI0.4160.416
SO1.4950.495
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.154
3B0.000-0.010
AB3.0000.000
BB0.000-0.193
H1.0000.283
HR0.000-0.104
R0.0000.000
RBI0.000-0.416
SO2.0000.505
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.181
predicted_3B0.000-0.001
predicted_AB3.000-0.815
predicted_AVG0.2070.015
predicted_BB0.000-0.189
predicted_H1.0000.268
predicted_HR0.000-0.122
predicted_OBP0.2550.025
predicted_R0.000-0.346
predicted_RBI0.000-0.361
predicted_SLG0.3480.013
predicted_SO1.000-0.353
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 64
Reference playing time: 3.922
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0001.0000.0000.0001.0001.0001.0001.0008.0000.06250.16670.25000.06250.06250.06250.06250.5000
last_100.2010-33.0007.0000.0000.0002.0004.0003.0003.00013.0000.21210.29730.39390.21210.06060.12120.09090.3939
season0.6064-251.00059.00014.0000.0005.00029.00024.00011.00086.0000.23510.27070.35060.23510.01990.11550.04380.3426
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1280
predicted_3B0.0020
predicted_AB3.6680
predicted_AVG0.2013
predicted_BB0.2140
predicted_H0.7380
predicted_HBP0.0800
predicted_HR0.1330
predicted_OBP0.2603
predicted_R0.3390
predicted_RBI0.3970
predicted_SLG0.3461
predicted_SO1.3500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21900.12800.1807model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.92203.66803.8152model_form_blend
predicted_AVG0.20500.20130.2034model_form_blend
predicted_BB0.17200.21400.1897model_form_blend
predicted_H0.76000.73800.7508model_form_blend
predicted_HBP-0.08000.0800form_only
predicted_HR0.12000.13300.1255model_form_blend
predicted_OBP0.25300.26030.2561model_form_blend
predicted_R0.37500.33900.3599model_form_blend
predicted_RBI0.36000.39700.3756model_form_blend
predicted_SLG0.32800.34610.3356model_form_blend
predicted_SO1.34401.35001.3465model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date244
Season rows before report date244
Report year2026
Profile rows used64
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260927_CHC@BOS
game_typefull
mlbID596115
playerID596115
playerNameTrevor Story
posSS
startedTrue
startingPositionSS
teamBOS
teamID4
game_date2026-09-27
sl_k_percent32.3
sl_bb_percent4.1
sl_woba0.272
sl_xwoba0.248
sl_xba0.211
sl_xslg0.317
sl_sweet_spot_percent29.3
sl_barrel_batted_rate5.4
sl_hard_hit_percent36.5
sl_exit_velocity_avg87.1
sl_launch_angle_avg14.8
sl_whiff_percent31.8
sl_swing_percent55.7
Payton Tolle (801139) · PITCHER · Starter · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 26
All-history rows before 20260929: 26

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.5382.0001.4621.000
predicted_ER2.0002.0002.000Pitching_ER1.9232.0000.0770.000
predicted_H4.0004.0004.000Pitching_H4.7318.000-0.731-4.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.5925.200-0.3920.000
predicted_SO7.0007.0007.000Pitching_SO6.5775.0000.4232.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail10101-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.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "801139",
  "player_name": "Payton Tolle",
  "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": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 7.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "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": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "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.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "predicted_R": 2.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.2,
          "after": 5.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "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.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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER2.000-
predicted_H4.000-
predicted_HR1.000-
predicted_IP5.667-
predicted_SO7.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER2.0000.000
predicted_H4.0000.000
predicted_HR1.0000.000
predicted_IP5.200-0.467
predicted_SO7.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 26
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45528.2009.00026.0007.00037.0002.0002.82561.15120.31400.90700.24421.29070.0698
last_100.351059.00017.00050.00014.00075.0006.0002.59321.08470.28810.84750.23731.27120.1017
season0.2026148.20050.000123.00040.000171.00015.0003.02691.09640.33630.82740.26911.15020.1009
Weighted Prediction From Real Data
MetricValue
predicted_BB1.5450
predicted_ER1.9730
predicted_ERA3.0799
predicted_H5.1230
predicted_HR0.5600
predicted_IP5.2000
predicted_SO6.9410
predicted_WHIP1.1567
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.54502.1534model_form_blend
predicted_ER2.00001.97301.9843model_form_blend
predicted_ERA-3.07993.0799form_only
predicted_H4.00005.12304.6534model_form_blend
predicted_HR1.00000.56000.7440model_form_blend
predicted_IP5.20005.20005.2000model_form_blend
predicted_SO7.00006.94106.9657model_form_blend
predicted_WHIP-1.15671.1567form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date26
Season rows before report date26
Report year2026
Profile rows used26
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H4
R2
ER2
BB3
SO7
HR1
BF24
Pitches103

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced28
Pitching_ER2
Pitching_ERA3.03
Pitching_Flyouts4
Pitching_Groundouts6
Pitching_H8
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.2
Pitching_Pitches91
Pitching_R2
Pitching_SO5
Pitching_Strikes63
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260922_CLE@BOS
game_typefull
mlbID801139
playerID801139
playerNamePayton Tolle
posP
startedTrue
startingPositionP
teamBOS
teamID4
game_date2026-09-22
sl_k_percent28.4
sl_bb_percent6.6
sl_woba0.285
sl_xwoba0.255
sl_sweet_spot_percent30.6
sl_barrel_batted_rate6.0
sl_hard_hit_percent34.5
sl_whiff_percent27.9
sl_swing_percent55.1
sl_avg_best_speed76.252136968
sl_avg_hyper_speed93.499466427
Aroldis Chapman (547973) · PITCHER · Closer · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 53
All-history rows before 20260929: 53

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.4340.0000.5661.000
predicted_ER2.0002.0002.000Pitching_ER0.2080.0001.7922.000
predicted_H2.0002.0002.000Pitching_H0.6600.0001.3402.000
predicted_IP2.0002.0002.000Pitching_InningsPitched0.9661.0001.0341.000
predicted_SO0.0000.0000.000Pitching_SO1.3403.000-1.340-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 2.0000 (boost 1.0000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 2.0000 (boost 1.0000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "547973",
  "player_name": "Aroldis Chapman",
  "position": "Closer",
  "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": 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": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.0,
        "predicted_R": 2.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": 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": 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": 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": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER2.000-
predicted_H2.000-
predicted_HR1.000-
predicted_IP1.000-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 52
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0001.0003.0009.0000.0000.00000.80000.00000.20000.60001.80000.0000
last_100.351010.0002.0004.0004.00018.0001.0001.80000.80000.20000.40000.40001.80000.1000
season0.205251.2008.00031.00023.00071.0003.0001.39351.04520.15480.60000.44521.37420.0581
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4610
predicted_ER0.2330
predicted_ERA2.0947
predicted_H0.5530
predicted_HR0.0790
predicted_IP1.0000
predicted_SO1.4650
predicted_WHIP1.0135
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.46100.7225model_form_blend
predicted_ER2.00000.23301.0903model_form_blend
predicted_ERA-2.09472.0947form_only
predicted_H2.00000.55301.2550model_form_blend
predicted_HR1.00000.07900.5258model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.46500.7542model_form_blend
predicted_WHIP-1.01351.0135form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date53
Season rows before report date53
Report year2026
Profile rows used52
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H2
R2
ER2
BB1
SO0
HR1
BF9
Pitches35

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA1.92
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R0
Pitching_SO3
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260923_CLE@BOS
game_typefull
mlbID547973
playerID547973
playerNameAroldis Chapman
posP
startedFalse
startingPositionP
teamBOS
teamID4
game_date2026-09-23
sl_k_percent33.3
sl_bb_percent10.8
sl_woba0.263
sl_xwoba0.252
sl_sweet_spot_percent26.3
sl_barrel_batted_rate6.8
sl_hard_hit_percent38.1
sl_whiff_percent30.4
sl_swing_percent52.0
sl_avg_best_speed77.162659107
sl_avg_hyper_speed94.466137143
Erik Miller (669062) · PITCHER · Setup Man · Team BOS
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 19
All-history rows before 20260929: 19

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.6320.000-0.6320.000
predicted_ER0.0000.0000.000Pitching_ER0.3680.000-0.3680.000
predicted_H0.0000.0000.000Pitching_H0.7370.000-0.7370.000
predicted_IP0.1000.1000.100Pitching_InningsPitched0.9581.000-0.858-0.900
predicted_SO1.0001.0001.000Pitching_SO1.5261.000-0.5260.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "669062",
  "player_name": "Erik Miller",
  "position": "Setup Man",
  "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": 0.3333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 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.3333,
          "after": 0.1,
          "delta": -0.2333,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.3333,
          "after": 0.1,
          "delta": -0.2333,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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.3333,
        "after": 0.1,
        "delta": -0.2333,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.3333,
        "after": 0.1,
        "delta": -0.2333,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP0.333-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 56
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1006.0005.0006.0004.0000.00012.46152.53851.38461.15391.38460.92310.0000
last_100.35109.1007.0007.0009.00014.0001.0006.75001.71430.75000.75000.96431.50000.1071
season0.205651.10016.00036.00032.00074.0003.0002.80521.32470.31170.70130.62341.44160.0584
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6740
predicted_ER0.6350
predicted_ERA7.2733
predicted_H0.7400
predicted_HR0.0640
predicted_IP0.2000
predicted_SO0.8910
predicted_WHIP1.8003
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.67400.3466model_form_blend
predicted_ER0.00000.63500.3265model_form_blend
predicted_ERA-7.27337.2733form_only
predicted_H0.00000.74000.3805model_form_blend
predicted_HR0.00000.06400.0329model_form_blend
predicted_IP0.10000.20000.2000model_form_blend
predicted_SO1.00000.89100.9439model_form_blend
predicted_WHIP-1.80031.8003form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date19
Season rows before report date19
Report year2026
Profile rows used56
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.1
H0
R0
ER0
BB0
SO1
HR0
BF1
Pitches4

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.98
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches8
Pitching_R0
Pitching_SO1
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260924_CLE@BOS
game_typefull
mlbID669062
playerID669062
playerNameErik Miller
posP
startedFalse
startingPositionP
teamBOS
teamID4
game_date2026-09-24
sl_k_percent32.6
sl_bb_percent15.0
sl_woba0.288
sl_xwoba0.275
sl_sweet_spot_percent30.7
sl_barrel_batted_rate5.4
sl_hard_hit_percent26.3
sl_whiff_percent35.0
sl_swing_percent40.1
sl_avg_best_speed72.100777547
sl_avg_hyper_speed92.650225849

Home Team: NYY

Home Pitcher Deep Analysis

FieldValue
PitcherCam Schlittler
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7134
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo95.8457
Avg Spin2515.8560
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER0
Pre H1
Pre BB2
Pre SO9
Season ERA1.9518
Season WHIP0.9191
Role Avg IP5.8690
Recent Avg IP6
Last Start IP3
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0213,
    "defense_index": 1.204,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1708
  },
  "opponent": {
    "team": "BOS",
    "games": 162,
    "wins": 87,
    "losses": 75,
    "win_pct": 0.537,
    "runs_scored": 689.0,
    "runs_allowed": 611.0,
    "run_differential": 78.0,
    "run_differential_per_game": 0.4815,
    "avg_runs_scored": 4.2531,
    "avg_runs_allowed": 3.7716,
    "offense_index": 0.9463,
    "defense_index": 1.1917,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 2.1,
      "avg_runs_allowed": 2.5,
      "run_differential": -4.0
    },
    "available": true,
    "quality_score": 0.0904
  },
  "edges": {
    "quality_edge": 0.0804,
    "offense_edge": 0.0213,
    "opponent_offense_edge": -0.0537,
    "defense_strength": 0.204,
    "opponent_defense_weakness": -0.1917,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0115,
    "run_prevention": 0.967,
    "strikeout": 1.0067
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "693645",
    "profile": {
      "available": true,
      "pitcher_id": "693645",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 691.0,
        "k_percent": 31.4,
        "bb_percent": 6.4,
        "woba": 0.243,
        "xwoba": 0.262,
        "sweet_spot_percent": 32.5,
        "barrel_batted_rate": 7.3,
        "hard_hit_percent": 38.3,
        "avg_best_speed": 77.6999,
        "avg_hyper_speed": 93.7524,
        "whiff_percent": 29.4,
        "swing_percent": 52.0
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8909,
        "command_and_miss": 0.9479,
        "regression_edge": -0.5429,
        "xwoba_edge": 1.4286,
        "barrel_edge": -0.0222,
        "hard_hit_edge": -0.0571,
        "whiff_edge": 0.6,
        "bb_edge": 0.7,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "693645",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 97,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 97,
          "pitch_usage": 0.0,
          "release_speed": 95.84565678559713,
          "release_spin_rate": 2515.855995429108,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 97,
            "pitch_usage": 0.0,
            "release_speed": 95.84565678559713,
            "release_spin_rate": 2515.855995429108,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.8457,
          "release_spin_rate": 2515.856,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.7134,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9394,
      "strikeout_factor": 1.0771,
      "walk_factor": 0.944,
      "homer_factor": 0.9612,
      "woba_minus_xwoba": -0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "693645",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9394,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 3.0,
        "factor": 0.9394,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.944,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9612,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 8.0,
        "factor": 1.0771,
        "adjusted": 9
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 57.0,
    "ER": 11,
    "H": 31,
    "BB": 23,
    "SO": 74,
    "HR": 4,
    "ERA": 1.736842105263158,
    "WHIP": 0.9473684210526315,
    "K9": 11.68421052631579,
    "HR9": 0.631578947368421,
    "games_pitched": 10,
    "quality_starts": 6,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-24T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "693645",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 97,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 97,
    "pitch_usage": 0.0,
    "release_speed": 95.84565678559713,
    "release_spin_rate": 2515.855995429108,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 97,
      "pitch_usage": 0.0,
      "release_speed": 95.84565678559713,
      "release_spin_rate": 2515.855995429108,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8457,
    "release_spin_rate": 2515.856,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 33.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8684,
    "prior_weight": 0.1316
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "693645",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 33,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 30.0,
        "ER": 4.0,
        "R": 7.0,
        "H": 12.0,
        "BB": 7.0,
        "SO": 38.0,
        "HR": 2.0,
        "BF": 110.0,
        "Pitches": 457.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 0.8,
        "R": 1.4,
        "H": 2.4,
        "BB": 1.4,
        "SO": 7.6,
        "HR": 0.4,
        "BF": 22.0,
        "Pitches": 91.4
      },
      "rates": {
        "ERA": 1.2,
        "WHIP": 0.6333,
        "ER_per_IP": 0.13333,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.23333,
        "SO_per_IP": 1.26667,
        "HR_per_IP": 0.06667
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 57.0,
        "ER": 11.0,
        "R": 14.0,
        "H": 31.0,
        "BB": 23.0,
        "SO": 74.0,
        "HR": 4.0,
        "BF": 223.0,
        "Pitches": 931.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.1,
        "R": 1.4,
        "H": 3.1,
        "BB": 2.3,
        "SO": 7.4,
        "HR": 0.4,
        "BF": 22.3,
        "Pitches": 93.1
      },
      "rates": {
        "ERA": 1.7368,
        "WHIP": 0.9474,
        "ER_per_IP": 0.19298,
        "H_per_IP": 0.54386,
        "BB_per_IP": 0.40351,
        "SO_per_IP": 1.29825,
        "HR_per_IP": 0.07018
      }
    },
    "season": {
      "games": 33,
      "totals": {
        "IP": 193.2,
        "ER": 42.0,
        "R": 52.0,
        "H": 129.0,
        "BB": 49.0,
        "SO": 239.0,
        "HR": 16.0,
        "BF": 761.0,
        "Pitches": 3041.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.2727,
        "R": 1.5758,
        "H": 3.9091,
        "BB": 1.4848,
        "SO": 7.2424,
        "HR": 0.4848,
        "BF": 23.0606,
        "Pitches": 92.1515
      },
      "rates": {
        "ERA": 1.9518,
        "WHIP": 0.9191,
        "ER_per_IP": 0.21687,
        "H_per_IP": 0.66609,
        "BB_per_IP": 0.25301,
        "SO_per_IP": 1.23408,
        "HR_per_IP": 0.08262
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 1.274,
    "predicted_H": 3.344,
    "predicted_BB": 1.814,
    "predicted_SO": 7.238,
    "predicted_HR": 0.48,
    "predicted_ERA": 1.9433,
    "predicted_WHIP": 0.8744
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4056,
  "form_weight": 0.5944,
  "form_reliability": 0.8684,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 33.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8684,
    "prior_weight": 0.1316
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 1.274,
      "final": 0.7573,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 3.344,
      "final": 2.3933,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.814,
      "final": 1.8894,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 9.0,
      "form": 7.238,
      "final": 7.9527,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.48,
      "final": 0.2853,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9433,
      "final": 1.9433,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8744,
      "final": 0.8744,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherBrent Headrick
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6409
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0017
Avg Velo89.8945
Avg Spin2072.5970
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H3
Pre BB0
Pre SO0
Season ERA2.1830
Season WHIP1.2128
Role Avg IP0.9670
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0213,
    "defense_index": 1.204,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1708
  },
  "opponent": {
    "team": "BOS",
    "games": 162,
    "wins": 87,
    "losses": 75,
    "win_pct": 0.537,
    "runs_scored": 689.0,
    "runs_allowed": 611.0,
    "run_differential": 78.0,
    "run_differential_per_game": 0.4815,
    "avg_runs_scored": 4.2531,
    "avg_runs_allowed": 3.7716,
    "offense_index": 0.9463,
    "defense_index": 1.1917,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 2.1,
      "avg_runs_allowed": 2.5,
      "run_differential": -4.0
    },
    "available": true,
    "quality_score": 0.0904
  },
  "edges": {
    "quality_edge": 0.0804,
    "offense_edge": 0.0213,
    "opponent_offense_edge": -0.0537,
    "defense_strength": 0.204,
    "opponent_defense_weakness": -0.1917,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0115,
    "run_prevention": 0.967,
    "strikeout": 1.0067
  },
  "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": 305.0,
        "k_percent": 30.1,
        "bb_percent": 8.3,
        "woba": 0.29,
        "xwoba": 0.271,
        "sweet_spot_percent": 38.8,
        "barrel_batted_rate": 4.5,
        "hard_hit_percent": 37.3,
        "avg_best_speed": 77.0129,
        "avg_hyper_speed": 93.7693,
        "whiff_percent": 31.8,
        "swing_percent": 52.6
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6344,
        "command_and_miss": 0.8893,
        "regression_edge": 0.5429,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.6,
        "hard_hit_edge": 0.0857,
        "whiff_edge": 0.9429,
        "bb_edge": 0.225,
        "pitch_design_score": 0.0017
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "687396",
        "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": 89.89451979004092,
          "release_spin_rate": 2072.597032749728,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 89.89451979004092,
            "release_spin_rate": 2072.597032749728,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.8945,
          "release_spin_rate": 2072.597,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0017,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.0121,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6409,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9455,
      "strikeout_factor": 1.0834,
      "walk_factor": 0.982,
      "homer_factor": 0.9134,
      "woba_minus_xwoba": 0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "687396",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9455,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9455,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.982,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9134,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0834,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 4,
    "H": 6,
    "BB": 6,
    "SO": 11,
    "HR": 1,
    "ERA": 4.319999999999999,
    "WHIP": 1.44,
    "K9": 11.879999999999999,
    "HR9": 1.0799999999999998,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "687396",
  "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": 89.89451979004092,
    "release_spin_rate": 2072.597032749728,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 89.89451979004092,
      "release_spin_rate": 2072.597032749728,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.8945,
    "release_spin_rate": 2072.597,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0017,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.0121,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.119,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7633,
    "prior_weight": 0.2367
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687396",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 81,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 4.0,
        "BB": 3.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 72.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.8,
        "BB": 0.6,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 14.4
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.75,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.75,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.25
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 6.0,
        "SO": 11.0,
        "HR": 1.0,
        "BF": 37.0,
        "Pitches": 154.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.6,
        "SO": 1.1,
        "HR": 0.1,
        "BF": 3.7,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 4.32,
        "WHIP": 1.44,
        "ER_per_IP": 0.48,
        "H_per_IP": 0.72,
        "BB_per_IP": 0.72,
        "SO_per_IP": 1.32,
        "HR_per_IP": 0.12
      }
    },
    "season": {
      "games": 81,
      "totals": {
        "IP": 78.1,
        "ER": 19.0,
        "R": 20.0,
        "H": 68.0,
        "BB": 27.0,
        "SO": 98.0,
        "HR": 5.0,
        "BF": 326.0,
        "Pitches": 1282.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2346,
        "R": 0.2469,
        "H": 0.8395,
        "BB": 0.3333,
        "SO": 1.2099,
        "HR": 0.0617,
        "BF": 4.0247,
        "Pitches": 15.8272
      },
      "rates": {
        "ERA": 2.183,
        "WHIP": 1.2128,
        "ER_per_IP": 0.24255,
        "H_per_IP": 0.86809,
        "BB_per_IP": 0.34468,
        "SO_per_IP": 1.25106,
        "HR_per_IP": 0.06383
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.433,
    "predicted_H": 0.718,
    "predicted_BB": 0.472,
    "predicted_SO": 1.02,
    "predicted_HR": 0.13,
    "predicted_ERA": 4.8985,
    "predicted_WHIP": 1.4936
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.45,
  "form_weight": 0.55,
  "form_reliability": 0.7633,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.119,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7633,
    "prior_weight": 0.2367
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.433,
      "final": 0.6882,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 0.718,
      "final": 1.7449,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.472,
      "final": 0.2596,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.02,
      "final": 0.561,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.13,
      "final": 0.0715,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.8985,
      "final": 4.8985,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4936,
      "final": 1.4936,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherDavid Bednar
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7492
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0250
Avg Velo90.3112
Avg Spin2068.8737
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H2
Pre BB0
Pre SO3
Season ERA2.4663
Season WHIP1.0385
Role Avg IP1.0830
Recent Avg IP1.2000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0213,
    "defense_index": 1.204,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1708
  },
  "opponent": {
    "team": "BOS",
    "games": 162,
    "wins": 87,
    "losses": 75,
    "win_pct": 0.537,
    "runs_scored": 689.0,
    "runs_allowed": 611.0,
    "run_differential": 78.0,
    "run_differential_per_game": 0.4815,
    "avg_runs_scored": 4.2531,
    "avg_runs_allowed": 3.7716,
    "offense_index": 0.9463,
    "defense_index": 1.1917,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 2.1,
      "avg_runs_allowed": 2.5,
      "run_differential": -4.0
    },
    "available": true,
    "quality_score": 0.0904
  },
  "edges": {
    "quality_edge": 0.0804,
    "offense_edge": 0.0213,
    "opponent_offense_edge": -0.0537,
    "defense_strength": 0.204,
    "opponent_defense_weakness": -0.1917,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0115,
    "run_prevention": 0.967,
    "strikeout": 1.0067
  },
  "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": 266.0,
        "k_percent": 27.1,
        "bb_percent": 7.1,
        "woba": 0.249,
        "xwoba": 0.263,
        "sweet_spot_percent": 26.4,
        "barrel_batted_rate": 4.9,
        "hard_hit_percent": 35.7,
        "avg_best_speed": 76.0652,
        "avg_hyper_speed": 93.296,
        "whiff_percent": 30.8,
        "swing_percent": 53.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0778,
        "command_and_miss": 0.7064,
        "regression_edge": -0.4,
        "xwoba_edge": 1.4,
        "barrel_edge": 0.5111,
        "hard_hit_edge": 0.3143,
        "whiff_edge": 0.8,
        "bb_edge": 0.525,
        "pitch_design_score": 0.025
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "670280",
        "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.31118303660337,
          "release_spin_rate": 2068.873677036324,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.31118303660337,
            "release_spin_rate": 2068.873677036324,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.3112,
          "release_spin_rate": 2068.8737,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.025,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.1788,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.7492,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9363,
      "strikeout_factor": 1.0606,
      "walk_factor": 0.958,
      "homer_factor": 0.9045,
      "woba_minus_xwoba": -0.014,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "670280",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9363,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9363,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.958,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9045,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0606,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 13,
    "BB": 2,
    "SO": 11,
    "HR": 1,
    "ERA": 3.272727272727273,
    "WHIP": 1.3636363636363635,
    "K9": 9.0,
    "HR9": 0.8181818181818182,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "670280",
  "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.31118303660337,
    "release_spin_rate": 2068.873677036324,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.31118303660337,
      "release_spin_rate": 2068.873677036324,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3112,
    "release_spin_rate": 2068.8737,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.025,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1788,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.267,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7405,
    "prior_weight": 0.2595
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670280",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 64,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 99.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 19.8
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.1667,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.83333,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 0.83333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 4.0,
        "R": 6.0,
        "H": 13.0,
        "BB": 2.0,
        "SO": 11.0,
        "HR": 1.0,
        "BF": 46.0,
        "Pitches": 179.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.6,
        "H": 1.3,
        "BB": 0.2,
        "SO": 1.1,
        "HR": 0.1,
        "BF": 4.6,
        "Pitches": 17.9
      },
      "rates": {
        "ERA": 3.2727,
        "WHIP": 1.3636,
        "ER_per_IP": 0.36364,
        "H_per_IP": 1.18182,
        "BB_per_IP": 0.18182,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.09091
      }
    },
    "season": {
      "games": 64,
      "totals": {
        "IP": 69.1,
        "ER": 19.0,
        "R": 25.0,
        "H": 52.0,
        "BB": 20.0,
        "SO": 76.0,
        "HR": 4.0,
        "BF": 280.0,
        "Pitches": 1154.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2969,
        "R": 0.3906,
        "H": 0.8125,
        "BB": 0.3125,
        "SO": 1.1875,
        "HR": 0.0625,
        "BF": 4.375,
        "Pitches": 18.0312
      },
      "rates": {
        "ERA": 2.4663,
        "WHIP": 1.0385,
        "ER_per_IP": 0.27404,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.28846,
        "SO_per_IP": 1.09615,
        "HR_per_IP": 0.05769
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.298,
    "predicted_H": 1.056,
    "predicted_BB": 0.332,
    "predicted_SO": 1.047,
    "predicted_HR": 0.079,
    "predicted_ERA": 2.4113,
    "predicted_WHIP": 1.2497
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4596,
  "form_weight": 0.5404,
  "form_reliability": 0.7405,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.267,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7405,
    "prior_weight": 0.2595
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.298,
      "final": 0.161,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.056,
      "final": 1.4899,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.332,
      "final": 0.1794,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 1.047,
      "final": 1.9447,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.079,
      "final": 0.0427,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4113,
      "final": 2.4113,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2497,
      "final": 1.2497,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherPaul Blackburn
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1940
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0164
Avg Velo89.5718
Avg Spin2215.9743
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H3
Pre BB0
Pre SO0
Season ERA1.6941
Season WHIP1.0941
Role Avg IP1.3670
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0213,
    "defense_index": 1.204,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1708
  },
  "opponent": {
    "team": "BOS",
    "games": 162,
    "wins": 87,
    "losses": 75,
    "win_pct": 0.537,
    "runs_scored": 689.0,
    "runs_allowed": 611.0,
    "run_differential": 78.0,
    "run_differential_per_game": 0.4815,
    "avg_runs_scored": 4.2531,
    "avg_runs_allowed": 3.7716,
    "offense_index": 0.9463,
    "defense_index": 1.1917,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 2.1,
      "avg_runs_allowed": 2.5,
      "run_differential": -4.0
    },
    "available": true,
    "quality_score": 0.0904
  },
  "edges": {
    "quality_edge": 0.0804,
    "offense_edge": 0.0213,
    "opponent_offense_edge": -0.0537,
    "defense_strength": 0.204,
    "opponent_defense_weakness": -0.1917,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0115,
    "run_prevention": 0.967,
    "strikeout": 1.0067
  },
  "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": 319.0,
        "k_percent": 20.5,
        "bb_percent": 9.8,
        "woba": 0.261,
        "xwoba": 0.296,
        "sweet_spot_percent": 27.5,
        "barrel_batted_rate": 5.6,
        "hard_hit_percent": 35.2,
        "avg_best_speed": 75.0557,
        "avg_hyper_speed": 93.4658,
        "whiff_percent": 22.8,
        "swing_percent": 45.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6447,
        "command_and_miss": -0.2529,
        "regression_edge": -1.0,
        "xwoba_edge": 0.4571,
        "barrel_edge": 0.3556,
        "hard_hit_edge": 0.3857,
        "whiff_edge": -0.3429,
        "bb_edge": -0.15,
        "pitch_design_score": -0.0164
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "621112",
        "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.57182037962974,
          "release_spin_rate": 2215.974287159611,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.57182037962974,
            "release_spin_rate": 2215.974287159611,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5718,
          "release_spin_rate": 2215.9743,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0164,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.1169,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.194,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9835,
      "strikeout_factor": 0.9771,
      "walk_factor": 1.012,
      "homer_factor": 0.9424,
      "woba_minus_xwoba": -0.035,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "621112",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9835,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9835,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.012,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9424,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9771,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 9,
    "BB": 5,
    "SO": 9,
    "HR": 1,
    "ERA": 1.9285714285714284,
    "WHIP": 1.5,
    "K9": 8.678571428571429,
    "HR9": 0.9642857142857142,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "621112",
  "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.57182037962974,
    "release_spin_rate": 2215.974287159611,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.57182037962974,
      "release_spin_rate": 2215.974287159611,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5718,
    "release_spin_rate": 2215.9743,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0164,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.1169,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.491,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7777,
    "prior_weight": 0.2223
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "621112",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 62,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 6.0,
        "BB": 2.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 23.0,
        "Pitches": 83.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.2,
        "BB": 0.4,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 1.5,
        "ER_per_IP": 0.1875,
        "H_per_IP": 1.125,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.5625,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 5.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 40.0,
        "Pitches": 155.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.5,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.0,
        "Pitches": 15.5
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 1.5,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.96429,
        "BB_per_IP": 0.53571,
        "SO_per_IP": 0.96429,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 62,
      "totals": {
        "IP": 85.0,
        "ER": 16.0,
        "R": 19.0,
        "H": 60.0,
        "BB": 33.0,
        "SO": 69.0,
        "HR": 7.0,
        "BF": 336.0,
        "Pitches": 1238.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2581,
        "R": 0.3065,
        "H": 0.9677,
        "BB": 0.5323,
        "SO": 1.1129,
        "HR": 0.1129,
        "BF": 5.4194,
        "Pitches": 19.9677
      },
      "rates": {
        "ERA": 1.6941,
        "WHIP": 1.0941,
        "ER_per_IP": 0.18824,
        "H_per_IP": 0.70588,
        "BB_per_IP": 0.38824,
        "SO_per_IP": 0.81176,
        "HR_per_IP": 0.08235
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.281,
    "predicted_H": 1.036,
    "predicted_BB": 0.443,
    "predicted_SO": 0.835,
    "predicted_HR": 0.079,
    "predicted_ERA": 2.4052,
    "predicted_WHIP": 1.4064
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4439,
  "form_weight": 0.5561,
  "form_reliability": 0.7777,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.491,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7777,
    "prior_weight": 0.2223
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.281,
      "final": 0.6002,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 1.036,
      "final": 1.9079,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.443,
      "final": 0.2463,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.835,
      "final": 0.4643,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.079,
      "final": 0.0439,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4052,
      "final": 2.4052,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4064,
      "final": 1.4064,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
Heliot Ramos (671218) · BATTER · RF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 104
All-history rows before 20260929: 104
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.1626
Diff (system - data): 0.0764
System opponent_avg: 0.4000
System season_avg diverges from 2026 season-to-date by 0.0764. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1640.0000.000Hitting_2B0.2020.000-0.2020.000
predicted_3B0.0360.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6184.0004.000Hitting_AB3.1353.0000.8651.000
predicted_AVG0.2390.2500.250Hitting_AVG0.1630.3330.087-0.083
predicted_BB0.2730.0000.000Hitting_BB0.4621.000-0.462-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8641.0001.000Hitting_H0.5101.0000.4900.000
predicted_HR0.1181.0000.000Hitting_HR0.0670.0000.9331.000
predicted_OBP0.2920.2500.250Hitting_OBP0.3050.500-0.055-0.250
predicted_R0.4271.0001.000Hitting_R0.1731.0000.8270.000
predicted_RBI0.4181.0000.000Hitting_RBI0.2311.0000.7690.000
predicted_SLG0.4021.0000.250Hitting_SLG0.2980.3330.7020.667
predicted_SO1.1000.0002.000Hitting_SO1.1151.000-1.115-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics8
Deboosted Metrics3
Better Metrics9
Worse Metrics2
Biggest Boostpredicted_HR: 0.1180 -> 1.0000 (boost 0.8820, better)
Biggest Deboostpredicted_SO: 1.1000 -> 0.0000 (deboost -1.1000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_SLG: 0.4020 -> 0.4190 (boost 0.0170, 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.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82635predicted_AB: 3.6443 -> 4.0000 (boost 0.3557, better)predicted_RBI: 0.4116 -> 0.0000 (deboost -0.4116, worse)AB rounded to 4 (raw=3.64), rates preserved: AVG=0.239 HR/AB=0.031
6consistency_constraints10101-predicted_R: 0.4584 -> 0.0000 (deboost -0.4584, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4243 (boost 0.4243, better)predicted_H: 1.0000 -> 0.8176 (deboost -0.1824, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation73425predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.4243 -> 0.0000 (deboost -0.4243, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50514-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference43140predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2310 -> 0.2475 (boost 0.0165, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671218",
  "player_name": "Heliot Ramos",
  "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.164,
        "predicted_3B": 0.036,
        "predicted_AB": 3.618,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.273,
        "predicted_H": 0.864,
        "predicted_HR": 0.118,
        "predicted_OBP": 0.292,
        "predicted_R": 0.427,
        "predicted_RBI": 0.418,
        "predicted_SLG": 0.402,
        "predicted_SO": 1.1
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1618,
        "predicted_3B": 0.0537,
        "predicted_AB": 3.6443,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.2773,
        "predicted_H": 0.911,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.1158,
        "predicted_OBP": 0.3026,
        "predicted_R": 0.4645,
        "predicted_RBI": 0.4171,
        "predicted_SLG": 0.419,
        "predicted_SO": 1.1095
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.1618,
          "delta": -0.0022,
          "percent_delta": -0.0134,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.036,
          "after": 0.0537,
          "delta": 0.0177,
          "percent_delta": 0.4917,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.618,
          "after": 3.6443,
          "delta": 0.0263,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.25,
          "delta": 0.011,
          "percent_delta": 0.046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.273,
          "after": 0.2773,
          "delta": 0.0043,
          "percent_delta": 0.0158,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.864,
          "after": 0.911,
          "delta": 0.047,
          "percent_delta": 0.0544,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.118,
          "after": 0.1158,
          "delta": -0.0022,
          "percent_delta": -0.0186,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.292,
          "after": 0.3026,
          "delta": 0.0106,
          "percent_delta": 0.0363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.427,
          "after": 0.4645,
          "delta": 0.0375,
          "percent_delta": 0.0878,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.418,
          "after": 0.4171,
          "delta": -0.0009,
          "percent_delta": -0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.402,
          "after": 0.419,
          "delta": 0.017,
          "percent_delta": 0.0423,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1,
          "after": 1.1095,
          "delta": 0.0095,
          "percent_delta": 0.0086,
          "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.402,
          "after": 0.419,
          "delta": 0.017,
          "percent_delta": 0.0423,
          "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": 110
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1618,
        "predicted_3B": 0.0537,
        "predicted_AB": 3.6443,
        "predicted_AVG": 0.2475,
        "predicted_BB": 0.2782,
        "predicted_H": 0.9019,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.1143,
        "predicted_OBP": 0.3009,
        "predicted_R": 0.4584,
        "predicted_RBI": 0.4116,
        "predicted_SLG": 0.4155,
        "predicted_SO": 1.1058
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1618,
          "after": 0.1618,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0537,
          "after": 0.0537,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6443,
          "after": 3.6443,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2475,
          "delta": -0.0025,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2773,
          "after": 0.2782,
          "delta": 0.0009,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.911,
          "after": 0.9019,
          "delta": -0.0091,
          "percent_delta": -0.01,
          "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.1158,
          "after": 0.1143,
          "delta": -0.0015,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3026,
          "after": 0.3009,
          "delta": -0.0017,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4645,
          "after": 0.4584,
          "delta": -0.0061,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4171,
          "after": 0.4116,
          "delta": -0.0055,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.4155,
          "delta": -0.0035,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1095,
          "after": 1.1058,
          "delta": -0.0037,
          "percent_delta": -0.0033,
          "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": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.64), rates preserved: AVG=0.239 HR/AB=0.031",
      "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.1618,
          "after": 0.0,
          "delta": -0.1618,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0537,
          "after": 0.0,
          "delta": -0.0537,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6443,
          "after": 4.0,
          "delta": 0.3557,
          "percent_delta": 0.0976,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2782,
          "after": 0.0,
          "delta": -0.2782,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9019,
          "after": 1.0,
          "delta": 0.0981,
          "percent_delta": 0.1088,
          "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.1143,
          "after": 0.0,
          "delta": -0.1143,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4116,
          "after": 0.0,
          "delta": -0.4116,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1058,
          "after": 1.0,
          "delta": -0.1058,
          "percent_delta": -0.0957,
          "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": 3.6443,
          "after": 4.0,
          "delta": 0.3557,
          "percent_delta": 0.0976,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4116,
          "after": 0.0,
          "delta": -0.4116,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.4584,
          "after": 0.0,
          "delta": -0.4584,
          "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.4584,
          "after": 0.0,
          "delta": -0.4584,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1688,
        "predicted_3B": 0.0222,
        "predicted_BB": 0.285,
        "predicted_H": 0.8176,
        "predicted_HR": 0.1385,
        "predicted_RBI": 0.4243,
        "predicted_SO": 1.3067
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1688,
          "delta": 0.1688,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0222,
          "delta": 0.0222,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.285,
          "delta": 0.285,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8176,
          "delta": -0.1824,
          "percent_delta": -0.1824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1385,
          "delta": 0.1385,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4243,
          "delta": 0.4243,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3067,
          "delta": 0.3067,
          "percent_delta": 0.3067,
          "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_RBI",
          "before": 0.0,
          "after": 0.4243,
          "delta": 0.4243,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8176,
          "delta": -0.1824,
          "percent_delta": -0.1824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1688,
          "after": 0.0,
          "delta": -0.1688,
          "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": 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.285,
          "after": 0.0,
          "delta": -0.285,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8176,
          "after": 1.0,
          "delta": 0.1824,
          "percent_delta": 0.2231,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_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.4243,
          "after": 0.0,
          "delta": -0.4243,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3067,
          "after": 2.0,
          "delta": 0.6933,
          "percent_delta": 0.5306,
          "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_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": 0.4243,
          "after": 0.0,
          "delta": -0.4243,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.231,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.408,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2475,
          "after": 0.231,
          "delta": -0.0165,
          "percent_delta": -0.0667,
          "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.3009,
          "after": 0.294,
          "delta": -0.0069,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SLG",
          "before": 0.4155,
          "after": 0.408,
          "delta": -0.0075,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_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": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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.2475,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3009,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4155,
        "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.231,
          "after": 0.2475,
          "delta": 0.0165,
          "percent_delta": 0.0713,
          "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.294,
          "after": 0.3009,
          "delta": 0.0069,
          "percent_delta": 0.0233,
          "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.408,
          "after": 0.4155,
          "delta": 0.0075,
          "percent_delta": 0.0183,
          "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.231,
          "after": 0.2475,
          "delta": 0.0165,
          "percent_delta": 0.0713,
          "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.164,
        "after": 0.0,
        "delta": -0.164,
        "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": 3.618,
        "after": 4.0,
        "delta": 0.382,
        "percent_delta": 0.1056,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.2475,
        "delta": 0.0085,
        "percent_delta": 0.0356,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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.864,
        "after": 1.0,
        "delta": 0.136,
        "percent_delta": 0.1574,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.118,
        "after": 1.0,
        "delta": 0.882,
        "percent_delta": 7.4746,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.292,
        "after": 0.3009,
        "delta": 0.0089,
        "percent_delta": 0.0305,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.427,
        "after": 1.0,
        "delta": 0.573,
        "percent_delta": 1.3419,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.418,
        "after": 1.0,
        "delta": 0.582,
        "percent_delta": 1.3923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.402,
        "after": 0.4155,
        "delta": 0.0135,
        "percent_delta": 0.0336,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 8,
      "deboosted_metrics": 3,
      "better_metrics": 9,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.118,
        "after": 1.0,
        "delta": 0.882,
        "percent_delta": 7.4746,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.164-
predicted_3B0.036-
predicted_AB3.618-
predicted_AVG0.239-
predicted_BB0.273-
predicted_H0.864-
predicted_HR0.118-
predicted_OBP0.292-
predicted_R0.427-
predicted_RBI0.418-
predicted_SLG0.402-
predicted_SO1.100-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.162-0.002
predicted_3B0.0540.018
predicted_AB3.6440.026
predicted_AVG0.2500.011
predicted_BB0.2770.004
predicted_H0.9110.047
predicted_HBP0.028-
predicted_HR0.116-0.002
predicted_OBP0.3030.011
predicted_R0.4650.038
predicted_RBI0.417-0.001
predicted_SLG0.4190.017
predicted_SO1.1090.009
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1620.000
predicted_3B0.0540.000
predicted_AB3.6440.000
predicted_AVG0.247-0.003
predicted_BB0.2780.001
predicted_H0.902-0.009
predicted_HBP0.0280.000
predicted_HR0.114-0.002
predicted_OBP0.301-0.002
predicted_R0.458-0.006
predicted_RBI0.412-0.006
predicted_SLG0.415-0.004
predicted_SO1.106-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.64), rates preserved: AVG=0.239 HR/AB=0.031

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1690.169
3B0.0220.022
BB0.2850.285
H0.818-0.182
HR0.1390.139
RBI0.4240.424
SO1.3070.307
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.169
3B0.000-0.022
AB4.0000.000
BB0.000-0.285
H1.0000.182
HR0.000-0.139
R1.0001.000
RBI0.000-0.424
SO2.0000.693
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.162
predicted_3B0.000-0.054
predicted_AB4.0000.356
predicted_AVG0.231-0.016
predicted_BB0.000-0.278
predicted_H1.0000.098
predicted_HR0.000-0.114
predicted_OBP0.294-0.007
predicted_R0.000-0.458
predicted_RBI0.000-0.412
predicted_SLG0.408-0.008
predicted_SO1.000-0.106
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 110
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0007.0001.0001.0000.0002.0003.0001.0006.0000.36840.38100.52630.36840.00000.10530.05260.3158
last_100.2010-37.0009.0001.0001.0002.0004.0007.0004.00012.0000.24320.30950.48650.24320.05410.10810.10810.3243
season0.60110-398.00095.00018.0004.00013.00046.00047.00030.000121.0000.23870.29890.40200.23870.03270.11560.07540.3040
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1590
predicted_3B0.0770
predicted_AB3.6790
predicted_AVG0.2644
predicted_BB0.2830
predicted_H0.9730
predicted_HBP0.0280
predicted_HR0.1130
predicted_OBP0.3167
predicted_R0.5140
predicted_RBI0.4160
predicted_SLG0.4414
predicted_SO1.1220
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.15900.1618model_form_blend
predicted_3B0.03600.07700.0537model_form_blend
predicted_AB3.61803.67903.6443model_form_blend
predicted_AVG0.23900.26440.2500model_form_blend
predicted_BB0.27300.28300.2773model_form_blend
predicted_H0.86400.97300.9110model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.11800.11300.1158model_form_blend
predicted_OBP0.29200.31670.3026model_form_blend
predicted_R0.42700.51400.4645model_form_blend
predicted_RBI0.41800.41600.4171model_form_blend
predicted_SLG0.40200.44140.4190model_form_blend
predicted_SO1.10001.12201.1095model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date104
Season rows before report date104
Report year2026
Profile rows used110
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI1
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260925_BAL@NYY_2
game_typefull
mlbID671218
playerID671218
playerNameHeliot Ramos
posLF
startedTrue
startingPositionRF
teamNYY
teamID19
game_date2026-09-25
sl_k_percent27.4
sl_bb_percent7.0
sl_woba0.312
sl_xwoba0.329
sl_xba0.256
sl_xslg0.446
sl_sweet_spot_percent34.4
sl_barrel_batted_rate13.8
sl_hard_hit_percent48.4
sl_exit_velocity_avg92.2
sl_launch_angle_avg6.8
sl_whiff_percent29.3
sl_swing_percent50.4
Paul Goldschmidt (502671) · BATTER · 1B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 368
All-history rows before 20260929: 368
System season_avg: 0.2530
Data season_avg (2026 season-to-date): 0.2673
Diff (system - data): -0.0143
System opponent_avg: 0.1770

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1341.0001.000Hitting_2B0.1410.0000.8591.000
predicted_3B0.0100.0000.000Hitting_3B0.0140.000-0.0140.000
predicted_AB3.8004.0004.000Hitting_AB3.8124.0000.1880.000
predicted_AVG0.2350.2500.250Hitting_AVG0.2670.000-0.0170.250
predicted_BB0.2580.0000.000Hitting_BB0.2960.000-0.2960.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8901.0001.000Hitting_H1.0190.000-0.0191.000
predicted_HR0.1600.0000.000Hitting_HR0.2230.000-0.2230.000
predicted_OBP0.2850.2500.250Hitting_OBP0.3230.000-0.0730.250
predicted_R0.4331.0000.000Hitting_R0.5030.0000.4971.000
predicted_RBI0.5800.0001.000Hitting_RBI0.6061.000-0.606-1.000
predicted_SLG0.4220.5000.500Hitting_SLG0.4870.0000.0130.500
predicted_SO0.8871.0001.000Hitting_SO0.9620.0000.0381.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_2B: 0.1340 -> 1.0000 (boost 0.8660, better)
Biggest Deboostpredicted_RBI: 0.5800 -> 0.0000 (deboost -0.5800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53241predicted_AVG: 0.2350 -> 0.2500 (boost 0.0150, better)predicted_AB: 3.8000 -> 3.6368 (deboost -0.1632, 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.
3team_form_snapshot10101-predicted_SLG: 0.4270 -> 0.4101 (deboost -0.0169, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_RBI: 0.5440 -> 1.0000 (boost 0.4560, better)predicted_BB: 0.2494 -> 0.0000 (deboost -0.2494, worse)AB rounded to 4 (raw=3.80), rates preserved: AVG=0.227 HR/AB=0.038
6consistency_constraints10101-predicted_R: 0.4323 -> 0.0000 (deboost -0.4323, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3179 (boost 0.3179, better)predicted_RBI: 1.0000 -> 0.5676 (deboost -0.4324, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63342predicted_2B: 0.1826 -> 1.0000 (boost 0.8174, better)predicted_BB: 0.3179 -> 0.0000 (deboost -0.3179, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context31212predicted_SLG: 0.4101 -> 0.4500 (boost 0.0399, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference32121predicted_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
11current_json_final21111predicted_AVG: 0.2370 -> 0.2461 (boost 0.0091, better)predicted_SLG: 0.4500 -> 0.4101 (deboost -0.0399, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "502671",
  "player_name": "Paul Goldschmidt",
  "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.134,
        "predicted_3B": 0.01,
        "predicted_AB": 3.8,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.258,
        "predicted_H": 0.89,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.285,
        "predicted_R": 0.433,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.422,
        "predicted_SO": 0.887
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1468,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.6368,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.2486,
        "predicted_H": 0.9041,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1459,
        "predicted_OBP": 0.2973,
        "predicted_R": 0.4381,
        "predicted_RBI": 0.5513,
        "predicted_SLG": 0.427,
        "predicted_SO": 0.7855
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.134,
          "after": 0.1468,
          "delta": 0.0128,
          "percent_delta": 0.0955,
          "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.8,
          "after": 3.6368,
          "delta": -0.1632,
          "percent_delta": -0.0429,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.25,
          "delta": 0.015,
          "percent_delta": 0.0638,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.258,
          "after": 0.2486,
          "delta": -0.0094,
          "percent_delta": -0.0364,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.89,
          "after": 0.9041,
          "delta": 0.0141,
          "percent_delta": 0.0158,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1459,
          "delta": -0.0141,
          "percent_delta": -0.0881,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.2973,
          "delta": 0.0123,
          "percent_delta": 0.0432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.433,
          "after": 0.4381,
          "delta": 0.0051,
          "percent_delta": 0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.58,
          "after": 0.5513,
          "delta": -0.0287,
          "percent_delta": -0.0495,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.422,
          "after": 0.427,
          "delta": 0.005,
          "percent_delta": 0.0118,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.887,
          "after": 0.7855,
          "delta": -0.1015,
          "percent_delta": -0.1144,
          "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_AVG",
          "before": 0.235,
          "after": 0.25,
          "delta": 0.015,
          "percent_delta": 0.0638,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.8,
          "after": 3.6368,
          "delta": -0.1632,
          "percent_delta": -0.0429,
          "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.1468,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.6368,
        "predicted_AVG": 0.2461,
        "predicted_BB": 0.2494,
        "predicted_H": 0.8951,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1441,
        "predicted_OBP": 0.2945,
        "predicted_R": 0.4323,
        "predicted_RBI": 0.544,
        "predicted_SLG": 0.4101,
        "predicted_SO": 0.7829
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1468,
          "after": 0.1468,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0087,
          "after": 0.0087,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6368,
          "after": 3.6368,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2461,
          "delta": -0.0039,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2486,
          "after": 0.2494,
          "delta": 0.0008,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9041,
          "after": 0.8951,
          "delta": -0.009,
          "percent_delta": -0.01,
          "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.1459,
          "after": 0.1441,
          "delta": -0.0018,
          "percent_delta": -0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2973,
          "after": 0.2945,
          "delta": -0.0028,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4381,
          "after": 0.4323,
          "delta": -0.0058,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5513,
          "after": 0.544,
          "delta": -0.0073,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.4101,
          "delta": -0.0169,
          "percent_delta": -0.0396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7855,
          "after": 0.7829,
          "delta": -0.0026,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.427,
          "after": 0.4101,
          "delta": -0.0169,
          "percent_delta": -0.0396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.80), rates preserved: AVG=0.227 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1468,
          "after": 0.0,
          "delta": -0.1468,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0087,
          "after": 0.0,
          "delta": -0.0087,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6368,
          "after": 4.0,
          "delta": 0.3632,
          "percent_delta": 0.0999,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2494,
          "after": 0.0,
          "delta": -0.2494,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8951,
          "after": 1.0,
          "delta": 0.1049,
          "percent_delta": 0.1172,
          "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.1441,
          "after": 0.0,
          "delta": -0.1441,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.544,
          "after": 1.0,
          "delta": 0.456,
          "percent_delta": 0.8382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7829,
          "after": 1.0,
          "delta": 0.2171,
          "percent_delta": 0.2773,
          "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.544,
          "after": 1.0,
          "delta": 0.456,
          "percent_delta": 0.8382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2494,
          "after": 0.0,
          "delta": -0.2494,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.4323,
          "after": 0.0,
          "delta": -0.4323,
          "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.4323,
          "after": 0.0,
          "delta": -0.4323,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1826,
        "predicted_3B": 0.0155,
        "predicted_BB": 0.3179,
        "predicted_H": 0.9493,
        "predicted_HR": 0.2133,
        "predicted_RBI": 0.5676,
        "predicted_SO": 1.2462
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1826,
          "delta": 0.1826,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0155,
          "delta": 0.0155,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3179,
          "delta": 0.3179,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9493,
          "delta": -0.0507,
          "percent_delta": -0.0507,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2133,
          "delta": 0.2133,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5676,
          "delta": -0.4324,
          "percent_delta": -0.4324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2462,
          "delta": 0.2462,
          "percent_delta": 0.2462,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3179,
          "delta": 0.3179,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5676,
          "delta": -0.4324,
          "percent_delta": -0.4324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1826,
          "after": 1.0,
          "delta": 0.8174,
          "percent_delta": 4.4765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0155,
          "after": 0.0,
          "delta": -0.0155,
          "percent_delta": -1.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_BB",
          "before": 0.3179,
          "after": 0.0,
          "delta": -0.3179,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9493,
          "after": 1.0,
          "delta": 0.0507,
          "percent_delta": 0.0534,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2133,
          "after": 0.0,
          "delta": -0.2133,
          "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.5676,
          "after": 1.0,
          "delta": 0.4324,
          "percent_delta": 0.7618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2462,
          "after": 1.0,
          "delta": -0.2462,
          "percent_delta": -0.1976,
          "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_2B",
          "before": 0.1826,
          "after": 1.0,
          "delta": 0.8174,
          "percent_delta": 4.4765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3179,
          "after": 0.0,
          "delta": -0.3179,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.45,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2461,
          "after": 0.237,
          "delta": -0.0091,
          "percent_delta": -0.037,
          "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.2945,
          "after": 0.299,
          "delta": 0.0045,
          "percent_delta": 0.0153,
          "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.4101,
          "after": 0.45,
          "delta": 0.0399,
          "percent_delta": 0.0973,
          "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.4101,
          "after": 0.45,
          "delta": 0.0399,
          "percent_delta": 0.0973,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 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": 11,
      "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.2461,
        "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.2945,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4101,
        "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.237,
          "after": 0.2461,
          "delta": 0.0091,
          "percent_delta": 0.0384,
          "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.299,
          "after": 0.2945,
          "delta": -0.0045,
          "percent_delta": -0.0151,
          "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.45,
          "after": 0.4101,
          "delta": -0.0399,
          "percent_delta": -0.0887,
          "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.237,
          "after": 0.2461,
          "delta": 0.0091,
          "percent_delta": 0.0384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.45,
          "after": 0.4101,
          "delta": -0.0399,
          "percent_delta": -0.0887,
          "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.134,
        "after": 1.0,
        "delta": 0.866,
        "percent_delta": 6.4627,
        "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": 3.8,
        "after": 4.0,
        "delta": 0.2,
        "percent_delta": 0.0526,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.235,
        "after": 0.2461,
        "delta": 0.0111,
        "percent_delta": 0.0472,
        "direction": "boost",
        "projection_effect": "better",
        "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.89,
        "after": 1.0,
        "delta": 0.11,
        "percent_delta": 0.1236,
        "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.285,
        "after": 0.2945,
        "delta": 0.0095,
        "percent_delta": 0.0333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.433,
        "after": 1.0,
        "delta": 0.567,
        "percent_delta": 1.3095,
        "direction": "boost",
        "projection_effect": "better",
        "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.422,
        "after": 0.4101,
        "delta": -0.0119,
        "percent_delta": -0.0282,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.887,
        "after": 1.0,
        "delta": 0.113,
        "percent_delta": 0.1274,
        "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_2B",
        "before": 0.134,
        "after": 1.0,
        "delta": 0.866,
        "percent_delta": 6.4627,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "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": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.134-
predicted_3B0.010-
predicted_AB3.800-
predicted_AVG0.235-
predicted_BB0.258-
predicted_H0.890-
predicted_HR0.160-
predicted_OBP0.285-
predicted_R0.433-
predicted_RBI0.580-
predicted_SLG0.422-
predicted_SO0.887-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1470.013
predicted_3B0.009-0.001
predicted_AB3.637-0.163
predicted_AVG0.2500.015
predicted_BB0.249-0.009
predicted_H0.9040.014
predicted_HBP0.013-
predicted_HR0.146-0.014
predicted_OBP0.2970.012
predicted_R0.4380.005
predicted_RBI0.551-0.029
predicted_SLG0.4270.005
predicted_SO0.785-0.102
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1470.000
predicted_3B0.0090.000
predicted_AB3.6370.000
predicted_AVG0.246-0.004
predicted_BB0.2490.001
predicted_H0.895-0.009
predicted_HBP0.0130.000
predicted_HR0.144-0.002
predicted_OBP0.294-0.003
predicted_R0.432-0.006
predicted_RBI0.544-0.007
predicted_SLG0.410-0.017
predicted_SO0.783-0.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.80), rates preserved: AVG=0.227 HR/AB=0.038

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1830.183
3B0.0150.015
BB0.3180.318
H0.949-0.051
HR0.2130.213
RBI0.568-0.432
SO1.2460.246
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.817
3B0.000-0.015
AB4.0000.000
BB0.000-0.318
H1.0000.051
HR0.000-0.213
R0.0000.000
RBI1.0000.432
SO1.000-0.246
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.147
predicted_3B0.000-0.009
predicted_AB4.0000.363
predicted_AVG0.237-0.009
predicted_BB0.000-0.249
predicted_H1.0000.105
predicted_HR0.000-0.144
predicted_OBP0.2990.005
predicted_R0.000-0.432
predicted_RBI1.0000.456
predicted_SLG0.4500.040
predicted_SO1.0000.217
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 97
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0004.0001.0000.0000.0002.0002.0001.0001.0000.26670.29410.33330.26670.00000.13330.06670.0667
last_100.2010-33.00011.0002.0000.0001.0006.0005.0002.0004.0000.33330.36110.48480.33330.03030.18180.06060.1212
season0.6097-344.00087.00013.0001.00018.00051.00042.00025.00086.0000.25290.30560.45350.25290.05230.14830.07270.2500
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1640
predicted_3B0.0070
predicted_AB3.4190
predicted_AVG0.2700
predicted_BB0.2360
predicted_H0.9230
predicted_HBP0.0130
predicted_HR0.1270
predicted_OBP0.3137
predicted_R0.4450
predicted_RBI0.5130
predicted_SLG0.4336
predicted_SO0.6500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13400.16400.1468model_form_blend
predicted_3B0.01000.00700.0087model_form_blend
predicted_AB3.80003.41903.6368model_form_blend
predicted_AVG0.23500.27000.2500model_form_blend
predicted_BB0.25800.23600.2486model_form_blend
predicted_H0.89000.92300.9041model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.16000.12700.1459model_form_blend
predicted_OBP0.28500.31370.2973model_form_blend
predicted_R0.43300.44500.4381model_form_blend
predicted_RBI0.58000.51300.5513model_form_blend
predicted_SLG0.42200.43360.4270model_form_blend
predicted_SO0.88700.65000.7855model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date368
Season rows before report date368
Report year2026
Profile rows used97
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B1
3B0
HR0
R1
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
Hitting_SO0
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260925_BAL@NYY
game_typefull
mlbID502671
playerID502671
playerNamePaul Goldschmidt
pos1B
startedTrue
startingPosition1B
teamNYY
teamID19
game_date2026-09-25
sl_k_percent22.6
sl_bb_percent7.6
sl_woba0.33
sl_xwoba0.311
sl_xba0.238
sl_xslg0.414
sl_sweet_spot_percent35.1
sl_barrel_batted_rate9.9
sl_hard_hit_percent35.9
sl_exit_velocity_avg86.8
sl_launch_angle_avg14.6
sl_whiff_percent26.4
sl_swing_percent48.3
George Lombard Jr. (806146) · BATTER · SS · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 138
All-history rows before 20260929: 138
System season_avg: 0.2420
Data season_avg (2026 season-to-date): 0.2251
Diff (system - data): 0.0169
System opponent_avg: 0.2420
System season_avg diverges from 2026 season-to-date by 0.0169. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0980.0000.000Hitting_2B0.0940.000-0.0940.000
predicted_3B0.0240.0000.000Hitting_3B0.0290.000-0.0290.000
predicted_AB4.1103.0004.000Hitting_AB3.6384.000-0.638-1.000
predicted_AVG0.2290.6670.250Hitting_AVG0.2250.0000.4420.667
predicted_BB0.2441.0000.000Hitting_BB0.2540.0000.7461.000
predicted_CS-0.0000.000BaseRunning_CS0.0290.000-0.0290.000
predicted_H0.9402.0001.000Hitting_H0.8190.0001.1812.000
predicted_HR0.2101.0000.000Hitting_HR0.1090.0000.8911.000
predicted_OBP0.2860.7500.250Hitting_OBP0.2780.0000.4720.750
predicted_R0.5611.0001.000Hitting_R0.5650.0000.4351.000
predicted_RBI0.6902.0000.000Hitting_RBI0.3990.0001.6012.000
predicted_SLG0.4731.6670.250Hitting_SLG0.3570.0001.3101.667
predicted_SO1.0240.0001.000Hitting_SO1.0362.000-1.036-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics7
Worse Metrics4
Biggest Boostpredicted_RBI: 0.6900 -> 2.0000 (boost 1.3100, better)
Biggest Deboostpredicted_AB: 4.1100 -> 3.0000 (deboost -1.1100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2290 -> 0.2381 (boost 0.0091, better)predicted_AB: 4.1100 -> 3.9919 (deboost -0.1181, 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.
3team_form_snapshot20202-predicted_SLG: 0.4756 -> 0.4368 (deboost -0.0388, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling52323predicted_RBI: 0.6813 -> 1.0000 (boost 0.3187, better)predicted_BB: 0.2212 -> 0.0000 (deboost -0.2212, worse)AB rounded to 4 (raw=4.11), rates preserved: AVG=0.220 HR/AB=0.053
6consistency_constraints11010predicted_R: 0.5676 -> 1.0000 (boost 0.4324, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2956 (boost 0.2956, better)predicted_RBI: 1.0000 -> 0.5021 (deboost -0.4979, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61524predicted_H: 0.8549 -> 1.0000 (boost 0.1451, better)predicted_RBI: 0.5021 -> 0.0000 (deboost -0.5021, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context32121predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.4368 -> 0.4240 (deboost -0.0128, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference64251predicted_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
11current_json_final21111predicted_SLG: 0.4240 -> 0.4368 (boost 0.0128, better)predicted_OBP: 0.2940 -> 0.2753 (deboost -0.0187, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "806146",
  "player_name": "George Lombard Jr.",
  "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.098,
        "predicted_3B": 0.024,
        "predicted_AB": 4.11,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.244,
        "predicted_H": 0.94,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.286,
        "predicted_R": 0.561,
        "predicted_RBI": 0.69,
        "predicted_SLG": 0.473,
        "predicted_SO": 1.024
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1097,
        "predicted_3B": 0.0204,
        "predicted_AB": 3.9919,
        "predicted_AVG": 0.2381,
        "predicted_BB": 0.2205,
        "predicted_H": 0.9481,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.2209,
        "predicted_OBP": 0.2867,
        "predicted_R": 0.5752,
        "predicted_RBI": 0.6904,
        "predicted_SLG": 0.4756,
        "predicted_SO": 1.0442
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.098,
          "after": 0.1097,
          "delta": 0.0117,
          "percent_delta": 0.1194,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0204,
          "delta": -0.0036,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.11,
          "after": 3.9919,
          "delta": -0.1181,
          "percent_delta": -0.0287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.2381,
          "delta": 0.0091,
          "percent_delta": 0.0397,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.244,
          "after": 0.2205,
          "delta": -0.0235,
          "percent_delta": -0.0963,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.94,
          "after": 0.9481,
          "delta": 0.0081,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.2209,
          "delta": 0.0109,
          "percent_delta": 0.0519,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.2867,
          "delta": 0.0007,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.561,
          "after": 0.5752,
          "delta": 0.0142,
          "percent_delta": 0.0253,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.69,
          "after": 0.6904,
          "delta": 0.0004,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.473,
          "after": 0.4756,
          "delta": 0.0026,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.024,
          "after": 1.0442,
          "delta": 0.0202,
          "percent_delta": 0.0197,
          "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.229,
          "after": 0.2381,
          "delta": 0.0091,
          "percent_delta": 0.0397,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.11,
          "after": 3.9919,
          "delta": -0.1181,
          "percent_delta": -0.0287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 41
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1097,
        "predicted_3B": 0.0204,
        "predicted_AB": 3.9919,
        "predicted_AVG": 0.2351,
        "predicted_BB": 0.2212,
        "predicted_H": 0.9386,
        "predicted_HBP": 0.018,
        "predicted_HR": 0.2181,
        "predicted_OBP": 0.2753,
        "predicted_R": 0.5676,
        "predicted_RBI": 0.6813,
        "predicted_SLG": 0.4368,
        "predicted_SO": 1.0408
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1097,
          "after": 0.1097,
          "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.9919,
          "after": 3.9919,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2381,
          "after": 0.2351,
          "delta": -0.003,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2205,
          "after": 0.2212,
          "delta": 0.0007,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9481,
          "after": 0.9386,
          "delta": -0.0095,
          "percent_delta": -0.01,
          "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.2209,
          "after": 0.2181,
          "delta": -0.0028,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2867,
          "after": 0.2753,
          "delta": -0.0114,
          "percent_delta": -0.0398,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5752,
          "after": 0.5676,
          "delta": -0.0076,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6904,
          "after": 0.6813,
          "delta": -0.0091,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4756,
          "after": 0.4368,
          "delta": -0.0388,
          "percent_delta": -0.0816,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0442,
          "after": 1.0408,
          "delta": -0.0034,
          "percent_delta": -0.0033,
          "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.4756,
          "after": 0.4368,
          "delta": -0.0388,
          "percent_delta": -0.0816,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.11), rates preserved: AVG=0.220 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.1097,
          "after": 0.0,
          "delta": -0.1097,
          "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.9919,
          "after": 4.0,
          "delta": 0.0081,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2212,
          "after": 0.0,
          "delta": -0.2212,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9386,
          "after": 1.0,
          "delta": 0.0614,
          "percent_delta": 0.0654,
          "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.2181,
          "after": 0.0,
          "delta": -0.2181,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6813,
          "after": 1.0,
          "delta": 0.3187,
          "percent_delta": 0.4678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0408,
          "after": 1.0,
          "delta": -0.0408,
          "percent_delta": -0.0392,
          "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.6813,
          "after": 1.0,
          "delta": 0.3187,
          "percent_delta": 0.4678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2212,
          "after": 0.0,
          "delta": -0.2212,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.5676,
          "after": 1.0,
          "delta": 0.4324,
          "percent_delta": 0.7618,
          "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.5676,
          "after": 1.0,
          "delta": 0.4324,
          "percent_delta": 0.7618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1657,
        "predicted_3B": 0.0171,
        "predicted_BB": 0.2956,
        "predicted_H": 0.8549,
        "predicted_HR": 0.1697,
        "predicted_RBI": 0.5021,
        "predicted_SO": 1.2516
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1657,
          "delta": 0.1657,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0171,
          "delta": 0.0171,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2956,
          "delta": 0.2956,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8549,
          "delta": -0.1451,
          "percent_delta": -0.1451,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1697,
          "delta": 0.1697,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5021,
          "delta": -0.4979,
          "percent_delta": -0.4979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2516,
          "delta": 0.2516,
          "percent_delta": 0.2516,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2956,
          "delta": 0.2956,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5021,
          "delta": -0.4979,
          "percent_delta": -0.4979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1657,
          "after": 0.0,
          "delta": -0.1657,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0171,
          "after": 0.0,
          "delta": -0.0171,
          "percent_delta": -1.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_BB",
          "before": 0.2956,
          "after": 0.0,
          "delta": -0.2956,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8549,
          "after": 1.0,
          "delta": 0.1451,
          "percent_delta": 0.1697,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1697,
          "after": 0.0,
          "delta": -0.1697,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5021,
          "after": 0.0,
          "delta": -0.5021,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2516,
          "after": 1.0,
          "delta": -0.2516,
          "percent_delta": -0.201,
          "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.8549,
          "after": 1.0,
          "delta": 0.1451,
          "percent_delta": 0.1697,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5021,
          "after": 0.0,
          "delta": -0.5021,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.232,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.424,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2351,
          "after": 0.232,
          "delta": -0.0031,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2753,
          "after": 0.294,
          "delta": 0.0187,
          "percent_delta": 0.0679,
          "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_SLG",
          "before": 0.4368,
          "after": 0.424,
          "delta": -0.0128,
          "percent_delta": -0.0293,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4368,
          "after": 0.424,
          "delta": -0.0128,
          "percent_delta": -0.0293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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": 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": 11,
      "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.2351,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2753,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4368,
        "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.232,
          "after": 0.2351,
          "delta": 0.0031,
          "percent_delta": 0.0135,
          "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": 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.294,
          "after": 0.2753,
          "delta": -0.0187,
          "percent_delta": -0.0636,
          "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.424,
          "after": 0.4368,
          "delta": 0.0128,
          "percent_delta": 0.0301,
          "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.424,
          "after": 0.4368,
          "delta": 0.0128,
          "percent_delta": 0.0301,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.2753,
          "delta": -0.0187,
          "percent_delta": -0.0636,
          "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.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.11,
        "after": 3.0,
        "delta": -1.11,
        "percent_delta": -0.2701,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.229,
        "after": 0.2351,
        "delta": 0.0061,
        "percent_delta": 0.0266,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.244,
        "after": 1.0,
        "delta": 0.756,
        "percent_delta": 3.0984,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 2.0,
        "delta": 1.06,
        "percent_delta": 1.1277,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.21,
        "after": 1.0,
        "delta": 0.79,
        "percent_delta": 3.7619,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.286,
        "after": 0.2753,
        "delta": -0.0107,
        "percent_delta": -0.0374,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.69,
        "after": 2.0,
        "delta": 1.31,
        "percent_delta": 1.8986,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.473,
        "after": 0.4368,
        "delta": -0.0362,
        "percent_delta": -0.0765,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.024,
        "after": 0.0,
        "delta": -1.024,
        "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_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.11,
        "after": 3.0,
        "delta": -1.11,
        "percent_delta": -0.2701,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.098-
predicted_3B0.024-
predicted_AB4.110-
predicted_AVG0.229-
predicted_BB0.244-
predicted_H0.940-
predicted_HR0.210-
predicted_OBP0.286-
predicted_R0.561-
predicted_RBI0.690-
predicted_SLG0.473-
predicted_SO1.024-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1100.012
predicted_3B0.020-0.004
predicted_AB3.992-0.118
predicted_AVG0.2380.009
predicted_BB0.221-0.023
predicted_H0.9480.008
predicted_HBP0.018-
predicted_HR0.2210.011
predicted_OBP0.2870.001
predicted_R0.5750.014
predicted_RBI0.6900.000
predicted_SLG0.4760.003
predicted_SO1.0440.020
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1100.000
predicted_3B0.0200.000
predicted_AB3.9920.000
predicted_AVG0.235-0.003
predicted_BB0.2210.001
predicted_H0.939-0.010
predicted_HBP0.0180.000
predicted_HR0.218-0.003
predicted_OBP0.275-0.011
predicted_R0.568-0.008
predicted_RBI0.681-0.009
predicted_SLG0.437-0.039
predicted_SO1.041-0.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.11), rates preserved: AVG=0.220 HR/AB=0.053

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1660.166
3B0.0170.017
BB0.2960.296
H0.855-0.145
HR0.1700.170
RBI0.502-0.498
SO1.2520.252
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.166
3B0.000-0.017
AB4.0000.000
BB0.000-0.296
H1.0000.145
HR0.000-0.170
R1.0000.000
RBI0.000-0.502
SO1.000-0.252
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.110
predicted_3B0.000-0.020
predicted_AB4.0000.008
predicted_AVG0.232-0.003
predicted_BB0.000-0.221
predicted_H1.0000.061
predicted_HR0.000-0.218
predicted_OBP0.2940.019
predicted_R1.0000.432
predicted_RBI1.0000.319
predicted_SLG0.424-0.013
predicted_SO1.000-0.041
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 41
Reference playing time: 4.110
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0001.0000.0002.0005.0003.0000.0008.0000.25000.25000.60000.25000.10000.25000.00000.4000
last_100.2010-42.00012.0001.0000.0004.00011.0008.0001.0009.0000.28570.30230.59520.28570.09520.26190.02380.2143
season0.6041-149.00036.0004.0001.0007.00022.00023.00010.00042.0000.24160.29010.42280.24160.04700.14770.06710.2819
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1270
predicted_3B0.0150
predicted_AB3.8180
predicted_AVG0.2515
predicted_BB0.1860
predicted_H0.9600
predicted_HBP0.0180
predicted_HR0.2370
predicted_OBP0.2878
predicted_R0.5960
predicted_RBI0.6910
predicted_SLG0.4794
predicted_SO1.0740
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09800.12700.1097model_form_blend
predicted_3B0.02400.01500.0204model_form_blend
predicted_AB4.11003.81803.9919model_form_blend
predicted_AVG0.22900.25150.2381model_form_blend
predicted_BB0.24400.18600.2205model_form_blend
predicted_H0.94000.96000.9481model_form_blend
predicted_HBP-0.01800.0180form_only
predicted_HR0.21000.23700.2209model_form_blend
predicted_OBP0.28600.28780.2867model_form_blend
predicted_R0.56100.59600.5752model_form_blend
predicted_RBI0.69000.69100.6904model_form_blend
predicted_SLG0.47300.47940.4756model_form_blend
predicted_SO1.02401.07401.0442model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date138
Season rows before report date138
Report year2026
Profile rows used41
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B0
3B0
HR1
R1
RBI2
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260925_BAL@NYY
game_typefull
mlbID806146
playerID806146
playerNameGeorge Lombard Jr.
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-09-25
sl_k_percent26.5
sl_bb_percent6.0
sl_woba0.303
sl_xwoba0.298
sl_xba0.24
sl_xslg0.388
sl_sweet_spot_percent33.3
sl_barrel_batted_rate8.2
sl_hard_hit_percent35.1
sl_exit_velocity_avg87.1
sl_launch_angle_avg8.5
sl_whiff_percent25.6
sl_swing_percent46.8
Anthony Volpe (683011) · BATTER · 2B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 223
All-history rows before 20260929: 223
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2636
Diff (system - data): -0.0196
System opponent_avg: 0.1180
System season_avg diverges from 2026 season-to-date by -0.0196. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1790.0000.000Hitting_2B0.1971.000-0.197-1.000
predicted_3B0.0150.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB3.2394.0004.000Hitting_AB3.3684.0000.6320.000
predicted_AVG0.2440.0000.250Hitting_AVG0.2640.250-0.264-0.250
predicted_BB0.3730.0001.000Hitting_BB0.4130.000-0.4130.000
predicted_CS-0.0000.000BaseRunning_CS0.0630.000-0.0630.000
predicted_H0.7910.0001.000Hitting_H0.8881.000-0.888-1.000
predicted_HR0.0300.0000.000Hitting_HR0.0450.000-0.0450.000
predicted_OBP0.3220.0000.400Hitting_OBP0.3440.250-0.344-0.250
predicted_R0.3580.0000.000Hitting_R0.4350.000-0.4350.000
predicted_RBI0.3880.0000.000Hitting_RBI0.4842.000-0.484-2.000
predicted_SB-0.0000.000BaseRunning_SB0.1840.000-0.1840.000
predicted_SLG0.3360.0000.250Hitting_SLG0.3730.500-0.373-0.500
predicted_SO0.8361.0001.000Hitting_SO0.8211.0000.1790.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics2
Deboosted Metrics6
Better Metrics1
Worse Metrics7
Biggest Boostpredicted_AB: 3.2390 -> 4.0000 (boost 0.7610, better)
Biggest Deboostpredicted_H: 0.7910 -> 0.0000 (deboost -0.7910, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32112predicted_AB: 3.2390 -> 3.3184 (boost 0.0794, better)predicted_OBP: 0.3220 -> 0.3145 (deboost -0.0075, 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.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_AB: 3.3184 -> 4.0000 (boost 0.6816, better)predicted_RBI: 0.3891 -> 0.0000 (deboost -0.3891, worse)AB rounded to 4 (raw=3.32), rates preserved: AVG=0.232 HR/AB=0.009
6consistency_constraints10101-predicted_R: 0.3236 -> 0.0000 (deboost -0.3236, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4273 (boost 0.4273, better)predicted_H: 1.0000 -> 0.8091 (deboost -0.1909, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62433predicted_BB: 0.3777 -> 1.0000 (boost 0.6223, better)predicted_RBI: 0.4273 -> 0.0000 (deboost -0.4273, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context31212predicted_SLG: 0.3324 -> 0.3660 (boost 0.0336, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final21111predicted_AVG: 0.2310 -> 0.2407 (boost 0.0097, better)predicted_SLG: 0.3660 -> 0.3324 (deboost -0.0336, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683011",
  "player_name": "Anthony Volpe",
  "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.179,
        "predicted_3B": 0.015,
        "predicted_AB": 3.239,
        "predicted_AVG": 0.244,
        "predicted_BB": 0.373,
        "predicted_H": 0.791,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.322,
        "predicted_R": 0.358,
        "predicted_RBI": 0.388,
        "predicted_SLG": 0.336,
        "predicted_SO": 0.836
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1894,
        "predicted_3B": 0.0129,
        "predicted_AB": 3.3184,
        "predicted_AVG": 0.2431,
        "predicted_BB": 0.3446,
        "predicted_H": 0.8069,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.3145,
        "predicted_R": 0.3279,
        "predicted_RBI": 0.3943,
        "predicted_SLG": 0.3349,
        "predicted_SO": 0.8895
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 0.1894,
          "delta": 0.0104,
          "percent_delta": 0.0581,
          "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.239,
          "after": 3.3184,
          "delta": 0.0794,
          "percent_delta": 0.0245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.244,
          "after": 0.2431,
          "delta": -0.0009,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.373,
          "after": 0.3446,
          "delta": -0.0284,
          "percent_delta": -0.0761,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.791,
          "after": 0.8069,
          "delta": 0.0159,
          "percent_delta": 0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.03,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3145,
          "delta": -0.0075,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.358,
          "after": 0.3279,
          "delta": -0.0301,
          "percent_delta": -0.0841,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.388,
          "after": 0.3943,
          "delta": 0.0063,
          "percent_delta": 0.0162,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.336,
          "after": 0.3349,
          "delta": -0.0011,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.836,
          "after": 0.8895,
          "delta": 0.0535,
          "percent_delta": 0.064,
          "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.239,
          "after": 3.3184,
          "delta": 0.0794,
          "percent_delta": 0.0245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3145,
          "delta": -0.0075,
          "percent_delta": -0.0233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 67
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1894,
        "predicted_3B": 0.0129,
        "predicted_AB": 3.3184,
        "predicted_AVG": 0.2407,
        "predicted_BB": 0.3457,
        "predicted_H": 0.7988,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0296,
        "predicted_OBP": 0.3124,
        "predicted_R": 0.3236,
        "predicted_RBI": 0.3891,
        "predicted_SLG": 0.3324,
        "predicted_SO": 0.8866
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1894,
          "after": 0.1894,
          "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.3184,
          "after": 3.3184,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2431,
          "after": 0.2407,
          "delta": -0.0024,
          "percent_delta": -0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3446,
          "after": 0.3457,
          "delta": 0.0011,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8069,
          "after": 0.7988,
          "delta": -0.0081,
          "percent_delta": -0.01,
          "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.03,
          "after": 0.0296,
          "delta": -0.0004,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3145,
          "after": 0.3124,
          "delta": -0.0021,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3279,
          "after": 0.3236,
          "delta": -0.0043,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3943,
          "after": 0.3891,
          "delta": -0.0052,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3349,
          "after": 0.3324,
          "delta": -0.0025,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8895,
          "after": 0.8866,
          "delta": -0.0029,
          "percent_delta": -0.0033,
          "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": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.32), rates preserved: AVG=0.232 HR/AB=0.009",
      "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.1894,
          "after": 0.0,
          "delta": -0.1894,
          "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.3184,
          "after": 4.0,
          "delta": 0.6816,
          "percent_delta": 0.2054,
          "direction": "boost",
          "projection_effect": "better",
          "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.7988,
          "after": 1.0,
          "delta": 0.2012,
          "percent_delta": 0.2519,
          "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.0296,
          "after": 0.0,
          "delta": -0.0296,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3891,
          "after": 0.0,
          "delta": -0.3891,
          "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": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.3184,
          "after": 4.0,
          "delta": 0.6816,
          "percent_delta": 0.2054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3891,
          "after": 0.0,
          "delta": -0.3891,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.3236,
          "after": 0.0,
          "delta": -0.3236,
          "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.3236,
          "after": 0.0,
          "delta": -0.3236,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1733,
        "predicted_3B": 0.0151,
        "predicted_BB": 0.3777,
        "predicted_H": 0.8091,
        "predicted_HR": 0.0896,
        "predicted_RBI": 0.4273,
        "predicted_SO": 1.0913
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1733,
          "delta": 0.1733,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0151,
          "delta": 0.0151,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3777,
          "delta": 0.3777,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8091,
          "delta": -0.1909,
          "percent_delta": -0.1909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0896,
          "delta": 0.0896,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4273,
          "delta": 0.4273,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0913,
          "delta": 0.0913,
          "percent_delta": 0.0913,
          "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_RBI",
          "before": 0.0,
          "after": 0.4273,
          "delta": 0.4273,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8091,
          "delta": -0.1909,
          "percent_delta": -0.1909,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1733,
          "after": 0.0,
          "delta": -0.1733,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3777,
          "after": 1.0,
          "delta": 0.6223,
          "percent_delta": 1.6476,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8091,
          "after": 1.0,
          "delta": 0.1909,
          "percent_delta": 0.2359,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0896,
          "after": 0.0,
          "delta": -0.0896,
          "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.4273,
          "after": 0.0,
          "delta": -0.4273,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.3777,
          "after": 1.0,
          "delta": 0.6223,
          "percent_delta": 1.6476,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4273,
          "after": 0.0,
          "delta": -0.4273,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.231,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2407,
          "after": 0.231,
          "delta": -0.0097,
          "percent_delta": -0.0403,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.311,
          "delta": -0.0014,
          "percent_delta": -0.0045,
          "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.3324,
          "after": 0.366,
          "delta": 0.0336,
          "percent_delta": 0.1011,
          "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.3324,
          "after": 0.366,
          "delta": 0.0336,
          "percent_delta": 0.1011,
          "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": 10,
      "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": 11,
      "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.2407,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3124,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3324,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.231,
          "after": 0.2407,
          "delta": 0.0097,
          "percent_delta": 0.0421,
          "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.311,
          "after": 0.3124,
          "delta": 0.0014,
          "percent_delta": 0.0044,
          "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.366,
          "after": 0.3324,
          "delta": -0.0336,
          "percent_delta": -0.0919,
          "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.231,
          "after": 0.2407,
          "delta": 0.0097,
          "percent_delta": 0.0421,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.366,
          "after": 0.3324,
          "delta": -0.0336,
          "percent_delta": -0.0919,
          "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.015,
        "after": 0.0,
        "delta": -0.015,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.239,
        "after": 4.0,
        "delta": 0.761,
        "percent_delta": 0.2349,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.244,
        "after": 0.2407,
        "delta": -0.0033,
        "percent_delta": -0.0135,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.373,
        "after": 0.0,
        "delta": -0.373,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.791,
        "after": 0.0,
        "delta": -0.791,
        "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.322,
        "after": 0.3124,
        "delta": -0.0096,
        "percent_delta": -0.0298,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.358,
        "after": 0.0,
        "delta": -0.358,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.388,
        "after": 0.0,
        "delta": -0.388,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.336,
        "after": 0.3324,
        "delta": -0.0036,
        "percent_delta": -0.0107,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.836,
        "after": 1.0,
        "delta": 0.164,
        "percent_delta": 0.1962,
        "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_AB",
        "before": 3.239,
        "after": 4.0,
        "delta": 0.761,
        "percent_delta": 0.2349,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.791,
        "after": 0.0,
        "delta": -0.791,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.179-
predicted_3B0.015-
predicted_AB3.239-
predicted_AVG0.244-
predicted_BB0.373-
predicted_H0.791-
predicted_HR0.030-
predicted_OBP0.322-
predicted_R0.358-
predicted_RBI0.388-
predicted_SLG0.336-
predicted_SO0.836-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1890.010
predicted_3B0.013-0.002
predicted_AB3.3180.079
predicted_AVG0.243-0.001
predicted_BB0.345-0.028
predicted_H0.8070.016
predicted_HBP0.003-
predicted_HR0.0300.000
predicted_OBP0.315-0.008
predicted_R0.328-0.030
predicted_RBI0.3940.006
predicted_SLG0.335-0.001
predicted_SO0.8890.053
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1890.000
predicted_3B0.0130.000
predicted_AB3.3180.000
predicted_AVG0.241-0.002
predicted_BB0.3460.001
predicted_H0.799-0.008
predicted_HBP0.0030.000
predicted_HR0.030-0.000
predicted_OBP0.312-0.002
predicted_R0.324-0.004
predicted_RBI0.389-0.005
predicted_SLG0.332-0.003
predicted_SO0.887-0.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.32), rates preserved: AVG=0.232 HR/AB=0.009

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1730.173
3B0.0150.015
BB0.3780.378
H0.809-0.191
HR0.0900.090
RBI0.4270.427
SO1.0910.091
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.173
3B0.000-0.015
AB4.0000.000
BB1.0000.622
H1.0000.191
HR0.000-0.090
R0.0000.000
RBI0.000-0.427
SO1.000-0.091
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.189
predicted_3B0.000-0.013
predicted_AB4.0000.682
predicted_AVG0.231-0.010
predicted_BB0.000-0.346
predicted_H1.0000.201
predicted_HR0.000-0.030
predicted_OBP0.311-0.001
predicted_R0.000-0.324
predicted_RBI0.000-0.389
predicted_SLG0.3660.034
predicted_SO1.0000.113
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 67
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0001.0000.0000.0002.0000.0001.0007.0000.22220.26320.27780.22220.00000.11110.05560.3889
last_100.2010-36.0009.0003.0000.0000.0004.0002.0002.00010.0000.25000.28950.33330.25000.00000.11110.05560.2778
season0.6067-217.00053.00012.0001.0002.00026.00024.00025.00056.0000.24420.32230.33640.24420.00920.11980.11520.2581
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2040
predicted_3B0.0100
predicted_AB3.4290
predicted_AVG0.2418
predicted_BB0.3050
predicted_H0.8290
predicted_HBP0.0030
predicted_HR0.0300
predicted_OBP0.3041
predicted_R0.2860
predicted_RBI0.4030
predicted_SLG0.3333
predicted_SO0.9640
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17900.20400.1894model_form_blend
predicted_3B0.01500.01000.0129model_form_blend
predicted_AB3.23903.42903.3184model_form_blend
predicted_AVG0.24400.24180.2431model_form_blend
predicted_BB0.37300.30500.3446model_form_blend
predicted_H0.79100.82900.8069model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.03000.03000.0300model_form_blend
predicted_OBP0.32200.30410.3145model_form_blend
predicted_R0.35800.28600.3279model_form_blend
predicted_RBI0.38800.40300.3943model_form_blend
predicted_SLG0.33600.33330.3349model_form_blend
predicted_SO0.83600.96400.8895model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date223
Season rows before report date223
Report year2026
Profile rows used67
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260925_BAL@NYY_2
game_typefull
mlbID683011
playerID683011
playerNameAnthony Volpe
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-09-25
sl_k_percent22.8
sl_bb_percent10.2
sl_woba0.297
sl_xwoba0.291
sl_xba0.232
sl_xslg0.334
sl_sweet_spot_percent33.3
sl_barrel_batted_rate4.9
sl_hard_hit_percent37.0
sl_exit_velocity_avg87.9
sl_launch_angle_avg12.6
sl_whiff_percent25.2
sl_swing_percent45.9
Cody Bellinger (641355) · BATTER · LF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 535
All-history rows before 20260929: 535
System season_avg: 0.2650
Data season_avg (2026 season-to-date): 0.2764
Diff (system - data): -0.0114
System opponent_avg: 0.1860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1940.0000.000Hitting_2B0.2070.000-0.2070.000
predicted_3B0.0231.0000.000Hitting_3B0.0260.0000.9741.000
predicted_AB4.3904.0004.000Hitting_AB3.7874.0000.2130.000
predicted_AVG0.2380.2500.250Hitting_AVG0.2760.000-0.0260.250
predicted_BB0.4500.0001.000Hitting_BB0.4840.000-0.4840.000
predicted_CS-0.0000.000BaseRunning_CS0.0470.000-0.0470.000
predicted_H1.0501.0001.000Hitting_H1.0470.000-0.0471.000
predicted_HR0.1500.0000.000Hitting_HR0.1290.000-0.1290.000
predicted_OBP0.2890.2500.400Hitting_OBP0.3540.000-0.1040.250
predicted_R0.5660.0001.000Hitting_R0.6000.000-0.6000.000
predicted_RBI0.5300.0001.000Hitting_RBI0.5910.000-0.5910.000
predicted_SLG0.4040.7500.250Hitting_SLG0.4470.0000.3030.750
predicted_SO0.6431.0001.000Hitting_SO0.6212.0000.379-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics2
Worse Metrics10
Biggest Boostpredicted_3B: 0.0230 -> 1.0000 (boost 0.9770, better)
Biggest Deboostpredicted_R: 0.5660 -> 0.0000 (deboost -0.5660, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51405predicted_SO: 0.6430 -> 0.6991 (boost 0.0561, worse)predicted_AB: 4.3900 -> 4.1499 (deboost -0.2401, 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.
3team_form_snapshot21111predicted_OBP: 0.2890 -> 0.3011 (boost 0.0121, better)predicted_SLG: 0.3968 -> 0.3889 (deboost -0.0079, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.6968 -> 1.0000 (boost 0.3032, worse)predicted_RBI: 0.5106 -> 0.0000 (deboost -0.5106, worse)AB rounded to 4 (raw=4.39), rates preserved: AVG=0.211 HR/AB=0.034
6consistency_constraints11010predicted_R: 0.5220 -> 1.0000 (boost 0.4780, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5812 (boost 0.5812, better)predicted_SO: 1.0000 -> 0.8983 (deboost -0.1017, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64233predicted_BB: 0.3838 -> 1.0000 (boost 0.6162, better)predicted_2B: 0.1760 -> 0.0000 (deboost -0.1760, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context53232predicted_SLG: 0.3889 -> 0.4140 (boost 0.0251, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_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
11current_json_final30303-predicted_SLG: 0.4140 -> 0.3889 (deboost -0.0251, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "641355",
  "player_name": "Cody Bellinger",
  "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.194,
        "predicted_3B": 0.023,
        "predicted_AB": 4.39,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.45,
        "predicted_H": 1.05,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.289,
        "predicted_R": 0.566,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.404,
        "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.1627,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.1499,
        "predicted_AVG": 0.2325,
        "predicted_BB": 0.4135,
        "predicted_H": 0.9695,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.153,
        "predicted_OBP": 0.289,
        "predicted_R": 0.529,
        "predicted_RBI": 0.5174,
        "predicted_SLG": 0.3968,
        "predicted_SO": 0.6991
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.1627,
          "delta": -0.0313,
          "percent_delta": -0.1613,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0191,
          "delta": -0.0039,
          "percent_delta": -0.1696,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.39,
          "after": 4.1499,
          "delta": -0.2401,
          "percent_delta": -0.0547,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2325,
          "delta": -0.0055,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.45,
          "after": 0.4135,
          "delta": -0.0365,
          "percent_delta": -0.0811,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.05,
          "after": 0.9695,
          "delta": -0.0805,
          "percent_delta": -0.0767,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.153,
          "delta": 0.003,
          "percent_delta": 0.02,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.289,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.566,
          "after": 0.529,
          "delta": -0.037,
          "percent_delta": -0.0654,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 0.5174,
          "delta": -0.0126,
          "percent_delta": -0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.3968,
          "delta": -0.0072,
          "percent_delta": -0.0178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.643,
          "after": 0.6991,
          "delta": 0.0561,
          "percent_delta": 0.0872,
          "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.643,
          "after": 0.6991,
          "delta": 0.0561,
          "percent_delta": 0.0872,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.39,
          "after": 4.1499,
          "delta": -0.2401,
          "percent_delta": -0.0547,
          "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": 129
      }
    },
    {
      "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.0191,
        "predicted_AB": 4.1499,
        "predicted_AVG": 0.2313,
        "predicted_BB": 0.4149,
        "predicted_H": 0.9598,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1511,
        "predicted_OBP": 0.3011,
        "predicted_R": 0.522,
        "predicted_RBI": 0.5106,
        "predicted_SLG": 0.3889,
        "predicted_SO": 0.6968
      },
      "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.0191,
          "after": 0.0191,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1499,
          "after": 4.1499,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2325,
          "after": 0.2313,
          "delta": -0.0012,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4135,
          "after": 0.4149,
          "delta": 0.0014,
          "percent_delta": 0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9695,
          "after": 0.9598,
          "delta": -0.0097,
          "percent_delta": -0.01,
          "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.153,
          "after": 0.1511,
          "delta": -0.0019,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.289,
          "after": 0.3011,
          "delta": 0.0121,
          "percent_delta": 0.0419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.529,
          "after": 0.522,
          "delta": -0.007,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5174,
          "after": 0.5106,
          "delta": -0.0068,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3968,
          "after": 0.3889,
          "delta": -0.0079,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6991,
          "after": 0.6968,
          "delta": -0.0023,
          "percent_delta": -0.0033,
          "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.3011,
          "delta": 0.0121,
          "percent_delta": 0.0419,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3968,
          "after": 0.3889,
          "delta": -0.0079,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.39), rates preserved: AVG=0.211 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.1627,
          "after": 0.0,
          "delta": -0.1627,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0191,
          "after": 0.0,
          "delta": -0.0191,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1499,
          "after": 4.0,
          "delta": -0.1499,
          "percent_delta": -0.0361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4149,
          "after": 0.0,
          "delta": -0.4149,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9598,
          "after": 1.0,
          "delta": 0.0402,
          "percent_delta": 0.0419,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.1511,
          "after": 0.0,
          "delta": -0.1511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5106,
          "after": 0.0,
          "delta": -0.5106,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6968,
          "after": 1.0,
          "delta": 0.3032,
          "percent_delta": 0.4351,
          "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.6968,
          "after": 1.0,
          "delta": 0.3032,
          "percent_delta": 0.4351,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5106,
          "after": 0.0,
          "delta": -0.5106,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.522,
          "after": 1.0,
          "delta": 0.478,
          "percent_delta": 0.9157,
          "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.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": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.176,
        "predicted_3B": 0.0223,
        "predicted_BB": 0.3838,
        "predicted_H": 0.9484,
        "predicted_HR": 0.1503,
        "predicted_RBI": 0.5812,
        "predicted_SO": 0.8983
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.176,
          "delta": 0.176,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0223,
          "delta": 0.0223,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3838,
          "delta": 0.3838,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9484,
          "delta": -0.0516,
          "percent_delta": -0.0516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1503,
          "delta": 0.1503,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5812,
          "delta": 0.5812,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8983,
          "delta": -0.1017,
          "percent_delta": -0.1017,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5812,
          "delta": 0.5812,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8983,
          "delta": -0.1017,
          "percent_delta": -0.1017,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "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.0223,
          "after": 0.0,
          "delta": -0.0223,
          "percent_delta": -1.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_BB",
          "before": 0.3838,
          "after": 1.0,
          "delta": 0.6162,
          "percent_delta": 1.6055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9484,
          "after": 1.0,
          "delta": 0.0516,
          "percent_delta": 0.0544,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1503,
          "after": 0.0,
          "delta": -0.1503,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5812,
          "after": 1.0,
          "delta": 0.4188,
          "percent_delta": 0.7206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8983,
          "after": 1.0,
          "delta": 0.1017,
          "percent_delta": 0.1132,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.3838,
          "after": 1.0,
          "delta": 0.6162,
          "percent_delta": 1.6055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.176,
          "after": 0.0,
          "delta": -0.176,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.242,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.414,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2313,
          "after": 0.242,
          "delta": 0.0107,
          "percent_delta": 0.0463,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3011,
          "after": 0.316,
          "delta": 0.0149,
          "percent_delta": 0.0495,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3889,
          "after": 0.414,
          "delta": 0.0251,
          "percent_delta": 0.0645,
          "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": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3889,
          "after": 0.414,
          "delta": 0.0251,
          "percent_delta": 0.0645,
          "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": 10,
      "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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_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": 11,
      "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.2313,
        "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.3011,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3889,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "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.242,
          "after": 0.2313,
          "delta": -0.0107,
          "percent_delta": -0.0443,
          "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.316,
          "after": 0.3011,
          "delta": -0.0149,
          "percent_delta": -0.047,
          "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.414,
          "after": 0.3889,
          "delta": -0.0251,
          "percent_delta": -0.0606,
          "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.414,
          "after": 0.3889,
          "delta": -0.0251,
          "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.194,
        "after": 0.0,
        "delta": -0.194,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.023,
        "after": 1.0,
        "delta": 0.977,
        "percent_delta": 42.4783,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.39,
        "after": 4.0,
        "delta": -0.39,
        "percent_delta": -0.0888,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.238,
        "after": 0.2313,
        "delta": -0.0067,
        "percent_delta": -0.0282,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.45,
        "after": 0.0,
        "delta": -0.45,
        "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.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.3011,
        "delta": 0.0121,
        "percent_delta": 0.0419,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.566,
        "after": 0.0,
        "delta": -0.566,
        "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.404,
        "after": 0.3889,
        "delta": -0.0151,
        "percent_delta": -0.0374,
        "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": 12,
      "boosted_metrics": 3,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_3B",
        "before": 0.023,
        "after": 1.0,
        "delta": 0.977,
        "percent_delta": 42.4783,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.566,
        "after": 0.0,
        "delta": -0.566,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.194-
predicted_3B0.023-
predicted_AB4.390-
predicted_AVG0.238-
predicted_BB0.450-
predicted_H1.050-
predicted_HR0.150-
predicted_OBP0.289-
predicted_R0.566-
predicted_RBI0.530-
predicted_SLG0.404-
predicted_SO0.643-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.163-0.031
predicted_3B0.019-0.004
predicted_AB4.150-0.240
predicted_AVG0.233-0.005
predicted_BB0.413-0.037
predicted_H0.970-0.081
predicted_HBP0.002-
predicted_HR0.1530.003
predicted_OBP0.2890.000
predicted_R0.529-0.037
predicted_RBI0.517-0.013
predicted_SLG0.397-0.007
predicted_SO0.6990.056
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1630.000
predicted_3B0.0190.000
predicted_AB4.1500.000
predicted_AVG0.231-0.001
predicted_BB0.4150.001
predicted_H0.960-0.010
predicted_HBP0.0020.000
predicted_HR0.151-0.002
predicted_OBP0.3010.012
predicted_R0.522-0.007
predicted_RBI0.511-0.007
predicted_SLG0.389-0.008
predicted_SO0.697-0.002
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.39), rates preserved: AVG=0.211 HR/AB=0.034

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1760.176
3B0.0220.022
BB0.3840.384
H0.948-0.052
HR0.1500.150
RBI0.5810.581
SO0.898-0.102
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.176
3B0.000-0.022
AB4.0000.000
BB1.0000.616
H1.0000.052
HR0.000-0.150
R1.0000.000
RBI1.0000.419
SO1.0000.102
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.163
predicted_3B0.000-0.019
predicted_AB4.000-0.150
predicted_AVG0.2420.011
predicted_BB0.000-0.415
predicted_H1.0000.040
predicted_HR0.000-0.151
predicted_OBP0.3160.015
predicted_R1.0000.478
predicted_RBI0.000-0.511
predicted_SLG0.4140.025
predicted_SO1.0000.303
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 129
Reference playing time: 4.390
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0002.0000.0000.0001.0002.0001.0001.0006.0000.10530.15000.26320.10530.05260.10530.05260.3158
last_100.2010-41.0009.0000.0000.0002.0004.0005.0003.0007.0000.21950.27270.36590.21950.04880.09760.07320.1707
season0.60129-486.000129.00025.0003.00017.00073.00073.00058.00083.0000.26540.33940.43420.26540.03500.15020.11930.1708
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1220
predicted_3B0.0140
predicted_AB3.8380
predicted_AVG0.2254
predicted_BB0.3660
predicted_H0.8650
predicted_HBP0.0020
predicted_HR0.1570
predicted_OBP0.2891
predicted_R0.4810
predicted_RBI0.5010
predicted_SLG0.3874
predicted_SO0.7720
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.12200.1627model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.39003.83804.1499model_form_blend
predicted_AVG0.23800.22540.2325model_form_blend
predicted_BB0.45000.36600.4135model_form_blend
predicted_H1.05000.86500.9695model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.15000.15700.1530model_form_blend
predicted_OBP0.28900.28910.2890model_form_blend
predicted_R0.56600.48100.5290model_form_blend
predicted_RBI0.53000.50100.5174model_form_blend
predicted_SLG0.40400.38740.3968model_form_blend
predicted_SO0.64300.77200.6991model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date535
Season rows before report date535
Report year2026
Profile rows used129
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B1
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260925_BAL@NYY_2
game_typefull
mlbID641355
playerID641355
playerNameCody Bellinger
posLF
startedTrue
startingPositionLF
teamNYY
teamID19
game_date2026-09-25
sl_k_percent15.8
sl_bb_percent10.5
sl_woba0.336
sl_xwoba0.335
sl_xba0.271
sl_xslg0.411
sl_sweet_spot_percent38.2
sl_barrel_batted_rate6.6
sl_hard_hit_percent37.8
sl_exit_velocity_avg89.2
sl_launch_angle_avg17.6
sl_whiff_percent20.0
sl_swing_percent47.1
Ben Rice (700250) · BATTER · DH · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 632
All-history rows before 20260929: 632
System season_avg: 0.2660
Data season_avg (2026 season-to-date): 0.2697
Diff (system - data): -0.0037
System opponent_avg: 0.2860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1530.0000.000Hitting_2B0.1581.000-0.158-1.000
predicted_3B0.0270.0000.000Hitting_3B0.0240.000-0.0240.000
predicted_AB4.3203.0004.000Hitting_AB3.8313.000-0.8310.000
predicted_AVG0.2930.0000.250Hitting_AVG0.2700.667-0.270-0.667
predicted_BB0.5671.0001.000Hitting_BB0.6031.0000.3970.000
predicted_CS-0.0000.000BaseRunning_CS0.0021.000-0.002-1.000
predicted_H1.2700.0001.000Hitting_H1.0332.000-1.033-2.000
predicted_HR0.2600.0001.000Hitting_HR0.2640.000-0.2640.000
predicted_OBP0.3830.2500.400Hitting_OBP0.3740.750-0.124-0.500
predicted_R0.6930.0001.000Hitting_R0.7171.000-0.717-1.000
predicted_RBI0.6200.0001.000Hitting_RBI0.6720.000-0.6720.000
predicted_SLG0.5690.0001.000Hitting_SLG0.5301.000-0.530-1.000
predicted_SO1.0402.0001.000Hitting_SO1.0571.0000.9431.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_SO: 1.0400 -> 2.0000 (boost 0.9600, worse)
Biggest Deboostpredicted_AB: 4.3200 -> 3.0000 (deboost -1.3200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_SLG: 0.5690 -> 0.5762 (boost 0.0072, better)predicted_AB: 4.3200 -> 4.0424 (deboost -0.2776, 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.
3team_form_snapshot20202-predicted_SLG: 0.5762 -> 0.5419 (deboost -0.0343, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60615-predicted_BB: 0.6057 -> 0.0000 (deboost -0.6057, worse)AB rounded to 4 (raw=4.32), rates preserved: AVG=0.258 HR/AB=0.063
6consistency_constraints11010predicted_R: 0.6899 -> 1.0000 (boost 0.3101, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5865 (boost 0.5865, better)predicted_H: 1.0000 -> 0.8898 (deboost -0.1102, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64251predicted_HR: 0.2439 -> 1.0000 (boost 0.7561, better)predicted_SO: 1.2906 -> 1.0000 (deboost -0.2906, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context60606-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference52314predicted_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
11current_json_final33030predicted_OBP: 0.3260 -> 0.3787 (boost 0.0527, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "700250",
  "player_name": "Ben Rice",
  "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.153,
        "predicted_3B": 0.027,
        "predicted_AB": 4.32,
        "predicted_AVG": 0.293,
        "predicted_BB": 0.567,
        "predicted_H": 1.27,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.383,
        "predicted_R": 0.693,
        "predicted_RBI": 0.62,
        "predicted_SLG": 0.569,
        "predicted_SO": 1.04
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1617,
        "predicted_3B": 0.0309,
        "predicted_AB": 4.0424,
        "predicted_AVG": 0.2874,
        "predicted_BB": 0.6037,
        "predicted_H": 1.166,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2744,
        "predicted_OBP": 0.3849,
        "predicted_R": 0.6991,
        "predicted_RBI": 0.589,
        "predicted_SLG": 0.5762,
        "predicted_SO": 1.0881
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.153,
          "after": 0.1617,
          "delta": 0.0087,
          "percent_delta": 0.0569,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0309,
          "delta": 0.0039,
          "percent_delta": 0.1444,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.32,
          "after": 4.0424,
          "delta": -0.2776,
          "percent_delta": -0.0643,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.293,
          "after": 0.2874,
          "delta": -0.0056,
          "percent_delta": -0.0191,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.567,
          "after": 0.6037,
          "delta": 0.0367,
          "percent_delta": 0.0647,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.27,
          "after": 1.166,
          "delta": -0.104,
          "percent_delta": -0.0819,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.2744,
          "delta": 0.0144,
          "percent_delta": 0.0554,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.383,
          "after": 0.3849,
          "delta": 0.0019,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.693,
          "after": 0.6991,
          "delta": 0.0061,
          "percent_delta": 0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.62,
          "after": 0.589,
          "delta": -0.031,
          "percent_delta": -0.05,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.569,
          "after": 0.5762,
          "delta": 0.0072,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.04,
          "after": 1.0881,
          "delta": 0.0481,
          "percent_delta": 0.0463,
          "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.569,
          "after": 0.5762,
          "delta": 0.0072,
          "percent_delta": 0.0127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.32,
          "after": 4.0424,
          "delta": -0.2776,
          "percent_delta": -0.0643,
          "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": 150
      }
    },
    {
      "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.1617,
        "predicted_3B": 0.0309,
        "predicted_AB": 4.0424,
        "predicted_AVG": 0.2856,
        "predicted_BB": 0.6057,
        "predicted_H": 1.1543,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2709,
        "predicted_OBP": 0.3787,
        "predicted_R": 0.6899,
        "predicted_RBI": 0.5812,
        "predicted_SLG": 0.5419,
        "predicted_SO": 1.0845
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1617,
          "after": 0.1617,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0309,
          "after": 0.0309,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0424,
          "after": 4.0424,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2874,
          "after": 0.2856,
          "delta": -0.0018,
          "percent_delta": -0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6037,
          "after": 0.6057,
          "delta": 0.002,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.166,
          "after": 1.1543,
          "delta": -0.0117,
          "percent_delta": -0.01,
          "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.2744,
          "after": 0.2709,
          "delta": -0.0035,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3849,
          "after": 0.3787,
          "delta": -0.0062,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6991,
          "after": 0.6899,
          "delta": -0.0092,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.589,
          "after": 0.5812,
          "delta": -0.0078,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5762,
          "after": 0.5419,
          "delta": -0.0343,
          "percent_delta": -0.0595,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0881,
          "after": 1.0845,
          "delta": -0.0036,
          "percent_delta": -0.0033,
          "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.5762,
          "after": 0.5419,
          "delta": -0.0343,
          "percent_delta": -0.0595,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.32), rates preserved: AVG=0.258 HR/AB=0.063",
      "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.1617,
          "after": 0.0,
          "delta": -0.1617,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0309,
          "after": 0.0,
          "delta": -0.0309,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0424,
          "after": 4.0,
          "delta": -0.0424,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6057,
          "after": 0.0,
          "delta": -0.6057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1543,
          "after": 1.0,
          "delta": -0.1543,
          "percent_delta": -0.1337,
          "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.2709,
          "after": 0.0,
          "delta": -0.2709,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5812,
          "after": 0.0,
          "delta": -0.5812,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.6057,
          "after": 0.0,
          "delta": -0.6057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.6899,
          "after": 1.0,
          "delta": 0.3101,
          "percent_delta": 0.4495,
          "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.6899,
          "after": 1.0,
          "delta": 0.3101,
          "percent_delta": 0.4495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1519,
        "predicted_3B": 0.0229,
        "predicted_BB": 0.4406,
        "predicted_H": 0.8898,
        "predicted_HR": 0.2439,
        "predicted_RBI": 0.5865,
        "predicted_SO": 1.2906
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1519,
          "delta": 0.1519,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0229,
          "delta": 0.0229,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4406,
          "delta": 0.4406,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8898,
          "delta": -0.1102,
          "percent_delta": -0.1102,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2439,
          "delta": 0.2439,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5865,
          "delta": 0.5865,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2906,
          "delta": 0.2906,
          "percent_delta": 0.2906,
          "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_RBI",
          "before": 0.0,
          "after": 0.5865,
          "delta": 0.5865,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8898,
          "delta": -0.1102,
          "percent_delta": -0.1102,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1519,
          "after": 0.0,
          "delta": -0.1519,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0229,
          "after": 0.0,
          "delta": -0.0229,
          "percent_delta": -1.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_BB",
          "before": 0.4406,
          "after": 1.0,
          "delta": 0.5594,
          "percent_delta": 1.2696,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8898,
          "after": 1.0,
          "delta": 0.1102,
          "percent_delta": 0.1238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2439,
          "after": 1.0,
          "delta": 0.7561,
          "percent_delta": 3.1,
          "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.5865,
          "after": 1.0,
          "delta": 0.4135,
          "percent_delta": 0.705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2906,
          "after": 1.0,
          "delta": -0.2906,
          "percent_delta": -0.2252,
          "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_HR",
          "before": 0.2439,
          "after": 1.0,
          "delta": 0.7561,
          "percent_delta": 3.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2906,
          "after": 1.0,
          "delta": -0.2906,
          "percent_delta": -0.2252,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.24,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.326,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.49,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2856,
          "after": 0.24,
          "delta": -0.0456,
          "percent_delta": -0.1597,
          "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_H",
          "before": 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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3787,
          "after": 0.326,
          "delta": -0.0527,
          "percent_delta": -0.1392,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5419,
          "after": 0.49,
          "delta": -0.0519,
          "percent_delta": -0.0958,
          "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": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "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": 10,
      "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": 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": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "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": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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.2856,
        "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.3787,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5419,
        "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.24,
          "after": 0.2856,
          "delta": 0.0456,
          "percent_delta": 0.1898,
          "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.326,
          "after": 0.3787,
          "delta": 0.0527,
          "percent_delta": 0.1615,
          "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.49,
          "after": 0.5419,
          "delta": 0.0519,
          "percent_delta": 0.106,
          "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_OBP",
          "before": 0.326,
          "after": 0.3787,
          "delta": 0.0527,
          "percent_delta": 0.1615,
          "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.153,
        "after": 0.0,
        "delta": -0.153,
        "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": 4.32,
        "after": 3.0,
        "delta": -1.32,
        "percent_delta": -0.3056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.293,
        "after": 0.2856,
        "delta": -0.0074,
        "percent_delta": -0.0253,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.567,
        "after": 1.0,
        "delta": 0.433,
        "percent_delta": 0.7637,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.27,
        "after": 0.0,
        "delta": -1.27,
        "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.383,
        "after": 0.3787,
        "delta": -0.0043,
        "percent_delta": -0.0112,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.693,
        "after": 0.0,
        "delta": -0.693,
        "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.569,
        "after": 0.5419,
        "delta": -0.0271,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.04,
        "after": 2.0,
        "delta": 0.96,
        "percent_delta": 0.9231,
        "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.04,
        "after": 2.0,
        "delta": 0.96,
        "percent_delta": 0.9231,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.32,
        "after": 3.0,
        "delta": -1.32,
        "percent_delta": -0.3056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.153-
predicted_3B0.027-
predicted_AB4.320-
predicted_AVG0.293-
predicted_BB0.567-
predicted_H1.270-
predicted_HR0.260-
predicted_OBP0.383-
predicted_R0.693-
predicted_RBI0.620-
predicted_SLG0.569-
predicted_SO1.040-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1620.009
predicted_3B0.0310.004
predicted_AB4.042-0.278
predicted_AVG0.287-0.006
predicted_BB0.6040.037
predicted_H1.166-0.104
predicted_HBP0.024-
predicted_HR0.2740.014
predicted_OBP0.3850.002
predicted_R0.6990.006
predicted_RBI0.589-0.031
predicted_SLG0.5760.007
predicted_SO1.0880.048
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1620.000
predicted_3B0.0310.000
predicted_AB4.0420.000
predicted_AVG0.286-0.002
predicted_BB0.6060.002
predicted_H1.154-0.012
predicted_HBP0.0240.000
predicted_HR0.271-0.004
predicted_OBP0.379-0.006
predicted_R0.690-0.009
predicted_RBI0.581-0.008
predicted_SLG0.542-0.034
predicted_SO1.085-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.32), rates preserved: AVG=0.258 HR/AB=0.063

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1520.152
3B0.0230.023
BB0.4410.441
H0.890-0.110
HR0.2440.244
RBI0.5870.587
SO1.2910.291
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.152
3B0.000-0.023
AB4.0000.000
BB1.0000.559
H1.0000.110
HR1.0000.756
R1.0000.000
RBI1.0000.413
SO1.000-0.291
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.162
predicted_3B0.000-0.031
predicted_AB4.000-0.042
predicted_AVG0.240-0.046
predicted_BB0.000-0.606
predicted_H1.000-0.154
predicted_HR0.000-0.271
predicted_OBP0.326-0.053
predicted_R1.0000.310
predicted_RBI0.000-0.581
predicted_SLG0.490-0.052
predicted_SO1.000-0.085
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 150
Reference playing time: 4.320
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0006.0001.0000.0002.0002.0004.0003.0008.0000.31580.40910.68420.31580.10530.10530.15790.4210
last_100.2010-34.00010.0002.0001.0003.0005.0007.00010.00011.0000.29410.44440.67650.29410.08820.14710.29410.3235
season0.60150-560.000149.00023.0004.00040.00093.000104.00085.000156.0000.26610.36750.53570.26610.07140.16610.15180.2786
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1730
predicted_3B0.0360
predicted_AB3.6850
predicted_AVG0.2802
predicted_BB0.6510
predicted_H1.0320
predicted_HBP0.0240
predicted_HR0.2930
predicted_OBP0.3874
predicted_R0.7070
predicted_RBI0.5490
predicted_SLG0.5854
predicted_SO1.1500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15300.17300.1617model_form_blend
predicted_3B0.02700.03600.0309model_form_blend
predicted_AB4.32003.68504.0424model_form_blend
predicted_AVG0.29300.28020.2874model_form_blend
predicted_BB0.56700.65100.6037model_form_blend
predicted_H1.27001.03201.1660model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.26000.29300.2744model_form_blend
predicted_OBP0.38300.38740.3849model_form_blend
predicted_R0.69300.70700.6991model_form_blend
predicted_RBI0.62000.54900.5890model_form_blend
predicted_SLG0.56900.58540.5762model_form_blend
predicted_SO1.04001.15001.0881model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date632
Season rows before report date632
Report year2026
Profile rows used150
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS1
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB3
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260925_BAL@NYY_2
game_typefull
mlbID700250
playerID700250
playerNameBen Rice
posDH
startedTrue
startingPositionDH
teamNYY
teamID19
game_date2026-09-25
sl_k_percent24.3
sl_bb_percent12.7
sl_woba0.384
sl_xwoba0.378
sl_xba0.267
sl_xslg0.511
sl_sweet_spot_percent38.4
sl_barrel_batted_rate14.3
sl_hard_hit_percent48.6
sl_exit_velocity_avg91.9
sl_launch_angle_avg14.5
sl_whiff_percent25.4
sl_swing_percent43.2
Spencer Jones (682987) · BATTER · CF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 267
All-history rows before 20260929: 267
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2580
Diff (system - data): -0.0140
System opponent_avg: 0.4000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1590.0000.000Hitting_2B0.1840.000-0.1840.000
predicted_3B0.0120.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB3.7802.0004.000Hitting_AB3.2814.000-1.281-2.000
predicted_AVG0.2260.0000.250Hitting_AVG0.2580.250-0.258-0.250
predicted_BB0.2931.0000.000Hitting_BB0.3520.0000.6481.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.8600.0001.000Hitting_H0.8461.000-0.846-1.000
predicted_HR0.1400.0000.000Hitting_HR0.1390.000-0.1390.000
predicted_OBP0.2710.3330.250Hitting_OBP0.3310.2500.0020.083
predicted_R0.4390.0000.000Hitting_R0.4681.000-0.468-1.000
predicted_RBI0.4600.0001.000Hitting_RBI0.5511.000-0.551-1.000
predicted_SLG0.3740.0000.250Hitting_SLG0.4500.250-0.450-0.250
predicted_SO1.2680.0002.000Hitting_SO1.3302.000-1.330-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_BB: 0.2930 -> 1.0000 (boost 0.7070, better)
Biggest Deboostpredicted_AB: 3.7800 -> 2.0000 (deboost -1.7800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_AB: 3.7800 -> 3.6694 (deboost -0.1106, 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.
3team_form_snapshot11010predicted_OBP: 0.2714 -> 0.2766 (boost 0.0052, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72534predicted_AB: 3.6694 -> 4.0000 (boost 0.3306, better)predicted_RBI: 0.4552 -> 0.0000 (deboost -0.4552, worse)AB rounded to 4 (raw=3.78), rates preserved: AVG=0.208 HR/AB=0.035
6consistency_constraints10101-predicted_R: 0.4532 -> 0.0000 (deboost -0.4532, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_SO: 1.0000 -> 1.7752 (boost 0.7752, worse)predicted_H: 1.0000 -> 0.8310 (deboost -0.1690, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_RBI: 0.5325 -> 1.0000 (boost 0.4675, better)predicted_BB: 0.2898 -> 0.0000 (deboost -0.2898, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context53241predicted_SLG: 0.3788 -> 0.4200 (boost 0.0412, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference41322predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.4200 -> 0.3788 (deboost -0.0412, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682987",
  "player_name": "Spencer Jones",
  "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.159,
        "predicted_3B": 0.012,
        "predicted_AB": 3.78,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.293,
        "predicted_H": 0.86,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.271,
        "predicted_R": 0.439,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.374,
        "predicted_SO": 1.268
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1598,
        "predicted_3B": 0.0107,
        "predicted_AB": 3.6694,
        "predicted_AVG": 0.2236,
        "predicted_BB": 0.2749,
        "predicted_H": 0.8237,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1328,
        "predicted_OBP": 0.2714,
        "predicted_R": 0.4593,
        "predicted_RBI": 0.4613,
        "predicted_SLG": 0.3748,
        "predicted_SO": 1.3035
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.159,
          "after": 0.1598,
          "delta": 0.0008,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.0107,
          "delta": -0.0013,
          "percent_delta": -0.1083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.78,
          "after": 3.6694,
          "delta": -0.1106,
          "percent_delta": -0.0293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2236,
          "delta": -0.0024,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.293,
          "after": 0.2749,
          "delta": -0.0181,
          "percent_delta": -0.0618,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.86,
          "after": 0.8237,
          "delta": -0.0363,
          "percent_delta": -0.0422,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1328,
          "delta": -0.0072,
          "percent_delta": -0.0514,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.271,
          "after": 0.2714,
          "delta": 0.0004,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.439,
          "after": 0.4593,
          "delta": 0.0203,
          "percent_delta": 0.0462,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 0.4613,
          "delta": 0.0013,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.374,
          "after": 0.3748,
          "delta": 0.0008,
          "percent_delta": 0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.268,
          "after": 1.3035,
          "delta": 0.0355,
          "percent_delta": 0.028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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": 3.78,
          "after": 3.6694,
          "delta": -0.1106,
          "percent_delta": -0.0293,
          "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": 82
      }
    },
    {
      "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.1598,
        "predicted_3B": 0.0107,
        "predicted_AB": 3.6694,
        "predicted_AVG": 0.2222,
        "predicted_BB": 0.2758,
        "predicted_H": 0.8155,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1311,
        "predicted_OBP": 0.2766,
        "predicted_R": 0.4532,
        "predicted_RBI": 0.4552,
        "predicted_SLG": 0.3788,
        "predicted_SO": 1.2992
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1598,
          "after": 0.1598,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0107,
          "after": 0.0107,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6694,
          "after": 3.6694,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2236,
          "after": 0.2222,
          "delta": -0.0014,
          "percent_delta": -0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2749,
          "after": 0.2758,
          "delta": 0.0009,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8237,
          "after": 0.8155,
          "delta": -0.0082,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.01,
          "after": 0.01,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1328,
          "after": 0.1311,
          "delta": -0.0017,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2714,
          "after": 0.2766,
          "delta": 0.0052,
          "percent_delta": 0.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4593,
          "after": 0.4532,
          "delta": -0.0061,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4613,
          "after": 0.4552,
          "delta": -0.0061,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3748,
          "after": 0.3788,
          "delta": 0.004,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.3035,
          "after": 1.2992,
          "delta": -0.0043,
          "percent_delta": -0.0033,
          "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.2714,
          "after": 0.2766,
          "delta": 0.0052,
          "percent_delta": 0.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.78), rates preserved: AVG=0.208 HR/AB=0.035",
      "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.1598,
          "after": 0.0,
          "delta": -0.1598,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0107,
          "after": 0.0,
          "delta": -0.0107,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6694,
          "after": 4.0,
          "delta": 0.3306,
          "percent_delta": 0.0901,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2758,
          "after": 0.0,
          "delta": -0.2758,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8155,
          "after": 1.0,
          "delta": 0.1845,
          "percent_delta": 0.2262,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.01,
          "after": 0.0,
          "delta": -0.01,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1311,
          "after": 0.0,
          "delta": -0.1311,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4552,
          "after": 0.0,
          "delta": -0.4552,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2992,
          "after": 1.0,
          "delta": -0.2992,
          "percent_delta": -0.2303,
          "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.6694,
          "after": 4.0,
          "delta": 0.3306,
          "percent_delta": 0.0901,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4552,
          "after": 0.0,
          "delta": -0.4552,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.4532,
          "after": 0.0,
          "delta": -0.4532,
          "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.4532,
          "after": 0.0,
          "delta": -0.4532,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1571,
        "predicted_3B": 0.0169,
        "predicted_BB": 0.2898,
        "predicted_H": 0.831,
        "predicted_HR": 0.1537,
        "predicted_RBI": 0.5325,
        "predicted_SO": 1.7752
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1571,
          "delta": 0.1571,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0169,
          "delta": 0.0169,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2898,
          "delta": 0.2898,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.831,
          "delta": -0.169,
          "percent_delta": -0.169,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1537,
          "delta": 0.1537,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5325,
          "delta": 0.5325,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.7752,
          "delta": 0.7752,
          "percent_delta": 0.7752,
          "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_SO",
          "before": 1.0,
          "after": 1.7752,
          "delta": 0.7752,
          "percent_delta": 0.7752,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.831,
          "delta": -0.169,
          "percent_delta": -0.169,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.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.0169,
          "after": 0.0,
          "delta": -0.0169,
          "percent_delta": -1.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_BB",
          "before": 0.2898,
          "after": 0.0,
          "delta": -0.2898,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.831,
          "after": 1.0,
          "delta": 0.169,
          "percent_delta": 0.2034,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1537,
          "after": 0.0,
          "delta": -0.1537,
          "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.5325,
          "after": 1.0,
          "delta": 0.4675,
          "percent_delta": 0.8779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7752,
          "after": 2.0,
          "delta": 0.2248,
          "percent_delta": 0.1266,
          "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.5325,
          "after": 1.0,
          "delta": 0.4675,
          "percent_delta": 0.8779,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2898,
          "after": 0.0,
          "delta": -0.2898,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.42,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.235,
          "delta": 0.0128,
          "percent_delta": 0.0576,
          "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.2766,
          "after": 0.299,
          "delta": 0.0224,
          "percent_delta": 0.081,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3788,
          "after": 0.42,
          "delta": 0.0412,
          "percent_delta": 0.1088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3788,
          "after": 0.42,
          "delta": 0.0412,
          "percent_delta": 0.1088,
          "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": 10,
      "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": 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": 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": 2.0,
          "delta": -2.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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.2222,
        "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.2766,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3788,
        "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.235,
          "after": 0.2222,
          "delta": -0.0128,
          "percent_delta": -0.0543,
          "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.299,
          "after": 0.2766,
          "delta": -0.0224,
          "percent_delta": -0.0749,
          "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.42,
          "after": 0.3788,
          "delta": -0.0412,
          "percent_delta": -0.098,
          "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.42,
          "after": 0.3788,
          "delta": -0.0412,
          "percent_delta": -0.098,
          "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.012,
        "after": 0.0,
        "delta": -0.012,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.78,
        "after": 2.0,
        "delta": -1.78,
        "percent_delta": -0.4709,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.2222,
        "delta": -0.0038,
        "percent_delta": -0.0168,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.293,
        "after": 1.0,
        "delta": 0.707,
        "percent_delta": 2.413,
        "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.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.271,
        "after": 0.2766,
        "delta": 0.0056,
        "percent_delta": 0.0207,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 0.0,
        "delta": -0.46,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.374,
        "after": 0.3788,
        "delta": 0.0048,
        "percent_delta": 0.0128,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.268,
        "after": 0.0,
        "delta": -1.268,
        "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.293,
        "after": 1.0,
        "delta": 0.707,
        "percent_delta": 2.413,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.78,
        "after": 2.0,
        "delta": -1.78,
        "percent_delta": -0.4709,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.159-
predicted_3B0.012-
predicted_AB3.780-
predicted_AVG0.226-
predicted_BB0.293-
predicted_H0.860-
predicted_HR0.140-
predicted_OBP0.271-
predicted_R0.439-
predicted_RBI0.460-
predicted_SLG0.374-
predicted_SO1.268-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1600.001
predicted_3B0.011-0.001
predicted_AB3.669-0.111
predicted_AVG0.224-0.002
predicted_BB0.275-0.018
predicted_H0.824-0.036
predicted_HBP0.010-
predicted_HR0.133-0.007
predicted_OBP0.2710.000
predicted_R0.4590.020
predicted_RBI0.4610.001
predicted_SLG0.3750.001
predicted_SO1.3040.036
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1600.000
predicted_3B0.0110.000
predicted_AB3.6690.000
predicted_AVG0.222-0.001
predicted_BB0.2760.001
predicted_H0.816-0.008
predicted_HBP0.0100.000
predicted_HR0.131-0.002
predicted_OBP0.2770.005
predicted_R0.453-0.006
predicted_RBI0.455-0.006
predicted_SLG0.3790.004
predicted_SO1.299-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.78), rates preserved: AVG=0.208 HR/AB=0.035

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1570.157
3B0.0170.017
BB0.2900.290
H0.831-0.169
HR0.1540.154
RBI0.5320.532
SO1.7750.775
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.157
3B0.000-0.017
AB4.0000.000
BB0.000-0.290
H1.0000.169
HR0.000-0.154
R0.0000.000
RBI1.0000.468
SO2.0000.225
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.160
predicted_3B0.000-0.011
predicted_AB4.0000.331
predicted_AVG0.2350.013
predicted_BB0.000-0.276
predicted_H1.0000.184
predicted_HR0.000-0.131
predicted_OBP0.2990.022
predicted_R0.000-0.453
predicted_RBI0.000-0.455
predicted_SLG0.4200.041
predicted_SO1.000-0.299
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB2.000-2.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 82
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0001.0000.0000.0001.0003.0001.0007.0000.21050.25000.26320.21050.00000.05260.05260.3684
last_100.2010-42.0006.0001.0000.0002.0006.0005.0001.00018.0000.14290.16280.30950.14290.04760.14290.02380.4286
season0.6082-258.00063.00013.0001.00011.00040.00036.00024.000104.0000.24420.30990.43020.24420.04260.15500.09300.4031
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1610
predicted_3B0.0090
predicted_AB3.5180
predicted_AVG0.2202
predicted_BB0.2500
predicted_H0.7740
predicted_HBP0.0100
predicted_HR0.1230
predicted_OBP0.2720
predicted_R0.4870
predicted_RBI0.4630
predicted_SLG0.3760
predicted_SO1.3520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15900.16100.1598model_form_blend
predicted_3B0.01200.00900.0107model_form_blend
predicted_AB3.78003.51803.6694model_form_blend
predicted_AVG0.22600.22020.2236model_form_blend
predicted_BB0.29300.25000.2749model_form_blend
predicted_H0.86000.77400.8237model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.14000.12300.1328model_form_blend
predicted_OBP0.27100.27200.2714model_form_blend
predicted_R0.43900.48700.4593model_form_blend
predicted_RBI0.46000.46300.4613model_form_blend
predicted_SLG0.37400.37600.3748model_form_blend
predicted_SO1.26801.35201.3035model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date267
Season rows before report date267
Report year2026
Profile rows used82
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA3
AB2
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB1
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260925_BAL@NYY_2
game_typefull
mlbID682987
playerID682987
playerNameSpencer Jones
posCF
startedTrue
startingPositionCF
teamNYY
teamID19
game_date2026-09-25
sl_k_percent36.3
sl_bb_percent8.7
sl_woba0.323
sl_xwoba0.328
sl_xba0.238
sl_xslg0.455
sl_sweet_spot_percent43.9
sl_barrel_batted_rate15.9
sl_hard_hit_percent55.1
sl_exit_velocity_avg94.1
sl_launch_angle_avg20.6
sl_whiff_percent38.7
sl_swing_percent53.2
Amed Rosario (642708) · BATTER · 3B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 236
All-history rows before 20260929: 236
System season_avg: 0.2420
Data season_avg (2026 season-to-date): 0.2627
Diff (system - data): -0.0207
System opponent_avg: 0.1970
System season_avg diverges from 2026 season-to-date by -0.0207. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0740.0000.000Hitting_2B0.0810.000-0.0810.000
predicted_3B0.0121.0000.000Hitting_3B0.0170.0000.9831.000
predicted_AB2.8404.0003.000Hitting_AB3.2424.0000.7580.000
predicted_AVG0.2600.2500.000Hitting_AVG0.2630.500-0.013-0.250
predicted_BB0.1360.0000.000Hitting_BB0.1950.000-0.1950.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H0.7401.0000.000Hitting_H0.8522.0000.148-1.000
predicted_HR0.0800.0000.000Hitting_HR0.1740.000-0.1740.000
predicted_OBP0.2870.2500.000Hitting_OBP0.3030.500-0.053-0.250
predicted_R0.3461.0000.000Hitting_R0.4700.0000.5301.000
predicted_RBI0.3801.0000.000Hitting_RBI0.5131.0000.4870.000
predicted_SLG0.3830.7500.000Hitting_SLG0.4590.5000.2910.250
predicted_SO0.7042.0001.000Hitting_SO0.7841.0001.2161.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_SO: 0.7040 -> 2.0000 (boost 1.2960, worse)
Biggest Deboostpredicted_BB: 0.1360 -> 0.0000 (deboost -0.1360, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AB: 2.8400 -> 2.9488 (boost 0.1088, better)predicted_SLG: 0.3830 -> 0.3754 (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.
3team_form_snapshot10101-predicted_SLG: 0.3754 -> 0.3694 (deboost -0.0060, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_SO: 0.6572 -> 1.0000 (boost 0.3428, worse)predicted_RBI: 0.3972 -> 0.0000 (deboost -0.3972, worse)AB rounded to 3 (raw=2.95), rates preserved: AVG=0.245 HR/AB=0.028
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
7consistency_constraints10101-predicted_R: 0.3566 -> 0.0000 (deboost -0.3566, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4491 (boost 0.4491, better)predicted_H: 1.0000 -> 0.7697 (deboost -0.2303, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation60615-predicted_H: 0.7697 -> 0.0000 (deboost -0.7697, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context32121predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AVG: 0.2537 -> 0.2320 (deboost -0.0217, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference55041predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final21111predicted_AVG: 0.2320 -> 0.2537 (boost 0.0217, better)predicted_SLG: 0.4180 -> 0.3694 (deboost -0.0486, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "642708",
  "player_name": "Amed Rosario",
  "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.074,
        "predicted_3B": 0.012,
        "predicted_AB": 2.84,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.136,
        "predicted_H": 0.74,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.287,
        "predicted_R": 0.346,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.383,
        "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.0753,
        "predicted_3B": 0.0107,
        "predicted_AB": 2.9488,
        "predicted_AVG": 0.2562,
        "predicted_BB": 0.1302,
        "predicted_H": 0.7558,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0825,
        "predicted_OBP": 0.2835,
        "predicted_R": 0.3614,
        "predicted_RBI": 0.4025,
        "predicted_SLG": 0.3754,
        "predicted_SO": 0.6594
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.074,
          "after": 0.0753,
          "delta": 0.0013,
          "percent_delta": 0.0176,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.0107,
          "delta": -0.0013,
          "percent_delta": -0.1083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.84,
          "after": 2.9488,
          "delta": 0.1088,
          "percent_delta": 0.0383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.2562,
          "delta": -0.0038,
          "percent_delta": -0.0146,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.136,
          "after": 0.1302,
          "delta": -0.0058,
          "percent_delta": -0.0426,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.74,
          "after": 0.7558,
          "delta": 0.0158,
          "percent_delta": 0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.287,
          "after": 0.2835,
          "delta": -0.0035,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.346,
          "after": 0.3614,
          "delta": 0.0154,
          "percent_delta": 0.0445,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.4025,
          "delta": 0.0225,
          "percent_delta": 0.0592,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.383,
          "after": 0.3754,
          "delta": -0.0076,
          "percent_delta": -0.0198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.704,
          "after": 0.6594,
          "delta": -0.0446,
          "percent_delta": -0.0634,
          "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": 2.84,
          "after": 2.9488,
          "delta": 0.1088,
          "percent_delta": 0.0383,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.383,
          "after": 0.3754,
          "delta": -0.0076,
          "percent_delta": -0.0198,
          "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.0753,
        "predicted_3B": 0.0107,
        "predicted_AB": 2.9488,
        "predicted_AVG": 0.2537,
        "predicted_BB": 0.1306,
        "predicted_H": 0.7482,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0815,
        "predicted_OBP": 0.2854,
        "predicted_R": 0.3566,
        "predicted_RBI": 0.3972,
        "predicted_SLG": 0.3694,
        "predicted_SO": 0.6572
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0753,
          "after": 0.0753,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0107,
          "after": 0.0107,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9488,
          "after": 2.9488,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2562,
          "after": 0.2537,
          "delta": -0.0025,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1302,
          "after": 0.1306,
          "delta": 0.0004,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7558,
          "after": 0.7482,
          "delta": -0.0076,
          "percent_delta": -0.0101,
          "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.0825,
          "after": 0.0815,
          "delta": -0.001,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2835,
          "after": 0.2854,
          "delta": 0.0019,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3614,
          "after": 0.3566,
          "delta": -0.0048,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4025,
          "after": 0.3972,
          "delta": -0.0053,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3754,
          "after": 0.3694,
          "delta": -0.006,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6594,
          "after": 0.6572,
          "delta": -0.0022,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3754,
          "after": 0.3694,
          "delta": -0.006,
          "percent_delta": -0.016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.95), rates preserved: AVG=0.245 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.0753,
          "after": 0.0,
          "delta": -0.0753,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0107,
          "after": 0.0,
          "delta": -0.0107,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9488,
          "after": 3.0,
          "delta": 0.0512,
          "percent_delta": 0.0174,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1306,
          "after": 0.0,
          "delta": -0.1306,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7482,
          "after": 1.0,
          "delta": 0.2518,
          "percent_delta": 0.3365,
          "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.0815,
          "after": 0.0,
          "delta": -0.0815,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3972,
          "after": 0.0,
          "delta": -0.3972,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6572,
          "after": 1.0,
          "delta": 0.3428,
          "percent_delta": 0.5216,
          "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.6572,
          "after": 1.0,
          "delta": 0.3428,
          "percent_delta": 0.5216,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3972,
          "after": 0.0,
          "delta": -0.3972,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 7,
      "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.3566,
          "after": 0.0,
          "delta": -0.3566,
          "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.3566,
          "after": 0.0,
          "delta": -0.3566,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1407,
        "predicted_3B": 0.0138,
        "predicted_BB": 0.2214,
        "predicted_H": 0.7697,
        "predicted_HR": 0.15,
        "predicted_RBI": 0.4491,
        "predicted_SO": 1.0882
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1407,
          "delta": 0.1407,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0138,
          "delta": 0.0138,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2214,
          "delta": 0.2214,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7697,
          "delta": -0.2303,
          "percent_delta": -0.2303,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.15,
          "delta": 0.15,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4491,
          "delta": 0.4491,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0882,
          "delta": 0.0882,
          "percent_delta": 0.0882,
          "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_RBI",
          "before": 0.0,
          "after": 0.4491,
          "delta": 0.4491,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7697,
          "delta": -0.2303,
          "percent_delta": -0.2303,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1407,
          "after": 0.0,
          "delta": -0.1407,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0138,
          "after": 0.0,
          "delta": -0.0138,
          "percent_delta": -1.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_BB",
          "before": 0.2214,
          "after": 0.0,
          "delta": -0.2214,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7697,
          "after": 0.0,
          "delta": -0.7697,
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4491,
          "after": 0.0,
          "delta": -0.4491,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0882,
          "after": 1.0,
          "delta": -0.0882,
          "percent_delta": -0.0811,
          "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_H",
          "before": 0.7697,
          "after": 0.0,
          "delta": -0.7697,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.232,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.285,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.418,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2537,
          "after": 0.232,
          "delta": -0.0217,
          "percent_delta": -0.0855,
          "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": 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_OBP",
          "before": 0.2854,
          "after": 0.285,
          "delta": -0.0004,
          "percent_delta": -0.0014,
          "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.3694,
          "after": 0.418,
          "delta": 0.0486,
          "percent_delta": 0.1316,
          "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2537,
          "after": 0.232,
          "delta": -0.0217,
          "percent_delta": -0.0855,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "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": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "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.2537,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2854,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3694,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 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.232,
          "after": 0.2537,
          "delta": 0.0217,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.2854,
          "delta": 0.0004,
          "percent_delta": 0.0014,
          "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_SLG",
          "before": 0.418,
          "after": 0.3694,
          "delta": -0.0486,
          "percent_delta": -0.1162,
          "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.232,
          "after": 0.2537,
          "delta": 0.0217,
          "percent_delta": 0.0937,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.3694,
          "delta": -0.0486,
          "percent_delta": -0.1162,
          "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.074,
        "after": 0.0,
        "delta": -0.074,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.012,
        "after": 1.0,
        "delta": 0.988,
        "percent_delta": 82.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.84,
        "after": 4.0,
        "delta": 1.16,
        "percent_delta": 0.4085,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.26,
        "after": 0.2537,
        "delta": -0.0063,
        "percent_delta": -0.0242,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.136,
        "after": 0.0,
        "delta": -0.136,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 1.0,
        "delta": 0.26,
        "percent_delta": 0.3514,
        "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.287,
        "after": 0.2854,
        "delta": -0.0016,
        "percent_delta": -0.0056,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.346,
        "after": 1.0,
        "delta": 0.654,
        "percent_delta": 1.8902,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 1.0,
        "delta": 0.62,
        "percent_delta": 1.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.383,
        "after": 0.3694,
        "delta": -0.0136,
        "percent_delta": -0.0355,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.704,
        "after": 2.0,
        "delta": 1.296,
        "percent_delta": 1.8409,
        "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_SO",
        "before": 0.704,
        "after": 2.0,
        "delta": 1.296,
        "percent_delta": 1.8409,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.136,
        "after": 0.0,
        "delta": -0.136,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.074-
predicted_3B0.012-
predicted_AB2.840-
predicted_AVG0.260-
predicted_BB0.136-
predicted_H0.740-
predicted_HR0.080-
predicted_OBP0.287-
predicted_R0.346-
predicted_RBI0.380-
predicted_SLG0.383-
predicted_SO0.704-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0750.001
predicted_3B0.011-0.001
predicted_AB2.9490.109
predicted_AVG0.256-0.004
predicted_BB0.130-0.006
predicted_H0.7560.016
predicted_HBP0.003-
predicted_HR0.0830.003
predicted_OBP0.283-0.004
predicted_R0.3610.015
predicted_RBI0.4030.023
predicted_SLG0.375-0.008
predicted_SO0.659-0.045
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0750.000
predicted_3B0.0110.000
predicted_AB2.9490.000
predicted_AVG0.254-0.003
predicted_BB0.1310.000
predicted_H0.748-0.008
predicted_HBP0.0030.000
predicted_HR0.082-0.001
predicted_OBP0.2850.002
predicted_R0.357-0.005
predicted_RBI0.397-0.005
predicted_SLG0.369-0.006
predicted_SO0.657-0.002
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.95), rates preserved: AVG=0.245 HR/AB=0.028

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1410.141
3B0.0140.014
BB0.2210.221
H0.770-0.230
HR0.1500.150
RBI0.4490.449
SO1.0880.088
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.141
3B0.000-0.014
AB3.0000.000
BB0.000-0.221
H0.000-0.770
HR0.000-0.150
R0.0000.000
RBI0.000-0.449
SO1.000-0.088
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.075
predicted_3B0.000-0.011
predicted_AB3.0000.051
predicted_AVG0.232-0.022
predicted_BB0.000-0.131
predicted_H1.0000.252
predicted_HR0.000-0.082
predicted_OBP0.285-0.000
predicted_R0.000-0.357
predicted_RBI0.000-0.397
predicted_SLG0.4180.049
predicted_SO1.0000.343
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 81
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0004.0000.0000.0000.0002.0002.0000.0001.0000.23530.23530.23530.23530.00000.11770.00000.0588
last_100.2010-34.00010.0001.0000.0000.0005.0004.0001.0004.0000.29410.31430.32350.29410.00000.14710.02940.1177
season0.6081-223.00054.0006.0001.00010.00033.00028.00011.00057.0000.24220.27540.41260.24220.04480.14800.04930.2556
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0770
predicted_3B0.0090
predicted_AB3.1010
predicted_AVG0.2509
predicted_BB0.1220
predicted_H0.7780
predicted_HBP0.0030
predicted_HR0.0860
predicted_OBP0.2786
predicted_R0.3830
predicted_RBI0.4340
predicted_SLG0.3647
predicted_SO0.5970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07400.07700.0753model_form_blend
predicted_3B0.01200.00900.0107model_form_blend
predicted_AB2.84003.10102.9488model_form_blend
predicted_AVG0.26000.25090.2562model_form_blend
predicted_BB0.13600.12200.1302model_form_blend
predicted_H0.74000.77800.7558model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.08000.08600.0825model_form_blend
predicted_OBP0.28700.27860.2835model_form_blend
predicted_R0.34600.38300.3614model_form_blend
predicted_RBI0.38000.43400.4025model_form_blend
predicted_SLG0.38300.36470.3754model_form_blend
predicted_SO0.70400.59700.6594model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date236
Season rows before report date236
Report year2026
Profile rows used81
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B1
HR0
R1
RBI1
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260925_BAL@NYY
game_typefull
mlbID642708
playerID642708
playerNameAmed Rosario
pos3B
startedTrue
startingPositionRF
teamNYY
teamID19
game_date2026-09-25
sl_k_percent23.4
sl_bb_percent5.7
sl_woba0.297
sl_xwoba0.309
sl_xba0.25
sl_xslg0.424
sl_sweet_spot_percent34.7
sl_barrel_batted_rate10.4
sl_hard_hit_percent39.3
sl_exit_velocity_avg90.2
sl_launch_angle_avg11.5
sl_whiff_percent26.7
sl_swing_percent55.3
Austin Wells (669224) · BATTER · C · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 374
All-history rows before 20260929: 374
System season_avg: 0.1860
Data season_avg (2026 season-to-date): 0.1909
Diff (system - data): -0.0049
System opponent_avg: 0.1470

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0590.0000.000Hitting_2B0.0640.000-0.0640.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.7982.0003.000Hitting_AB3.0112.000-1.0110.000
predicted_AVG0.2000.0000.000Hitting_AVG0.1910.000-0.1910.000
predicted_BB0.3951.0000.000Hitting_BB0.4412.0000.559-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4600.0000.000Hitting_H0.5750.000-0.5750.000
predicted_HR0.1300.0000.000Hitting_HR0.1280.000-0.1280.000
predicted_OBP0.3460.3330.000Hitting_OBP0.2980.5000.035-0.167
predicted_R0.3280.0000.000Hitting_R0.3691.000-0.369-1.000
predicted_RBI0.3100.0000.000Hitting_RBI0.3020.000-0.3020.000
predicted_SLG0.4160.0000.000Hitting_SLG0.3400.000-0.3400.000
predicted_SO0.8571.0001.000Hitting_SO0.9141.0000.0860.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_BB: 0.3950 -> 1.0000 (boost 0.6050, better)
Biggest Deboostpredicted_AB: 2.7980 -> 2.0000 (deboost -0.7980, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend66060predicted_BB: 0.3950 -> 0.4936 (boost 0.0986, 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.
3team_form_snapshot30303-predicted_SLG: 0.4543 -> 0.3976 (deboost -0.0567, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.5335 -> 1.0000 (boost 0.4665, better)predicted_BB: 0.4952 -> 0.0000 (deboost -0.4952, worse)AB rounded to 3 (raw=2.80), rates preserved: AVG=0.184 HR/AB=0.062
6consistency_constraints10101-predicted_R: 0.3943 -> 0.0000 (deboost -0.3943, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3181 (boost 0.3181, better)predicted_H: 1.0000 -> 0.6050 (deboost -0.3950, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation60615-predicted_H: 0.6050 -> 0.0000 (deboost -0.6050, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context42222predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.3139 -> 0.2930 (deboost -0.0209, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference31212predicted_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
11current_json_final32121predicted_OBP: 0.2930 -> 0.3139 (boost 0.0209, better)predicted_AVG: 0.2090 -> 0.1918 (deboost -0.0172, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.059,
        "predicted_3B": 0.0,
        "predicted_AB": 2.798,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.395,
        "predicted_H": 0.46,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.346,
        "predicted_R": 0.328,
        "predicted_RBI": 0.31,
        "predicted_SLG": 0.416,
        "predicted_SO": 0.857
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.0517,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7817,
        "predicted_AVG": 0.2143,
        "predicted_BB": 0.4936,
        "predicted_H": 0.5389,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1755,
        "predicted_OBP": 0.3545,
        "predicted_R": 0.3996,
        "predicted_RBI": 0.3216,
        "predicted_SLG": 0.4543,
        "predicted_SO": 0.833
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.059,
          "after": 0.0517,
          "delta": -0.0073,
          "percent_delta": -0.1237,
          "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.798,
          "after": 2.7817,
          "delta": -0.0163,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.2143,
          "delta": 0.0143,
          "percent_delta": 0.0715,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.395,
          "after": 0.4936,
          "delta": 0.0986,
          "percent_delta": 0.2496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.46,
          "after": 0.5389,
          "delta": 0.0789,
          "percent_delta": 0.1715,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1755,
          "delta": 0.0455,
          "percent_delta": 0.35,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.346,
          "after": 0.3545,
          "delta": 0.0085,
          "percent_delta": 0.0246,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.328,
          "after": 0.3996,
          "delta": 0.0716,
          "percent_delta": 0.2183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.31,
          "after": 0.3216,
          "delta": 0.0116,
          "percent_delta": 0.0374,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.4543,
          "delta": 0.0383,
          "percent_delta": 0.0921,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.857,
          "after": 0.833,
          "delta": -0.024,
          "percent_delta": -0.028,
          "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_BB",
          "before": 0.395,
          "after": 0.4936,
          "delta": 0.0986,
          "percent_delta": 0.2496,
          "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": 119
      }
    },
    {
      "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.0517,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7817,
        "predicted_AVG": 0.1918,
        "predicted_BB": 0.4952,
        "predicted_H": 0.5335,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1733,
        "predicted_OBP": 0.3139,
        "predicted_R": 0.3943,
        "predicted_RBI": 0.3174,
        "predicted_SLG": 0.3976,
        "predicted_SO": 0.8303
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0517,
          "after": 0.0517,
          "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.7817,
          "after": 2.7817,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2143,
          "after": 0.1918,
          "delta": -0.0225,
          "percent_delta": -0.105,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4936,
          "after": 0.4952,
          "delta": 0.0016,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5389,
          "after": 0.5335,
          "delta": -0.0054,
          "percent_delta": -0.01,
          "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.1755,
          "after": 0.1733,
          "delta": -0.0022,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3545,
          "after": 0.3139,
          "delta": -0.0406,
          "percent_delta": -0.1145,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3996,
          "after": 0.3943,
          "delta": -0.0053,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3216,
          "after": 0.3174,
          "delta": -0.0042,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4543,
          "after": 0.3976,
          "delta": -0.0567,
          "percent_delta": -0.1248,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.833,
          "after": 0.8303,
          "delta": -0.0027,
          "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_SLG",
          "before": 0.4543,
          "after": 0.3976,
          "delta": -0.0567,
          "percent_delta": -0.1248,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.80), rates preserved: AVG=0.184 HR/AB=0.062",
      "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.0517,
          "after": 0.0,
          "delta": -0.0517,
          "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.7817,
          "after": 3.0,
          "delta": 0.2183,
          "percent_delta": 0.0785,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4952,
          "after": 0.0,
          "delta": -0.4952,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5335,
          "after": 1.0,
          "delta": 0.4665,
          "percent_delta": 0.8744,
          "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.1733,
          "after": 0.0,
          "delta": -0.1733,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3174,
          "after": 0.0,
          "delta": -0.3174,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8303,
          "after": 1.0,
          "delta": 0.1697,
          "percent_delta": 0.2044,
          "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.5335,
          "after": 1.0,
          "delta": 0.4665,
          "percent_delta": 0.8744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4952,
          "after": 0.0,
          "delta": -0.4952,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.3943,
          "after": 0.0,
          "delta": -0.3943,
          "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.3943,
          "after": 0.0,
          "delta": -0.3943,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.106,
        "predicted_3B": 0.0098,
        "predicted_BB": 0.3162,
        "predicted_H": 0.605,
        "predicted_HR": 0.123,
        "predicted_RBI": 0.3181,
        "predicted_SO": 1.0996
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.106,
          "delta": 0.106,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0098,
          "delta": 0.0098,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3162,
          "delta": 0.3162,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.605,
          "delta": -0.395,
          "percent_delta": -0.395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.123,
          "delta": 0.123,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3181,
          "delta": 0.3181,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0996,
          "delta": 0.0996,
          "percent_delta": 0.0996,
          "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_RBI",
          "before": 0.0,
          "after": 0.3181,
          "delta": 0.3181,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.605,
          "delta": -0.395,
          "percent_delta": -0.395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.106,
          "after": 0.0,
          "delta": -0.106,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0098,
          "after": 0.0,
          "delta": -0.0098,
          "percent_delta": -1.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_BB",
          "before": 0.3162,
          "after": 0.0,
          "delta": -0.3162,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.605,
          "after": 0.0,
          "delta": -0.605,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.123,
          "after": 0.0,
          "delta": -0.123,
          "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.3181,
          "after": 0.0,
          "delta": -0.3181,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0996,
          "after": 1.0,
          "delta": -0.0996,
          "percent_delta": -0.0906,
          "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_H",
          "before": 0.605,
          "after": 0.0,
          "delta": -0.605,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.209,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.293,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1918,
          "after": 0.209,
          "delta": 0.0172,
          "percent_delta": 0.0897,
          "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": 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_OBP",
          "before": 0.3139,
          "after": 0.293,
          "delta": -0.0209,
          "percent_delta": -0.0666,
          "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.3976,
          "after": 0.38,
          "delta": -0.0176,
          "percent_delta": -0.0443,
          "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": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "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_OBP",
          "before": 0.3139,
          "after": 0.293,
          "delta": -0.0209,
          "percent_delta": -0.0666,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 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": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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.1918,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3139,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3976,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.209,
          "after": 0.1918,
          "delta": -0.0172,
          "percent_delta": -0.0823,
          "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.293,
          "after": 0.3139,
          "delta": 0.0209,
          "percent_delta": 0.0714,
          "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.38,
          "after": 0.3976,
          "delta": 0.0176,
          "percent_delta": 0.0462,
          "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_OBP",
          "before": 0.293,
          "after": 0.3139,
          "delta": 0.0209,
          "percent_delta": 0.0714,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.1918,
          "delta": -0.0172,
          "percent_delta": -0.0823,
          "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.059,
        "after": 0.0,
        "delta": -0.059,
        "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.798,
        "after": 2.0,
        "delta": -0.798,
        "percent_delta": -0.2852,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.2,
        "after": 0.1918,
        "delta": -0.0082,
        "percent_delta": -0.041,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.395,
        "after": 1.0,
        "delta": 0.605,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.46,
        "after": 0.0,
        "delta": -0.46,
        "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.346,
        "after": 0.3139,
        "delta": -0.0321,
        "percent_delta": -0.0928,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.328,
        "after": 0.0,
        "delta": -0.328,
        "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.416,
        "after": 0.3976,
        "delta": -0.0184,
        "percent_delta": -0.0442,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.857,
        "after": 1.0,
        "delta": 0.143,
        "percent_delta": 0.1669,
        "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.395,
        "after": 1.0,
        "delta": 0.605,
        "percent_delta": 1.5316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 2.798,
        "after": 2.0,
        "delta": -0.798,
        "percent_delta": -0.2852,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.059-
predicted_3B0.000-
predicted_AB2.798-
predicted_AVG0.200-
predicted_BB0.395-
predicted_H0.460-
predicted_HR0.130-
predicted_OBP0.346-
predicted_R0.328-
predicted_RBI0.310-
predicted_SLG0.416-
predicted_SO0.857-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.052-0.007
predicted_3B0.0000.000
predicted_AB2.782-0.016
predicted_AVG0.2140.014
predicted_BB0.4940.099
predicted_H0.5390.079
predicted_HBP0.016-
predicted_HR0.1750.045
predicted_OBP0.3540.009
predicted_R0.4000.072
predicted_RBI0.3220.012
predicted_SLG0.4540.038
predicted_SO0.833-0.024
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0520.000
predicted_3B0.0000.000
predicted_AB2.7820.000
predicted_AVG0.192-0.022
predicted_BB0.4950.002
predicted_H0.533-0.005
predicted_HBP0.0160.000
predicted_HR0.173-0.002
predicted_OBP0.314-0.041
predicted_R0.394-0.005
predicted_RBI0.317-0.004
predicted_SLG0.398-0.057
predicted_SO0.830-0.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.80), rates preserved: AVG=0.184 HR/AB=0.062

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1060.106
3B0.0100.010
BB0.3160.316
H0.605-0.395
HR0.1230.123
RBI0.3180.318
SO1.1000.100
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.106
3B0.000-0.010
AB3.0000.000
BB0.000-0.316
H0.000-0.605
HR0.000-0.123
R0.0000.000
RBI0.000-0.318
SO1.000-0.100
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.052
predicted_3B0.000-0.000
predicted_AB3.0000.218
predicted_AVG0.2090.017
predicted_BB0.000-0.495
predicted_H1.0000.467
predicted_HR0.000-0.173
predicted_OBP0.293-0.021
predicted_R0.000-0.394
predicted_RBI0.000-0.317
predicted_SLG0.380-0.018
predicted_SO1.0000.170
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB2.000-1.000
BB1.0001.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 119
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0004.0000.0000.0002.0002.0004.0006.0003.0000.33330.55560.83330.33330.16670.16670.50000.2500
last_100.2010-26.0007.0000.0000.0004.0004.0006.0007.0008.0000.26920.42420.73080.26920.15380.15380.26920.3077
season0.60119-333.00062.0007.0000.00014.00032.00039.00047.000102.0000.18620.29090.33330.18620.04200.09610.14110.3063
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0420
predicted_3B0.0010
predicted_AB2.7600
predicted_AVG0.2334
predicted_BB0.6250
predicted_H0.6440
predicted_HBP0.0160
predicted_HR0.2360
predicted_OBP0.3658
predicted_R0.4950
predicted_RBI0.3370
predicted_SLG0.5052
predicted_SO0.8010
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.05900.04200.0517model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.79802.76002.7817model_form_blend
predicted_AVG0.20000.23340.2143model_form_blend
predicted_BB0.39500.62500.4936model_form_blend
predicted_H0.46000.64400.5389model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.13000.23600.1755model_form_blend
predicted_OBP0.34600.36580.3545model_form_blend
predicted_R0.32800.49500.3996model_form_blend
predicted_RBI0.31000.33700.3216model_form_blend
predicted_SLG0.41600.50520.4543model_form_blend
predicted_SO0.85700.80100.8330model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date374
Season rows before report date374
Report year2026
Profile rows used119
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA3
AB2
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260925_BAL@NYY_2
game_typefull
mlbID669224
playerID669224
playerNameAustin Wells
posC
startedTrue
startingPositionC
teamNYY
teamID19
game_date2026-09-25
sl_k_percent26.5
sl_bb_percent12.4
sl_woba0.281
sl_xwoba0.3
sl_xba0.208
sl_xslg0.36
sl_sweet_spot_percent33.8
sl_barrel_batted_rate7.7
sl_hard_hit_percent42.7
sl_exit_velocity_avg89.3
sl_launch_angle_avg20.5
sl_whiff_percent27.9
sl_swing_percent46.3
Cam Schlittler (693645) · PITCHER · Starter · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 33
All-history rows before 20260929: 33

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.4852.0000.5150.000
predicted_ER0.0000.0000.000Pitching_ER1.2731.000-1.273-1.000
predicted_H1.0001.0001.000Pitching_H3.9093.000-2.909-2.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.7483.0000.2523.000
predicted_SO9.0009.0009.000Pitching_SO7.2425.0001.7584.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail00000--Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "693645",
  "player_name": "Cam Schlittler",
  "position": "Starter",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 9.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 9.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 0.0,
        "predicted_SO": 9.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 9.0,
          "after": 9.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 9.0,
        "after": 9.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO9.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER0.0000.000
predicted_H1.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO9.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 33
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45530.0004.00012.0007.00038.0002.0001.20000.63330.13330.40000.23331.26670.0667
last_100.351057.00011.00031.00023.00074.0004.0001.73680.94740.19300.54390.40351.29820.0702
season0.2033193.20042.000129.00049.000239.00016.0001.95180.91910.21690.66610.25301.23410.0826
Weighted Prediction From Real Data
MetricValue
predicted_BB1.8140
predicted_ER1.2740
predicted_ERA1.9433
predicted_H3.3440
predicted_HR0.4800
predicted_IP6.0000
predicted_SO7.2380
predicted_WHIP0.8744
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.81401.8894model_form_blend
predicted_ER0.00001.27400.7573model_form_blend
predicted_ERA-1.94331.9433form_only
predicted_H1.00003.34402.3933model_form_blend
predicted_HR0.00000.48000.2853model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO9.00007.23807.9527model_form_blend
predicted_WHIP-0.87440.8744form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date33
Season rows before report date33
Report year2026
Profile rows used33
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.0
H1
R0
ER0
BB2
SO9
HR0
BF21
Pitches99

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced14
Pitching_ER1
Pitching_ERA1.95
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches70
Pitching_R2
Pitching_SO5
Pitching_Strikes47
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260924_TB@NYY
game_typefull
mlbID693645
playerID693645
playerNameCam Schlittler
posP
startedTrue
startingPositionP
teamNYY
teamID19
game_date2026-09-24
sl_k_percent31.4
sl_bb_percent6.4
sl_woba0.243
sl_xwoba0.262
sl_sweet_spot_percent32.5
sl_barrel_batted_rate7.3
sl_hard_hit_percent38.3
sl_whiff_percent29.4
sl_swing_percent52.0
sl_avg_best_speed77.699858553
sl_avg_hyper_speed93.752402829
Brent Headrick (687396) · PITCHER · Setup Man · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 81
All-history rows before 20260929: 81

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3332.000-0.333-2.000
predicted_ER1.0001.0001.000Pitching_ER0.2351.0000.7650.000
predicted_H3.0003.0003.000Pitching_H0.8401.0002.1602.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7741.0000.2260.000
predicted_SO0.0000.0000.000Pitching_SO1.2102.000-1.210-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "687396",
  "player_name": "Brent Headrick",
  "position": "Setup Man",
  "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": 1.0,
        "predicted_H": 3.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": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 81
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0003.0004.0003.0006.0001.0006.75001.75000.75001.00000.75001.50000.2500
last_100.35108.1004.0006.0006.00011.0001.0004.32001.44000.48000.72000.72001.32000.1200
season0.208178.10019.00068.00027.00098.0005.0002.18301.21280.24250.86810.34471.25110.0638
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4720
predicted_ER0.4330
predicted_ERA4.8985
predicted_H0.7180
predicted_HR0.1300
predicted_IP0.2000
predicted_SO1.0200
predicted_WHIP1.4936
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.47200.2596model_form_blend
predicted_ER1.00000.43300.6882model_form_blend
predicted_ERA-4.89854.8985form_only
predicted_H3.00000.71801.7449model_form_blend
predicted_HR0.00000.13000.0715model_form_blend
predicted_IP1.00000.20000.2000model_form_blend
predicted_SO0.00001.02000.5610model_form_blend
predicted_WHIP-1.49361.4936form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date81
Season rows before report date81
Report year2026
Profile rows used81
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H3
R1
ER1
BB0
SO0
HR0
BF6
Pitches32

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER1
Pitching_ERA2.18
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches26
Pitching_R1
Pitching_SO2
Pitching_Strikes14
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260925_BAL@NYY_2
game_typefull
mlbID687396
playerID687396
playerNameBrent Headrick
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-25
sl_k_percent30.1
sl_bb_percent8.3
sl_woba0.29
sl_xwoba0.271
sl_sweet_spot_percent38.8
sl_barrel_batted_rate4.5
sl_hard_hit_percent37.3
sl_whiff_percent31.8
sl_swing_percent52.6
sl_avg_best_speed77.012885876
sl_avg_hyper_speed93.769256218
David Bednar (670280) · PITCHER · Closer · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 64
All-history rows before 20260929: 64

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3122.000-0.312-2.000
predicted_ER0.0000.0000.000Pitching_ER0.2970.000-0.2970.000
predicted_H2.0002.0002.000Pitching_H0.8121.0001.1881.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0141.000-0.0140.000
predicted_SO3.0003.0003.000Pitching_SO1.1881.0001.8122.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "670280",
  "player_name": "David Bednar",
  "position": "Closer",
  "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": 2.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": 2.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": 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": 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": 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": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO3.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 64
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0000.0005.0002.0005.0000.0000.00001.16670.00000.83330.33330.83330.0000
last_100.351011.0004.00013.0002.00011.0001.0003.27271.36360.36361.18180.18181.00000.0909
season0.206469.10019.00052.00020.00076.0004.0002.46631.03850.27400.75000.28851.09610.0577
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3320
predicted_ER0.2980
predicted_ERA2.4113
predicted_H1.0560
predicted_HR0.0790
predicted_IP1.0000
predicted_SO1.0470
predicted_WHIP1.2497
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.33200.1794model_form_blend
predicted_ER0.00000.29800.1610model_form_blend
predicted_ERA-2.41132.4113form_only
predicted_H2.00001.05601.4899model_form_blend
predicted_HR0.00000.07900.0427model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO3.00001.04701.9447model_form_blend
predicted_WHIP-1.24971.2497form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date64
Season rows before report date64
Report year2026
Profile rows used64
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R0
ER0
BB0
SO3
HR0
BF5
Pitches19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA2.47
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches28
Pitching_R0
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260925_BAL@NYY
game_typefull
mlbID670280
playerID670280
playerNameDavid Bednar
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-25
sl_k_percent27.1
sl_bb_percent7.1
sl_woba0.249
sl_xwoba0.263
sl_sweet_spot_percent26.4
sl_barrel_batted_rate4.9
sl_hard_hit_percent35.7
sl_whiff_percent30.8
sl_swing_percent53.1
sl_avg_best_speed76.065211111
sl_avg_hyper_speed93.295998994
Paul Blackburn (621112) · PITCHER · Middle Reliever (High Leverage) · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 62
All-history rows before 20260929: 62

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5321.000-0.532-1.000
predicted_ER1.0001.0001.000Pitching_ER0.2581.0000.7420.000
predicted_H3.0003.0003.000Pitching_H0.9682.0002.0321.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.2241.000-0.2240.000
predicted_SO0.0000.0000.000Pitching_SO1.1131.000-1.113-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "621112",
  "player_name": "Paul Blackburn",
  "position": "Middle Reliever (High Leverage)",
  "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": 1.0,
        "predicted_H": 3.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": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 62
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1001.0006.0002.0003.0000.0001.68751.50000.18751.12500.37500.56250.0000
last_100.35109.1002.0009.0005.0009.0001.0001.92861.50000.21430.96430.53570.96430.1071
season0.206285.00016.00060.00033.00069.0007.0001.69411.09410.18820.70590.38820.81180.0824
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4430
predicted_ER0.2810
predicted_ERA2.4052
predicted_H1.0360
predicted_HR0.0790
predicted_IP1.0000
predicted_SO0.8350
predicted_WHIP1.4064
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.44300.2463model_form_blend
predicted_ER1.00000.28100.6002model_form_blend
predicted_ERA-2.40522.4052form_only
predicted_H3.00001.03601.9079model_form_blend
predicted_HR0.00000.07900.0439model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.83500.4643model_form_blend
predicted_WHIP-1.40641.4064form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date62
Season rows before report date62
Report year2026
Profile rows used62
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H3
R1
ER1
BB0
SO0
HR0
BF6
Pitches22

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER1
Pitching_ERA1.69
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches20
Pitching_R1
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260925_BAL@NYY
game_typefull
mlbID621112
playerID621112
playerNamePaul Blackburn
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-25
sl_k_percent20.5
sl_bb_percent9.8
sl_woba0.261
sl_xwoba0.296
sl_sweet_spot_percent27.5
sl_barrel_batted_rate5.6
sl_hard_hit_percent35.2
sl_whiff_percent22.8
sl_swing_percent45.7
sl_avg_best_speed75.055748879
sl_avg_hyper_speed93.465775108

20260929_CHC@SD

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 5, "confidence": 0.5078962025, "home_win_probability": 0.5078962025, "away_win_probability": 0.4921037975, "predicted_score_text": "CHC 4 - 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": "CHC", "original_runs": 4, "run_delta": 0.1777, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 34.0, "quality": 0.13148525881606837, "contact": 0.15598624275460235, "power": 0.0967870929683986, "discipline": 0.37276208713322556, "xwoba": 0.3235294117647059, "recent_xwoba": 0.3235294117647059, "barrel": 7.7029411764705875, "ab_hard_contact": 0.10806678933995924, "ab_bat_speed": 69.69836035095467, "ab_strikeout_rate": 0.205038715005812, "available_players": 9, "top_players": [{"player_id": "691718", "player_name": "Pete Crow-Armstrong", "position": "CF", "weight": 4.0, "quality": 0.9191038920172929, "contact": 0.9606579070137087, "power": 1.3310811544143324, "discipline": 0.16892414073622128, "xwoba": 0.374, "recent_xwoba": 0.374, "barrel": 13.300000000000002, "ab_hard_contact": 0.8896230882866497, "ab_bat_speed": 72.72873857462449, "ab_strikeout_rate": 0.2538031319910515, "available": 1.0}, {"player_id": "673548", "player_name": "Seiya Suzuki", "position": "RF", "weight": 4.0, "quality": 0.3065147746907705, "contact": 0.2539620469640373, "power": 0.44382907499254126, "discipline": 0.4859613694193853, "xwoba": 0.34, "recent_xwoba": 0.34, "barrel": 10.699999999999998, "ab_hard_contact": 0.33410530937466393, "ab_bat_speed": 71.71720066440486, "ab_strikeout_rate": 0.24376590330788805, "available": 1.0}, {"player_id": "699393", "player_name": "Pedro Ramirez", "position": "3B", "weight": 4.0, "quality": -0.2330979289722784, "contact": -0.13486960536001819, "power": -0.4073232439209655, "discipline": 0.14612927410753515, "xwoba": 0.284, "recent_xwoba": 0.284, "barrel": 4.1, "ab_hard_contact": 0.16934464539020716, "ab_bat_speed": 69.77024776577298, "ab_strikeout_rate": 0.18852657004830917, "available": 1.0}, {"player_id": "663538", "player_name": "Nico Hoerner", "position": "2B", "weight": 4.0, "quality": -0.009742032479654886, "contact": 0.4058408676846895, "power": -0.750546977348459, "discipline": 0.6266974836426892, "xwoba": 0.322, "recent_xwoba": 0.322, "barrel": 1.4, "ab_hard_contact": -0.19684430887394871, "ab_bat_speed": 67.65161551877219, "ab_strikeout_rate": 0.09060121765601217, "available": 1.0}, {"player_id": "683737", "player_name": "Michael Busch", "position": "1B", "weight": 4.0, "quality": 0.15243694125425095, "contact": 0.07290847289944358, "power": 0.18769090765413157, "discipline": 0.47784291898577624, "xwoba": 0.331, "recent_xwoba": 0.331, "barrel": 9.1, "ab_hard_contact": -0.13303898977452078, "ab_bat_speed": 66.38918878900766, "ab_strikeout_rate": 0.23231292517006802, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "650633", "player_name": "Michael King", "quality": -0.0659622752688223, "contact": 0.14716103564642835, "command": -0.2505135387488328, "movement": -0.29172653579331426, "xwoba": 0.322, "whiff": 24.5, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "SD", "original_runs": 5, "run_delta": 0.4651, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": 0.25306899629769514, "contact": 0.30041021993262756, "power": 0.2374388526471713, "discipline": -0.004845168659313351, "xwoba": 0.32581249999999995, "recent_xwoba": 0.32581249999999995, "barrel": 7.962499999999999, "ab_hard_contact": 0.2108722910386606, "ab_bat_speed": 69.92452768405649, "ab_strikeout_rate": 0.22739163781515753, "available_players": 9, "top_players": [{"player_id": "665487", "player_name": "Fernando Tatis Jr.", "position": "RF", "weight": 4.0, "quality": 1.2605213240236357, "contact": 1.5376587382055653, "power": 1.4191004792708164, "discipline": 0.1520753452896311, "xwoba": 0.379, "recent_xwoba": 0.379, "barrel": 12.7, "ab_hard_contact": 0.9065810139877456, "ab_bat_speed": 73.94966340996169, "ab_strikeout_rate": 0.18458049886621314, "available": 1.0}, {"player_id": "701538", "player_name": "Jackson Merrill", "position": "CF", "weight": 4.0, "quality": 0.8279111007882577, "contact": 0.8372677603953937, "power": 1.2215320782878885, "discipline": -0.4664518655947227, "xwoba": 0.347, "recent_xwoba": 0.347, "barrel": 12.4, "ab_hard_contact": 0.9826415657577637, "ab_bat_speed": 71.91956921182266, "ab_strikeout_rate": 0.23832199546485258, "available": 1.0}, {"player_id": "630105", "player_name": "Jake Cronenworth", "position": "2B", "weight": 3.0, "quality": -0.697794967583144, "contact": -0.8197497477840682, "power": -0.8736343183218304, "discipline": 0.11951298701298707, "xwoba": 0.275, "recent_xwoba": 0.275, "barrel": 3.9, "ab_hard_contact": -0.6239244616747076, "ab_bat_speed": 68.6986115244709, "ab_strikeout_rate": 0.23928571428571427, "available": 1.0}, {"player_id": "669392", "player_name": "Samad Taylor", "position": "LF", "weight": 4.0, "quality": -0.40382622783963057, "contact": -0.4014755966153299, "power": -0.9450886863049015, "discipline": 0.04832000455684692, "xwoba": 0.309, "recent_xwoba": 0.309, "barrel": 3.6, "ab_hard_contact": -1.0724403927647064, "ab_bat_speed": 58.85837207602339, "ab_strikeout_rate": 0.2771929824561403, "available": 1.0}, {"player_id": "592518", "player_name": "Manny Machado", "position": "3B", "weight": 4.0, "quality": 0.40413276939945064, "contact": 0.3195956552771557, "power": 0.5029216455226887, "discipline": 0.3357091321377035, "xwoba": 0.328, "recent_xwoba": 0.328, "barrel": 9.7, "ab_hard_contact": 0.4264329104537792, "ab_bat_speed": 73.21585517241378, "ab_strikeout_rate": 0.21201814058956917, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "571510", "player_name": "Matthew Boyd", "quality": -0.29035471308668914, "contact": -0.03832677680436544, "command": -0.41922782446311857, "movement": -1.1321414999269306, "xwoba": 0.33, "whiff": 22.3, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 4, "home_runs": 5, "winner_side": "home"}, "adjusted_score": {"away_runs": 4, "home_runs": 5, "winner_side": "home"}, "signals": {"season_quality_edge_home_minus_away": -0.2355, "recent_form_edge_home_minus_away": 0.158, "pitcher_matchup_edge_home_minus_away": -0.0325, "composite_home_edge": 0.0185, "existing_home_win_probability": 0.5109, "refreshed_home_win_probability": 0.5092, "winner_support_before_review": 0.0185}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.510929, "uncapped_away_win_probability": 0.489071, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.510929, "discount_factor": 0.7225, "published_confidence": 0.507896, "guardrail_confidence_cap": 0.53, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.509236, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.507896, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 5, "predicted_score_text": "CHC 4 - 5 SD", "confidence": 0.5078962025, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "CHC 4 - 5 SD", "winner": "SD"}, "final_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "CHC 4 - 5 SD", "winner": "SD"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.0325, "recent_form_edge_home_minus_away": 0.158, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 4, "home_runs": 5, "winner": "SD", "model_winner": "SD", "simulation_winner": "SD", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 3, "published_winner": "SD", "published_winner_draw_share": 0.6667, "draw_majority_team": "SD", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 5}, "simulation_score": {"away_runs": 4, "home_runs": 5}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": -0.2355, "winner": "SD", "score_reviewed": {"away_runs": 4, "home_runs": 5, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "SD", "display_confidence": 0.5079, "internal_signal_score": 0.5601, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5079, "confidence_compression_detected": false, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "low_total_lean", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": -0.2355, "winner_recent_form_edge": 0.508, "winner_pitcher_matchup_edge": -0.0325, "winner_simulation_draw_rate": 0.6667, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.6667, "total_runs_spread": {"min": 6, "median": 6, "max": 10, "range": 4}}, "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."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionCHC 4 - 5 SDSD0.508enhanced_prediction.pre_simulation_targetTrue
Simulation drawCHC 4 - 5 SDSD-organic_simulation_realized_targetTrue

The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.

Full Prediction Process

Optimization Roadmap Runtime Status

This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.5370; empirical=0.5585; weight=0.5000; final=0.5477
P1H2H margin as base featureavailablehome net=-29; abs=29; home delta=-0.1673; away delta=0.1673
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=2.2500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=-0.6358; recent edge=0.5080; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.9000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5079
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.2394.328-Base ML historical model prediction
2variance_applied44-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction450.5079Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4embedded_savant_run_environment45-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review45-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target45-Capped at max 12 realistic runs
7simulation_result45-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.5377135241739133,
  "base_low_score_probability": 0.4260869565217391,
  "low_score_signal_threshold": 0.5060869565217391,
  "low_score_signal_strength": 0.11162656765217416,
  "confidence": 0.7309903600000003,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0712000000000002,
    "combined": 1.2619807200000006
  },
  "prediction": "low_scoring",
  "expected_total_runs": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.9,
  "low_score_model_expected_total_runs": 6.9,
  "final_simulation_total_runs": 9,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 684,
  "near_bucket_sample_size": 684,
  "medium_bucket_sample_size": 807,
  "wide_bucket_sample_size": 904,
  "global_sample_size": 1116,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5585,
  "bayesian_hit_rate": 0.557,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5143,
  "raw_pick_probability_unclamped": 0.5143,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.5073,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5111,
  "score_implied_floor_pick_probability": 0.5072,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.514253,
  "uncapped_away_win_probability": 0.485747,
  "calibrated_pick_probability": 0.5109,
  "predicted_side": "home",
  "reliability": 0.974359,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.983333
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.536952,
  "sample_size": 684,
  "empirical_hit_rate": 0.5585,
  "empirical_weight": 0.5,
  "blended_confidence": 0.547726,
  "published_confidence": 0.507896,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": -29.0,
  "absolute_net_margin": 29.0,
  "home_average_margin": -5.8,
  "home_run_delta": -0.1673,
  "away_run_delta": 0.1673,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -20.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": -5.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617283950617284,
    "runs_scored": 722,
    "runs_allowed": 681,
    "run_differential": 41,
    "run_differential_per_game": 0.25308641975308643,
    "available": true
  },
  "away": {
    "team": "CHC",
    "games": 162,
    "wins": 89,
    "losses": 73,
    "win_pct": 0.5493827160493827,
    "runs_scored": 850,
    "runs_allowed": 703,
    "run_differential": 147,
    "run_differential_per_game": 0.9074074074074074,
    "available": true
  },
  "run_differential_edge_per_game": -0.6543,
  "win_pct_edge": 0.0123,
  "quality_edge": -0.2355,
  "season_quality_edge": -0.6358,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.6358,
    "recent_quality_edge": 0.508,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.2355
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.020697963498079945
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.019795431783525982
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.019598053542315363
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.019555521853491395
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.01930518335574106
    }
  ],
  "home_distribution": {
    "0": 0.058873711031276345,
    "1": 0.0868469837619334,
    "2": 0.11460806602509555,
    "3": 0.13530154149529186,
    "4": 0.1428951278787376,
    "5": 0.13500791013808305,
    "6": 0.11411116103411154,
    "7": 0.08628278408152955,
    "8": 0.058364301487223796,
    "9": 0.03531811779360204,
    "10": 0.019119429332457458,
    "11": 0.009259326890734294,
    "12": 0.0040115390499236535
  },
  "away_distribution": {
    "0": 0.06106068951282485,
    "1": 0.08994423081620752,
    "2": 0.11818669732999297,
    "3": 0.13853118771358397,
    "4": 0.14484723031036068,
    "5": 0.13510036095928796,
    "6": 0.11240522518166372,
    "7": 0.08342575911423988,
    "8": 0.05523285731149256,
    "9": 0.03261959247231663,
    "10": 0.017184750362256623,
    "11": 0.008075912426132209,
    "12": 0.003385506489640405
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.53,
  "winner_flipped": false,
  "reasons": [
    "latest same-matchup result beat the predicted side",
    "predicted side recently lost this matchup by 5+ runs",
    "opponent already produced an 8+ run breakout in this matchup",
    "recent head-to-head margin does not support a strong repeat pick",
    "latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
  ],
  "signals": {
    "predicted_team": "SD",
    "opponent_team": "CHC",
    "h2h_net_margin": -23,
    "opponent_breakout": true,
    "opponent_blowout_win": true,
    "split_recent_h2h": false,
    "recent_h2h": [
      {
        "date": "2026-07-01",
        "predicted_team_runs": 3,
        "opponent_runs": 23,
        "margin_for_predicted_team": -20,
        "winner": "CHC"
      },
      {
        "date": "2026-06-30",
        "predicted_team_runs": 7,
        "opponent_runs": 9,
        "margin_for_predicted_team": -2,
        "winner": "CHC"
      },
      {
        "date": "2026-06-29",
        "predicted_team_runs": 2,
        "opponent_runs": 3,
        "margin_for_predicted_team": -1,
        "winner": "CHC"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 2,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260630",
          "away": "SD",
          "home": "CHC",
          "game_number": 1,
          "predicted_team": "CHC",
          "actual_winner": "CHC",
          "actual_margin": 2,
          "raw_pick_probability": 0.5,
          "artifact": "20260630_SD@CHC.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260629",
          "away": "SD",
          "home": "CHC",
          "game_number": 1,
          "predicted_team": "CHC",
          "actual_winner": "CHC",
          "actual_margin": 1,
          "raw_pick_probability": 0.5234,
          "artifact": "20260629_SD@CHC.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "SD",
    "guardrail_opponent_team": "CHC",
    "output_pre_simulation_winner": "SD",
    "output_opponent_team": "CHC",
    "simulation_score_winner": "SD",
    "final_score_winner": "SD",
    "pre_simulation_winner": "SD",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "CHC 4 - 5 SD",
      "winner": "SD"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "CHC 4 - 5 SD",
      "winner": "SD"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0325,
      "recent_form_edge_home_minus_away": 0.158,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 5,
      "winner": "SD",
      "model_winner": "SD",
      "simulation_winner": "SD",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "SD",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "SD",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": -0.2355,
      "winner": "SD",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "SD",
      "games": 162,
      "wins": 91,
      "losses": 71,
      "win_pct": 0.5617283950617284,
      "runs_scored": 722,
      "runs_allowed": 681,
      "run_differential": 41,
      "run_differential_per_game": 0.25308641975308643,
      "available": true
    },
    "away": {
      "team": "CHC",
      "games": 162,
      "wins": 89,
      "losses": 73,
      "win_pct": 0.5493827160493827,
      "runs_scored": 850,
      "runs_allowed": 703,
      "run_differential": 147,
      "run_differential_per_game": 0.9074074074074074,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.2355,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.53,
  "final_confidence": 0.5109,
  "calibrated_pick_probability": 0.5109,
  "shrinkage_weight": 0.983333,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 684,
  "calibration_empirical_hit_rate": 0.5585,
  "calibration_bayesian_hit_rate": 0.557,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.2355,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "margin": 1,
    "probability_before": 0.510929,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.983333,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.510929,
    "aligned_pick_probability": 0.510929
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 22,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "CHC 4 - 5 SD",
    "winner": "SD"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "CHC 4 - 5 SD",
    "winner": "SD"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.0325,
    "recent_form_edge_home_minus_away": 0.158,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 4,
    "home_runs": 5,
    "winner": "SD",
    "model_winner": "SD",
    "simulation_winner": "SD",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 3,
      "published_winner": "SD",
      "published_winner_draw_share": 0.6667,
      "draw_majority_team": "SD",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 5
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": -0.2355,
    "winner": "SD",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 5,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 5,
  "confidence": 0.5078962025,
  "home_win_probability": 0.5078962025,
  "away_win_probability": 0.4921037975,
  "predicted_score_text": "CHC 4 - 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": "CHC",
      "original_runs": 4,
      "run_delta": 0.1777,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 34.0,
        "quality": 0.13148525881606837,
        "contact": 0.15598624275460235,
        "power": 0.0967870929683986,
        "discipline": 0.37276208713322556,
        "xwoba": 0.3235294117647059,
        "recent_xwoba": 0.3235294117647059,
        "barrel": 7.7029411764705875,
        "ab_hard_contact": 0.10806678933995924,
        "ab_bat_speed": 69.69836035095467,
        "ab_strikeout_rate": 0.205038715005812,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "691718",
            "player_name": "Pete Crow-Armstrong",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.9191038920172929,
            "contact": 0.9606579070137087,
            "power": 1.3310811544143324,
            "discipline": 0.16892414073622128,
            "xwoba": 0.374,
            "recent_xwoba": 0.374,
            "barrel": 13.300000000000002,
            "ab_hard_contact": 0.8896230882866497,
            "ab_bat_speed": 72.72873857462449,
            "ab_strikeout_rate": 0.2538031319910515,
            "available": 1.0
          },
          {
            "player_id": "673548",
            "player_name": "Seiya Suzuki",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.3065147746907705,
            "contact": 0.2539620469640373,
            "power": 0.44382907499254126,
            "discipline": 0.4859613694193853,
            "xwoba": 0.34,
            "recent_xwoba": 0.34,
            "barrel": 10.699999999999998,
            "ab_hard_contact": 0.33410530937466393,
            "ab_bat_speed": 71.71720066440486,
            "ab_strikeout_rate": 0.24376590330788805,
            "available": 1.0
          },
          {
            "player_id": "699393",
            "player_name": "Pedro Ramirez",
            "position": "3B",
            "weight": 4.0,
            "quality": -0.2330979289722784,
            "contact": -0.13486960536001819,
            "power": -0.4073232439209655,
            "discipline": 0.14612927410753515,
            "xwoba": 0.284,
            "recent_xwoba": 0.284,
            "barrel": 4.1,
            "ab_hard_contact": 0.16934464539020716,
            "ab_bat_speed": 69.77024776577298,
            "ab_strikeout_rate": 0.18852657004830917,
            "available": 1.0
          },
          {
            "player_id": "663538",
            "player_name": "Nico Hoerner",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.009742032479654886,
            "contact": 0.4058408676846895,
            "power": -0.750546977348459,
            "discipline": 0.6266974836426892,
            "xwoba": 0.322,
            "recent_xwoba": 0.322,
            "barrel": 1.4,
            "ab_hard_contact": -0.19684430887394871,
            "ab_bat_speed": 67.65161551877219,
            "ab_strikeout_rate": 0.09060121765601217,
            "available": 1.0
          },
          {
            "player_id": "683737",
            "player_name": "Michael Busch",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.15243694125425095,
            "contact": 0.07290847289944358,
            "power": 0.18769090765413157,
            "discipline": 0.47784291898577624,
            "xwoba": 0.331,
            "recent_xwoba": 0.331,
            "barrel": 9.1,
            "ab_hard_contact": -0.13303898977452078,
            "ab_bat_speed": 66.38918878900766,
            "ab_strikeout_rate": 0.23231292517006802,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "650633",
        "player_name": "Michael King",
        "quality": -0.0659622752688223,
        "contact": 0.14716103564642835,
        "command": -0.2505135387488328,
        "movement": -0.29172653579331426,
        "xwoba": 0.322,
        "whiff": 24.5,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "SD",
      "original_runs": 5,
      "run_delta": 0.4651,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": 0.25306899629769514,
        "contact": 0.30041021993262756,
        "power": 0.2374388526471713,
        "discipline": -0.004845168659313351,
        "xwoba": 0.32581249999999995,
        "recent_xwoba": 0.32581249999999995,
        "barrel": 7.962499999999999,
        "ab_hard_contact": 0.2108722910386606,
        "ab_bat_speed": 69.92452768405649,
        "ab_strikeout_rate": 0.22739163781515753,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "665487",
            "player_name": "Fernando Tatis Jr.",
            "position": "RF",
            "weight": 4.0,
            "quality": 1.2605213240236357,
            "contact": 1.5376587382055653,
            "power": 1.4191004792708164,
            "discipline": 0.1520753452896311,
            "xwoba": 0.379,
            "recent_xwoba": 0.379,
            "barrel": 12.7,
            "ab_hard_contact": 0.9065810139877456,
            "ab_bat_speed": 73.94966340996169,
            "ab_strikeout_rate": 0.18458049886621314,
            "available": 1.0
          },
          {
            "player_id": "701538",
            "player_name": "Jackson Merrill",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.8279111007882577,
            "contact": 0.8372677603953937,
            "power": 1.2215320782878885,
            "discipline": -0.4664518655947227,
            "xwoba": 0.347,
            "recent_xwoba": 0.347,
            "barrel": 12.4,
            "ab_hard_contact": 0.9826415657577637,
            "ab_bat_speed": 71.91956921182266,
            "ab_strikeout_rate": 0.23832199546485258,
            "available": 1.0
          },
          {
            "player_id": "630105",
            "player_name": "Jake Cronenworth",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.697794967583144,
            "contact": -0.8197497477840682,
            "power": -0.8736343183218304,
            "discipline": 0.11951298701298707,
            "xwoba": 0.275,
            "recent_xwoba": 0.275,
            "barrel": 3.9,
            "ab_hard_contact": -0.6239244616747076,
            "ab_bat_speed": 68.6986115244709,
            "ab_strikeout_rate": 0.23928571428571427,
            "available": 1.0
          },
          {
            "player_id": "669392",
            "player_name": "Samad Taylor",
            "position": "LF",
            "weight": 4.0,
            "quality": -0.40382622783963057,
            "contact": -0.4014755966153299,
            "power": -0.9450886863049015,
            "discipline": 0.04832000455684692,
            "xwoba": 0.309,
            "recent_xwoba": 0.309,
            "barrel": 3.6,
            "ab_hard_contact": -1.0724403927647064,
            "ab_bat_speed": 58.85837207602339,
            "ab_strikeout_rate": 0.2771929824561403,
            "available": 1.0
          },
          {
            "player_id": "592518",
            "player_name": "Manny Machado",
            "position": "3B",
            "weight": 4.0,
            "quality": 0.40413276939945064,
            "contact": 0.3195956552771557,
            "power": 0.5029216455226887,
            "discipline": 0.3357091321377035,
            "xwoba": 0.328,
            "recent_xwoba": 0.328,
            "barrel": 9.7,
            "ab_hard_contact": 0.4264329104537792,
            "ab_bat_speed": 73.21585517241378,
            "ab_strikeout_rate": 0.21201814058956917,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "571510",
        "player_name": "Matthew Boyd",
        "quality": -0.29035471308668914,
        "contact": -0.03832677680436544,
        "command": -0.41922782446311857,
        "movement": -1.1321414999269306,
        "xwoba": 0.33,
        "whiff": 22.3,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 4,
      "home_runs": 5,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 5,
      "winner_side": "home"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.2355,
      "recent_form_edge_home_minus_away": 0.158,
      "pitcher_matchup_edge_home_minus_away": -0.0325,
      "composite_home_edge": 0.0185,
      "existing_home_win_probability": 0.5109,
      "refreshed_home_win_probability": 0.5092,
      "winner_support_before_review": 0.0185
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.510929,
  "uncapped_away_win_probability": 0.489071,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.510929,
    "discount_factor": 0.7225,
    "published_confidence": 0.507896,
    "guardrail_confidence_cap": 0.53,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.509236,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.507896,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 5,
    "predicted_score_text": "CHC 4 - 5 SD",
    "confidence": 0.5078962025,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "CHC 4 - 5 SD",
      "winner": "SD"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "CHC 4 - 5 SD",
      "winner": "SD"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0325,
      "recent_form_edge_home_minus_away": 0.158,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 5,
      "winner": "SD",
      "model_winner": "SD",
      "simulation_winner": "SD",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "SD",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "SD",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": -0.2355,
      "winner": "SD",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "SD",
    "display_confidence": 0.5079,
    "internal_signal_score": 0.5601,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5079,
    "confidence_compression_detected": false,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "low_total_lean",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": -0.2355,
      "winner_recent_form_edge": 0.508,
      "winner_pitcher_matchup_edge": -0.0325,
      "winner_simulation_draw_rate": 0.6667,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.6667,
      "total_runs_spread": {
        "min": 6,
        "median": 6,
        "max": 10,
        "range": 4
      }
    },
    "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."
  }
}

Savant Batter Quality

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.

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away CHCTrue1.02411.0241190
Home SDTrue1.03191.0319190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHAlex Bregman-1.01920.2557neutral0.32700.25200.39106.4037.7088.2017.7015.6014.5010.80-0.8571
CFPete Crow-Armstrong-1.09761.3012neutral0.37400.26400.508013.3048.6090.602226.3025.8011.40-0.7429
RFSeiya Suzuki-1.04310.5744neutral0.34000.24600.427010.7038.9088.6017.5023.5024.4012.80-0.7429
1BMichael Busch-1.03420.4558neutral0.33100.23300.40209.1039.8088.4015.6025.7023.2013-0.0571
3BPedro Ramirez-0.9768-0.3097negative_batter_regression0.28400.24200.34204.10398912.6020.2018.407.50-0.8857
LFIan Happ-1.01780.2369neutral0.31300.20800.390011.1042.2089.3014.2030.3029.7012.70-0.3429
2BNico Hoerner-1.02130.2839neutral0.32200.29700.37501.4029.1085.901211.808.406.200.7143
CCarson Kelly-1.00300.0406neutral0.31100.24400.37205.2036.1086.7013.3019.8016.509.40-0.2571
SSDansby Swanson-1.00360.0476neutral0.30100.22000.38007.3040.6089.2015.5030.4023.7010.50-0.1143

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFSamad Taylor-0.9823-0.2355negative_batter_regression0.30900.25600.32803.6025.2085.90925.2025.7010.30-1.3429
1BTy France-1.03550.4740negative_batter_regression0.32700.24800.42109.1047.4091.5014.6028.1021.607.40-1.3143
3BManny Machado-1.04940.6585neutral0.32800.24300.42009.7043.6090.1014.5025.3021.3011.200.5143
RFFernando Tatis Jr.-1.12121.6157neutral0.37900.29600.500012.7053.9092.905.3025.9018.509.100.6000
DHAustin Hays-1.00060.0077neutral0.29500.27800.38304.1041.9087.504.9033.8025.703.80-0.2571
CFJackson Merrill-1.09221.2295neutral0.34700.27000.491012.4048.7091.5014.3027.6024.106.200.7714
2BJake Cronenworth-0.9549-0.6015neutral0.27500.21300.30803.9029.7087.2011.4021.3022.808.90-0.3429
SSXander Bogaerts-1.03030.4040neutral0.32500.24800.37605.5042.3089.606.7023.101812.700.5429
CLuis Campusano-1.02060.2740neutral0.32700.23900.39108.1037.7087.3016.302621.4012.10-0.7429
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0319,
    "raw_average_factor": 1.0319,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "669392",
        "player_name": "Samad Taylor",
        "offense_factor": 0.9823,
        "quality_score": -0.2355,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "669392",
          "espn_rank": null
        },
        "metrics": {
          "pa": 143.0,
          "k_percent": 25.7,
          "bb_percent": 10.3,
          "woba": 0.356,
          "xwoba": 0.309,
          "xba": 0.256,
          "xslg": 0.328,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 3.6,
          "hard_hit_percent": 25.2,
          "exit_velocity_avg": 85.9,
          "launch_angle_avg": 9.0,
          "whiff_percent": 25.2,
          "swing_percent": 44.1
        },
        "components": {
          "expected_quality": -0.2026,
          "regression_edge": -1.3429,
          "xwoba_edge": 0.2857,
          "xba_edge": 0.5714,
          "xslg_edge": -0.5,
          "barrel_edge": -0.6667,
          "hard_hit_edge": -1.7714,
          "exit_velocity_edge": -1.0,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "664034",
        "player_name": "Ty France",
        "offense_factor": 1.0355,
        "quality_score": 0.474,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "664034",
          "espn_rank": null
        },
        "metrics": {
          "pa": 454.0,
          "k_percent": 21.6,
          "bb_percent": 7.4,
          "woba": 0.373,
          "xwoba": 0.327,
          "xba": 0.248,
          "xslg": 0.421,
          "sweet_spot_percent": 38.5,
          "barrel_batted_rate": 9.1,
          "hard_hit_percent": 47.4,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 14.6,
          "whiff_percent": 28.1,
          "swing_percent": 54.3
        },
        "components": {
          "expected_quality": 0.7651,
          "regression_edge": -1.3143,
          "xwoba_edge": 0.8,
          "xba_edge": 0.3429,
          "xslg_edge": 0.8286,
          "barrel_edge": 0.5556,
          "hard_hit_edge": 1.4,
          "exit_velocity_edge": 1.24,
          "sweet_spot_edge": 0.8667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "592518",
        "player_name": "Manny Machado",
        "offense_factor": 1.0494,
        "quality_score": 0.6585,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "592518",
          "espn_rank": null
        },
        "metrics": {
          "pa": 624.0,
          "k_percent": 21.3,
          "bb_percent": 11.2,
          "woba": 0.31,
          "xwoba": 0.328,
          "xba": 0.243,
          "xslg": 0.42,
          "sweet_spot_percent": 32.7,
          "barrel_batted_rate": 9.7,
          "hard_hit_percent": 43.6,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 14.5,
          "whiff_percent": 25.3,
          "swing_percent": 47.8
        },
        "components": {
          "expected_quality": 0.682,
          "regression_edge": 0.5143,
          "xwoba_edge": 0.8286,
          "xba_edge": 0.2,
          "xslg_edge": 0.8143,
          "barrel_edge": 0.6889,
          "hard_hit_edge": 0.8571,
          "exit_velocity_edge": 0.68,
          "sweet_spot_edge": -0.1,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "665487",
        "player_name": "Fernando Tatis Jr.",
        "offense_factor": 1.1212,
        "quality_score": 1.6157,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "665487",
          "espn_rank": null
        },
        "metrics": {
          "pa": 649.0,
          "k_percent": 18.5,
          "bb_percent": 9.1,
          "woba": 0.358,
          "xwoba": 0.379,
          "xba": 0.296,
          "xslg": 0.5,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 12.7,
          "hard_hit_percent": 53.9,
          "exit_velocity_avg": 92.9,
          "launch_angle_avg": 5.3,
          "whiff_percent": 25.9,
          "swing_percent": 46.1
        },
        "components": {
          "expected_quality": 1.7811,
          "regression_edge": 0.6,
          "xwoba_edge": 2.2857,
          "xba_edge": 1.7143,
          "xslg_edge": 1.9571,
          "barrel_edge": 1.3556,
          "hard_hit_edge": 2.3286,
          "exit_velocity_edge": 1.8,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "669720",
        "player_name": "Austin Hays",
        "offense_factor": 1.0006,
        "quality_score": 0.0077,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669720",
          "espn_rank": null
        },
        "metrics": {
          "pa": 86.0,
          "k_percent": 25.7,
          "bb_percent": 3.8,
          "woba": 0.304,
          "xwoba": 0.295,
          "xba": 0.278,
          "xslg": 0.383,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 41.9,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 4.9,
          "whiff_percent": 33.8,
          "swing_percent": 53.8
        },
        "components": {
          "expected_quality": 0.0617,
          "regression_edge": -0.2571,
          "xwoba_edge": -0.1143,
          "xba_edge": 1.2,
          "xslg_edge": 0.2857,
          "barrel_edge": -0.5556,
          "hard_hit_edge": 0.6143,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "701538",
        "player_name": "Jackson Merrill",
        "offense_factor": 1.0922,
        "quality_score": 1.2295,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "701538",
          "espn_rank": null
        },
        "metrics": {
          "pa": 619.0,
          "k_percent": 24.1,
          "bb_percent": 6.2,
          "woba": 0.32,
          "xwoba": 0.347,
          "xba": 0.27,
          "xslg": 0.491,
          "sweet_spot_percent": 39.8,
          "barrel_batted_rate": 12.4,
          "hard_hit_percent": 48.7,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 14.3,
          "whiff_percent": 27.6,
          "swing_percent": 56.1
        },
        "components": {
          "expected_quality": 1.3041,
          "regression_edge": 0.7714,
          "xwoba_edge": 1.3714,
          "xba_edge": 0.9714,
          "xslg_edge": 1.8286,
          "barrel_edge": 1.2889,
          "hard_hit_edge": 1.5857,
          "exit_velocity_edge": 1.24,
          "sweet_spot_edge": 1.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "630105",
        "player_name": "Jake Cronenworth",
        "offense_factor": 0.9549,
        "quality_score": -0.6015,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "630105",
          "espn_rank": null
        },
        "metrics": {
          "pa": 383.0,
          "k_percent": 22.8,
          "bb_percent": 8.9,
          "woba": 0.287,
          "xwoba": 0.275,
          "xba": 0.213,
          "xslg": 0.308,
          "sweet_spot_percent": 30.7,
          "barrel_batted_rate": 3.9,
          "hard_hit_percent": 29.7,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 11.4,
          "whiff_percent": 21.3,
          "swing_percent": 45.8
        },
        "components": {
          "expected_quality": -0.6436,
          "regression_edge": -0.3429,
          "xwoba_edge": -0.6857,
          "xba_edge": -0.6571,
          "xslg_edge": -0.7857,
          "barrel_edge": -0.6,
          "hard_hit_edge": -1.1286,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": -0.4333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "593428",
        "player_name": "Xander Bogaerts",
        "offense_factor": 1.0303,
        "quality_score": 0.404,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "593428",
          "espn_rank": null
        },
        "metrics": {
          "pa": 568.0,
          "k_percent": 18.0,
          "bb_percent": 12.7,
          "woba": 0.306,
          "xwoba": 0.325,
          "xba": 0.248,
          "xslg": 0.376,
          "sweet_spot_percent": 27.9,
          "barrel_batted_rate": 5.5,
          "hard_hit_percent": 42.3,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 6.7,
          "whiff_percent": 23.1,
          "swing_percent": 41.5
        },
        "components": {
          "expected_quality": 0.3813,
          "regression_edge": 0.5429,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.3429,
          "xslg_edge": 0.1857,
          "barrel_edge": -0.2444,
          "hard_hit_edge": 0.6714,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": -0.9,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "669134",
        "player_name": "Luis Campusano",
        "offense_factor": 1.0206,
        "quality_score": 0.274,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669134",
          "espn_rank": null
        },
        "metrics": {
          "pa": 226.0,
          "k_percent": 21.4,
          "bb_percent": 12.1,
          "woba": 0.353,
          "xwoba": 0.327,
          "xba": 0.239,
          "xslg": 0.391,
          "sweet_spot_percent": 37.7,
          "barrel_batted_rate": 8.1,
          "hard_hit_percent": 37.7,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 16.3,
          "whiff_percent": 26.0,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": 0.4396,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.8,
          "xba_edge": 0.0857,
          "xslg_edge": 0.4,
          "barrel_edge": 0.3333,
          "hard_hit_edge": 0.0143,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": 0.7333,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0241,
    "raw_average_factor": 1.0241,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "608324",
        "player_name": "Alex Bregman",
        "offense_factor": 1.0192,
        "quality_score": 0.2557,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "608324",
          "espn_rank": null
        },
        "metrics": {
          "pa": 669.0,
          "k_percent": 14.5,
          "bb_percent": 10.8,
          "woba": 0.357,
          "xwoba": 0.327,
          "xba": 0.252,
          "xslg": 0.391,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 37.7,
          "exit_velocity_avg": 88.2,
          "launch_angle_avg": 17.7,
          "whiff_percent": 15.6,
          "swing_percent": 41.6
        },
        "components": {
          "expected_quality": 0.4369,
          "regression_edge": -0.8571,
          "xwoba_edge": 0.8,
          "xba_edge": 0.4571,
          "xslg_edge": 0.4,
          "barrel_edge": -0.0444,
          "hard_hit_edge": 0.0143,
          "exit_velocity_edge": -0.08,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "691718",
        "player_name": "Pete Crow-Armstrong",
        "offense_factor": 1.0976,
        "quality_score": 1.3012,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "691718",
          "espn_rank": null
        },
        "metrics": {
          "pa": 668.0,
          "k_percent": 25.8,
          "bb_percent": 11.4,
          "woba": 0.4,
          "xwoba": 0.374,
          "xba": 0.264,
          "xslg": 0.508,
          "sweet_spot_percent": 38.1,
          "barrel_batted_rate": 13.3,
          "hard_hit_percent": 48.6,
          "exit_velocity_avg": 90.6,
          "launch_angle_avg": 22.0,
          "whiff_percent": 26.3,
          "swing_percent": 50.1
        },
        "components": {
          "expected_quality": 1.6339,
          "regression_edge": -0.7429,
          "xwoba_edge": 2.1429,
          "xba_edge": 0.8,
          "xslg_edge": 2.0714,
          "barrel_edge": 1.4889,
          "hard_hit_edge": 1.5714,
          "exit_velocity_edge": 0.88,
          "sweet_spot_edge": 0.8,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "RF",
        "player_id": "673548",
        "player_name": "Seiya Suzuki",
        "offense_factor": 1.0431,
        "quality_score": 0.5744,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "673548",
          "espn_rank": null
        },
        "metrics": {
          "pa": 585.0,
          "k_percent": 24.4,
          "bb_percent": 12.8,
          "woba": 0.366,
          "xwoba": 0.34,
          "xba": 0.246,
          "xslg": 0.427,
          "sweet_spot_percent": 36.9,
          "barrel_batted_rate": 10.7,
          "hard_hit_percent": 38.9,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 17.5,
          "whiff_percent": 23.5,
          "swing_percent": 40.2
        },
        "components": {
          "expected_quality": 0.7889,
          "regression_edge": -0.7429,
          "xwoba_edge": 1.1714,
          "xba_edge": 0.2857,
          "xslg_edge": 0.9143,
          "barrel_edge": 0.9111,
          "hard_hit_edge": 0.1857,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": 0.6,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "683737",
        "player_name": "Michael Busch",
        "offense_factor": 1.0342,
        "quality_score": 0.4558,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683737",
          "espn_rank": null
        },
        "metrics": {
          "pa": 658.0,
          "k_percent": 23.2,
          "bb_percent": 13.0,
          "woba": 0.333,
          "xwoba": 0.331,
          "xba": 0.233,
          "xslg": 0.402,
          "sweet_spot_percent": 34.3,
          "barrel_batted_rate": 9.1,
          "hard_hit_percent": 39.8,
          "exit_velocity_avg": 88.4,
          "launch_angle_avg": 15.6,
          "whiff_percent": 25.7,
          "swing_percent": 43.7
        },
        "components": {
          "expected_quality": 0.5393,
          "regression_edge": -0.0571,
          "xwoba_edge": 0.9143,
          "xba_edge": -0.0857,
          "xslg_edge": 0.5571,
          "barrel_edge": 0.5556,
          "hard_hit_edge": 0.3143,
          "exit_velocity_edge": 0.0,
          "sweet_spot_edge": 0.1667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "699393",
        "player_name": "Pedro Ramirez",
        "offense_factor": 0.9768,
        "quality_score": -0.3097,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "699393",
          "espn_rank": null
        },
        "metrics": {
          "pa": 231.0,
          "k_percent": 18.4,
          "bb_percent": 7.5,
          "woba": 0.315,
          "xwoba": 0.284,
          "xba": 0.242,
          "xslg": 0.342,
          "sweet_spot_percent": 29.7,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 39.0,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 12.6,
          "whiff_percent": 20.2,
          "swing_percent": 50.2
        },
        "components": {
          "expected_quality": -0.2159,
          "regression_edge": -0.8857,
          "xwoba_edge": -0.4286,
          "xba_edge": 0.1714,
          "xslg_edge": -0.3,
          "barrel_edge": -0.5556,
          "hard_hit_edge": 0.2,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": -0.6,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "664023",
        "player_name": "Ian Happ",
        "offense_factor": 1.0178,
        "quality_score": 0.2369,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "664023",
          "espn_rank": null
        },
        "metrics": {
          "pa": 587.0,
          "k_percent": 29.7,
          "bb_percent": 12.7,
          "woba": 0.325,
          "xwoba": 0.313,
          "xba": 0.208,
          "xslg": 0.39,
          "sweet_spot_percent": 31.8,
          "barrel_batted_rate": 11.1,
          "hard_hit_percent": 42.2,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 14.2,
          "whiff_percent": 30.3,
          "swing_percent": 43.6
        },
        "components": {
          "expected_quality": 0.3313,
          "regression_edge": -0.3429,
          "xwoba_edge": 0.4,
          "xba_edge": -0.8,
          "xslg_edge": 0.3857,
          "barrel_edge": 1.0,
          "hard_hit_edge": 0.6571,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": -0.25,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "663538",
        "player_name": "Nico Hoerner",
        "offense_factor": 1.0213,
        "quality_score": 0.2839,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663538",
          "espn_rank": null
        },
        "metrics": {
          "pa": 641.0,
          "k_percent": 8.4,
          "bb_percent": 6.2,
          "woba": 0.297,
          "xwoba": 0.322,
          "xba": 0.297,
          "xslg": 0.375,
          "sweet_spot_percent": 36.7,
          "barrel_batted_rate": 1.4,
          "hard_hit_percent": 29.1,
          "exit_velocity_avg": 85.9,
          "launch_angle_avg": 12.0,
          "whiff_percent": 11.8,
          "swing_percent": 47.7
        },
        "components": {
          "expected_quality": 0.2138,
          "regression_edge": 0.7143,
          "xwoba_edge": 0.6571,
          "xba_edge": 1.7429,
          "xslg_edge": 0.1714,
          "barrel_edge": -1.1556,
          "hard_hit_edge": -1.2143,
          "exit_velocity_edge": -1.0,
          "sweet_spot_edge": 0.5667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "608348",
        "player_name": "Carson Kelly",
        "offense_factor": 1.003,
        "quality_score": 0.0406,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "608348",
          "espn_rank": null
        },
        "metrics": {
          "pa": 400.0,
          "k_percent": 16.5,
          "bb_percent": 9.4,
          "woba": 0.32,
          "xwoba": 0.311,
          "xba": 0.244,
          "xslg": 0.372,
          "sweet_spot_percent": 31.6,
          "barrel_batted_rate": 5.2,
          "hard_hit_percent": 36.1,
          "exit_velocity_avg": 86.7,
          "launch_angle_avg": 13.3,
          "whiff_percent": 19.8,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": 0.089,
          "regression_edge": -0.2571,
          "xwoba_edge": 0.3429,
          "xba_edge": 0.2286,
          "xslg_edge": 0.1286,
          "barrel_edge": -0.3111,
          "hard_hit_edge": -0.2143,
          "exit_velocity_edge": -0.68,
          "sweet_spot_edge": -0.2833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "621020",
        "player_name": "Dansby Swanson",
        "offense_factor": 1.0036,
        "quality_score": 0.0476,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "621020",
          "espn_rank": null
        },
        "metrics": {
          "pa": 450.0,
          "k_percent": 23.7,
          "bb_percent": 10.5,
          "woba": 0.305,
          "xwoba": 0.301,
          "xba": 0.22,
          "xslg": 0.38,
          "sweet_spot_percent": 28.9,
          "barrel_batted_rate": 7.3,
          "hard_hit_percent": 40.6,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 15.5,
          "whiff_percent": 30.4,
          "swing_percent": 47.5
        },
        "components": {
          "expected_quality": 0.074,
          "regression_edge": -0.1143,
          "xwoba_edge": 0.0571,
          "xba_edge": -0.4571,
          "xslg_edge": 0.2429,
          "barrel_edge": 0.1556,
          "hard_hit_edge": 0.4286,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": -0.7333,
          "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"
}

Savant Pitcher Quality

Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away CHCTrue--0.258511.02200.96290.96601.0226neutral0.33000.303018.507.5022.307.7037.60
Home SDTrue--0.088611.00750.989710.9966neutral0.32200.2950219.2024.508.2032.70

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CHCTrueNone9485.04221100000000-0.2702
Home SDTrueNone9889.00229200000000-0.0483
Run FactorValue
away_runs_vs_home_pitcher1.0089
home_runs_vs_away_pitcher1.0203
home_pitcher_starter_only_factor1.0075
away_pitcher_starter_only_factor1.0220
home_pitcher_workload_share0.6296
away_pitcher_workload_share0.6667
home_pitcher_quality_edge0.1165
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "650633",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 730.0,
      "k_percent": 21.0,
      "bb_percent": 9.2,
      "woba": 0.295,
      "xwoba": 0.322,
      "sweet_spot_percent": 33.7,
      "barrel_batted_rate": 8.2,
      "hard_hit_percent": 32.7,
      "avg_best_speed": 75.9245,
      "avg_hyper_speed": 93.0549,
      "whiff_percent": 24.5,
      "swing_percent": 46.5
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6329,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.0356,
      "command_and_miss": -0.1057,
      "regression_edge": -0.7714,
      "xwoba_edge": -0.2857,
      "barrel_edge": -0.2222,
      "hard_hit_edge": 0.7429,
      "whiff_edge": -0.1,
      "bb_edge": 0.0,
      "pitch_design_score": -0.0483
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "650633",
      "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": 89.00166640531685,
        "release_spin_rate": 2291.8143101549963,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 89.00166640531685,
          "release_spin_rate": 2291.8143101549963,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0017,
        "release_spin_rate": 2291.8143,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0483,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.345,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.0886,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0075,
    "strikeout_factor": 0.9897,
    "walk_factor": 1.0,
    "homer_factor": 0.9966,
    "woba_minus_xwoba": -0.027,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "650633",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "571510",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 473.0,
      "k_percent": 18.5,
      "bb_percent": 7.5,
      "woba": 0.303,
      "xwoba": 0.33,
      "sweet_spot_percent": 33.1,
      "barrel_batted_rate": 7.7,
      "hard_hit_percent": 37.6,
      "avg_best_speed": 77.1423,
      "avg_hyper_speed": 93.9352,
      "whiff_percent": 22.3,
      "swing_percent": 49.2
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6329,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.1499,
      "command_and_miss": -0.2914,
      "regression_edge": -0.7714,
      "xwoba_edge": -0.5143,
      "barrel_edge": -0.1111,
      "hard_hit_edge": 0.0429,
      "whiff_edge": -0.4143,
      "bb_edge": 0.425,
      "pitch_design_score": -0.2702
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "571510",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 94,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 94,
        "pitch_usage": 0.0,
        "release_speed": 85.0398205022295,
        "release_spin_rate": 2211.404515069364,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 94,
          "pitch_usage": 0.0,
          "release_speed": 85.0398205022295,
          "release_spin_rate": 2211.404515069364,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 85.0398,
        "release_spin_rate": 2211.4045,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.2702,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.9297,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.2585,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.022,
    "strikeout_factor": 0.9629,
    "walk_factor": 0.966,
    "homer_factor": 1.0226,
    "woba_minus_xwoba": -0.027,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "571510",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0089,
    "home_runs_vs_away_pitcher": 1.0203,
    "home_pitcher_starter_only_factor": 1.0075,
    "away_pitcher_starter_only_factor": 1.022,
    "home_pitcher_workload_share": 0.6296,
    "away_pitcher_workload_share": 0.6667,
    "home_pitcher_quality_edge": 0.1165
  },
  "score_before": {
    "away_runs": 3.0,
    "home_runs": 5.0
  },
  "score_after": {
    "away_runs": 3.0268,
    "home_runs": 5.1016,
    "home_win_probability": 0.6785
  },
  "reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}

Team Form Snapshot

TeamLast-10 W-LWin %R/GRA/GRun DiffStreakOffenseDefense
Away CHC5-50.5004.103.3081Waveragestrong
Home SD8-20.8006.304.50182Whotaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away CHC89-730.5491470.907True
Home SD91-710.562410.253True
Signal---0.654-0.235applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-07-01SD @ CHC3 - 23CHC20blowout
2026-06-30SD @ CHC7 - 9CHC2close
2026-06-29SD @ CHC2 - 3CHC1close
2026-04-29CHC @ SD5 - 4CHC1close
2026-04-28CHC @ SD8 - 3CHC5blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target CHC--4----
Game target SD--5----
Player finalized CHC34751447
Player finalized SD32851437
Player model fractional CHC34.238.014.791.194.074.047.48
Player model fractional SD32.508.304.471.054.523.007.20
Simulation box CHC35842436
Simulation box SD339535310

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.

Pitching Snapshot

TeamRolePitcherPre IPPre ERPre SOPre HPre BBWeighted ERAWeighted WHIPBox Sync
Away CHCStarterMatthew Boyd657914.101.23True
Away CHCMiddle Reliever (High Leverage)Daniel Palencia101002.950.99True
Away CHCCloserJacob Webb102014.821.37True
Home SDStarterMichael King5.2035523.251.23True
Home SDMiddle Reliever (High Leverage)Bradgley Rodriguez1.1000001.980.98True
Home SDSetup ManAdrian Morejon110212.711.19True
Home SDCloserMason Miller101105.191.30True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
homeSDbatter3BManny Machadoworse102819predicted_SO2.0890boostworse
homeSDpitcherStarterMichael Kingneutral21111predicted_SO2.0000boostbetter
homeSDbatter1BTy Francedeboosted104655predicted_H1.9600boostbetter
homeSDbatterCLuis Campusanobetter115665predicted_RBI1.8200boostbetter
homeSDbatterSSXander Bogaertsworse116556predicted_RBI1.6200boostbetter
awayCHCbatterRFSeiya Suzukibetter84453predicted_RBI1.4700boostbetter
awayCHCbatterLFIan Happdeboosted104655predicted_SO-1.2270deboostbetter
homeSDbatterDHAustin Haysworse102837predicted_AB1.2220boostbetter
homeSDbatter2BJake Cronenworthworse1129110predicted_SO1.1020boostworse
awayCHCbatter2BNico Hoernerworse92718predicted_AB-1.0600deboostworse
awayCHCbatter1BMichael Buschworse103746predicted_SO-1.0320deboostbetter
homeSDpitcherMiddle Reliever (High Leverage)Bradgley Rodriguezworse20202predicted_SO-1.0000deboostworse
homeSDpitcherSetup ManAdrian Morejonworse10101predicted_SO-1.0000deboostworse
homeSDbatterCFJackson Merrillworse92718predicted_SO0.9810boostworse
awayCHCbatterSSDansby Swansonworse103746predicted_SO-0.9180deboostbetter
awayCHCbatterCCarson Kellybetter108273predicted_HR0.9100boostbetter
awayCHCbatter3BPedro Ramirezworse1129110predicted_AB0.8680boostbetter
awayCHCbatterCFPete Crow-Armstrongworse1239210predicted_SO0.8630boostworse
homeSDbatterRFFernando Tatis Jr.worse116556predicted_HR0.8200boostbetter
awayCHCbatterDHAlex Bregmanbetter94554predicted_SO-0.6620deboostbetter
homeSDbatterLFSamad Taylorworse91818predicted_BB0.6170boostbetter

This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.

Away Team: CHC

Away Pitcher Deep Analysis

FieldValue
PitcherMatthew Boyd
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.2585
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2702
Avg Velo85.0398
Avg Spin2211.4045
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER5
Pre H9
Pre BB1
Pre SO7
Season ERA3.9079
Season WHIP1.2079
Role Avg IP5.7580
Recent Avg IP5.9330
Last Start IP7
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHC",
    "games": 162,
    "wins": 89,
    "losses": 73,
    "win_pct": 0.5494,
    "runs_scored": 850.0,
    "runs_allowed": 703.0,
    "run_differential": 147.0,
    "run_differential_per_game": 0.9074,
    "avg_runs_scored": 5.2469,
    "avg_runs_allowed": 4.3395,
    "offense_index": 1.1673,
    "defense_index": 1.0358,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.3,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": 0.153
  },
  "opponent": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9915,
    "defense_index": 1.0693,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1884
  },
  "edges": {
    "quality_edge": -0.0354,
    "offense_edge": 0.1673,
    "opponent_offense_edge": -0.0085,
    "defense_strength": 0.0358,
    "opponent_defense_weakness": -0.0693,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 1.0,
    "run_prevention": 0.9968,
    "strikeout": 0.9996
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "571510",
    "profile": {
      "available": true,
      "pitcher_id": "571510",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 473.0,
        "k_percent": 18.5,
        "bb_percent": 7.5,
        "woba": 0.303,
        "xwoba": 0.33,
        "sweet_spot_percent": 33.1,
        "barrel_batted_rate": 7.7,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.1423,
        "avg_hyper_speed": 93.9352,
        "whiff_percent": 22.3,
        "swing_percent": 49.2
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1499,
        "command_and_miss": -0.2914,
        "regression_edge": -0.7714,
        "xwoba_edge": -0.5143,
        "barrel_edge": -0.1111,
        "hard_hit_edge": 0.0429,
        "whiff_edge": -0.4143,
        "bb_edge": 0.425,
        "pitch_design_score": -0.2702
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "571510",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 94,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 94,
          "pitch_usage": 0.0,
          "release_speed": 85.0398205022295,
          "release_spin_rate": 2211.404515069364,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 94,
            "pitch_usage": 0.0,
            "release_speed": 85.0398205022295,
            "release_spin_rate": 2211.404515069364,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 85.0398,
          "release_spin_rate": 2211.4045,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2702,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.9297,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2585,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.022,
      "strikeout_factor": 0.9629,
      "walk_factor": 0.966,
      "homer_factor": 1.0226,
      "woba_minus_xwoba": -0.027,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "571510",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.022,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.022,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.966,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0226,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9629,
        "adjusted": 4
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 60.2,
    "ER": 30,
    "H": 54,
    "BB": 20,
    "SO": 36,
    "HR": 9,
    "ERA": 4.450549450549451,
    "WHIP": 1.2197802197802199,
    "K9": 5.340659340659341,
    "HR9": 1.3351648351648353,
    "games_pitched": 10,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-24T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "571510",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 94,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 94,
    "pitch_usage": 0.0,
    "release_speed": 85.0398205022295,
    "release_spin_rate": 2211.404515069364,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 94,
      "pitch_usage": 0.0,
      "release_speed": 85.0398205022295,
      "release_spin_rate": 2211.404515069364,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 85.0398,
    "release_spin_rate": 2211.4045,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2702,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.9297,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 22.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8148,
    "prior_weight": 0.1852
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "571510",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 22,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 29.2,
        "ER": 12.0,
        "R": 13.0,
        "H": 26.0,
        "BB": 9.0,
        "SO": 20.0,
        "HR": 0.0,
        "BF": 119.0,
        "Pitches": 446.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.4,
        "R": 2.6,
        "H": 5.2,
        "BB": 1.8,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 23.8,
        "Pitches": 89.2
      },
      "rates": {
        "ERA": 3.6404,
        "WHIP": 1.1798,
        "ER_per_IP": 0.40449,
        "H_per_IP": 0.8764,
        "BB_per_IP": 0.30337,
        "SO_per_IP": 0.67416,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 60.2,
        "ER": 30.0,
        "R": 33.0,
        "H": 54.0,
        "BB": 20.0,
        "SO": 36.0,
        "HR": 9.0,
        "BF": 246.0,
        "Pitches": 913.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 3.0,
        "R": 3.3,
        "H": 5.4,
        "BB": 2.0,
        "SO": 3.6,
        "HR": 0.9,
        "BF": 24.6,
        "Pitches": 91.3
      },
      "rates": {
        "ERA": 4.4505,
        "WHIP": 1.2198,
        "ER_per_IP": 0.49451,
        "H_per_IP": 0.89011,
        "BB_per_IP": 0.32967,
        "SO_per_IP": 0.59341,
        "HR_per_IP": 0.14835
      }
    },
    "season": {
      "games": 22,
      "totals": {
        "IP": 126.2,
        "ER": 55.0,
        "R": 59.0,
        "H": 114.0,
        "BB": 39.0,
        "SO": 96.0,
        "HR": 15.0,
        "BF": 520.0,
        "Pitches": 1957.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.5,
        "R": 2.6818,
        "H": 5.1818,
        "BB": 1.7727,
        "SO": 4.3636,
        "HR": 0.6818,
        "BF": 23.6364,
        "Pitches": 88.9545
      },
      "rates": {
        "ERA": 3.9079,
        "WHIP": 1.2079,
        "ER_per_IP": 0.43421,
        "H_per_IP": 0.9,
        "BB_per_IP": 0.30789,
        "SO_per_IP": 0.75789,
        "HR_per_IP": 0.11842
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 2.706,
    "predicted_H": 5.376,
    "predicted_BB": 1.936,
    "predicted_SO": 4.24,
    "predicted_HR": 0.53,
    "predicted_ERA": 4.0957,
    "predicted_WHIP": 1.2297
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4282,
  "form_weight": 0.5718,
  "form_reliability": 0.8148,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 22.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8148,
    "prior_weight": 0.1852
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 5.0,
      "form": 2.706,
      "final": 3.6884,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 9.0,
      "form": 5.376,
      "final": 6.928,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.936,
      "final": 1.5352,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 4.24,
      "final": 5.422,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 3.0,
      "form": 0.53,
      "final": 1.5878,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.0957,
      "final": 4.0957,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2297,
      "final": 1.2297,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherDaniel Palencia
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0993
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo96.4368
Avg Spin2263.1692
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.3371
Season WHIP1.1124
Role Avg IP0.9570
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHC",
    "games": 162,
    "wins": 89,
    "losses": 73,
    "win_pct": 0.5494,
    "runs_scored": 850.0,
    "runs_allowed": 703.0,
    "run_differential": 147.0,
    "run_differential_per_game": 0.9074,
    "avg_runs_scored": 5.2469,
    "avg_runs_allowed": 4.3395,
    "offense_index": 1.1673,
    "defense_index": 1.0358,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.3,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": 0.153
  },
  "opponent": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9915,
    "defense_index": 1.0693,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1884
  },
  "edges": {
    "quality_edge": -0.0354,
    "offense_edge": 0.1673,
    "opponent_offense_edge": -0.0085,
    "defense_strength": 0.0358,
    "opponent_defense_weakness": -0.0693,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 1.0,
    "run_prevention": 0.9968,
    "strikeout": 0.9996
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "694037",
    "profile": {
      "available": true,
      "pitcher_id": "694037",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 102.0,
        "k_percent": 24.4,
        "bb_percent": 8.9,
        "woba": 0.299,
        "xwoba": 0.298,
        "sweet_spot_percent": 43.2,
        "barrel_batted_rate": 5.0,
        "hard_hit_percent": 30.9,
        "avg_best_speed": 79.3928,
        "avg_hyper_speed": 92.9337,
        "whiff_percent": 27.0,
        "swing_percent": 49.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2314,
        "command_and_miss": 0.2529,
        "regression_edge": 0.0286,
        "xwoba_edge": 0.4,
        "barrel_edge": 0.4889,
        "hard_hit_edge": 1.0,
        "whiff_edge": 0.2571,
        "bb_edge": 0.075,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "694037",
        "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": 96.43679841607258,
          "release_spin_rate": 2263.169217227211,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 96.43679841607258,
            "release_spin_rate": 2263.169217227211,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 96.4368,
          "release_spin_rate": 2263.1692,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.0993,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9916,
      "strikeout_factor": 1.0105,
      "walk_factor": 0.9973,
      "homer_factor": 0.959,
      "woba_minus_xwoba": 0.001,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "694037",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9962,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9962,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9988,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9816,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0047,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 5,
    "BB": 4,
    "SO": 6,
    "HR": 1,
    "ERA": 2.612903225806452,
    "WHIP": 0.870967741935484,
    "K9": 5.225806451612904,
    "HR9": 0.870967741935484,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-24T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "694037",
  "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": 96.43679841607258,
    "release_spin_rate": 2263.169217227211,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 96.43679841607258,
      "release_spin_rate": 2263.169217227211,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 96.4368,
    "release_spin_rate": 2263.1692,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.105,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5497,
    "prior_weight": 0.4503
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "694037",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 66.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.4,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 13.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3529,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 0.88235,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 3.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 4.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 39.0,
        "Pitches": 141.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.5,
        "BB": 0.4,
        "SO": 0.6,
        "HR": 0.1,
        "BF": 3.9,
        "Pitches": 14.1
      },
      "rates": {
        "ERA": 2.6129,
        "WHIP": 0.871,
        "ER_per_IP": 0.29032,
        "H_per_IP": 0.48387,
        "BB_per_IP": 0.3871,
        "SO_per_IP": 0.58065,
        "HR_per_IP": 0.09677
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 29.2,
        "ER": 11.0,
        "R": 12.0,
        "H": 23.0,
        "BB": 10.0,
        "SO": 30.0,
        "HR": 4.0,
        "BF": 120.0,
        "Pitches": 459.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3548,
        "R": 0.3871,
        "H": 0.7419,
        "BB": 0.3226,
        "SO": 0.9677,
        "HR": 0.129,
        "BF": 3.871,
        "Pitches": 14.8065
      },
      "rates": {
        "ERA": 3.3371,
        "WHIP": 1.1124,
        "ER_per_IP": 0.37079,
        "H_per_IP": 0.77528,
        "BB_per_IP": 0.33708,
        "SO_per_IP": 1.01124,
        "HR_per_IP": 0.13483
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.328,
    "predicted_H": 0.622,
    "predicted_BB": 0.369,
    "predicted_SO": 0.862,
    "predicted_HR": 0.101,
    "predicted_ERA": 2.9482,
    "predicted_WHIP": 0.991
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5403,
  "form_weight": 0.4597,
  "form_reliability": 0.5497,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.105,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5497,
    "prior_weight": 0.4503
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.328,
      "final": 0.1508,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.622,
      "final": 0.286,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.369,
      "final": 0.1696,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.862,
      "final": 0.9366,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.101,
      "final": 0.0464,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9482,
      "final": 2.9482,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.991,
      "final": 0.991,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherJacob Webb
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0181
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0513
Avg Velo88.9482
Avg Spin2428.0448
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO2
Season ERA3.3582
Season WHIP1.2537
Role Avg IP0.9850
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHC",
    "games": 162,
    "wins": 89,
    "losses": 73,
    "win_pct": 0.5494,
    "runs_scored": 850.0,
    "runs_allowed": 703.0,
    "run_differential": 147.0,
    "run_differential_per_game": 0.9074,
    "avg_runs_scored": 5.2469,
    "avg_runs_allowed": 4.3395,
    "offense_index": 1.1673,
    "defense_index": 1.0358,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.3,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": 0.153
  },
  "opponent": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9915,
    "defense_index": 1.0693,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1884
  },
  "edges": {
    "quality_edge": -0.0354,
    "offense_edge": 0.1673,
    "opponent_offense_edge": -0.0085,
    "defense_strength": 0.0358,
    "opponent_defense_weakness": -0.0693,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 1.0,
    "run_prevention": 0.9968,
    "strikeout": 0.9996
  },
  "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": 263.0,
        "k_percent": 25.7,
        "bb_percent": 8.8,
        "woba": 0.296,
        "xwoba": 0.32,
        "sweet_spot_percent": 40.0,
        "barrel_batted_rate": 7.7,
        "hard_hit_percent": 41.6,
        "avg_best_speed": 77.4355,
        "avg_hyper_speed": 94.2594,
        "whiff_percent": 33.3,
        "swing_percent": 50.0
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1426,
        "command_and_miss": 0.6564,
        "regression_edge": -0.6857,
        "xwoba_edge": -0.2286,
        "barrel_edge": -0.1111,
        "hard_hit_edge": -0.5286,
        "whiff_edge": 1.1571,
        "bb_edge": 0.1,
        "pitch_design_score": -0.0513
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "657097",
        "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": 88.94818426191407,
          "release_spin_rate": 2428.044813450196,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 88.94818426191407,
            "release_spin_rate": 2428.044813450196,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9482,
          "release_spin_rate": 2428.0448,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0513,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.3664,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0181,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9985,
      "strikeout_factor": 1.0669,
      "walk_factor": 0.992,
      "homer_factor": 1.0369,
      "woba_minus_xwoba": -0.024,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "657097",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9985,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9985,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.992,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0369,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0669,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 8,
    "H": 9,
    "BB": 5,
    "SO": 9,
    "HR": 3,
    "ERA": 7.714285714285715,
    "WHIP": 1.5000000000000002,
    "K9": 8.678571428571429,
    "HR9": 2.8928571428571432,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-27T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "657097",
  "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": 88.94818426191407,
    "release_spin_rate": 2428.044813450196,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 88.94818426191407,
      "release_spin_rate": 2428.044813450196,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9482,
    "release_spin_rate": 2428.0448,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0513,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.3664,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.787,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7339,
    "prior_weight": 0.2661
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "657097",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 68,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 3.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 23.0,
        "Pitches": 89.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.6,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 4.6,
        "Pitches": 17.8
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.3125,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.5625,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 8.0,
        "R": 8.0,
        "H": 9.0,
        "BB": 5.0,
        "SO": 9.0,
        "HR": 3.0,
        "BF": 43.0,
        "Pitches": 171.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 0.9,
        "BB": 0.5,
        "SO": 0.9,
        "HR": 0.3,
        "BF": 4.3,
        "Pitches": 17.1
      },
      "rates": {
        "ERA": 7.7143,
        "WHIP": 1.5,
        "ER_per_IP": 0.85714,
        "H_per_IP": 0.96429,
        "BB_per_IP": 0.53571,
        "SO_per_IP": 0.96429,
        "HR_per_IP": 0.32143
      }
    },
    "season": {
      "games": 68,
      "totals": {
        "IP": 67.0,
        "ER": 25.0,
        "R": 28.0,
        "H": 59.0,
        "BB": 25.0,
        "SO": 73.0,
        "HR": 10.0,
        "BF": 284.0,
        "Pitches": 1139.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3676,
        "R": 0.4118,
        "H": 0.8676,
        "BB": 0.3676,
        "SO": 1.0735,
        "HR": 0.1471,
        "BF": 4.1765,
        "Pitches": 16.75
      },
      "rates": {
        "ERA": 3.3582,
        "WHIP": 1.2537,
        "ER_per_IP": 0.37313,
        "H_per_IP": 0.8806,
        "BB_per_IP": 0.37313,
        "SO_per_IP": 1.08955,
        "HR_per_IP": 0.14925
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.535,
    "predicted_H": 0.887,
    "predicted_BB": 0.479,
    "predicted_SO": 1.028,
    "predicted_HR": 0.206,
    "predicted_ERA": 4.8174,
    "predicted_WHIP": 1.3655
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4624,
  "form_weight": 0.5376,
  "form_reliability": 0.7339,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.787,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7339,
    "prior_weight": 0.2661
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.535,
      "final": 0.2876,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.887,
      "final": 0.4768,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.479,
      "final": 0.7199,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.028,
      "final": 1.4775,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.206,
      "final": 0.1107,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.8174,
      "final": 4.8174,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3655,
      "final": 1.3655,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
Alex Bregman (608324) · BATTER · DH · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 681
All-history rows before 20260929: 681
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2699
Diff (system - data): -0.0029
System opponent_avg: 0.7530

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2140.0001.000Hitting_2B0.2101.000-0.210-1.000
predicted_3B0.0130.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.9224.0004.000Hitting_AB4.0104.000-0.0100.000
predicted_AVG0.2670.2500.250Hitting_AVG0.2701.000-0.020-0.750
predicted_BB0.4941.0000.000Hitting_BB0.5181.0000.4820.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.0451.0001.000Hitting_H1.0824.000-0.082-3.000
predicted_HR0.1820.0000.000Hitting_HR0.1862.000-0.186-2.000
predicted_OBP0.3490.4000.250Hitting_OBP0.3621.0000.038-0.600
predicted_R0.5970.0001.000Hitting_R0.6283.000-0.628-3.000
predicted_RBI0.6040.0001.000Hitting_RBI0.6334.000-0.633-4.000
predicted_SLG0.4670.2500.500Hitting_SLG0.4682.750-0.218-2.500
predicted_SO0.6620.0000.000Hitting_SO0.6620.000-0.6620.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_BB: 0.4940 -> 1.0000 (boost 0.5060, better)
Biggest Deboostpredicted_SO: 0.6620 -> 0.0000 (deboost -0.6620, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53241predicted_RBI: 0.6040 -> 0.6649 (boost 0.0609, better)predicted_AB: 3.9220 -> 3.8489 (deboost -0.0731, 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.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_SO: 0.6065 -> 1.0000 (boost 0.3935, worse)predicted_BB: 0.5029 -> 0.0000 (deboost -0.5029, worse)AB rounded to 4 (raw=3.92), rates preserved: AVG=0.250 HR/AB=0.054
6bvp_blend11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.875)
7consistency_constraints11010predicted_R: 0.6145 -> 1.0000 (boost 0.3855, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine62433predicted_2B: 0.0000 -> 0.1737 (boost 0.1737, better)predicted_RBI: 1.0000 -> 0.4696 (deboost -0.5304, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63342predicted_2B: 0.1737 -> 1.0000 (boost 0.8263, better)predicted_SO: 0.5928 -> 0.0000 (deboost -0.5928, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context62415predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference30312-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.4190 -> 0.5038 (boost 0.0848, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "608324",
  "player_name": "Alex Bregman",
  "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.214,
        "predicted_3B": 0.013,
        "predicted_AB": 3.922,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.494,
        "predicted_H": 1.045,
        "predicted_HR": 0.182,
        "predicted_OBP": 0.349,
        "predicted_R": 0.597,
        "predicted_RBI": 0.604,
        "predicted_SLG": 0.467,
        "predicted_SO": 0.662
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.2206,
        "predicted_3B": 0.02,
        "predicted_AB": 3.8489,
        "predicted_AVG": 0.2698,
        "predicted_BB": 0.5001,
        "predicted_H": 1.0367,
        "predicted_HBP": 0.087,
        "predicted_HR": 0.2113,
        "predicted_OBP": 0.3584,
        "predicted_R": 0.6141,
        "predicted_RBI": 0.6649,
        "predicted_SLG": 0.5027,
        "predicted_SO": 0.6099
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.214,
          "after": 0.2206,
          "delta": 0.0066,
          "percent_delta": 0.0308,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.02,
          "delta": 0.007,
          "percent_delta": 0.5385,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.922,
          "after": 3.8489,
          "delta": -0.0731,
          "percent_delta": -0.0186,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2698,
          "delta": 0.0028,
          "percent_delta": 0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.494,
          "after": 0.5001,
          "delta": 0.0061,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.045,
          "after": 1.0367,
          "delta": -0.0083,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.182,
          "after": 0.2113,
          "delta": 0.0293,
          "percent_delta": 0.161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.349,
          "after": 0.3584,
          "delta": 0.0094,
          "percent_delta": 0.0269,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.597,
          "after": 0.6141,
          "delta": 0.0171,
          "percent_delta": 0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.604,
          "after": 0.6649,
          "delta": 0.0609,
          "percent_delta": 0.1008,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.467,
          "after": 0.5027,
          "delta": 0.0357,
          "percent_delta": 0.0764,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.662,
          "after": 0.6099,
          "delta": -0.0521,
          "percent_delta": -0.0787,
          "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_RBI",
          "before": 0.604,
          "after": 0.6649,
          "delta": 0.0609,
          "percent_delta": 0.1008,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.922,
          "after": 3.8489,
          "delta": -0.0731,
          "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": 154
      }
    },
    {
      "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.2206,
        "predicted_3B": 0.02,
        "predicted_AB": 3.8489,
        "predicted_AVG": 0.2696,
        "predicted_BB": 0.5029,
        "predicted_H": 1.0375,
        "predicted_HBP": 0.087,
        "predicted_HR": 0.2137,
        "predicted_OBP": 0.354,
        "predicted_R": 0.6145,
        "predicted_RBI": 0.6653,
        "predicted_SLG": 0.5038,
        "predicted_SO": 0.6065
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2206,
          "after": 0.2206,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.02,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8489,
          "after": 3.8489,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2698,
          "after": 0.2696,
          "delta": -0.0002,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5001,
          "after": 0.5029,
          "delta": 0.0028,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0367,
          "after": 1.0375,
          "delta": 0.0008,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.087,
          "after": 0.087,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2113,
          "after": 0.2137,
          "delta": 0.0024,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3584,
          "after": 0.354,
          "delta": -0.0044,
          "percent_delta": -0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6141,
          "after": 0.6145,
          "delta": 0.0004,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6649,
          "after": 0.6653,
          "delta": 0.0004,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5027,
          "after": 0.5038,
          "delta": 0.0011,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6099,
          "after": 0.6065,
          "delta": -0.0034,
          "percent_delta": -0.0056,
          "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": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.250 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2206,
          "after": 0.0,
          "delta": -0.2206,
          "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.8489,
          "after": 4.0,
          "delta": 0.1511,
          "percent_delta": 0.0393,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5029,
          "after": 0.0,
          "delta": -0.5029,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0375,
          "after": 1.0,
          "delta": -0.0375,
          "percent_delta": -0.0361,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.087,
          "after": 0.0,
          "delta": -0.087,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2137,
          "after": 0.0,
          "delta": -0.2137,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6653,
          "after": 1.0,
          "delta": 0.3347,
          "percent_delta": 0.5031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6065,
          "after": 1.0,
          "delta": 0.3935,
          "percent_delta": 0.6488,
          "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.6065,
          "after": 1.0,
          "delta": 0.3935,
          "percent_delta": 0.6488,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5029,
          "after": 0.0,
          "delta": -0.5029,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.875)",
      "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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "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": 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": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.6145,
          "after": 1.0,
          "delta": 0.3855,
          "percent_delta": 0.6273,
          "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.6145,
          "after": 1.0,
          "delta": 0.3855,
          "percent_delta": 0.6273,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1737,
        "predicted_3B": 0.0098,
        "predicted_BB": 0.4699,
        "predicted_H": 0.9282,
        "predicted_HR": 0.1379,
        "predicted_RBI": 0.4696,
        "predicted_SO": 0.5928
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1737,
          "delta": 0.1737,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0098,
          "delta": 0.0098,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4699,
          "delta": -0.5301,
          "percent_delta": -0.5301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9282,
          "delta": -0.0718,
          "percent_delta": -0.0718,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1379,
          "delta": 0.1379,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4696,
          "delta": -0.5304,
          "percent_delta": -0.5304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.5928,
          "delta": -0.4072,
          "percent_delta": -0.4072,
          "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_2B",
          "before": 0.0,
          "after": 0.1737,
          "delta": 0.1737,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4696,
          "delta": -0.5304,
          "percent_delta": -0.5304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1737,
          "after": 1.0,
          "delta": 0.8263,
          "percent_delta": 4.7571,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0098,
          "after": 0.0,
          "delta": -0.0098,
          "percent_delta": -1.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_BB",
          "before": 0.4699,
          "after": 0.0,
          "delta": -0.4699,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9282,
          "after": 1.0,
          "delta": 0.0718,
          "percent_delta": 0.0774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1379,
          "after": 0.0,
          "delta": -0.1379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4696,
          "after": 1.0,
          "delta": 0.5304,
          "percent_delta": 1.1295,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5928,
          "after": 0.0,
          "delta": -0.5928,
          "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_2B",
          "before": 0.1737,
          "after": 1.0,
          "delta": 0.8263,
          "percent_delta": 4.7571,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5928,
          "after": 0.0,
          "delta": -0.5928,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.254,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.344,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.419,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2696,
          "after": 0.254,
          "delta": -0.0156,
          "percent_delta": -0.0579,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.354,
          "after": 0.344,
          "delta": -0.01,
          "percent_delta": -0.0282,
          "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.5038,
          "after": 0.419,
          "delta": -0.0848,
          "percent_delta": -0.1683,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "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_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 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_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": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "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": 12,
      "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.2696,
        "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.354,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5038,
        "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.254,
          "after": 0.2696,
          "delta": 0.0156,
          "percent_delta": 0.0613,
          "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.344,
          "after": 0.354,
          "delta": 0.01,
          "percent_delta": 0.029,
          "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.419,
          "after": 0.5038,
          "delta": 0.0848,
          "percent_delta": 0.2025,
          "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.419,
          "after": 0.5038,
          "delta": 0.0848,
          "percent_delta": 0.2025,
          "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.013,
        "after": 0.0,
        "delta": -0.013,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.922,
        "after": 4.0,
        "delta": 0.078,
        "percent_delta": 0.0199,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.2696,
        "delta": 0.0026,
        "percent_delta": 0.0097,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.494,
        "after": 1.0,
        "delta": 0.506,
        "percent_delta": 1.0243,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.045,
        "after": 1.0,
        "delta": -0.045,
        "percent_delta": -0.0431,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.182,
        "after": 0.0,
        "delta": -0.182,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.349,
        "after": 0.354,
        "delta": 0.005,
        "percent_delta": 0.0143,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.597,
        "after": 0.0,
        "delta": -0.597,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.604,
        "after": 0.0,
        "delta": -0.604,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.467,
        "after": 0.5038,
        "delta": 0.0368,
        "percent_delta": 0.0788,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.662,
        "after": 0.0,
        "delta": -0.662,
        "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.494,
        "after": 1.0,
        "delta": 0.506,
        "percent_delta": 1.0243,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.662,
        "after": 0.0,
        "delta": -0.662,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.214-
predicted_3B0.013-
predicted_AB3.922-
predicted_AVG0.267-
predicted_BB0.494-
predicted_H1.045-
predicted_HR0.182-
predicted_OBP0.349-
predicted_R0.597-
predicted_RBI0.604-
predicted_SLG0.467-
predicted_SO0.662-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2210.007
predicted_3B0.0200.007
predicted_AB3.849-0.073
predicted_AVG0.2700.003
predicted_BB0.5000.006
predicted_H1.037-0.008
predicted_HBP0.087-
predicted_HR0.2110.029
predicted_OBP0.3580.009
predicted_R0.6140.017
predicted_RBI0.6650.061
predicted_SLG0.5030.036
predicted_SO0.610-0.052
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2210.000
predicted_3B0.0200.000
predicted_AB3.8490.000
predicted_AVG0.270-0.000
predicted_BB0.5030.003
predicted_H1.0380.001
predicted_HBP0.0870.000
predicted_HR0.2140.002
predicted_OBP0.354-0.004
predicted_R0.6150.000
predicted_RBI0.6650.000
predicted_SLG0.5040.001
predicted_SO0.607-0.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.92), rates preserved: AVG=0.250 HR/AB=0.054

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.875)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1740.174
3B0.0100.010
BB0.470-0.530
H0.928-0.072
HR0.1380.138
RBI0.470-0.530
SO0.593-0.407
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.826
3B0.000-0.010
AB4.0000.000
BB0.000-0.470
H1.0000.072
HR0.000-0.138
R1.0000.000
RBI1.0000.530
SO0.000-0.593
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.221
predicted_3B0.000-0.020
predicted_AB4.0000.151
predicted_AVG0.254-0.016
predicted_BB1.0000.497
predicted_H1.000-0.038
predicted_HR0.000-0.214
predicted_OBP0.344-0.010
predicted_R1.0000.385
predicted_RBI1.0000.335
predicted_SLG0.419-0.085
predicted_SO1.0000.393
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 3.922
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0000.0002.0005.0004.0003.0002.0000.27780.38100.66670.27780.11110.27780.16670.1111
last_100.2010-34.00010.0003.0001.0003.0009.0006.0005.0003.0000.29410.41460.70590.29410.08820.26470.14710.0882
season0.60154-604.000161.00033.0002.00028.00093.00092.00076.000102.0000.26660.35670.46690.26660.04640.15400.12580.1689
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2290
predicted_3B0.0290
predicted_AB3.7550
predicted_AVG0.2733
predicted_BB0.5080
predicted_H1.0260
predicted_HBP0.0870
predicted_HR0.2490
predicted_OBP0.3704
predicted_R0.6360
predicted_RBI0.7430
predicted_SLG0.5486
predicted_SO0.5430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21400.22900.2206model_form_blend
predicted_3B0.01300.02900.0200model_form_blend
predicted_AB3.92203.75503.8489model_form_blend
predicted_AVG0.26700.27330.2698model_form_blend
predicted_BB0.49400.50800.5001model_form_blend
predicted_H1.04501.02601.0367model_form_blend
predicted_HBP-0.08700.0870form_only
predicted_HR0.18200.24900.2113model_form_blend
predicted_OBP0.34900.37040.3584model_form_blend
predicted_R0.59700.63600.6141model_form_blend
predicted_RBI0.60400.74300.6649model_form_blend
predicted_SLG0.46700.54860.5027model_form_blend
predicted_SO0.66200.54300.6099model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date681
Season rows before report date681
Report year2026
Profile rows used154
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG1.0
Hitting_BB1
Hitting_GIDP0
Hitting_H4
Hitting_HBP0
Hitting_HR2
Hitting_IBB0
Hitting_R3
Hitting_RBI4
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB11
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260927_CHC@BOS
game_typefull
mlbID608324
playerID608324
playerNameAlex Bregman
pos3B
startedTrue
startingPositionDH
teamCHC
teamID5
game_date2026-09-27
sl_k_percent14.5
sl_bb_percent10.8
sl_woba0.357
sl_xwoba0.327
sl_xba0.252
sl_xslg0.391
sl_sweet_spot_percent32.8
sl_barrel_batted_rate6.4
sl_hard_hit_percent37.7
sl_exit_velocity_avg88.2
sl_launch_angle_avg17.7
sl_whiff_percent15.6
sl_swing_percent41.6
Pete Crow-Armstrong (691718) · BATTER · CF · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 690
All-history rows before 20260929: 690
System season_avg: 0.2820
Data season_avg (2026 season-to-date): 0.2992
Diff (system - data): -0.0172
System opponent_avg: 0.3640
System season_avg diverges from 2026 season-to-date by -0.0172. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1940.0000.000Hitting_2B0.2030.000-0.2030.000
predicted_3B0.0500.0000.000Hitting_3B0.0520.000-0.0520.000
predicted_AB4.1405.0004.000Hitting_AB3.9481.0001.0524.000
predicted_AVG0.3140.2000.250Hitting_AVG0.2991.000-0.099-0.800
predicted_BB0.5120.0001.000Hitting_BB0.5390.000-0.5390.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H1.3001.0001.000Hitting_H1.1811.000-0.1810.000
predicted_HR0.2000.0001.000Hitting_HR0.3190.000-0.3190.000
predicted_OBP0.4030.2000.400Hitting_OBP0.3921.000-0.192-0.800
predicted_R0.7380.0001.000Hitting_R0.8030.000-0.8030.000
predicted_RBI0.5100.0001.000Hitting_RBI0.7580.000-0.7580.000
predicted_SLG0.4930.2001.000Hitting_SLG0.6191.000-0.419-0.800
predicted_SO1.1372.0001.000Hitting_SO1.1700.0000.8302.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics2
Worse Metrics10
Biggest Boostpredicted_SO: 1.1370 -> 2.0000 (boost 0.8630, worse)
Biggest Deboostpredicted_R: 0.7380 -> 0.0000 (deboost -0.7380, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61515predicted_SLG: 0.4930 -> 0.4995 (boost 0.0065, better)predicted_AB: 4.1400 -> 3.9397 (deboost -0.2003, 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.
3team_form_snapshot21111predicted_SLG: 0.4995 -> 0.5229 (boost 0.0234, better)predicted_OBP: 0.3868 -> 0.3782 (deboost -0.0086, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72534predicted_BB: 0.5294 -> 1.0000 (boost 0.4706, better)predicted_RBI: 0.4967 -> 0.0000 (deboost -0.4967, worse)AB rounded to 4 (raw=4.14), rates preserved: AVG=0.265 HR/AB=0.050
6consistency_constraints11010predicted_R: 0.6582 -> 1.0000 (boost 0.3418, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_RBI: 0.0000 -> 0.5772 (boost 0.5772, better)predicted_BB: 1.0000 -> 0.5643 (deboost -0.4357, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64251predicted_HR: 0.2317 -> 1.0000 (boost 0.7683, better)predicted_2B: 0.1649 -> 0.0000 (deboost -0.1649, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50505-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference42213predicted_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
11current_json_final33030predicted_AVG: 0.2330 -> 0.2946 (boost 0.0616, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.194,
        "predicted_3B": 0.05,
        "predicted_AB": 4.14,
        "predicted_AVG": 0.314,
        "predicted_BB": 0.512,
        "predicted_H": 1.3,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.403,
        "predicted_R": 0.738,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.493,
        "predicted_SO": 1.137
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1752,
        "predicted_3B": 0.0487,
        "predicted_AB": 3.9397,
        "predicted_AVG": 0.293,
        "predicted_BB": 0.5265,
        "predicted_H": 1.1598,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.2066,
        "predicted_OBP": 0.3868,
        "predicted_R": 0.6578,
        "predicted_RBI": 0.4964,
        "predicted_SLG": 0.4995,
        "predicted_SO": 1.091
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.1752,
          "delta": -0.0188,
          "percent_delta": -0.0969,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.05,
          "after": 0.0487,
          "delta": -0.0013,
          "percent_delta": -0.026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.14,
          "after": 3.9397,
          "delta": -0.2003,
          "percent_delta": -0.0484,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.314,
          "after": 0.293,
          "delta": -0.021,
          "percent_delta": -0.0669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.512,
          "after": 0.5265,
          "delta": 0.0145,
          "percent_delta": 0.0283,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3,
          "after": 1.1598,
          "delta": -0.1402,
          "percent_delta": -0.1078,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.2066,
          "delta": 0.0066,
          "percent_delta": 0.033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.403,
          "after": 0.3868,
          "delta": -0.0162,
          "percent_delta": -0.0402,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.738,
          "after": 0.6578,
          "delta": -0.0802,
          "percent_delta": -0.1087,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.4964,
          "delta": -0.0136,
          "percent_delta": -0.0267,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.493,
          "after": 0.4995,
          "delta": 0.0065,
          "percent_delta": 0.0132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.137,
          "after": 1.091,
          "delta": -0.046,
          "percent_delta": -0.0405,
          "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_SLG",
          "before": 0.493,
          "after": 0.4995,
          "delta": 0.0065,
          "percent_delta": 0.0132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.14,
          "after": 3.9397,
          "delta": -0.2003,
          "percent_delta": -0.0484,
          "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": 160
      }
    },
    {
      "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.1752,
        "predicted_3B": 0.0487,
        "predicted_AB": 3.9397,
        "predicted_AVG": 0.2946,
        "predicted_BB": 0.5294,
        "predicted_H": 1.1607,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.209,
        "predicted_OBP": 0.3782,
        "predicted_R": 0.6582,
        "predicted_RBI": 0.4967,
        "predicted_SLG": 0.5229,
        "predicted_SO": 1.0849
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1752,
          "after": 0.1752,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0487,
          "after": 0.0487,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9397,
          "after": 3.9397,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.293,
          "after": 0.2946,
          "delta": 0.0016,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5265,
          "after": 0.5294,
          "delta": 0.0029,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1598,
          "after": 1.1607,
          "delta": 0.0009,
          "percent_delta": 0.0008,
          "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.2066,
          "after": 0.209,
          "delta": 0.0024,
          "percent_delta": 0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3868,
          "after": 0.3782,
          "delta": -0.0086,
          "percent_delta": -0.0222,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6578,
          "after": 0.6582,
          "delta": 0.0004,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4964,
          "after": 0.4967,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4995,
          "after": 0.5229,
          "delta": 0.0234,
          "percent_delta": 0.0468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.091,
          "after": 1.0849,
          "delta": -0.0061,
          "percent_delta": -0.0056,
          "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.4995,
          "after": 0.5229,
          "delta": 0.0234,
          "percent_delta": 0.0468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3868,
          "after": 0.3782,
          "delta": -0.0086,
          "percent_delta": -0.0222,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.14), rates preserved: AVG=0.265 HR/AB=0.050",
      "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.1752,
          "after": 0.0,
          "delta": -0.1752,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0487,
          "after": 0.0,
          "delta": -0.0487,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9397,
          "after": 4.0,
          "delta": 0.0603,
          "percent_delta": 0.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5294,
          "after": 1.0,
          "delta": 0.4706,
          "percent_delta": 0.8889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1607,
          "after": 1.0,
          "delta": -0.1607,
          "percent_delta": -0.1385,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.042,
          "after": 0.0,
          "delta": -0.042,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.209,
          "after": 0.0,
          "delta": -0.209,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4967,
          "after": 0.0,
          "delta": -0.4967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0849,
          "after": 1.0,
          "delta": -0.0849,
          "percent_delta": -0.0783,
          "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.5294,
          "after": 1.0,
          "delta": 0.4706,
          "percent_delta": 0.8889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4967,
          "after": 0.0,
          "delta": -0.4967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.6582,
          "after": 1.0,
          "delta": 0.3418,
          "percent_delta": 0.5193,
          "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.6582,
          "after": 1.0,
          "delta": 0.3418,
          "percent_delta": 0.5193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1649,
        "predicted_3B": 0.0233,
        "predicted_BB": 0.5643,
        "predicted_H": 0.9224,
        "predicted_HR": 0.2317,
        "predicted_RBI": 0.5772,
        "predicted_SO": 1.0558
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1649,
          "delta": 0.1649,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0233,
          "delta": 0.0233,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5643,
          "delta": -0.4357,
          "percent_delta": -0.4357,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9224,
          "delta": -0.0776,
          "percent_delta": -0.0776,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2317,
          "delta": 0.2317,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5772,
          "delta": 0.5772,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0558,
          "delta": 0.0558,
          "percent_delta": 0.0558,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5772,
          "delta": 0.5772,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5643,
          "delta": -0.4357,
          "percent_delta": -0.4357,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1649,
          "after": 0.0,
          "delta": -0.1649,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0233,
          "after": 0.0,
          "delta": -0.0233,
          "percent_delta": -1.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_BB",
          "before": 0.5643,
          "after": 1.0,
          "delta": 0.4357,
          "percent_delta": 0.7721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9224,
          "after": 1.0,
          "delta": 0.0776,
          "percent_delta": 0.0841,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2317,
          "after": 1.0,
          "delta": 0.7683,
          "percent_delta": 3.3159,
          "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.5772,
          "after": 1.0,
          "delta": 0.4228,
          "percent_delta": 0.7325,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0558,
          "after": 1.0,
          "delta": -0.0558,
          "percent_delta": -0.0529,
          "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_HR",
          "before": 0.2317,
          "after": 1.0,
          "delta": 0.7683,
          "percent_delta": 3.3159,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1649,
          "after": 0.0,
          "delta": -0.1649,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.233,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.334,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.462,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2946,
          "after": 0.233,
          "delta": -0.0616,
          "percent_delta": -0.2091,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3782,
          "after": 0.334,
          "delta": -0.0442,
          "percent_delta": -0.1169,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5229,
          "after": 0.462,
          "delta": -0.0609,
          "percent_delta": -0.1165,
          "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": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 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": 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": 11,
      "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.2946,
        "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.3782,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5229,
        "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.233,
          "after": 0.2946,
          "delta": 0.0616,
          "percent_delta": 0.2645,
          "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.334,
          "after": 0.3782,
          "delta": 0.0442,
          "percent_delta": 0.1323,
          "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.462,
          "after": 0.5229,
          "delta": 0.0609,
          "percent_delta": 0.1319,
          "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_AVG",
          "before": 0.233,
          "after": 0.2946,
          "delta": 0.0616,
          "percent_delta": 0.2645,
          "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.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.314,
        "after": 0.2946,
        "delta": -0.0194,
        "percent_delta": -0.0618,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.512,
        "after": 0.0,
        "delta": -0.512,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.3,
        "after": 1.0,
        "delta": -0.3,
        "percent_delta": -0.2308,
        "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.403,
        "after": 0.3782,
        "delta": -0.0248,
        "percent_delta": -0.0615,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.738,
        "after": 0.0,
        "delta": -0.738,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.493,
        "after": 0.5229,
        "delta": 0.0299,
        "percent_delta": 0.0606,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.137,
        "after": 2.0,
        "delta": 0.863,
        "percent_delta": 0.759,
        "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": 1.137,
        "after": 2.0,
        "delta": 0.863,
        "percent_delta": 0.759,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.738,
        "after": 0.0,
        "delta": -0.738,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.194-
predicted_3B0.050-
predicted_AB4.140-
predicted_AVG0.314-
predicted_BB0.512-
predicted_H1.300-
predicted_HR0.200-
predicted_OBP0.403-
predicted_R0.738-
predicted_RBI0.510-
predicted_SLG0.493-
predicted_SO1.137-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.175-0.019
predicted_3B0.049-0.001
predicted_AB3.940-0.200
predicted_AVG0.293-0.021
predicted_BB0.5260.014
predicted_H1.160-0.140
predicted_HBP0.042-
predicted_HR0.2070.007
predicted_OBP0.387-0.016
predicted_R0.658-0.080
predicted_RBI0.496-0.014
predicted_SLG0.4990.007
predicted_SO1.091-0.046
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1750.000
predicted_3B0.0490.000
predicted_AB3.9400.000
predicted_AVG0.2950.002
predicted_BB0.5290.003
predicted_H1.1610.001
predicted_HBP0.0420.000
predicted_HR0.2090.002
predicted_OBP0.378-0.009
predicted_R0.6580.000
predicted_RBI0.4970.000
predicted_SLG0.5230.023
predicted_SO1.085-0.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.14), rates preserved: AVG=0.265 HR/AB=0.050

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1650.165
3B0.0230.023
BB0.564-0.436
H0.922-0.078
HR0.2320.232
RBI0.5770.577
SO1.0560.056
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.165
3B0.000-0.023
AB4.0000.000
BB1.0000.436
H1.0000.078
HR1.0000.768
R1.0000.000
RBI1.0000.423
SO1.000-0.056
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.175
predicted_3B0.000-0.049
predicted_AB4.0000.060
predicted_AVG0.233-0.062
predicted_BB1.0000.471
predicted_H1.000-0.161
predicted_HR0.000-0.209
predicted_OBP0.334-0.044
predicted_R1.0000.342
predicted_RBI0.000-0.497
predicted_SLG0.462-0.061
predicted_SO1.000-0.085
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 160
Reference playing time: 4.140
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0003.0000.0000.0000.0000.0000.0003.0004.0000.20000.33330.20000.20000.00000.00000.20000.2667
last_100.2010-38.00011.0002.0001.0003.0005.0007.0006.00010.0000.28950.38640.63160.28950.07900.13160.15790.2632
season0.60160-618.000174.00031.0008.00045.000107.000118.00082.000182.0000.28160.37430.57610.28160.07280.17310.13270.2945
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1510
predicted_3B0.0470
predicted_AB3.6830
predicted_AVG0.2661
predicted_BB0.5450
predicted_H0.9800
predicted_HBP0.0420
predicted_HR0.2150
predicted_OBP0.3660
predicted_R0.5550
predicted_RBI0.4790
predicted_SLG0.5078
predicted_SO1.0320
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.15100.1752model_form_blend
predicted_3B0.05000.04700.0487model_form_blend
predicted_AB4.14003.68303.9397model_form_blend
predicted_AVG0.31400.26610.2930model_form_blend
predicted_BB0.51200.54500.5265model_form_blend
predicted_H1.30000.98001.1598model_form_blend
predicted_HBP-0.04200.0420form_only
predicted_HR0.20000.21500.2066model_form_blend
predicted_OBP0.40300.36600.3868model_form_blend
predicted_R0.73800.55500.6578model_form_blend
predicted_RBI0.51000.47900.4964model_form_blend
predicted_SLG0.49300.50780.4995model_form_blend
predicted_SO1.13701.03201.0910model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date690
Season rows before report date690
Report year2026
Profile rows used160
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG1.0
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260927_CHC@BOS
game_typeshort
mlbID691718
playerID691718
playerNamePete Crow-Armstrong
posCF
startedTrue
startingPositionCF
teamCHC
teamID5
game_date2026-09-27
sl_k_percent25.8
sl_bb_percent11.4
sl_woba0.4
sl_xwoba0.374
sl_xba0.264
sl_xslg0.508
sl_sweet_spot_percent38.1
sl_barrel_batted_rate13.3
sl_hard_hit_percent48.6
sl_exit_velocity_avg90.6
sl_launch_angle_avg22.0
sl_whiff_percent26.3
sl_swing_percent50.1
Seiya Suzuki (673548) · BATTER · RF · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 600
All-history rows before 20260929: 600
System season_avg: 0.2720
Data season_avg (2026 season-to-date): 0.2740
Diff (system - data): -0.0020
System opponent_avg: 0.5000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2200.0000.000Hitting_2B0.2330.000-0.2330.000
predicted_3B0.0070.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.4403.0004.000Hitting_AB3.9423.000-0.9420.000
predicted_AVG0.2810.3330.250Hitting_AVG0.2740.6670.059-0.333
predicted_BB0.5671.0001.000Hitting_BB0.6001.0000.4000.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.2501.0001.000Hitting_H1.0802.000-0.080-1.000
predicted_HR0.2001.0000.000Hitting_HR0.1900.0000.8101.000
predicted_OBP0.3710.5000.400Hitting_OBP0.3740.7500.126-0.250
predicted_R0.6811.0001.000Hitting_R0.7530.0000.2471.000
predicted_RBI0.5302.0001.000Hitting_RBI0.6520.0001.3482.000
predicted_SLG0.4741.3330.250Hitting_SLG0.4820.6670.8510.667
predicted_SO1.0781.0001.000Hitting_SO1.0881.000-0.0880.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics8
Boosted Metrics4
Deboosted Metrics4
Better Metrics5
Worse Metrics3
Biggest Boostpredicted_RBI: 0.5300 -> 2.0000 (boost 1.4700, better)
Biggest Deboostpredicted_AB: 4.4400 -> 3.0000 (deboost -1.4400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_SLG: 0.4740 -> 0.4791 (boost 0.0051, better)predicted_AB: 4.4400 -> 4.2099 (deboost -0.2301, 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.
3team_form_snapshot10101-predicted_OBP: 0.3745 -> 0.3682 (deboost -0.0063, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_BB: 0.5535 -> 1.0000 (boost 0.4465, better)predicted_RBI: 0.5207 -> 0.0000 (deboost -0.5207, worse)AB rounded to 4 (raw=4.44), rates preserved: AVG=0.255 HR/AB=0.044
6consistency_constraints11010predicted_R: 0.6569 -> 1.0000 (boost 0.3431, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_RBI: 0.0000 -> 0.5315 (boost 0.5315, better)predicted_BB: 1.0000 -> 0.5630 (deboost -0.4370, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation53232predicted_RBI: 0.5315 -> 1.0000 (boost 0.4685, better)predicted_2B: 0.1606 -> 0.0000 (deboost -0.1606, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference32121predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3970 -> 0.4779 (boost 0.0809, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "673548",
  "player_name": "Seiya Suzuki",
  "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.22,
        "predicted_3B": 0.007,
        "predicted_AB": 4.44,
        "predicted_AVG": 0.281,
        "predicted_BB": 0.567,
        "predicted_H": 1.25,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.371,
        "predicted_R": 0.681,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.474,
        "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.2082,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.2099,
        "predicted_AVG": 0.2849,
        "predicted_BB": 0.5504,
        "predicted_H": 1.1993,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1948,
        "predicted_OBP": 0.3745,
        "predicted_R": 0.6565,
        "predicted_RBI": 0.5204,
        "predicted_SLG": 0.4791,
        "predicted_SO": 1.1094
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.22,
          "after": 0.2082,
          "delta": -0.0118,
          "percent_delta": -0.0536,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.44,
          "after": 4.2099,
          "delta": -0.2301,
          "percent_delta": -0.0518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.281,
          "after": 0.2849,
          "delta": 0.0039,
          "percent_delta": 0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.567,
          "after": 0.5504,
          "delta": -0.0166,
          "percent_delta": -0.0293,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.25,
          "after": 1.1993,
          "delta": -0.0507,
          "percent_delta": -0.0406,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.1948,
          "delta": -0.0052,
          "percent_delta": -0.026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.371,
          "after": 0.3745,
          "delta": 0.0035,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.681,
          "after": 0.6565,
          "delta": -0.0245,
          "percent_delta": -0.036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 0.5204,
          "delta": -0.0096,
          "percent_delta": -0.0181,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.474,
          "after": 0.4791,
          "delta": 0.0051,
          "percent_delta": 0.0108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.078,
          "after": 1.1094,
          "delta": 0.0314,
          "percent_delta": 0.0291,
          "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.474,
          "after": 0.4791,
          "delta": 0.0051,
          "percent_delta": 0.0108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.44,
          "after": 4.2099,
          "delta": -0.2301,
          "percent_delta": -0.0518,
          "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": 141
      }
    },
    {
      "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.2082,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.2099,
        "predicted_AVG": 0.2851,
        "predicted_BB": 0.5535,
        "predicted_H": 1.2003,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.197,
        "predicted_OBP": 0.3682,
        "predicted_R": 0.6569,
        "predicted_RBI": 0.5207,
        "predicted_SLG": 0.4779,
        "predicted_SO": 1.1032
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2082,
          "after": 0.2082,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2099,
          "after": 4.2099,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2849,
          "after": 0.2851,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5504,
          "after": 0.5535,
          "delta": 0.0031,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1993,
          "after": 1.2003,
          "delta": 0.001,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.041,
          "after": 0.041,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1948,
          "after": 0.197,
          "delta": 0.0022,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3745,
          "after": 0.3682,
          "delta": -0.0063,
          "percent_delta": -0.0168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6565,
          "after": 0.6569,
          "delta": 0.0004,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5204,
          "after": 0.5207,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4791,
          "after": 0.4779,
          "delta": -0.0012,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.1094,
          "after": 1.1032,
          "delta": -0.0062,
          "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.3745,
          "after": 0.3682,
          "delta": -0.0063,
          "percent_delta": -0.0168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.44), rates preserved: AVG=0.255 HR/AB=0.044",
      "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.2082,
          "after": 0.0,
          "delta": -0.2082,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2099,
          "after": 4.0,
          "delta": -0.2099,
          "percent_delta": -0.0499,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5535,
          "after": 1.0,
          "delta": 0.4465,
          "percent_delta": 0.8067,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2003,
          "after": 1.0,
          "delta": -0.2003,
          "percent_delta": -0.1669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.041,
          "after": 0.0,
          "delta": -0.041,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.197,
          "after": 0.0,
          "delta": -0.197,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5207,
          "after": 0.0,
          "delta": -0.5207,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1032,
          "after": 1.0,
          "delta": -0.1032,
          "percent_delta": -0.0935,
          "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_BB",
          "before": 0.5535,
          "after": 1.0,
          "delta": 0.4465,
          "percent_delta": 0.8067,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5207,
          "after": 0.0,
          "delta": -0.5207,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.6569,
          "after": 1.0,
          "delta": 0.3431,
          "percent_delta": 0.5223,
          "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.6569,
          "after": 1.0,
          "delta": 0.3431,
          "percent_delta": 0.5223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1606,
        "predicted_3B": 0.0092,
        "predicted_BB": 0.563,
        "predicted_H": 0.8738,
        "predicted_HR": 0.1562,
        "predicted_RBI": 0.5315,
        "predicted_SO": 1.0056
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1606,
          "delta": 0.1606,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0092,
          "delta": 0.0092,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.563,
          "delta": -0.437,
          "percent_delta": -0.437,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8738,
          "delta": -0.1262,
          "percent_delta": -0.1262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1562,
          "delta": 0.1562,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5315,
          "delta": 0.5315,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0056,
          "delta": 0.0056,
          "percent_delta": 0.0056,
          "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.0,
          "after": 0.5315,
          "delta": 0.5315,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.563,
          "delta": -0.437,
          "percent_delta": -0.437,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1606,
          "after": 0.0,
          "delta": -0.1606,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0092,
          "after": 0.0,
          "delta": -0.0092,
          "percent_delta": -1.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_BB",
          "before": 0.563,
          "after": 1.0,
          "delta": 0.437,
          "percent_delta": 0.7762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8738,
          "after": 1.0,
          "delta": 0.1262,
          "percent_delta": 0.1444,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1562,
          "after": 0.0,
          "delta": -0.1562,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5315,
          "after": 1.0,
          "delta": 0.4685,
          "percent_delta": 0.8815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0056,
          "after": 1.0,
          "delta": -0.0056,
          "percent_delta": -0.0056,
          "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.5315,
          "after": 1.0,
          "delta": 0.4685,
          "percent_delta": 0.8815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1606,
          "after": 0.0,
          "delta": -0.1606,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.228,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.397,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2851,
          "after": 0.228,
          "delta": -0.0571,
          "percent_delta": -0.2003,
          "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.3682,
          "after": 0.332,
          "delta": -0.0362,
          "percent_delta": -0.0983,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4779,
          "after": 0.397,
          "delta": -0.0809,
          "percent_delta": -0.1693,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "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": 10,
      "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": 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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "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": 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_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": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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.2851,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3682,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4779,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.228,
          "after": 0.2851,
          "delta": 0.0571,
          "percent_delta": 0.2505,
          "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.332,
          "after": 0.3682,
          "delta": 0.0362,
          "percent_delta": 0.109,
          "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.397,
          "after": 0.4779,
          "delta": 0.0809,
          "percent_delta": 0.2037,
          "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.397,
          "after": 0.4779,
          "delta": 0.0809,
          "percent_delta": 0.2037,
          "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.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.44,
        "after": 3.0,
        "delta": -1.44,
        "percent_delta": -0.3243,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.281,
        "after": 0.2851,
        "delta": 0.0041,
        "percent_delta": 0.0146,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.567,
        "after": 1.0,
        "delta": 0.433,
        "percent_delta": 0.7637,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.25,
        "after": 1.0,
        "delta": -0.25,
        "percent_delta": -0.2,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.2,
        "after": 1.0,
        "delta": 0.8,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.371,
        "after": 0.3682,
        "delta": -0.0028,
        "percent_delta": -0.0075,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.681,
        "after": 1.0,
        "delta": 0.319,
        "percent_delta": 0.4684,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 2.0,
        "delta": 1.47,
        "percent_delta": 2.7736,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.474,
        "after": 0.4779,
        "delta": 0.0039,
        "percent_delta": 0.0082,
        "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": 8,
      "boosted_metrics": 4,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 2.0,
        "delta": 1.47,
        "percent_delta": 2.7736,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.44,
        "after": 3.0,
        "delta": -1.44,
        "percent_delta": -0.3243,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.220-
predicted_3B0.007-
predicted_AB4.440-
predicted_AVG0.281-
predicted_BB0.567-
predicted_H1.250-
predicted_HR0.200-
predicted_OBP0.371-
predicted_R0.681-
predicted_RBI0.530-
predicted_SLG0.474-
predicted_SO1.078-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.208-0.012
predicted_3B0.006-0.001
predicted_AB4.210-0.230
predicted_AVG0.2850.004
predicted_BB0.550-0.017
predicted_H1.199-0.051
predicted_HBP0.041-
predicted_HR0.195-0.005
predicted_OBP0.3740.004
predicted_R0.656-0.025
predicted_RBI0.520-0.010
predicted_SLG0.4790.005
predicted_SO1.1090.031
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2080.000
predicted_3B0.0060.000
predicted_AB4.2100.000
predicted_AVG0.2850.000
predicted_BB0.5530.003
predicted_H1.2000.001
predicted_HBP0.0410.000
predicted_HR0.1970.002
predicted_OBP0.368-0.006
predicted_R0.6570.000
predicted_RBI0.5210.000
predicted_SLG0.478-0.001
predicted_SO1.103-0.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.44), rates preserved: AVG=0.255 HR/AB=0.044

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1610.161
3B0.0090.009
BB0.563-0.437
H0.874-0.126
HR0.1560.156
RBI0.5310.531
SO1.0060.006
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.161
3B0.000-0.009
AB4.0000.000
BB1.0000.437
H1.0000.126
HR0.000-0.156
R1.0000.000
RBI1.0000.469
SO1.000-0.006
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.208
predicted_3B0.000-0.006
predicted_AB4.000-0.210
predicted_AVG0.228-0.057
predicted_BB1.0000.447
predicted_H1.000-0.200
predicted_HR0.000-0.197
predicted_OBP0.332-0.036
predicted_R1.0000.343
predicted_RBI0.000-0.521
predicted_SLG0.397-0.081
predicted_SO1.000-0.103
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI2.0001.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 141
Reference playing time: 4.440
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0007.0001.0000.0001.0001.0003.0003.0006.0000.35000.43480.55000.35000.05000.05000.15000.3000
last_100.2010-41.00012.0001.0000.0002.0005.0005.0004.00014.0000.29270.36960.46340.29270.04880.12200.09760.3415
season0.60141-540.000147.00031.0001.00026.00086.00096.00080.000152.0000.27220.36940.47780.27220.04810.15930.14820.2815
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1930
predicted_3B0.0050
predicted_AB3.9130
predicted_AVG0.2899
predicted_BB0.5290
predicted_H1.1340
predicted_HBP0.0410
predicted_HR0.1880
predicted_OBP0.3790
predicted_R0.6250
predicted_RBI0.5080
predicted_SLG0.4856
predicted_SO1.1500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22000.19300.2082model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.44003.91304.2099model_form_blend
predicted_AVG0.28100.28990.2849model_form_blend
predicted_BB0.56700.52900.5504model_form_blend
predicted_H1.25001.13401.1993model_form_blend
predicted_HBP-0.04100.0410form_only
predicted_HR0.20000.18800.1948model_form_blend
predicted_OBP0.37100.37900.3745model_form_blend
predicted_R0.68100.62500.6565model_form_blend
predicted_RBI0.53000.50800.5204model_form_blend
predicted_SLG0.47400.48560.4791model_form_blend
predicted_SO1.07801.15001.1094model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date600
Season rows before report date600
Report year2026
Profile rows used141
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR1
R1
RBI2
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260925_CHC@BOS_2
game_typefull
mlbID673548
playerID673548
playerNameSeiya Suzuki
posRF
startedTrue
startingPositionRF
teamCHC
teamID5
game_date2026-09-25
sl_k_percent24.4
sl_bb_percent12.8
sl_woba0.366
sl_xwoba0.34
sl_xba0.246
sl_xslg0.427
sl_sweet_spot_percent36.9
sl_barrel_batted_rate10.7
sl_hard_hit_percent38.9
sl_exit_velocity_avg88.6
sl_launch_angle_avg17.5
sl_whiff_percent23.5
sl_swing_percent40.2
Michael Busch (683737) · BATTER · 1B · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 677
All-history rows before 20260929: 677
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2392
Diff (system - data): 0.0038
System opponent_avg: 0.1200

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1710.0000.000Hitting_2B0.1850.000-0.1850.000
predicted_3B0.0130.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB4.2004.0004.000Hitting_AB3.8773.0000.1231.000
predicted_AVG0.2640.5000.250Hitting_AVG0.2390.0000.2610.500
predicted_BB0.5760.0001.000Hitting_BB0.6070.000-0.6070.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H1.1102.0001.000Hitting_H0.9280.0001.0722.000
predicted_HR0.1400.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.3620.5000.400Hitting_OBP0.3510.0000.1490.500
predicted_R0.4871.0000.000Hitting_R0.5180.0000.4821.000
predicted_RBI0.3900.0000.000Hitting_RBI0.5230.000-0.5230.000
predicted_SLG0.3910.5000.250Hitting_SLG0.3910.0000.1090.500
predicted_SO1.0320.0001.000Hitting_SO1.0650.000-1.0650.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_H: 1.1100 -> 2.0000 (boost 0.8900, better)
Biggest Deboostpredicted_SO: 1.0320 -> 0.0000 (deboost -1.0320, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 4.2000 -> 3.9709 (deboost -0.2291, 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.
3team_form_snapshot21111predicted_SLG: 0.3849 -> 0.3985 (boost 0.0136, better)predicted_OBP: 0.3638 -> 0.3559 (deboost -0.0079, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61515predicted_BB: 0.5524 -> 1.0000 (boost 0.4476, better)predicted_RBI: 0.3538 -> 0.0000 (deboost -0.3538, worse)AB rounded to 4 (raw=4.20), rates preserved: AVG=0.238 HR/AB=0.029
6consistency_constraints10101-predicted_R: 0.4816 -> 0.0000 (deboost -0.4816, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_RBI: 0.0000 -> 0.4061 (boost 0.4061, better)predicted_BB: 1.0000 -> 0.5766 (deboost -0.4234, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_BB: 0.5766 -> 1.0000 (boost 0.4234, better)predicted_RBI: 0.4061 -> 0.0000 (deboost -0.4061, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2663 -> 0.2120 (deboost -0.0543, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference42231predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2120 -> 0.2663 (boost 0.0543, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.013,
        "predicted_AB": 4.2,
        "predicted_AVG": 0.264,
        "predicted_BB": 0.576,
        "predicted_H": 1.11,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.362,
        "predicted_R": 0.487,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.391,
        "predicted_SO": 1.032
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1412,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.9709,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.5493,
        "predicted_H": 1.0566,
        "predicted_HBP": 0.064,
        "predicted_HR": 0.1194,
        "predicted_OBP": 0.3638,
        "predicted_R": 0.4813,
        "predicted_RBI": 0.3536,
        "predicted_SLG": 0.3849,
        "predicted_SO": 1.0412
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.171,
          "after": 0.1412,
          "delta": -0.0298,
          "percent_delta": -0.1743,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0108,
          "delta": -0.0022,
          "percent_delta": -0.1692,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2,
          "after": 3.9709,
          "delta": -0.2291,
          "percent_delta": -0.0545,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.264,
          "after": 0.266,
          "delta": 0.002,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.576,
          "after": 0.5493,
          "delta": -0.0267,
          "percent_delta": -0.0464,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.11,
          "after": 1.0566,
          "delta": -0.0534,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1194,
          "delta": -0.0206,
          "percent_delta": -0.1471,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.362,
          "after": 0.3638,
          "delta": 0.0018,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.487,
          "after": 0.4813,
          "delta": -0.0057,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.3536,
          "delta": -0.0364,
          "percent_delta": -0.0933,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.391,
          "after": 0.3849,
          "delta": -0.0061,
          "percent_delta": -0.0156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.032,
          "after": 1.0412,
          "delta": 0.0092,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.2,
          "after": 3.9709,
          "delta": -0.2291,
          "percent_delta": -0.0545,
          "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": 158
      }
    },
    {
      "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.1412,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.9709,
        "predicted_AVG": 0.2663,
        "predicted_BB": 0.5524,
        "predicted_H": 1.0574,
        "predicted_HBP": 0.064,
        "predicted_HR": 0.1208,
        "predicted_OBP": 0.3559,
        "predicted_R": 0.4816,
        "predicted_RBI": 0.3538,
        "predicted_SLG": 0.3985,
        "predicted_SO": 1.0354
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1412,
          "after": 0.1412,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0108,
          "after": 0.0108,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9709,
          "after": 3.9709,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.2663,
          "delta": 0.0003,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5493,
          "after": 0.5524,
          "delta": 0.0031,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0566,
          "after": 1.0574,
          "delta": 0.0008,
          "percent_delta": 0.0008,
          "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.1194,
          "after": 0.1208,
          "delta": 0.0014,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3638,
          "after": 0.3559,
          "delta": -0.0079,
          "percent_delta": -0.0217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4813,
          "after": 0.4816,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3536,
          "after": 0.3538,
          "delta": 0.0002,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3849,
          "after": 0.3985,
          "delta": 0.0136,
          "percent_delta": 0.0353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0412,
          "after": 1.0354,
          "delta": -0.0058,
          "percent_delta": -0.0056,
          "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.3849,
          "after": 0.3985,
          "delta": 0.0136,
          "percent_delta": 0.0353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3638,
          "after": 0.3559,
          "delta": -0.0079,
          "percent_delta": -0.0217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.20), rates preserved: AVG=0.238 HR/AB=0.029",
      "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.1412,
          "after": 0.0,
          "delta": -0.1412,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0108,
          "after": 0.0,
          "delta": -0.0108,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9709,
          "after": 4.0,
          "delta": 0.0291,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5524,
          "after": 1.0,
          "delta": 0.4476,
          "percent_delta": 0.8103,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0574,
          "after": 1.0,
          "delta": -0.0574,
          "percent_delta": -0.0543,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.1208,
          "after": 0.0,
          "delta": -0.1208,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3538,
          "after": 0.0,
          "delta": -0.3538,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0354,
          "after": 1.0,
          "delta": -0.0354,
          "percent_delta": -0.0342,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5524,
          "after": 1.0,
          "delta": 0.4476,
          "percent_delta": 0.8103,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3538,
          "after": 0.0,
          "delta": -0.3538,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4816,
          "after": 0.0,
          "delta": -0.4816,
          "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.4816,
          "after": 0.0,
          "delta": -0.4816,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1437,
        "predicted_3B": 0.0101,
        "predicted_BB": 0.5766,
        "predicted_H": 0.7676,
        "predicted_HR": 0.1093,
        "predicted_RBI": 0.4061,
        "predicted_SO": 0.8885
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1437,
          "delta": 0.1437,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0101,
          "delta": 0.0101,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5766,
          "delta": -0.4234,
          "percent_delta": -0.4234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7676,
          "delta": -0.2324,
          "percent_delta": -0.2324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1093,
          "delta": 0.1093,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4061,
          "delta": 0.4061,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8885,
          "delta": -0.1115,
          "percent_delta": -0.1115,
          "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.0,
          "after": 0.4061,
          "delta": 0.4061,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5766,
          "delta": -0.4234,
          "percent_delta": -0.4234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1437,
          "after": 0.0,
          "delta": -0.1437,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0101,
          "after": 0.0,
          "delta": -0.0101,
          "percent_delta": -1.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_BB",
          "before": 0.5766,
          "after": 1.0,
          "delta": 0.4234,
          "percent_delta": 0.7343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7676,
          "after": 1.0,
          "delta": 0.2324,
          "percent_delta": 0.3028,
          "direction": "boost",
          "projection_effect": "better",
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4061,
          "after": 0.0,
          "delta": -0.4061,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8885,
          "after": 1.0,
          "delta": 0.1115,
          "percent_delta": 0.1255,
          "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.5766,
          "after": 1.0,
          "delta": 0.4234,
          "percent_delta": 0.7343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4061,
          "after": 0.0,
          "delta": -0.4061,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.212,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.348,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2663,
          "after": 0.212,
          "delta": -0.0543,
          "percent_delta": -0.2039,
          "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.3559,
          "after": 0.325,
          "delta": -0.0309,
          "percent_delta": -0.0868,
          "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.3985,
          "after": 0.348,
          "delta": -0.0505,
          "percent_delta": -0.1267,
          "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.2663,
          "after": 0.212,
          "delta": -0.0543,
          "percent_delta": -0.2039,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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_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_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": 11,
      "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.2663,
        "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.3559,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3985,
        "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.212,
          "after": 0.2663,
          "delta": 0.0543,
          "percent_delta": 0.2561,
          "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.325,
          "after": 0.3559,
          "delta": 0.0309,
          "percent_delta": 0.0951,
          "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.348,
          "after": 0.3985,
          "delta": 0.0505,
          "percent_delta": 0.1452,
          "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.212,
          "after": 0.2663,
          "delta": 0.0543,
          "percent_delta": 0.2561,
          "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.013,
        "after": 0.0,
        "delta": -0.013,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.2,
        "after": 4.0,
        "delta": -0.2,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.264,
        "after": 0.2663,
        "delta": 0.0023,
        "percent_delta": 0.0087,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.576,
        "after": 0.0,
        "delta": -0.576,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.11,
        "after": 2.0,
        "delta": 0.89,
        "percent_delta": 0.8018,
        "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.362,
        "after": 0.3559,
        "delta": -0.0061,
        "percent_delta": -0.0169,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.487,
        "after": 1.0,
        "delta": 0.513,
        "percent_delta": 1.0534,
        "direction": "boost",
        "projection_effect": "better",
        "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.3985,
        "delta": 0.0075,
        "percent_delta": 0.0192,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.032,
        "after": 0.0,
        "delta": -1.032,
        "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": 1.11,
        "after": 2.0,
        "delta": 0.89,
        "percent_delta": 0.8018,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.032,
        "after": 0.0,
        "delta": -1.032,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.171-
predicted_3B0.013-
predicted_AB4.200-
predicted_AVG0.264-
predicted_BB0.576-
predicted_H1.110-
predicted_HR0.140-
predicted_OBP0.362-
predicted_R0.487-
predicted_RBI0.390-
predicted_SLG0.391-
predicted_SO1.032-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.141-0.030
predicted_3B0.011-0.002
predicted_AB3.971-0.229
predicted_AVG0.2660.002
predicted_BB0.549-0.027
predicted_H1.057-0.053
predicted_HBP0.064-
predicted_HR0.119-0.021
predicted_OBP0.3640.002
predicted_R0.481-0.006
predicted_RBI0.354-0.036
predicted_SLG0.385-0.006
predicted_SO1.0410.009
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1410.000
predicted_3B0.0110.000
predicted_AB3.9710.000
predicted_AVG0.2660.000
predicted_BB0.5520.003
predicted_H1.0570.001
predicted_HBP0.0640.000
predicted_HR0.1210.001
predicted_OBP0.356-0.008
predicted_R0.4820.000
predicted_RBI0.3540.000
predicted_SLG0.3990.014
predicted_SO1.035-0.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.20), rates preserved: AVG=0.238 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1440.144
3B0.0100.010
BB0.577-0.423
H0.768-0.232
HR0.1090.109
RBI0.4060.406
SO0.888-0.112
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.144
3B0.000-0.010
AB4.0000.000
BB1.0000.423
H1.0000.232
HR0.000-0.109
R0.0000.000
RBI0.000-0.406
SO1.0000.112
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.141
predicted_3B0.000-0.011
predicted_AB4.0000.029
predicted_AVG0.212-0.054
predicted_BB1.0000.448
predicted_H1.000-0.057
predicted_HR0.000-0.121
predicted_OBP0.325-0.031
predicted_R0.000-0.482
predicted_RBI0.000-0.354
predicted_SLG0.348-0.051
predicted_SO1.000-0.035
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 158
Reference playing time: 4.200
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0000.0000.0000.0000.0002.0001.0005.0000.33330.36840.33330.33330.00000.00000.05560.2778
last_100.2010-35.00010.0000.0000.0001.0001.0005.0007.00012.0000.28570.41860.37140.28570.02860.02860.20000.3429
season0.60158-593.000144.00027.0002.00019.00075.00077.00091.000163.0000.24280.35240.39120.24280.03200.12650.15350.2749
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1030
predicted_3B0.0080
predicted_AB3.6770
predicted_AVG0.2686
predicted_BB0.5150
predicted_H0.9880
predicted_HBP0.0640
predicted_HR0.0930
predicted_OBP0.3662
predicted_R0.4740
predicted_RBI0.3070
predicted_SLG0.3770
predicted_SO1.0530
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17100.10300.1412model_form_blend
predicted_3B0.01300.00800.0108model_form_blend
predicted_AB4.20003.67703.9709model_form_blend
predicted_AVG0.26400.26860.2660model_form_blend
predicted_BB0.57600.51500.5493model_form_blend
predicted_H1.11000.98801.0566model_form_blend
predicted_HBP-0.06400.0640form_only
predicted_HR0.14000.09300.1194model_form_blend
predicted_OBP0.36200.36620.3638model_form_blend
predicted_R0.48700.47400.4813model_form_blend
predicted_RBI0.39000.30700.3536model_form_blend
predicted_SLG0.39100.37700.3849model_form_blend
predicted_SO1.03201.05301.0412model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date677
Season rows before report date677
Report year2026
Profile rows used158
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B0
HR0
R1
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260927_CHC@BOS
game_typefull
mlbID683737
playerID683737
playerNameMichael Busch
pos1B
startedTrue
startingPosition1B
teamCHC
teamID5
game_date2026-09-27
sl_k_percent23.2
sl_bb_percent13.0
sl_woba0.333
sl_xwoba0.331
sl_xba0.233
sl_xslg0.402
sl_sweet_spot_percent34.3
sl_barrel_batted_rate9.1
sl_hard_hit_percent39.8
sl_exit_velocity_avg88.4
sl_launch_angle_avg15.6
sl_whiff_percent25.7
sl_swing_percent43.7
Pedro Ramirez (699393) · BATTER · 3B · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 245
All-history rows before 20260929: 245
System season_avg: 0.2650
Data season_avg (2026 season-to-date): 0.2775
Diff (system - data): -0.0125
System opponent_avg: 0.2650

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1580.0000.000Hitting_2B0.2160.000-0.2160.000
predicted_3B0.0260.0000.000Hitting_3B0.0240.000-0.0240.000
predicted_AB3.1324.0004.000Hitting_AB3.5314.0000.4690.000
predicted_AVG0.2650.0000.250Hitting_AVG0.2770.500-0.277-0.500
predicted_BB0.2500.0000.000Hitting_BB0.3100.000-0.3100.000
predicted_CS-0.0000.000BaseRunning_CS0.0160.000-0.0160.000
predicted_H0.8290.0001.000Hitting_H0.9802.000-0.980-2.000
predicted_HR0.0790.0000.000Hitting_HR0.1060.000-0.1060.000
predicted_OBP0.3190.0000.250Hitting_OBP0.3370.600-0.337-0.600
predicted_R0.4610.0000.000Hitting_R0.6730.000-0.6730.000
predicted_RBI0.4210.0000.000Hitting_RBI0.5510.000-0.5510.000
predicted_SLG0.4080.0000.250Hitting_SLG0.4430.500-0.443-0.500
predicted_SO0.6181.0001.000Hitting_SO0.6651.0000.3350.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_AB: 3.1320 -> 4.0000 (boost 0.8680, better)
Biggest Deboostpredicted_H: 0.8290 -> 0.0000 (deboost -0.8290, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42213predicted_AB: 3.1320 -> 3.2617 (boost 0.1297, better)predicted_SLG: 0.4080 -> 0.3801 (deboost -0.0279, 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.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_AB: 3.2617 -> 4.0000 (boost 0.7383, better)predicted_RBI: 0.3885 -> 0.0000 (deboost -0.3885, worse)AB rounded to 4 (raw=3.26), rates preserved: AVG=0.243 HR/AB=0.022
6consistency_constraints10101-predicted_R: 0.4150 -> 0.0000 (deboost -0.4150, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4325 (boost 0.4325, better)predicted_SO: 1.0000 -> 0.6999 (deboost -0.3001, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_SO: 0.6999 -> 1.0000 (boost 0.3001, worse)predicted_RBI: 0.4325 -> 0.0000 (deboost -0.4325, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2576 -> 0.2270 (deboost -0.0306, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2270 -> 0.2576 (boost 0.0306, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "699393",
  "player_name": "Pedro Ramirez",
  "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.158,
        "predicted_3B": 0.026,
        "predicted_AB": 3.132,
        "predicted_AVG": 0.265,
        "predicted_BB": 0.25,
        "predicted_H": 0.829,
        "predicted_HR": 0.079,
        "predicted_OBP": 0.319,
        "predicted_R": 0.461,
        "predicted_RBI": 0.421,
        "predicted_SLG": 0.408,
        "predicted_SO": 0.618
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1378,
        "predicted_3B": 0.0222,
        "predicted_AB": 3.2617,
        "predicted_AVG": 0.258,
        "predicted_BB": 0.2517,
        "predicted_H": 0.8395,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.0706,
        "predicted_OBP": 0.3158,
        "predicted_R": 0.4148,
        "predicted_RBI": 0.3883,
        "predicted_SLG": 0.3801,
        "predicted_SO": 0.6818
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.158,
          "after": 0.1378,
          "delta": -0.0202,
          "percent_delta": -0.1278,
          "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.132,
          "after": 3.2617,
          "delta": 0.1297,
          "percent_delta": 0.0414,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.265,
          "after": 0.258,
          "delta": -0.007,
          "percent_delta": -0.0264,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.25,
          "after": 0.2517,
          "delta": 0.0017,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.829,
          "after": 0.8395,
          "delta": 0.0105,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.079,
          "after": 0.0706,
          "delta": -0.0084,
          "percent_delta": -0.1063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3158,
          "delta": -0.0032,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.461,
          "after": 0.4148,
          "delta": -0.0462,
          "percent_delta": -0.1002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.421,
          "after": 0.3883,
          "delta": -0.0327,
          "percent_delta": -0.0777,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.3801,
          "delta": -0.0279,
          "percent_delta": -0.0684,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.618,
          "after": 0.6818,
          "delta": 0.0638,
          "percent_delta": 0.1032,
          "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.132,
          "after": 3.2617,
          "delta": 0.1297,
          "percent_delta": 0.0414,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.408,
          "after": 0.3801,
          "delta": -0.0279,
          "percent_delta": -0.0684,
          "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.1378,
        "predicted_3B": 0.0222,
        "predicted_AB": 3.2617,
        "predicted_AVG": 0.2576,
        "predicted_BB": 0.2531,
        "predicted_H": 0.8402,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.0714,
        "predicted_OBP": 0.311,
        "predicted_R": 0.415,
        "predicted_RBI": 0.3885,
        "predicted_SLG": 0.3791,
        "predicted_SO": 0.678
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1378,
          "after": 0.1378,
          "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.2617,
          "after": 3.2617,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.258,
          "after": 0.2576,
          "delta": -0.0004,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2517,
          "after": 0.2531,
          "delta": 0.0014,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8395,
          "after": 0.8402,
          "delta": 0.0007,
          "percent_delta": 0.0008,
          "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.0706,
          "after": 0.0714,
          "delta": 0.0008,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3158,
          "after": 0.311,
          "delta": -0.0048,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4148,
          "after": 0.415,
          "delta": 0.0002,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3883,
          "after": 0.3885,
          "delta": 0.0002,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3801,
          "after": 0.3791,
          "delta": -0.001,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6818,
          "after": 0.678,
          "delta": -0.0038,
          "percent_delta": -0.0056,
          "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": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.26), rates preserved: AVG=0.243 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1378,
          "after": 0.0,
          "delta": -0.1378,
          "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.2617,
          "after": 4.0,
          "delta": 0.7383,
          "percent_delta": 0.2264,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2531,
          "after": 0.0,
          "delta": -0.2531,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8402,
          "after": 1.0,
          "delta": 0.1598,
          "percent_delta": 0.1902,
          "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.0714,
          "after": 0.0,
          "delta": -0.0714,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3885,
          "after": 0.0,
          "delta": -0.3885,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.678,
          "after": 1.0,
          "delta": 0.322,
          "percent_delta": 0.4749,
          "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.2617,
          "after": 4.0,
          "delta": 0.7383,
          "percent_delta": 0.2264,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3885,
          "after": 0.0,
          "delta": -0.3885,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.415,
          "after": 0.0,
          "delta": -0.415,
          "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.415,
          "after": 0.0,
          "delta": -0.415,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1474,
        "predicted_3B": 0.0136,
        "predicted_BB": 0.3525,
        "predicted_H": 0.7999,
        "predicted_HR": 0.1016,
        "predicted_RBI": 0.4325,
        "predicted_SO": 0.6999
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1474,
          "delta": 0.1474,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0136,
          "delta": 0.0136,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3525,
          "delta": 0.3525,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7999,
          "delta": -0.2001,
          "percent_delta": -0.2001,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1016,
          "delta": 0.1016,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4325,
          "delta": 0.4325,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6999,
          "delta": -0.3001,
          "percent_delta": -0.3001,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4325,
          "delta": 0.4325,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6999,
          "delta": -0.3001,
          "percent_delta": -0.3001,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1474,
          "after": 0.0,
          "delta": -0.1474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0136,
          "after": 0.0,
          "delta": -0.0136,
          "percent_delta": -1.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_BB",
          "before": 0.3525,
          "after": 0.0,
          "delta": -0.3525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7999,
          "after": 1.0,
          "delta": 0.2001,
          "percent_delta": 0.2502,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1016,
          "after": 0.0,
          "delta": -0.1016,
          "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.4325,
          "after": 0.0,
          "delta": -0.4325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6999,
          "after": 1.0,
          "delta": 0.3001,
          "percent_delta": 0.4288,
          "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.6999,
          "after": 1.0,
          "delta": 0.3001,
          "percent_delta": 0.4288,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4325,
          "after": 0.0,
          "delta": -0.4325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.362,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2576,
          "after": 0.227,
          "delta": -0.0306,
          "percent_delta": -0.1188,
          "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.311,
          "after": 0.302,
          "delta": -0.009,
          "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.3791,
          "after": 0.362,
          "delta": -0.0171,
          "percent_delta": -0.0451,
          "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.2576,
          "after": 0.227,
          "delta": -0.0306,
          "percent_delta": -0.1188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 11,
      "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.2576,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3791,
        "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.227,
          "after": 0.2576,
          "delta": 0.0306,
          "percent_delta": 0.1347,
          "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.302,
          "after": 0.311,
          "delta": 0.009,
          "percent_delta": 0.03,
          "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.362,
          "after": 0.3791,
          "delta": 0.0171,
          "percent_delta": 0.0473,
          "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.227,
          "after": 0.2576,
          "delta": 0.0306,
          "percent_delta": 0.1347,
          "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.158,
        "after": 0.0,
        "delta": -0.158,
        "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.132,
        "after": 4.0,
        "delta": 0.868,
        "percent_delta": 0.2771,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.265,
        "after": 0.2576,
        "delta": -0.0074,
        "percent_delta": -0.0279,
        "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.829,
        "after": 0.0,
        "delta": -0.829,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.079,
        "after": 0.0,
        "delta": -0.079,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.319,
        "after": 0.311,
        "delta": -0.008,
        "percent_delta": -0.0251,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.421,
        "after": 0.0,
        "delta": -0.421,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.408,
        "after": 0.3791,
        "delta": -0.0289,
        "percent_delta": -0.0708,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.618,
        "after": 1.0,
        "delta": 0.382,
        "percent_delta": 0.6181,
        "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.132,
        "after": 4.0,
        "delta": 0.868,
        "percent_delta": 0.2771,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.829,
        "after": 0.0,
        "delta": -0.829,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.158-
predicted_3B0.026-
predicted_AB3.132-
predicted_AVG0.265-
predicted_BB0.250-
predicted_H0.829-
predicted_HR0.079-
predicted_OBP0.319-
predicted_R0.461-
predicted_RBI0.421-
predicted_SLG0.408-
predicted_SO0.618-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.138-0.020
predicted_3B0.022-0.004
predicted_AB3.2620.130
predicted_AVG0.258-0.007
predicted_BB0.2520.002
predicted_H0.8400.011
predicted_HBP0.067-
predicted_HR0.071-0.008
predicted_OBP0.316-0.003
predicted_R0.415-0.046
predicted_RBI0.388-0.033
predicted_SLG0.380-0.028
predicted_SO0.6820.064
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1380.000
predicted_3B0.0220.000
predicted_AB3.2620.000
predicted_AVG0.258-0.000
predicted_BB0.2530.001
predicted_H0.8400.001
predicted_HBP0.0670.000
predicted_HR0.0710.001
predicted_OBP0.311-0.005
predicted_R0.4150.000
predicted_RBI0.3890.000
predicted_SLG0.379-0.001
predicted_SO0.678-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.26), rates preserved: AVG=0.243 HR/AB=0.022

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1470.147
3B0.0140.014
BB0.3520.352
H0.800-0.200
HR0.1020.102
RBI0.4320.432
SO0.700-0.300
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.147
3B0.000-0.014
AB4.0000.000
BB0.000-0.352
H1.0000.200
HR0.000-0.102
R0.0000.000
RBI0.000-0.432
SO1.0000.300
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.138
predicted_3B0.000-0.022
predicted_AB4.0000.738
predicted_AVG0.227-0.031
predicted_BB0.000-0.253
predicted_H1.0000.160
predicted_HR0.000-0.071
predicted_OBP0.302-0.009
predicted_R0.000-0.415
predicted_RBI0.000-0.389
predicted_SLG0.362-0.017
predicted_SO1.0000.322
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 76
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0000.0000.0000.0001.0006.0000.21050.28570.21050.21050.00000.00000.05260.3158
last_100.2010-38.0009.0000.0000.0000.0003.0002.0003.0008.0000.23680.30950.23680.23680.00000.07900.07900.2105
season0.6076-238.00063.00012.0002.0006.00032.00035.00019.00047.0000.26470.32180.40760.26470.02520.13440.07980.1975
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1100
predicted_3B0.0170
predicted_AB3.4410
predicted_AVG0.2483
predicted_BB0.2540
predicted_H0.8540
predicted_HBP0.0670
predicted_HR0.0590
predicted_OBP0.3114
predicted_R0.3510
predicted_RBI0.3430
predicted_SLG0.3416
predicted_SO0.7700
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15800.11000.1378model_form_blend
predicted_3B0.02600.01700.0222model_form_blend
predicted_AB3.13203.44103.2617model_form_blend
predicted_AVG0.26500.24830.2580model_form_blend
predicted_BB0.25000.25400.2517model_form_blend
predicted_H0.82900.85400.8395model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.07900.05900.0706model_form_blend
predicted_OBP0.31900.31140.3158model_form_blend
predicted_R0.46100.35100.4148model_form_blend
predicted_RBI0.42100.34300.3883model_form_blend
predicted_SLG0.40800.34160.3801model_form_blend
predicted_SO0.61800.77000.6818model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date245
Season rows before report date245
Report year2026
Profile rows used76
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B-2B
gameID20260927_CHC@BOS
game_typefull
mlbID699393
playerID699393
playerNamePedro Ramirez
pos2B
startedTrue
startingPosition3B
teamCHC
teamID5
game_date2026-09-27
sl_k_percent18.4
sl_bb_percent7.5
sl_woba0.315
sl_xwoba0.284
sl_xba0.242
sl_xslg0.342
sl_sweet_spot_percent29.7
sl_barrel_batted_rate4.1
sl_hard_hit_percent39.0
sl_exit_velocity_avg89.0
sl_launch_angle_avg12.6
sl_whiff_percent20.2
sl_swing_percent50.2
Ian Happ (664023) · BATTER · LF · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 612
All-history rows before 20260929: 612
System season_avg: 0.2190
Data season_avg (2026 season-to-date): 0.2317
Diff (system - data): -0.0127
System opponent_avg: 0.1820

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1800.0000.000Hitting_2B0.1810.000-0.1810.000
predicted_3B0.0200.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB4.3004.0004.000Hitting_AB3.6965.0000.304-1.000
predicted_AVG0.1840.2500.000Hitting_AVG0.2320.0000.0180.250
predicted_BB0.5130.0001.000Hitting_BB0.5470.000-0.5470.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.7901.0000.000Hitting_H0.8560.0000.1441.000
predicted_HR0.1400.0000.000Hitting_HR0.1880.000-0.1880.000
predicted_OBP0.2770.2500.200Hitting_OBP0.3380.000-0.0880.250
predicted_R0.5801.0001.000Hitting_R0.6440.0000.3561.000
predicted_RBI0.4101.0000.000Hitting_RBI0.5330.0000.4671.000
predicted_SLG0.3710.2500.000Hitting_SLG0.4410.000-0.1910.250
predicted_SO1.2270.0001.000Hitting_SO1.2253.000-1.225-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_RBI: 0.4100 -> 1.0000 (boost 0.5900, better)
Biggest Deboostpredicted_SO: 1.2270 -> 0.0000 (deboost -1.2270, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_SLG: 0.3710 -> 0.3816 (boost 0.0106, better)predicted_AB: 4.3000 -> 4.0717 (deboost -0.2283, 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.
3team_form_snapshot10101-predicted_SLG: 0.3816 -> 0.3593 (deboost -0.0223, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_H: 0.7823 -> 1.0000 (boost 0.2177, better)predicted_BB: 0.4632 -> 0.0000 (deboost -0.4632, worse)AB rounded to 4 (raw=4.30), rates preserved: AVG=0.172 HR/AB=0.031
6consistency_constraints11010predicted_R: 0.5607 -> 1.0000 (boost 0.4393, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.5412 (boost 0.5412, better)predicted_H: 1.0000 -> 0.7276 (deboost -0.2724, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61524predicted_BB: 0.5412 -> 1.0000 (boost 0.4588, better)predicted_H: 0.7276 -> 0.0000 (deboost -0.7276, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context54141predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21120predicted_RBI: 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
11current_json_final30303-predicted_OBP: 0.3140 -> 0.2747 (deboost -0.0393, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.18,
        "predicted_3B": 0.02,
        "predicted_AB": 4.3,
        "predicted_AVG": 0.184,
        "predicted_BB": 0.513,
        "predicted_H": 0.79,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.277,
        "predicted_R": 0.58,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.371,
        "predicted_SO": 1.227
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.2005,
        "predicted_3B": 0.0396,
        "predicted_AB": 4.0717,
        "predicted_AVG": 0.1927,
        "predicted_BB": 0.4606,
        "predicted_H": 0.7817,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1321,
        "predicted_OBP": 0.2787,
        "predicted_R": 0.5604,
        "predicted_RBI": 0.3995,
        "predicted_SLG": 0.3816,
        "predicted_SO": 1.1929
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.18,
          "after": 0.2005,
          "delta": 0.0205,
          "percent_delta": 0.1139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.0396,
          "delta": 0.0196,
          "percent_delta": 0.98,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3,
          "after": 4.0717,
          "delta": -0.2283,
          "percent_delta": -0.0531,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.184,
          "after": 0.1927,
          "delta": 0.0087,
          "percent_delta": 0.0473,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.513,
          "after": 0.4606,
          "delta": -0.0524,
          "percent_delta": -0.1021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 0.7817,
          "delta": -0.0083,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1321,
          "delta": -0.0079,
          "percent_delta": -0.0564,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.277,
          "after": 0.2787,
          "delta": 0.0017,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.58,
          "after": 0.5604,
          "delta": -0.0196,
          "percent_delta": -0.0338,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.3995,
          "delta": -0.0105,
          "percent_delta": -0.0256,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3816,
          "delta": 0.0106,
          "percent_delta": 0.0286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.227,
          "after": 1.1929,
          "delta": -0.0341,
          "percent_delta": -0.0278,
          "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_SLG",
          "before": 0.371,
          "after": 0.3816,
          "delta": 0.0106,
          "percent_delta": 0.0286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.3,
          "after": 4.0717,
          "delta": -0.2283,
          "percent_delta": -0.0531,
          "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": 150
      }
    },
    {
      "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.2005,
        "predicted_3B": 0.0396,
        "predicted_AB": 4.0717,
        "predicted_AVG": 0.1921,
        "predicted_BB": 0.4632,
        "predicted_H": 0.7823,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1336,
        "predicted_OBP": 0.2747,
        "predicted_R": 0.5607,
        "predicted_RBI": 0.3997,
        "predicted_SLG": 0.3593,
        "predicted_SO": 1.1862
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2005,
          "after": 0.2005,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0396,
          "after": 0.0396,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0717,
          "after": 4.0717,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1927,
          "after": 0.1921,
          "delta": -0.0006,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4606,
          "after": 0.4632,
          "delta": 0.0026,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7817,
          "after": 0.7823,
          "delta": 0.0006,
          "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.1321,
          "after": 0.1336,
          "delta": 0.0015,
          "percent_delta": 0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2787,
          "after": 0.2747,
          "delta": -0.004,
          "percent_delta": -0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5604,
          "after": 0.5607,
          "delta": 0.0003,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3995,
          "after": 0.3997,
          "delta": 0.0002,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3816,
          "after": 0.3593,
          "delta": -0.0223,
          "percent_delta": -0.0584,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1929,
          "after": 1.1862,
          "delta": -0.0067,
          "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_SLG",
          "before": 0.3816,
          "after": 0.3593,
          "delta": -0.0223,
          "percent_delta": -0.0584,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.30), rates preserved: AVG=0.172 HR/AB=0.031",
      "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.2005,
          "after": 0.0,
          "delta": -0.2005,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0396,
          "after": 0.0,
          "delta": -0.0396,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0717,
          "after": 4.0,
          "delta": -0.0717,
          "percent_delta": -0.0176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4632,
          "after": 0.0,
          "delta": -0.4632,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7823,
          "after": 1.0,
          "delta": 0.2177,
          "percent_delta": 0.2783,
          "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.1336,
          "after": 0.0,
          "delta": -0.1336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3997,
          "after": 0.0,
          "delta": -0.3997,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1862,
          "after": 1.0,
          "delta": -0.1862,
          "percent_delta": -0.157,
          "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.7823,
          "after": 1.0,
          "delta": 0.2177,
          "percent_delta": 0.2783,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4632,
          "after": 0.0,
          "delta": -0.4632,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.5607,
          "after": 1.0,
          "delta": 0.4393,
          "percent_delta": 0.7835,
          "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.5607,
          "after": 1.0,
          "delta": 0.4393,
          "percent_delta": 0.7835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1484,
        "predicted_3B": 0.0124,
        "predicted_BB": 0.5412,
        "predicted_H": 0.7276,
        "predicted_HR": 0.1392,
        "predicted_RBI": 0.4067,
        "predicted_SO": 1.0938
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1484,
          "delta": 0.1484,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0124,
          "delta": 0.0124,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5412,
          "delta": 0.5412,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7276,
          "delta": -0.2724,
          "percent_delta": -0.2724,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1392,
          "delta": 0.1392,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4067,
          "delta": 0.4067,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0938,
          "delta": 0.0938,
          "percent_delta": 0.0938,
          "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_BB",
          "before": 0.0,
          "after": 0.5412,
          "delta": 0.5412,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7276,
          "delta": -0.2724,
          "percent_delta": -0.2724,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1484,
          "after": 0.0,
          "delta": -0.1484,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0124,
          "after": 0.0,
          "delta": -0.0124,
          "percent_delta": -1.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_BB",
          "before": 0.5412,
          "after": 1.0,
          "delta": 0.4588,
          "percent_delta": 0.8477,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7276,
          "after": 0.0,
          "delta": -0.7276,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1392,
          "after": 0.0,
          "delta": -0.1392,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4067,
          "after": 0.0,
          "delta": -0.4067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0938,
          "after": 1.0,
          "delta": -0.0938,
          "percent_delta": -0.0858,
          "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.5412,
          "after": 1.0,
          "delta": 0.4588,
          "percent_delta": 0.8477,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7276,
          "after": 0.0,
          "delta": -0.7276,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.204,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.37,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1921,
          "after": 0.204,
          "delta": 0.0119,
          "percent_delta": 0.0619,
          "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_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_OBP",
          "before": 0.2747,
          "after": 0.314,
          "delta": 0.0393,
          "percent_delta": 0.1431,
          "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.3593,
          "after": 0.37,
          "delta": 0.0107,
          "percent_delta": 0.0298,
          "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": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "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_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": 10,
      "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": 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": 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_RBI",
          "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": 11,
      "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.1921,
        "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.2747,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3593,
        "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.204,
          "after": 0.1921,
          "delta": -0.0119,
          "percent_delta": -0.0582,
          "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.314,
          "after": 0.2747,
          "delta": -0.0393,
          "percent_delta": -0.1253,
          "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.37,
          "after": 0.3593,
          "delta": -0.0107,
          "percent_delta": -0.029,
          "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.314,
          "after": 0.2747,
          "delta": -0.0393,
          "percent_delta": -0.1253,
          "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": 4.3,
        "after": 4.0,
        "delta": -0.3,
        "percent_delta": -0.0698,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.184,
        "after": 0.1921,
        "delta": 0.0081,
        "percent_delta": 0.044,
        "direction": "boost",
        "projection_effect": "better",
        "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.79,
        "after": 1.0,
        "delta": 0.21,
        "percent_delta": 0.2658,
        "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.277,
        "after": 0.2747,
        "delta": -0.0023,
        "percent_delta": -0.0083,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.58,
        "after": 1.0,
        "delta": 0.42,
        "percent_delta": 0.7241,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 1.0,
        "delta": 0.59,
        "percent_delta": 1.439,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.371,
        "after": 0.3593,
        "delta": -0.0117,
        "percent_delta": -0.0315,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.227,
        "after": 0.0,
        "delta": -1.227,
        "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.41,
        "after": 1.0,
        "delta": 0.59,
        "percent_delta": 1.439,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.227,
        "after": 0.0,
        "delta": -1.227,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.180-
predicted_3B0.020-
predicted_AB4.300-
predicted_AVG0.184-
predicted_BB0.513-
predicted_H0.790-
predicted_HR0.140-
predicted_OBP0.277-
predicted_R0.580-
predicted_RBI0.410-
predicted_SLG0.371-
predicted_SO1.227-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2010.021
predicted_3B0.0400.020
predicted_AB4.072-0.228
predicted_AVG0.1930.009
predicted_BB0.461-0.052
predicted_H0.782-0.008
predicted_HBP0.026-
predicted_HR0.132-0.008
predicted_OBP0.2790.002
predicted_R0.560-0.020
predicted_RBI0.400-0.010
predicted_SLG0.3820.011
predicted_SO1.193-0.034
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2010.000
predicted_3B0.0400.000
predicted_AB4.0720.000
predicted_AVG0.192-0.001
predicted_BB0.4630.003
predicted_H0.7820.001
predicted_HBP0.0260.000
predicted_HR0.1340.002
predicted_OBP0.275-0.004
predicted_R0.5610.000
predicted_RBI0.4000.000
predicted_SLG0.359-0.022
predicted_SO1.186-0.007
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.30), rates preserved: AVG=0.172 HR/AB=0.031

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1480.148
3B0.0120.012
BB0.5410.541
H0.728-0.272
HR0.1390.139
RBI0.4070.407
SO1.0940.094
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.148
3B0.000-0.012
AB4.0000.000
BB1.0000.459
H0.000-0.728
HR0.000-0.139
R1.0000.000
RBI0.000-0.407
SO1.000-0.094
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.201
predicted_3B0.000-0.040
predicted_AB4.000-0.072
predicted_AVG0.2040.012
predicted_BB0.000-0.463
predicted_H1.0000.218
predicted_HR0.000-0.134
predicted_OBP0.3140.039
predicted_R1.0000.439
predicted_RBI0.000-0.400
predicted_SLG0.3700.011
predicted_SO1.000-0.186
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 150
Reference playing time: 4.300
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-22.0003.0001.0001.0000.0001.0002.0001.0006.0000.13640.17390.27270.13640.00000.04540.04540.2727
last_100.2010-37.0008.0004.0001.0001.0003.0005.0002.0009.0000.21620.25640.45950.21620.02700.08110.05410.2432
season0.60150-539.000118.00027.0003.00024.00068.00087.00077.000184.0000.21890.32260.41370.21890.04450.12620.14290.3414
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2270
predicted_3B0.0650
predicted_AB3.7770
predicted_AVG0.2040
predicted_BB0.3930
predicted_H0.7710
predicted_HBP0.0260
predicted_HR0.1220
predicted_OBP0.2808
predicted_R0.5350
predicted_RBI0.3860
predicted_SLG0.3952
predicted_SO1.1490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18000.22700.2005model_form_blend
predicted_3B0.02000.06500.0396model_form_blend
predicted_AB4.30003.77704.0717model_form_blend
predicted_AVG0.18400.20400.1927model_form_blend
predicted_BB0.51300.39300.4606model_form_blend
predicted_H0.79000.77100.7817model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.14000.12200.1321model_form_blend
predicted_OBP0.27700.28080.2787model_form_blend
predicted_R0.58000.53500.5604model_form_blend
predicted_RBI0.41000.38600.3995model_form_blend
predicted_SLG0.37100.39520.3816model_form_blend
predicted_SO1.22701.14901.1929model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date612
Season rows before report date612
Report year2026
Profile rows used150
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R1
RBI1
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO3
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260927_CHC@BOS
game_typefull
mlbID664023
playerID664023
playerNameIan Happ
posLF
startedTrue
startingPositionLF
teamCHC
teamID5
game_date2026-09-27
sl_k_percent29.7
sl_bb_percent12.7
sl_woba0.325
sl_xwoba0.313
sl_xba0.208
sl_xslg0.39
sl_sweet_spot_percent31.8
sl_barrel_batted_rate11.1
sl_hard_hit_percent42.2
sl_exit_velocity_avg89.3
sl_launch_angle_avg14.2
sl_whiff_percent30.3
sl_swing_percent43.6
Nico Hoerner (663538) · BATTER · 2B · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 657
All-history rows before 20260929: 657
System season_avg: 0.2640
Data season_avg (2026 season-to-date): 0.2740
Diff (system - data): -0.0100
System opponent_avg: 0.1670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1780.0000.000Hitting_2B0.2120.000-0.2120.000
predicted_3B0.0060.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.0603.0004.000Hitting_AB4.1222.000-1.1221.000
predicted_AVG0.2400.0000.250Hitting_AVG0.2740.000-0.2740.000
predicted_BB0.2681.0000.000Hitting_BB0.2980.0000.7021.000
predicted_CS-0.0000.000BaseRunning_CS0.0270.000-0.0270.000
predicted_H0.9700.0001.000Hitting_H1.1290.000-1.1290.000
predicted_HR0.0400.0000.000Hitting_HR0.0580.000-0.0580.000
predicted_OBP0.3010.2500.250Hitting_OBP0.3260.000-0.0760.250
predicted_R0.3820.0000.000Hitting_R0.4430.000-0.4430.000
predicted_RBI0.4100.0000.000Hitting_RBI0.5040.000-0.5040.000
predicted_SB-0.0000.000BaseRunning_SB0.1580.000-0.1580.000
predicted_SLG0.3260.0000.250Hitting_SLG0.3710.000-0.3710.000
predicted_SO0.3631.0000.000Hitting_SO0.3640.0000.6361.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics1
Worse Metrics8
Biggest Boostpredicted_BB: 0.2680 -> 1.0000 (boost 0.7320, better)
Biggest Deboostpredicted_AB: 4.0600 -> 3.0000 (deboost -1.0600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 4.0600 -> 3.9366 (deboost -0.1234, 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.
3team_form_snapshot20202-predicted_OBP: 0.3025 -> 0.2869 (deboost -0.0156, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61524predicted_AB: 3.9366 -> 4.0000 (boost 0.0634, better)predicted_RBI: 0.3944 -> 0.0000 (deboost -0.3944, worse)AB rounded to 4 (raw=4.06), rates preserved: AVG=0.223 HR/AB=0.009
6consistency_constraints10101-predicted_R: 0.3336 -> 0.0000 (deboost -0.3336, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4188 (boost 0.4188, better)predicted_H: 1.0000 -> 0.8521 (deboost -0.1479, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61524predicted_H: 0.8521 -> 1.0000 (boost 0.1479, better)predicted_RBI: 0.4188 -> 0.0000 (deboost -0.4188, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context32121predicted_SLG: 0.3140 -> 0.3300 (boost 0.0160, better)predicted_AVG: 0.2436 -> 0.2320 (deboost -0.0116, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference42213predicted_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
11current_json_final31212predicted_AVG: 0.2320 -> 0.2436 (boost 0.0116, better)predicted_SLG: 0.3300 -> 0.3140 (deboost -0.0160, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.178,
        "predicted_3B": 0.006,
        "predicted_AB": 4.06,
        "predicted_AVG": 0.24,
        "predicted_BB": 0.268,
        "predicted_H": 0.97,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.301,
        "predicted_R": 0.382,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.326,
        "predicted_SO": 0.363
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1548,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.9366,
        "predicted_AVG": 0.2442,
        "predicted_BB": 0.2374,
        "predicted_H": 0.9582,
        "predicted_HBP": 0.112,
        "predicted_HR": 0.0369,
        "predicted_OBP": 0.3025,
        "predicted_R": 0.3334,
        "predicted_RBI": 0.3942,
        "predicted_SLG": 0.3197,
        "predicted_SO": 0.3429
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.178,
          "after": 0.1548,
          "delta": -0.0232,
          "percent_delta": -0.1303,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.06,
          "after": 3.9366,
          "delta": -0.1234,
          "percent_delta": -0.0304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.24,
          "after": 0.2442,
          "delta": 0.0042,
          "percent_delta": 0.0175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.268,
          "after": 0.2374,
          "delta": -0.0306,
          "percent_delta": -0.1142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 0.9582,
          "delta": -0.0118,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0369,
          "delta": -0.0031,
          "percent_delta": -0.0775,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.3025,
          "delta": 0.0015,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.382,
          "after": 0.3334,
          "delta": -0.0486,
          "percent_delta": -0.1272,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.3942,
          "delta": -0.0158,
          "percent_delta": -0.0385,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.326,
          "after": 0.3197,
          "delta": -0.0063,
          "percent_delta": -0.0193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.363,
          "after": 0.3429,
          "delta": -0.0201,
          "percent_delta": -0.0554,
          "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.06,
          "after": 3.9366,
          "delta": -0.1234,
          "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": 157
      }
    },
    {
      "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.1548,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.9366,
        "predicted_AVG": 0.2436,
        "predicted_BB": 0.2387,
        "predicted_H": 0.959,
        "predicted_HBP": 0.112,
        "predicted_HR": 0.0373,
        "predicted_OBP": 0.2869,
        "predicted_R": 0.3336,
        "predicted_RBI": 0.3944,
        "predicted_SLG": 0.314,
        "predicted_SO": 0.341
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1548,
          "after": 0.1548,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9366,
          "after": 3.9366,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2442,
          "after": 0.2436,
          "delta": -0.0006,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2374,
          "after": 0.2387,
          "delta": 0.0013,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9582,
          "after": 0.959,
          "delta": 0.0008,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.112,
          "after": 0.112,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0369,
          "after": 0.0373,
          "delta": 0.0004,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3025,
          "after": 0.2869,
          "delta": -0.0156,
          "percent_delta": -0.0516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3334,
          "after": 0.3336,
          "delta": 0.0002,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3942,
          "after": 0.3944,
          "delta": 0.0002,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3197,
          "after": 0.314,
          "delta": -0.0057,
          "percent_delta": -0.0178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3429,
          "after": 0.341,
          "delta": -0.0019,
          "percent_delta": -0.0055,
          "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.3025,
          "after": 0.2869,
          "delta": -0.0156,
          "percent_delta": -0.0516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.06), rates preserved: AVG=0.223 HR/AB=0.009",
      "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.1548,
          "after": 0.0,
          "delta": -0.1548,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9366,
          "after": 4.0,
          "delta": 0.0634,
          "percent_delta": 0.0161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2387,
          "after": 0.0,
          "delta": -0.2387,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.959,
          "after": 1.0,
          "delta": 0.041,
          "percent_delta": 0.0428,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.112,
          "after": 0.0,
          "delta": -0.112,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0373,
          "after": 0.0,
          "delta": -0.0373,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3944,
          "after": 0.0,
          "delta": -0.3944,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.341,
          "after": 0.0,
          "delta": -0.341,
          "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_AB",
          "before": 3.9366,
          "after": 4.0,
          "delta": 0.0634,
          "percent_delta": 0.0161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3944,
          "after": 0.0,
          "delta": -0.3944,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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": 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.3336,
          "after": 0.0,
          "delta": -0.3336,
          "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.3336,
          "after": 0.0,
          "delta": -0.3336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1428,
        "predicted_3B": 0.0086,
        "predicted_BB": 0.2931,
        "predicted_H": 0.8521,
        "predicted_HR": 0.0661,
        "predicted_RBI": 0.4188,
        "predicted_SO": 0.3757
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1428,
          "delta": 0.1428,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0086,
          "delta": 0.0086,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2931,
          "delta": 0.2931,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8521,
          "delta": -0.1479,
          "percent_delta": -0.1479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0661,
          "delta": 0.0661,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4188,
          "delta": 0.4188,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.3757,
          "delta": 0.3757,
          "percent_delta": null,
          "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_RBI",
          "before": 0.0,
          "after": 0.4188,
          "delta": 0.4188,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8521,
          "delta": -0.1479,
          "percent_delta": -0.1479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1428,
          "after": 0.0,
          "delta": -0.1428,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0086,
          "after": 0.0,
          "delta": -0.0086,
          "percent_delta": -1.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_BB",
          "before": 0.2931,
          "after": 0.0,
          "delta": -0.2931,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8521,
          "after": 1.0,
          "delta": 0.1479,
          "percent_delta": 0.1736,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0661,
          "after": 0.0,
          "delta": -0.0661,
          "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.4188,
          "after": 0.0,
          "delta": -0.4188,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3757,
          "after": 0.0,
          "delta": -0.3757,
          "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.8521,
          "after": 1.0,
          "delta": 0.1479,
          "percent_delta": 0.1736,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4188,
          "after": 0.0,
          "delta": -0.4188,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.232,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.33,
        "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.2436,
          "after": 0.232,
          "delta": -0.0116,
          "percent_delta": -0.0476,
          "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.2869,
          "after": 0.294,
          "delta": 0.0071,
          "percent_delta": 0.0247,
          "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.314,
          "after": 0.33,
          "delta": 0.016,
          "percent_delta": 0.051,
          "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.314,
          "after": 0.33,
          "delta": 0.016,
          "percent_delta": 0.051,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2436,
          "after": 0.232,
          "delta": -0.0116,
          "percent_delta": -0.0476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": 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": 11,
      "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.2436,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2869,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.314,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.232,
          "after": 0.2436,
          "delta": 0.0116,
          "percent_delta": 0.05,
          "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.294,
          "after": 0.2869,
          "delta": -0.0071,
          "percent_delta": -0.0243,
          "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.33,
          "after": 0.314,
          "delta": -0.016,
          "percent_delta": -0.0486,
          "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.232,
          "after": 0.2436,
          "delta": 0.0116,
          "percent_delta": 0.05,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.33,
          "after": 0.314,
          "delta": -0.016,
          "percent_delta": -0.0486,
          "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.178,
        "after": 0.0,
        "delta": -0.178,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.06,
        "after": 3.0,
        "delta": -1.06,
        "percent_delta": -0.2611,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.24,
        "after": 0.2436,
        "delta": 0.0036,
        "percent_delta": 0.015,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.268,
        "after": 1.0,
        "delta": 0.732,
        "percent_delta": 2.7313,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 0.0,
        "delta": -0.97,
        "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.301,
        "after": 0.2869,
        "delta": -0.0141,
        "percent_delta": -0.0468,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.382,
        "after": 0.0,
        "delta": -0.382,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 0.0,
        "delta": -0.41,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.326,
        "after": 0.314,
        "delta": -0.012,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.363,
        "after": 1.0,
        "delta": 0.637,
        "percent_delta": 1.7548,
        "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_BB",
        "before": 0.268,
        "after": 1.0,
        "delta": 0.732,
        "percent_delta": 2.7313,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.06,
        "after": 3.0,
        "delta": -1.06,
        "percent_delta": -0.2611,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.178-
predicted_3B0.006-
predicted_AB4.060-
predicted_AVG0.240-
predicted_BB0.268-
predicted_H0.970-
predicted_HR0.040-
predicted_OBP0.301-
predicted_R0.382-
predicted_RBI0.410-
predicted_SLG0.326-
predicted_SO0.363-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.155-0.023
predicted_3B0.005-0.001
predicted_AB3.937-0.123
predicted_AVG0.2440.004
predicted_BB0.237-0.031
predicted_H0.958-0.012
predicted_HBP0.112-
predicted_HR0.037-0.003
predicted_OBP0.3020.002
predicted_R0.333-0.049
predicted_RBI0.394-0.016
predicted_SLG0.320-0.006
predicted_SO0.343-0.020
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1550.000
predicted_3B0.0050.000
predicted_AB3.9370.000
predicted_AVG0.244-0.001
predicted_BB0.2390.001
predicted_H0.9590.001
predicted_HBP0.1120.000
predicted_HR0.0370.000
predicted_OBP0.287-0.016
predicted_R0.3340.000
predicted_RBI0.3940.000
predicted_SLG0.314-0.006
predicted_SO0.341-0.002
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.06), rates preserved: AVG=0.223 HR/AB=0.009

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO0.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO0.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1430.143
3B0.0090.009
BB0.2930.293
H0.852-0.148
HR0.0660.066
RBI0.4190.419
SO0.3760.376
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.143
3B0.000-0.009
AB4.0000.000
BB0.000-0.293
H1.0000.148
HR0.000-0.066
R0.0000.000
RBI0.000-0.419
SO0.000-0.376
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.155
predicted_3B0.000-0.005
predicted_AB4.0000.063
predicted_AVG0.232-0.012
predicted_BB0.000-0.239
predicted_H1.0000.041
predicted_HR0.000-0.037
predicted_OBP0.2940.007
predicted_R0.000-0.334
predicted_RBI0.000-0.394
predicted_SLG0.3300.016
predicted_SO0.000-0.341
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 157
Reference playing time: 4.060
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0004.0000.0000.0000.0001.0000.0000.0001.0000.23530.27780.23530.23530.00000.05880.00000.0588
last_100.2010-36.0008.0001.0000.0000.0003.0002.0002.0002.0000.22220.30000.25000.22220.00000.08330.05560.0556
season0.60157-622.000164.00028.0001.0008.00072.00060.00042.00057.0000.26370.31470.35050.26370.01290.11580.06750.0916
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1250
predicted_3B0.0040
predicted_AB3.7780
predicted_AVG0.2497
predicted_BB0.1980
predicted_H0.9430
predicted_HBP0.1120
predicted_HR0.0330
predicted_OBP0.3044
predicted_R0.2710
predicted_RBI0.3740
predicted_SLG0.3116
predicted_SO0.3170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17800.12500.1548model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.06003.77803.9366model_form_blend
predicted_AVG0.24000.24970.2442model_form_blend
predicted_BB0.26800.19800.2374model_form_blend
predicted_H0.97000.94300.9582model_form_blend
predicted_HBP-0.11200.1120form_only
predicted_HR0.04000.03300.0369model_form_blend
predicted_OBP0.30100.30440.3025model_form_blend
predicted_R0.38200.27100.3334model_form_blend
predicted_RBI0.41000.37400.3942model_form_blend
predicted_SLG0.32600.31160.3197model_form_blend
predicted_SO0.36300.31700.3429model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date657
Season rows before report date657
Report year2026
Profile rows used157
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260927_CHC@BOS
game_typefull
mlbID663538
playerID663538
playerNameNico Hoerner
pos2B
startedTrue
startingPosition2B
teamCHC
teamID5
game_date2026-09-27
sl_k_percent8.4
sl_bb_percent6.2
sl_woba0.297
sl_xwoba0.322
sl_xba0.297
sl_xslg0.375
sl_sweet_spot_percent36.7
sl_barrel_batted_rate1.4
sl_hard_hit_percent29.1
sl_exit_velocity_avg85.9
sl_launch_angle_avg12.0
sl_whiff_percent11.8
sl_swing_percent47.7
Carson Kelly (608348) · BATTER · C · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 414
All-history rows before 20260929: 414
System season_avg: 0.2580
Data season_avg (2026 season-to-date): 0.2733
Diff (system - data): -0.0153
System opponent_avg: 0.3330
System season_avg diverges from 2026 season-to-date by -0.0153. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1300.0000.000Hitting_2B0.1430.000-0.1430.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6204.0003.000Hitting_AB3.6063.0000.3941.000
predicted_AVG0.2230.2500.333Hitting_AVG0.2730.000-0.0230.250
predicted_BB0.3390.0000.000Hitting_BB0.4010.000-0.4010.000
predicted_CS-0.0000.000BaseRunning_CS0.0120.000-0.0120.000
predicted_H0.8101.0001.000Hitting_H0.9860.0000.0141.000
predicted_HR0.0901.0000.000Hitting_HR0.1060.0000.8941.000
predicted_OBP0.2710.2500.333Hitting_OBP0.3540.000-0.1040.250
predicted_R0.4961.0000.000Hitting_R0.5990.0000.4011.000
predicted_RBI0.4101.0001.000Hitting_RBI0.5970.0000.4031.000
predicted_SLG0.3111.0000.333Hitting_SLG0.4010.0000.5991.000
predicted_SO0.6091.0001.000Hitting_SO0.6571.0000.3430.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics8
Deboosted Metrics2
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_HR: 0.0900 -> 1.0000 (boost 0.9100, better)
Biggest Deboostpredicted_BB: 0.3390 -> 0.0000 (deboost -0.3390, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 3.6200 -> 3.4413 (deboost -0.1787, 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.
3team_form_snapshot22020predicted_SLG: 0.3024 -> 0.3180 (boost 0.0156, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.6086 -> 1.0000 (boost 0.3914, worse)predicted_AB: 3.4413 -> 3.0000 (deboost -0.4413, worse)AB rounded to 3 (raw=3.62), rates preserved: AVG=0.197 HR/AB=0.021
6consistency_constraints10101-predicted_R: 0.4489 -> 0.0000 (deboost -0.4489, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4522 (boost 0.4522, better)predicted_SO: 1.0000 -> 0.6271 (deboost -0.3729, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_RBI: 0.4522 -> 1.0000 (boost 0.5478, better)predicted_BB: 0.3705 -> 0.0000 (deboost -0.3705, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context43131predicted_SLG: 0.3180 -> 0.3500 (boost 0.0320, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference44040predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final20202-predicted_SLG: 0.3500 -> 0.3180 (deboost -0.0320, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.13,
        "predicted_3B": 0.0,
        "predicted_AB": 3.62,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.339,
        "predicted_H": 0.81,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.271,
        "predicted_R": 0.496,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.311,
        "predicted_SO": 0.609
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1089,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4413,
        "predicted_AVG": 0.2192,
        "predicted_BB": 0.2977,
        "predicted_H": 0.7566,
        "predicted_HBP": 0.048,
        "predicted_HR": 0.0749,
        "predicted_OBP": 0.273,
        "predicted_R": 0.4486,
        "predicted_RBI": 0.3803,
        "predicted_SLG": 0.3024,
        "predicted_SO": 0.612
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.13,
          "after": 0.1089,
          "delta": -0.0211,
          "percent_delta": -0.1623,
          "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.62,
          "after": 3.4413,
          "delta": -0.1787,
          "percent_delta": -0.0494,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2192,
          "delta": -0.0038,
          "percent_delta": -0.017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.339,
          "after": 0.2977,
          "delta": -0.0413,
          "percent_delta": -0.1218,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.81,
          "after": 0.7566,
          "delta": -0.0534,
          "percent_delta": -0.0659,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0749,
          "delta": -0.0151,
          "percent_delta": -0.1678,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.271,
          "after": 0.273,
          "delta": 0.002,
          "percent_delta": 0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.496,
          "after": 0.4486,
          "delta": -0.0474,
          "percent_delta": -0.0956,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.3803,
          "delta": -0.0297,
          "percent_delta": -0.0724,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.311,
          "after": 0.3024,
          "delta": -0.0086,
          "percent_delta": -0.0277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.609,
          "after": 0.612,
          "delta": 0.003,
          "percent_delta": 0.0049,
          "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.62,
          "after": 3.4413,
          "delta": -0.1787,
          "percent_delta": -0.0494,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 115
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1089,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4413,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.2994,
        "predicted_H": 0.7572,
        "predicted_HBP": 0.048,
        "predicted_HR": 0.0758,
        "predicted_OBP": 0.2825,
        "predicted_R": 0.4489,
        "predicted_RBI": 0.3805,
        "predicted_SLG": 0.318,
        "predicted_SO": 0.6086
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1089,
          "after": 0.1089,
          "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.4413,
          "after": 3.4413,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2192,
          "after": 0.22,
          "delta": 0.0008,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2977,
          "after": 0.2994,
          "delta": 0.0017,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7566,
          "after": 0.7572,
          "delta": 0.0006,
          "percent_delta": 0.0008,
          "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.0749,
          "after": 0.0758,
          "delta": 0.0009,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.273,
          "after": 0.2825,
          "delta": 0.0095,
          "percent_delta": 0.0348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4486,
          "after": 0.4489,
          "delta": 0.0003,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3803,
          "after": 0.3805,
          "delta": 0.0002,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3024,
          "after": 0.318,
          "delta": 0.0156,
          "percent_delta": 0.0516,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.612,
          "after": 0.6086,
          "delta": -0.0034,
          "percent_delta": -0.0056,
          "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.3024,
          "after": 0.318,
          "delta": 0.0156,
          "percent_delta": 0.0516,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.62), rates preserved: AVG=0.197 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.1089,
          "after": 0.0,
          "delta": -0.1089,
          "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.4413,
          "after": 3.0,
          "delta": -0.4413,
          "percent_delta": -0.1282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2994,
          "after": 0.0,
          "delta": -0.2994,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7572,
          "after": 1.0,
          "delta": 0.2428,
          "percent_delta": 0.3207,
          "direction": "boost",
          "projection_effect": "better",
          "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.0758,
          "after": 0.0,
          "delta": -0.0758,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3805,
          "after": 0.0,
          "delta": -0.3805,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6086,
          "after": 1.0,
          "delta": 0.3914,
          "percent_delta": 0.6431,
          "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.6086,
          "after": 1.0,
          "delta": 0.3914,
          "percent_delta": 0.6431,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4413,
          "after": 3.0,
          "delta": -0.4413,
          "percent_delta": -0.1282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.4489,
          "after": 0.0,
          "delta": -0.4489,
          "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.4489,
          "after": 0.0,
          "delta": -0.4489,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1249,
        "predicted_3B": 0.0072,
        "predicted_BB": 0.3705,
        "predicted_H": 0.7548,
        "predicted_HR": 0.0935,
        "predicted_RBI": 0.4522,
        "predicted_SO": 0.6271
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1249,
          "delta": 0.1249,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0072,
          "delta": 0.0072,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3705,
          "delta": 0.3705,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7548,
          "delta": -0.2452,
          "percent_delta": -0.2452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0935,
          "delta": 0.0935,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4522,
          "delta": 0.4522,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6271,
          "delta": -0.3729,
          "percent_delta": -0.3729,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4522,
          "delta": 0.4522,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6271,
          "delta": -0.3729,
          "percent_delta": -0.3729,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1249,
          "after": 0.0,
          "delta": -0.1249,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0072,
          "after": 0.0,
          "delta": -0.0072,
          "percent_delta": -1.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_BB",
          "before": 0.3705,
          "after": 0.0,
          "delta": -0.3705,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7548,
          "after": 1.0,
          "delta": 0.2452,
          "percent_delta": 0.3249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4522,
          "after": 1.0,
          "delta": 0.5478,
          "percent_delta": 1.2114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6271,
          "after": 1.0,
          "delta": 0.3729,
          "percent_delta": 0.5946,
          "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.4522,
          "after": 1.0,
          "delta": 0.5478,
          "percent_delta": 1.2114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3705,
          "after": 0.0,
          "delta": -0.3705,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.35,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.22,
          "after": 0.225,
          "delta": 0.005,
          "percent_delta": 0.0227,
          "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.2825,
          "after": 0.307,
          "delta": 0.0245,
          "percent_delta": 0.0867,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.318,
          "after": 0.35,
          "delta": 0.032,
          "percent_delta": 0.1006,
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.318,
          "after": 0.35,
          "delta": 0.032,
          "percent_delta": 0.1006,
          "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": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_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": 11,
      "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.22,
        "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.2825,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.318,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.225,
          "after": 0.22,
          "delta": -0.005,
          "percent_delta": -0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.307,
          "after": 0.2825,
          "delta": -0.0245,
          "percent_delta": -0.0799,
          "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.35,
          "after": 0.318,
          "delta": -0.032,
          "percent_delta": -0.0916,
          "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.35,
          "after": 0.318,
          "delta": -0.032,
          "percent_delta": -0.0916,
          "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.62,
        "after": 4.0,
        "delta": 0.38,
        "percent_delta": 0.105,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.22,
        "delta": -0.003,
        "percent_delta": -0.0135,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.339,
        "after": 0.0,
        "delta": -0.339,
        "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.09,
        "after": 1.0,
        "delta": 0.91,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.271,
        "after": 0.2825,
        "delta": 0.0115,
        "percent_delta": 0.0424,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.496,
        "after": 1.0,
        "delta": 0.504,
        "percent_delta": 1.0161,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 1.0,
        "delta": 0.59,
        "percent_delta": 1.439,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.311,
        "after": 0.318,
        "delta": 0.007,
        "percent_delta": 0.0225,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.609,
        "after": 1.0,
        "delta": 0.391,
        "percent_delta": 0.642,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 8,
      "deboosted_metrics": 2,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 1.0,
        "delta": 0.91,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.339,
        "after": 0.0,
        "delta": -0.339,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.130-
predicted_3B0.000-
predicted_AB3.620-
predicted_AVG0.223-
predicted_BB0.339-
predicted_H0.810-
predicted_HR0.090-
predicted_OBP0.271-
predicted_R0.496-
predicted_RBI0.410-
predicted_SLG0.311-
predicted_SO0.609-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.109-0.021
predicted_3B0.0000.000
predicted_AB3.441-0.179
predicted_AVG0.219-0.004
predicted_BB0.298-0.041
predicted_H0.757-0.053
predicted_HBP0.048-
predicted_HR0.075-0.015
predicted_OBP0.2730.002
predicted_R0.449-0.047
predicted_RBI0.380-0.030
predicted_SLG0.302-0.009
predicted_SO0.6120.003
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1090.000
predicted_3B0.0000.000
predicted_AB3.4410.000
predicted_AVG0.2200.001
predicted_BB0.2990.002
predicted_H0.7570.001
predicted_HBP0.0480.000
predicted_HR0.0760.001
predicted_OBP0.2820.009
predicted_R0.4490.000
predicted_RBI0.3810.000
predicted_SLG0.3180.016
predicted_SO0.609-0.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.62), rates preserved: AVG=0.197 HR/AB=0.021

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1250.125
3B0.0070.007
BB0.3700.370
H0.755-0.245
HR0.0930.093
RBI0.4520.452
SO0.627-0.373
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.125
3B0.000-0.007
AB3.0000.000
BB0.000-0.370
H1.0000.245
HR0.000-0.093
R0.0000.000
RBI1.0000.548
SO1.0000.373
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.109
predicted_3B0.000-0.000
predicted_AB3.000-0.441
predicted_AVG0.2250.005
predicted_BB0.000-0.299
predicted_H1.0000.243
predicted_HR0.000-0.076
predicted_OBP0.3070.025
predicted_R0.000-0.449
predicted_RBI0.000-0.381
predicted_SLG0.3500.032
predicted_SO1.0000.391
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 115
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0001.0000.0000.0000.0000.0000.0000.0004.0000.06250.06250.06250.06250.00000.00000.00000.2500
last_100.2010-27.0006.0000.0000.0000.0002.0004.0002.0004.0000.22220.30000.22220.22220.00000.07410.07410.1482
season0.60115-380.00098.00015.0000.00010.00057.00057.00039.00070.0000.25790.33490.37630.25790.02630.15000.10260.1842
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0810
predicted_3B0.0010
predicted_AB3.2050
predicted_AVG0.2141
predicted_BB0.2430
predicted_H0.6860
predicted_HBP0.0480
predicted_HR0.0550
predicted_OBP0.2756
predicted_R0.3860
predicted_RBI0.3410
predicted_SLG0.2910
predicted_SO0.6160
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13000.08100.1089model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.62003.20503.4413model_form_blend
predicted_AVG0.22300.21410.2192model_form_blend
predicted_BB0.33900.24300.2977model_form_blend
predicted_H0.81000.68600.7566model_form_blend
predicted_HBP-0.04800.0480form_only
predicted_HR0.09000.05500.0749model_form_blend
predicted_OBP0.27100.27560.2730model_form_blend
predicted_R0.49600.38600.4486model_form_blend
predicted_RBI0.41000.34100.3803model_form_blend
predicted_SLG0.31100.29100.3024model_form_blend
predicted_SO0.60900.61600.6120model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date414
Season rows before report date414
Report year2026
Profile rows used115
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260925_CHC@BOS_2
game_typefull
mlbID608348
playerID608348
playerNameCarson Kelly
posC
startedTrue
startingPositionC
teamCHC
teamID5
game_date2026-09-25
sl_k_percent16.5
sl_bb_percent9.4
sl_woba0.32
sl_xwoba0.311
sl_xba0.244
sl_xslg0.372
sl_sweet_spot_percent31.6
sl_barrel_batted_rate5.2
sl_hard_hit_percent36.1
sl_exit_velocity_avg86.7
sl_launch_angle_avg13.3
sl_whiff_percent19.8
sl_swing_percent45.4
Dansby Swanson (621020) · BATTER · SS · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 467
All-history rows before 20260929: 467
System season_avg: 0.2120
Data season_avg (2026 season-to-date): 0.2302
Diff (system - data): -0.0182
System opponent_avg: 0.6470
System season_avg diverges from 2026 season-to-date by -0.0182. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1310.0000.000Hitting_2B0.1410.000-0.1410.000
predicted_3B0.0250.0000.000Hitting_3B0.0360.000-0.0360.000
predicted_AB3.6204.0003.000Hitting_AB3.5353.0000.4651.000
predicted_AVG0.1980.2500.000Hitting_AVG0.2300.0000.0200.250
predicted_BB0.4180.0000.000Hitting_BB0.4451.000-0.445-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H0.7201.0000.000Hitting_H0.8140.0000.1861.000
predicted_HR0.1300.0000.000Hitting_HR0.1580.000-0.1580.000
predicted_OBP0.2810.2500.000Hitting_OBP0.3160.250-0.0660.000
predicted_R0.6480.0001.000Hitting_R0.7300.000-0.7300.000
predicted_RBI0.4600.0000.000Hitting_RBI0.6020.000-0.6020.000
predicted_SLG0.3420.2500.000Hitting_SLG0.4250.000-0.1750.250
predicted_SO0.9180.0001.000Hitting_SO0.9042.000-0.904-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_AB: 3.6200 -> 4.0000 (boost 0.3800, better)
Biggest Deboostpredicted_SO: 0.9180 -> 0.0000 (deboost -0.9180, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31203predicted_SO: 0.9180 -> 0.9946 (boost 0.0766, worse)predicted_AB: 3.6200 -> 3.5538 (deboost -0.0662, 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.
3team_form_snapshot11010predicted_SLG: 0.3377 -> 0.3478 (boost 0.0101, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61515predicted_H: 0.6859 -> 1.0000 (boost 0.3141, better)predicted_AB: 3.5538 -> 3.0000 (deboost -0.5538, worse)AB rounded to 3 (raw=3.62), rates preserved: AVG=0.179 HR/AB=0.036
6consistency_constraints11010predicted_R: 0.6229 -> 1.0000 (boost 0.3771, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4283 (boost 0.4283, better)predicted_H: 1.0000 -> 0.6641 (deboost -0.3359, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61506predicted_SO: 0.8254 -> 1.0000 (boost 0.1746, worse)predicted_H: 0.6641 -> 0.0000 (deboost -0.6641, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference31221predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_OBP: 0.2990 -> 0.2803 (deboost -0.0187, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.131,
        "predicted_3B": 0.025,
        "predicted_AB": 3.62,
        "predicted_AVG": 0.198,
        "predicted_BB": 0.418,
        "predicted_H": 0.72,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.281,
        "predicted_R": 0.648,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.342,
        "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.1193,
        "predicted_3B": 0.0207,
        "predicted_AB": 3.5538,
        "predicted_AVG": 0.1922,
        "predicted_BB": 0.4288,
        "predicted_H": 0.6854,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1283,
        "predicted_OBP": 0.2793,
        "predicted_R": 0.6225,
        "predicted_RBI": 0.4712,
        "predicted_SLG": 0.3377,
        "predicted_SO": 0.9946
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.131,
          "after": 0.1193,
          "delta": -0.0117,
          "percent_delta": -0.0893,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.0207,
          "delta": -0.0043,
          "percent_delta": -0.172,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.62,
          "after": 3.5538,
          "delta": -0.0662,
          "percent_delta": -0.0183,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.198,
          "after": 0.1922,
          "delta": -0.0058,
          "percent_delta": -0.0293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.418,
          "after": 0.4288,
          "delta": 0.0108,
          "percent_delta": 0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.72,
          "after": 0.6854,
          "delta": -0.0346,
          "percent_delta": -0.0481,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1283,
          "delta": -0.0017,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2793,
          "delta": -0.0017,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.648,
          "after": 0.6225,
          "delta": -0.0255,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 0.4712,
          "delta": 0.0112,
          "percent_delta": 0.0243,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.342,
          "after": 0.3377,
          "delta": -0.0043,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.918,
          "after": 0.9946,
          "delta": 0.0766,
          "percent_delta": 0.0834,
          "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.918,
          "after": 0.9946,
          "delta": 0.0766,
          "percent_delta": 0.0834,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.62,
          "after": 3.5538,
          "delta": -0.0662,
          "percent_delta": -0.0183,
          "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": 122
      }
    },
    {
      "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.1193,
        "predicted_3B": 0.0207,
        "predicted_AB": 3.5538,
        "predicted_AVG": 0.193,
        "predicted_BB": 0.4312,
        "predicted_H": 0.6859,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1298,
        "predicted_OBP": 0.2803,
        "predicted_R": 0.6229,
        "predicted_RBI": 0.4715,
        "predicted_SLG": 0.3478,
        "predicted_SO": 0.989
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1193,
          "after": 0.1193,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0207,
          "after": 0.0207,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5538,
          "after": 3.5538,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1922,
          "after": 0.193,
          "delta": 0.0008,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4288,
          "after": 0.4312,
          "delta": 0.0024,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6854,
          "after": 0.6859,
          "delta": 0.0005,
          "percent_delta": 0.0007,
          "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.1283,
          "after": 0.1298,
          "delta": 0.0015,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2793,
          "after": 0.2803,
          "delta": 0.001,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6225,
          "after": 0.6229,
          "delta": 0.0004,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4712,
          "after": 0.4715,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3377,
          "after": 0.3478,
          "delta": 0.0101,
          "percent_delta": 0.0299,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9946,
          "after": 0.989,
          "delta": -0.0056,
          "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.3377,
          "after": 0.3478,
          "delta": 0.0101,
          "percent_delta": 0.0299,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.62), rates preserved: AVG=0.179 HR/AB=0.036",
      "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.1193,
          "after": 0.0,
          "delta": -0.1193,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0207,
          "after": 0.0,
          "delta": -0.0207,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5538,
          "after": 3.0,
          "delta": -0.5538,
          "percent_delta": -0.1558,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4312,
          "after": 0.0,
          "delta": -0.4312,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6859,
          "after": 1.0,
          "delta": 0.3141,
          "percent_delta": 0.4579,
          "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.1298,
          "after": 0.0,
          "delta": -0.1298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4715,
          "after": 0.0,
          "delta": -0.4715,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.989,
          "after": 1.0,
          "delta": 0.011,
          "percent_delta": 0.0111,
          "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.6859,
          "after": 1.0,
          "delta": 0.3141,
          "percent_delta": 0.4579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5538,
          "after": 3.0,
          "delta": -0.5538,
          "percent_delta": -0.1558,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.6229,
          "after": 1.0,
          "delta": 0.3771,
          "percent_delta": 0.6054,
          "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.6229,
          "after": 1.0,
          "delta": 0.3771,
          "percent_delta": 0.6054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1185,
        "predicted_3B": 0.0127,
        "predicted_BB": 0.4052,
        "predicted_H": 0.6641,
        "predicted_HR": 0.1168,
        "predicted_RBI": 0.4283,
        "predicted_SO": 0.8254
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1185,
          "delta": 0.1185,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0127,
          "delta": 0.0127,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4052,
          "delta": 0.4052,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6641,
          "delta": -0.3359,
          "percent_delta": -0.3359,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1168,
          "delta": 0.1168,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4283,
          "delta": 0.4283,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8254,
          "delta": -0.1746,
          "percent_delta": -0.1746,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4283,
          "delta": 0.4283,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6641,
          "delta": -0.3359,
          "percent_delta": -0.3359,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1185,
          "after": 0.0,
          "delta": -0.1185,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0127,
          "after": 0.0,
          "delta": -0.0127,
          "percent_delta": -1.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_BB",
          "before": 0.4052,
          "after": 0.0,
          "delta": -0.4052,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6641,
          "after": 0.0,
          "delta": -0.6641,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1168,
          "after": 0.0,
          "delta": -0.1168,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4283,
          "after": 0.0,
          "delta": -0.4283,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8254,
          "after": 1.0,
          "delta": 0.1746,
          "percent_delta": 0.2115,
          "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.8254,
          "after": 1.0,
          "delta": 0.1746,
          "percent_delta": 0.2115,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6641,
          "after": 0.0,
          "delta": -0.6641,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.205,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.357,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.193,
          "after": 0.205,
          "delta": 0.012,
          "percent_delta": 0.0622,
          "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": 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_OBP",
          "before": 0.2803,
          "after": 0.299,
          "delta": 0.0187,
          "percent_delta": 0.0667,
          "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.3478,
          "after": 0.357,
          "delta": 0.0092,
          "percent_delta": 0.0265,
          "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": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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": 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_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": 11,
      "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.193,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2803,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3478,
        "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.205,
          "after": 0.193,
          "delta": -0.012,
          "percent_delta": -0.0584,
          "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.299,
          "after": 0.2803,
          "delta": -0.0187,
          "percent_delta": -0.0624,
          "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.357,
          "after": 0.3478,
          "delta": -0.0092,
          "percent_delta": -0.0258,
          "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.299,
          "after": 0.2803,
          "delta": -0.0187,
          "percent_delta": -0.0624,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.131,
        "after": 0.0,
        "delta": -0.131,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.025,
        "after": 0.0,
        "delta": -0.025,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.62,
        "after": 4.0,
        "delta": 0.38,
        "percent_delta": 0.105,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.198,
        "after": 0.193,
        "delta": -0.005,
        "percent_delta": -0.0253,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 0.72,
        "after": 1.0,
        "delta": 0.28,
        "percent_delta": 0.3889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.281,
        "after": 0.2803,
        "delta": -0.0007,
        "percent_delta": -0.0025,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.46,
        "after": 0.0,
        "delta": -0.46,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.342,
        "after": 0.3478,
        "delta": 0.0058,
        "percent_delta": 0.017,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.918,
        "after": 0.0,
        "delta": -0.918,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.62,
        "after": 4.0,
        "delta": 0.38,
        "percent_delta": 0.105,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.918,
        "after": 0.0,
        "delta": -0.918,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.131-
predicted_3B0.025-
predicted_AB3.620-
predicted_AVG0.198-
predicted_BB0.418-
predicted_H0.720-
predicted_HR0.130-
predicted_OBP0.281-
predicted_R0.648-
predicted_RBI0.460-
predicted_SLG0.342-
predicted_SO0.918-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.119-0.012
predicted_3B0.021-0.004
predicted_AB3.554-0.066
predicted_AVG0.192-0.006
predicted_BB0.4290.011
predicted_H0.685-0.035
predicted_HBP0.011-
predicted_HR0.128-0.002
predicted_OBP0.279-0.002
predicted_R0.623-0.025
predicted_RBI0.4710.011
predicted_SLG0.338-0.004
predicted_SO0.9950.077
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1190.000
predicted_3B0.0210.000
predicted_AB3.5540.000
predicted_AVG0.1930.001
predicted_BB0.4310.002
predicted_H0.6860.000
predicted_HBP0.0110.000
predicted_HR0.1300.002
predicted_OBP0.2800.001
predicted_R0.6230.000
predicted_RBI0.4710.000
predicted_SLG0.3480.010
predicted_SO0.989-0.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.62), rates preserved: AVG=0.179 HR/AB=0.036

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1180.118
3B0.0130.013
BB0.4050.405
H0.664-0.336
HR0.1170.117
RBI0.4280.428
SO0.825-0.175
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.118
3B0.000-0.013
AB3.0000.000
BB0.000-0.405
H0.000-0.664
HR0.000-0.117
R1.0000.000
RBI0.000-0.428
SO1.0000.175
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.119
predicted_3B0.000-0.021
predicted_AB3.000-0.554
predicted_AVG0.2050.012
predicted_BB0.000-0.431
predicted_H1.0000.314
predicted_HR0.000-0.130
predicted_OBP0.2990.019
predicted_R1.0000.377
predicted_RBI0.000-0.471
predicted_SLG0.3570.009
predicted_SO1.0000.011
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 122
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0001.0000.0000.0000.0002.0001.0002.0008.0000.05560.15000.05560.05560.00000.11110.11110.4444
last_100.2010-33.0007.0001.0000.0002.0005.0008.0006.00012.0000.21210.33330.42420.21210.06060.15150.18180.3636
season0.60122-420.00089.00016.0003.00017.00062.00079.00051.000112.0000.21190.29770.38570.21190.04050.14760.12140.2667
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1040
predicted_3B0.0150
predicted_AB3.4670
predicted_AVG0.1847
predicted_BB0.4430
predicted_H0.6400
predicted_HBP0.0110
predicted_HR0.1260
predicted_OBP0.2771
predicted_R0.5890
predicted_RBI0.4860
predicted_SLG0.3321
predicted_SO1.0950
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13100.10400.1193model_form_blend
predicted_3B0.02500.01500.0207model_form_blend
predicted_AB3.62003.46703.5538model_form_blend
predicted_AVG0.19800.18470.1922model_form_blend
predicted_BB0.41800.44300.4288model_form_blend
predicted_H0.72000.64000.6854model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.13000.12600.1283model_form_blend
predicted_OBP0.28100.27710.2793model_form_blend
predicted_R0.64800.58900.6225model_form_blend
predicted_RBI0.46000.48600.4712model_form_blend
predicted_SLG0.34200.33210.3377model_form_blend
predicted_SO0.91801.09500.9946model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date467
Season rows before report date467
Report year2026
Profile rows used122
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260927_CHC@BOS
game_typefull
mlbID621020
playerID621020
playerNameDansby Swanson
posSS
startedTrue
startingPositionSS
teamCHC
teamID5
game_date2026-09-27
sl_k_percent23.7
sl_bb_percent10.5
sl_woba0.305
sl_xwoba0.301
sl_xba0.22
sl_xslg0.38
sl_sweet_spot_percent28.9
sl_barrel_batted_rate7.3
sl_hard_hit_percent40.6
sl_exit_velocity_avg89.2
sl_launch_angle_avg15.5
sl_whiff_percent30.4
sl_swing_percent47.5
Matthew Boyd (571510) · PITCHER · Starter · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 22
All-history rows before 20260929: 22

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.7732.000-0.773-1.000
predicted_ER5.0005.0005.000Pitching_ER2.5001.0002.5004.000
predicted_H9.0009.0009.000Pitching_H5.1825.0003.8184.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.6097.0000.391-1.000
predicted_SO7.0007.0007.000Pitching_SO4.3643.0002.6364.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "571510",
  "player_name": "Matthew Boyd",
  "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": 1.0,
        "predicted_ER": 5.0,
        "predicted_H": 9.0,
        "predicted_HR": 3.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": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 5.0,
        "predicted_H": 9.0,
        "predicted_HR": 3.0,
        "predicted_IP": 6.0,
        "predicted_R": 5.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 5.0,
          "after": 5.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": 3.0,
          "after": 3.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": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 5.0,
        "after": 5.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": 3.0,
        "after": 3.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": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER5.000-
predicted_H9.000-
predicted_HR3.000-
predicted_IP6.000-
predicted_SO7.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 22
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45529.20012.00026.0009.00020.0000.0003.64041.17980.40450.87640.30340.67420.0000
last_100.351060.20030.00054.00020.00036.0009.0004.45051.21980.49450.89010.32970.59340.1484
season0.2022126.20055.000114.00039.00096.00015.0003.90791.20790.43420.90000.30790.75790.1184
Weighted Prediction From Real Data
MetricValue
predicted_BB1.9360
predicted_ER2.7060
predicted_ERA4.0957
predicted_H5.3760
predicted_HR0.5300
predicted_IP6.0000
predicted_SO4.2400
predicted_WHIP1.2297
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.93601.5352model_form_blend
predicted_ER5.00002.70603.6884model_form_blend
predicted_ERA-4.09574.0957form_only
predicted_H9.00005.37606.9280model_form_blend
predicted_HR3.00000.53001.5878model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO7.00004.24005.4220model_form_blend
predicted_WHIP-1.22971.2297form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date22
Season rows before report date22
Report year2026
Profile rows used22
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.0
H9
R5
ER5
BB1
SO7
HR3
BF29
Pitches117

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced27
Pitching_ER1
Pitching_ERA3.91
Pitching_Flyouts4
Pitching_Groundouts10
Pitching_H5
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched7.0
Pitching_Pitches90
Pitching_R1
Pitching_SO3
Pitching_Strikes64
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260924_MIA@CHC
game_typefull
mlbID571510
playerID571510
playerNameMatthew Boyd
posP
startedTrue
startingPositionP
teamCHC
teamID5
game_date2026-09-24
sl_k_percent18.5
sl_bb_percent7.5
sl_woba0.303
sl_xwoba0.33
sl_sweet_spot_percent33.1
sl_barrel_batted_rate7.7
sl_hard_hit_percent37.6
sl_whiff_percent22.3
sl_swing_percent49.2
sl_avg_best_speed77.142272527
sl_avg_hyper_speed93.9352125
Daniel Palencia (694037) · PITCHER · Middle Reliever (High Leverage) · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 32
All-history rows before 20260929: 32

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3441.000-0.344-1.000
predicted_ER0.0000.0000.000Pitching_ER0.3750.000-0.3750.000
predicted_H0.0000.0000.000Pitching_H0.7810.000-0.7810.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8471.0000.1530.000
predicted_SO1.0001.0001.000Pitching_SO0.9380.0000.0621.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "694037",
  "player_name": "Daniel Palencia",
  "position": "Middle Reliever (High Leverage)",
  "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": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 31
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2000.0000.0002.0005.0000.0000.00000.35290.00000.00000.35290.88230.0000
last_100.351010.1003.0005.0004.0006.0001.0002.61290.87100.29030.48390.38710.58060.0968
season0.203129.20011.00023.00010.00030.0004.0003.33711.11240.37080.77530.33711.01120.1348
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3690
predicted_ER0.3280
predicted_ERA2.9482
predicted_H0.6220
predicted_HR0.1010
predicted_IP1.0000
predicted_SO0.8620
predicted_WHIP0.9910
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.36900.1696model_form_blend
predicted_ER0.00000.32800.1508model_form_blend
predicted_ERA-2.94822.9482form_only
predicted_H0.00000.62200.2860model_form_blend
predicted_HR0.00000.10100.0464model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.86200.9366model_form_blend
predicted_WHIP-0.99100.9910form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date32
Season rows before report date32
Report year2026
Profile rows used31
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
Pitches13

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA3.64
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches15
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260924_MIA@CHC
game_typefull
mlbID694037
playerID694037
playerNameDaniel Palencia
posP
startedFalse
startingPositionP
teamCHC
teamID5
game_date2026-09-24
sl_k_percent24.4
sl_bb_percent8.9
sl_woba0.299
sl_xwoba0.298
sl_sweet_spot_percent43.2
sl_barrel_batted_rate5.0
sl_hard_hit_percent30.9
sl_whiff_percent27.0
sl_swing_percent49.7
sl_avg_best_speed79.39280875
sl_avg_hyper_speed92.93369875
Jacob Webb (657097) · PITCHER · Closer · Team CHC
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 68
All-history rows before 20260929: 68

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0002.0001.000Pitching_BB0.3680.0001.6322.000
predicted_ER0.0000.0000.000Pitching_ER0.3680.000-0.3680.000
predicted_H0.0000.0000.000Pitching_H0.8680.000-0.8680.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8821.0000.1180.000
predicted_SO2.0002.0002.000Pitching_SO1.0741.0000.9261.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "657097",
  "player_name": "Jacob Webb",
  "position": "Closer",
  "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": 1.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": 1.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": 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": 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": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 68
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1002.0004.0003.0006.0001.0003.37501.31250.37500.75000.56251.12500.1875
last_100.35109.1008.0009.0005.0009.0003.0007.71431.50000.85710.96430.53570.96430.3214
season0.206867.00025.00059.00025.00073.00010.0003.35821.25370.37310.88060.37311.08960.1492
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4790
predicted_ER0.5350
predicted_ERA4.8174
predicted_H0.8870
predicted_HR0.2060
predicted_IP1.0000
predicted_SO1.0280
predicted_WHIP1.3655
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.47900.7199model_form_blend
predicted_ER0.00000.53500.2876model_form_blend
predicted_ERA-4.81744.8174form_only
predicted_H0.00000.88700.4768model_form_blend
predicted_HR0.00000.20600.1107model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.02801.4775model_form_blend
predicted_WHIP-1.36551.3655form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date68
Season rows before report date68
Report year2026
Profile rows used68
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB2
SO2
HR0
BF5
Pitches21

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA3.36
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches10
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260927_CHC@BOS
game_typefull
mlbID657097
playerID657097
playerNameJacob Webb
posP
startedFalse
startingPositionP
teamCHC
teamID5
game_date2026-09-27
sl_k_percent25.7
sl_bb_percent8.8
sl_woba0.296
sl_xwoba0.32
sl_sweet_spot_percent40.0
sl_barrel_batted_rate7.7
sl_hard_hit_percent41.6
sl_whiff_percent33.3
sl_swing_percent50.0
sl_avg_best_speed77.435537253
sl_avg_hyper_speed94.259427127

Home Team: SD

Home Pitcher Deep Analysis

FieldValue
PitcherMichael King
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0886
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0483
Avg Velo89.0017
Avg Spin2291.8143
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER3
Pre H5
Pre BB2
Pre SO5
Season ERA3.2108
Season WHIP1.1784
Role Avg IP5.7810
Recent Avg IP5.8000
Last Start IP4
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9915,
    "defense_index": 1.0693,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1884
  },
  "opponent": {
    "team": "CHC",
    "games": 162,
    "wins": 89,
    "losses": 73,
    "win_pct": 0.5494,
    "runs_scored": 850.0,
    "runs_allowed": 703.0,
    "run_differential": 147.0,
    "run_differential_per_game": 0.9074,
    "avg_runs_scored": 5.2469,
    "avg_runs_allowed": 4.3395,
    "offense_index": 1.1673,
    "defense_index": 1.0358,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.3,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": 0.153
  },
  "edges": {
    "quality_edge": 0.0354,
    "offense_edge": -0.0085,
    "opponent_offense_edge": 0.1673,
    "defense_strength": 0.0693,
    "opponent_defense_weakness": -0.0358,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 0.9968,
    "run_prevention": 1.0181,
    "strikeout": 0.9877
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "650633",
    "profile": {
      "available": true,
      "pitcher_id": "650633",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 730.0,
        "k_percent": 21.0,
        "bb_percent": 9.2,
        "woba": 0.295,
        "xwoba": 0.322,
        "sweet_spot_percent": 33.7,
        "barrel_batted_rate": 8.2,
        "hard_hit_percent": 32.7,
        "avg_best_speed": 75.9245,
        "avg_hyper_speed": 93.0549,
        "whiff_percent": 24.5,
        "swing_percent": 46.5
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0356,
        "command_and_miss": -0.1057,
        "regression_edge": -0.7714,
        "xwoba_edge": -0.2857,
        "barrel_edge": -0.2222,
        "hard_hit_edge": 0.7429,
        "whiff_edge": -0.1,
        "bb_edge": 0.0,
        "pitch_design_score": -0.0483
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "650633",
        "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": 89.00166640531685,
          "release_spin_rate": 2291.8143101549963,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 89.00166640531685,
            "release_spin_rate": 2291.8143101549963,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0017,
          "release_spin_rate": 2291.8143,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0483,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.345,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0886,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0075,
      "strikeout_factor": 0.9897,
      "walk_factor": 1.0,
      "homer_factor": 0.9966,
      "woba_minus_xwoba": -0.027,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "650633",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0075,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0075,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.0,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9966,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 0.9897,
        "adjusted": 5
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 59.2,
    "ER": 19,
    "H": 51,
    "BB": 20,
    "SO": 50,
    "HR": 7,
    "ERA": 2.865921787709497,
    "WHIP": 1.1899441340782122,
    "K9": 7.541899441340782,
    "HR9": 1.0558659217877093,
    "games_pitched": 10,
    "quality_starts": 8,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "650633",
  "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": 89.00166640531685,
    "release_spin_rate": 2291.8143101549963,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 89.00166640531685,
      "release_spin_rate": 2291.8143101549963,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0017,
    "release_spin_rate": 2291.8143,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0483,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.345,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "650633",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 32,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 29.0,
        "ER": 10.0,
        "R": 10.0,
        "H": 26.0,
        "BB": 10.0,
        "SO": 24.0,
        "HR": 2.0,
        "BF": 121.0,
        "Pitches": 473.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.2,
        "BB": 2.0,
        "SO": 4.8,
        "HR": 0.4,
        "BF": 24.2,
        "Pitches": 94.6
      },
      "rates": {
        "ERA": 3.1034,
        "WHIP": 1.2414,
        "ER_per_IP": 0.34483,
        "H_per_IP": 0.89655,
        "BB_per_IP": 0.34483,
        "SO_per_IP": 0.82759,
        "HR_per_IP": 0.06897
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 59.2,
        "ER": 19.0,
        "R": 20.0,
        "H": 51.0,
        "BB": 20.0,
        "SO": 50.0,
        "HR": 7.0,
        "BF": 242.0,
        "Pitches": 951.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.9,
        "R": 2.0,
        "H": 5.1,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 0.7,
        "BF": 24.2,
        "Pitches": 95.1
      },
      "rates": {
        "ERA": 2.8659,
        "WHIP": 1.1899,
        "ER_per_IP": 0.31844,
        "H_per_IP": 0.85475,
        "BB_per_IP": 0.3352,
        "SO_per_IP": 0.83799,
        "HR_per_IP": 0.11732
      }
    },
    "season": {
      "games": 32,
      "totals": {
        "IP": 185.0,
        "ER": 66.0,
        "R": 68.0,
        "H": 148.0,
        "BB": 70.0,
        "SO": 159.0,
        "HR": 20.0,
        "BF": 757.0,
        "Pitches": 2981.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.0625,
        "R": 2.125,
        "H": 4.625,
        "BB": 2.1875,
        "SO": 4.9688,
        "HR": 0.625,
        "BF": 23.6562,
        "Pitches": 93.1562
      },
      "rates": {
        "ERA": 3.2108,
        "WHIP": 1.1784,
        "ER_per_IP": 0.35676,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.37838,
        "SO_per_IP": 0.85946,
        "HR_per_IP": 0.10811
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 2.086,
    "predicted_H": 5.07,
    "predicted_BB": 2.032,
    "predicted_SO": 4.907,
    "predicted_HR": 0.584,
    "predicted_ERA": 3.2544,
    "predicted_WHIP": 1.2314
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4071,
  "form_weight": 0.5929,
  "form_reliability": 0.8649,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.086,
      "final": 2.4581,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.07,
      "final": 5.0415,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 2.032,
      "final": 2.019,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 4.907,
      "final": 4.1307,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.584,
      "final": 1.1604,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.2544,
      "final": 3.2544,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2314,
      "final": 1.2314,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherBradgley Rodriguez
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.0314
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2363
Avg Velo94.0841
Avg Spin2133.0307
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.7027
Season WHIP0.9730
Role Avg IP1.1290
Recent Avg IP1.5330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9915,
    "defense_index": 1.0693,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1884
  },
  "opponent": {
    "team": "CHC",
    "games": 162,
    "wins": 89,
    "losses": 73,
    "win_pct": 0.5494,
    "runs_scored": 850.0,
    "runs_allowed": 703.0,
    "run_differential": 147.0,
    "run_differential_per_game": 0.9074,
    "avg_runs_scored": 5.2469,
    "avg_runs_allowed": 4.3395,
    "offense_index": 1.1673,
    "defense_index": 1.0358,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.3,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": 0.153
  },
  "edges": {
    "quality_edge": 0.0354,
    "offense_edge": -0.0085,
    "opponent_offense_edge": 0.1673,
    "defense_strength": 0.0693,
    "opponent_defense_weakness": -0.0358,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 0.9968,
    "run_prevention": 1.0181,
    "strikeout": 0.9877
  },
  "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": 272.0,
        "k_percent": 26.9,
        "bb_percent": 6.6,
        "woba": 0.266,
        "xwoba": 0.239,
        "sweet_spot_percent": 27.0,
        "barrel_batted_rate": 4.5,
        "hard_hit_percent": 30.0,
        "avg_best_speed": 76.2635,
        "avg_hyper_speed": 92.9787,
        "whiff_percent": 30.1,
        "swing_percent": 51.6
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.3529,
        "command_and_miss": 0.6836,
        "regression_edge": 0.7714,
        "xwoba_edge": 2.0857,
        "barrel_edge": 0.6,
        "hard_hit_edge": 1.1286,
        "whiff_edge": 0.7,
        "bb_edge": 0.65,
        "pitch_design_score": 0.2363
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "699134",
        "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": 94.08410367455664,
          "release_spin_rate": 2133.030650937673,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 94.08410367455664,
            "release_spin_rate": 2133.030650937673,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0841,
          "release_spin_rate": 2133.0307,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2363,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.688,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0314,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9123,
      "strikeout_factor": 1.0554,
      "walk_factor": 0.948,
      "homer_factor": 0.8443,
      "woba_minus_xwoba": 0.027,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "699134",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9123,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9123,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.948,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8443,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0554,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.2,
    "ER": 1,
    "H": 6,
    "BB": 2,
    "SO": 14,
    "HR": 1,
    "ERA": 0.7714285714285714,
    "WHIP": 0.6857142857142856,
    "K9": 10.799999999999999,
    "HR9": 0.7714285714285714,
    "games_pitched": 9,
    "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-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "699134",
  "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": 94.08410367455664,
    "release_spin_rate": 2133.030650937673,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 94.08410367455664,
      "release_spin_rate": 2133.030650937673,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0841,
    "release_spin_rate": 2133.0307,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2363,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.688,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.228,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7528,
    "prior_weight": 0.2472
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "699134",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 66,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 28.0,
        "Pitches": 110.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 5.6,
        "Pitches": 22.0
      },
      "rates": {
        "ERA": 1.1739,
        "WHIP": 0.913,
        "ER_per_IP": 0.13043,
        "H_per_IP": 0.65217,
        "BB_per_IP": 0.26087,
        "SO_per_IP": 0.91304,
        "HR_per_IP": 0.13043
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 7.0,
        "BB": 2.0,
        "SO": 16.0,
        "HR": 1.0,
        "BF": 46.0,
        "Pitches": 182.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.7,
        "BB": 0.2,
        "SO": 1.6,
        "HR": 0.1,
        "BF": 4.6,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 0.6923,
        "WHIP": 0.6923,
        "ER_per_IP": 0.07692,
        "H_per_IP": 0.53846,
        "BB_per_IP": 0.15385,
        "SO_per_IP": 1.23077,
        "HR_per_IP": 0.07692
      }
    },
    "season": {
      "games": 66,
      "totals": {
        "IP": 74.0,
        "ER": 14.0,
        "R": 18.0,
        "H": 53.0,
        "BB": 19.0,
        "SO": 81.0,
        "HR": 4.0,
        "BF": 294.0,
        "Pitches": 1161.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2121,
        "R": 0.2727,
        "H": 0.803,
        "BB": 0.2879,
        "SO": 1.2273,
        "HR": 0.0606,
        "BF": 4.4545,
        "Pitches": 17.5909
      },
      "rates": {
        "ERA": 1.7027,
        "WHIP": 0.973,
        "ER_per_IP": 0.18919,
        "H_per_IP": 0.71622,
        "BB_per_IP": 0.25676,
        "SO_per_IP": 1.09459,
        "HR_per_IP": 0.05405
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.307,
    "predicted_H": 0.997,
    "predicted_BB": 0.365,
    "predicted_SO": 1.437,
    "predicted_HR": 0.153,
    "predicted_ERA": 1.9775,
    "predicted_WHIP": 0.9752
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4544,
  "form_weight": 0.5456,
  "form_reliability": 0.7528,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.228,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7528,
    "prior_weight": 0.2472
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.307,
      "final": 0.1675,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.997,
      "final": 0.5439,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.365,
      "final": 0.1991,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.437,
      "final": 1.2384,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.153,
      "final": 0.0835,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9775,
      "final": 1.9775,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9752,
      "final": 0.9752,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherAdrian Morejon
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.1759
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo96.2573
Avg Spin2196.2806
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H2
Pre BB1
Pre SO0
Season ERA2.8256
Season WHIP1.0814
Role Avg IP1.1320
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9915,
    "defense_index": 1.0693,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1884
  },
  "opponent": {
    "team": "CHC",
    "games": 162,
    "wins": 89,
    "losses": 73,
    "win_pct": 0.5494,
    "runs_scored": 850.0,
    "runs_allowed": 703.0,
    "run_differential": 147.0,
    "run_differential_per_game": 0.9074,
    "avg_runs_scored": 5.2469,
    "avg_runs_allowed": 4.3395,
    "offense_index": 1.1673,
    "defense_index": 1.0358,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.3,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": 0.153
  },
  "edges": {
    "quality_edge": 0.0354,
    "offense_edge": -0.0085,
    "opponent_offense_edge": 0.1673,
    "defense_strength": 0.0693,
    "opponent_defense_weakness": -0.0358,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 0.9968,
    "run_prevention": 1.0181,
    "strikeout": 0.9877
  },
  "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": 324.0,
        "k_percent": 30.4,
        "bb_percent": 8.0,
        "woba": 0.244,
        "xwoba": 0.237,
        "sweet_spot_percent": 28.3,
        "barrel_batted_rate": 2.8,
        "hard_hit_percent": 32.5,
        "avg_best_speed": 74.3318,
        "avg_hyper_speed": 93.3234,
        "whiff_percent": 34.2,
        "swing_percent": 52.6
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.5395,
        "command_and_miss": 1.0436,
        "regression_edge": 0.2,
        "xwoba_edge": 2.1429,
        "barrel_edge": 0.9778,
        "hard_hit_edge": 0.7714,
        "whiff_edge": 1.2857,
        "bb_edge": 0.3,
        "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": 9,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 9,
          "pitch_usage": 0.0,
          "release_speed": 96.2573267555095,
          "release_spin_rate": 2196.280633775094,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 9,
            "pitch_usage": 0.0,
            "release_speed": 96.2573267555095,
            "release_spin_rate": 2196.280633775094,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 96.2573,
          "release_spin_rate": 2196.2806,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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": 1.1759,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9001,
      "strikeout_factor": 1.0989,
      "walk_factor": 0.976,
      "homer_factor": 0.8266,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "670970",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9001,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9001,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.976,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8266,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0989,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 4,
    "SO": 13,
    "HR": 0,
    "ERA": 1.9285714285714288,
    "WHIP": 0.8571428571428572,
    "K9": 12.535714285714286,
    "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-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "670970",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 9,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 9,
    "pitch_usage": 0.0,
    "release_speed": 96.2573267555095,
    "release_spin_rate": 2196.280633775094,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 9,
      "pitch_usage": 0.0,
      "release_speed": 96.2573267555095,
      "release_spin_rate": 2196.280633775094,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 96.2573,
    "release_spin_rate": 2196.2806,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.697,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7797,
    "prior_weight": 0.2203
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670970",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 76,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 63.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.8,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 12.6
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 1.3846,
        "ER_per_IP": 0.23077,
        "H_per_IP": 0.46154,
        "BB_per_IP": 0.92308,
        "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": 4.0,
        "BB": 4.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 36.0,
        "Pitches": 114.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.3,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 11.4
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 0.8571,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 1.39286,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 76,
      "totals": {
        "IP": 86.0,
        "ER": 27.0,
        "R": 32.0,
        "H": 65.0,
        "BB": 28.0,
        "SO": 107.0,
        "HR": 4.0,
        "BF": 352.0,
        "Pitches": 1318.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3553,
        "R": 0.4211,
        "H": 0.8553,
        "BB": 0.3684,
        "SO": 1.4079,
        "HR": 0.0526,
        "BF": 4.6316,
        "Pitches": 17.3421
      },
      "rates": {
        "ERA": 2.8256,
        "WHIP": 1.0814,
        "ER_per_IP": 0.31395,
        "H_per_IP": 0.75581,
        "BB_per_IP": 0.32558,
        "SO_per_IP": 1.24419,
        "HR_per_IP": 0.04651
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.301,
    "predicted_H": 0.614,
    "predicted_BB": 0.575,
    "predicted_SO": 1.347,
    "predicted_HR": 0.04,
    "predicted_ERA": 2.7125,
    "predicted_WHIP": 1.1886
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4431,
  "form_weight": 0.5569,
  "form_reliability": 0.7797,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.697,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7797,
    "prior_weight": 0.2203
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.301,
      "final": 0.6107,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.614,
      "final": 1.2281,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.575,
      "final": 0.7633,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.347,
      "final": 1.1933,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.04,
      "final": 0.0223,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7125,
      "final": 2.7125,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1886,
      "final": 1.1886,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherMason Miller
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.4422
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2651
Avg Velo94.5978
Avg Spin2455.8642
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA1.6714
Season WHIP0.9000
Role Avg IP1.0610
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SD",
    "games": 162,
    "wins": 91,
    "losses": 71,
    "win_pct": 0.5617,
    "runs_scored": 722.0,
    "runs_allowed": 681.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2531,
    "avg_runs_scored": 4.4568,
    "avg_runs_allowed": 4.2037,
    "offense_index": 0.9915,
    "defense_index": 1.0693,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 6.3,
      "avg_runs_allowed": 4.5,
      "run_differential": 18.0
    },
    "available": true,
    "quality_score": 0.1884
  },
  "opponent": {
    "team": "CHC",
    "games": 162,
    "wins": 89,
    "losses": 73,
    "win_pct": 0.5494,
    "runs_scored": 850.0,
    "runs_allowed": 703.0,
    "run_differential": 147.0,
    "run_differential_per_game": 0.9074,
    "avg_runs_scored": 5.2469,
    "avg_runs_allowed": 4.3395,
    "offense_index": 1.1673,
    "defense_index": 1.0358,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.3,
      "run_differential": 8.0
    },
    "available": true,
    "quality_score": 0.153
  },
  "edges": {
    "quality_edge": 0.0354,
    "offense_edge": -0.0085,
    "opponent_offense_edge": 0.1673,
    "defense_strength": 0.0693,
    "opponent_defense_weakness": -0.0358,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 0.9968,
    "run_prevention": 1.0181,
    "strikeout": 0.9877
  },
  "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": 245.0,
        "k_percent": 47.4,
        "bb_percent": 9.6,
        "woba": 0.208,
        "xwoba": 0.201,
        "sweet_spot_percent": 31.3,
        "barrel_batted_rate": 7.0,
        "hard_hit_percent": 28.7,
        "avg_best_speed": 75.8134,
        "avg_hyper_speed": 92.7864,
        "whiff_percent": 45.3,
        "swing_percent": 47.3
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.6351,
        "command_and_miss": 1.98,
        "regression_edge": 0.2,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.0444,
        "hard_hit_edge": 1.3143,
        "whiff_edge": 2.5,
        "bb_edge": -0.1,
        "pitch_design_score": 0.2651
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "695243",
        "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": 94.59781443895686,
          "release_spin_rate": 2455.8641581523266,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 94.59781443895686,
            "release_spin_rate": 2455.8641581523266,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5978,
          "release_spin_rate": 2455.8642,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2651,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.8935,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.4422,
      "sample_weight": 0.98,
      "run_prevention_factor": 0.8774,
      "strikeout_factor": 1.16,
      "walk_factor": 1.0078,
      "homer_factor": 0.8715,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "695243",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.8799,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.8799,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0076,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8741,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.1568,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "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": 5,
    "H": 8,
    "BB": 6,
    "SO": 21,
    "HR": 1,
    "ERA": 4.218749999999999,
    "WHIP": 1.3124999999999998,
    "K9": 17.718749999999996,
    "HR9": 0.8437499999999999,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "695243",
  "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": 94.59781443895686,
    "release_spin_rate": 2455.8641581523266,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 94.59781443895686,
      "release_spin_rate": 2455.8641581523266,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5978,
    "release_spin_rate": 2455.8642,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2651,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.8935,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.405,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7423,
    "prior_weight": 0.2577
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "695243",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 66,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 26.0,
        "Pitches": 92.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 0.6,
        "SO": 2.0,
        "HR": 0.2,
        "BF": 5.2,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 7.9412,
        "WHIP": 1.4118,
        "ER_per_IP": 0.88235,
        "H_per_IP": 0.88235,
        "BB_per_IP": 0.52941,
        "SO_per_IP": 1.76471,
        "HR_per_IP": 0.17647
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 5.0,
        "R": 5.0,
        "H": 8.0,
        "BB": 6.0,
        "SO": 21.0,
        "HR": 1.0,
        "BF": 47.0,
        "Pitches": 186.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5,
        "R": 0.5,
        "H": 0.8,
        "BB": 0.6,
        "SO": 2.1,
        "HR": 0.1,
        "BF": 4.7,
        "Pitches": 18.6
      },
      "rates": {
        "ERA": 4.2188,
        "WHIP": 1.3125,
        "ER_per_IP": 0.46875,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.5625,
        "SO_per_IP": 1.96875,
        "HR_per_IP": 0.09375
      }
    },
    "season": {
      "games": 66,
      "totals": {
        "IP": 70.0,
        "ER": 13.0,
        "R": 16.0,
        "H": 37.0,
        "BB": 26.0,
        "SO": 129.0,
        "HR": 3.0,
        "BF": 272.0,
        "Pitches": 1149.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.197,
        "R": 0.2424,
        "H": 0.5606,
        "BB": 0.3939,
        "SO": 1.9545,
        "HR": 0.0455,
        "BF": 4.1212,
        "Pitches": 17.4091
      },
      "rates": {
        "ERA": 1.6714,
        "WHIP": 0.9,
        "ER_per_IP": 0.18571,
        "H_per_IP": 0.52857,
        "BB_per_IP": 0.37143,
        "SO_per_IP": 1.84286,
        "HR_per_IP": 0.04286
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.576,
    "predicted_H": 0.822,
    "predicted_BB": 0.476,
    "predicted_SO": 1.616,
    "predicted_HR": 0.128,
    "predicted_ERA": 5.1864,
    "predicted_WHIP": 1.2975
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4589,
  "form_weight": 0.5411,
  "form_reliability": 0.7423,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.405,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7423,
    "prior_weight": 0.2577
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.576,
      "final": 0.3117,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.822,
      "final": 0.9037,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.476,
      "final": 0.2576,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.616,
      "final": 1.3333,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.128,
      "final": 0.0693,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.1864,
      "final": 5.1864,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2975,
      "final": 1.2975,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
Samad Taylor (669392) · BATTER · LF · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 155
All-history rows before 20260929: 155
System season_avg: 0.3160
Data season_avg (2026 season-to-date): 0.3327
Diff (system - data): -0.0167
System opponent_avg: 0.3580
System season_avg diverges from 2026 season-to-date by -0.0167. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0850.0000.000Hitting_2B0.0970.000-0.0970.000
predicted_3B0.0430.0000.000Hitting_3B0.0450.000-0.0450.000
predicted_AB3.2343.0004.000Hitting_AB3.5293.000-0.5290.000
predicted_AVG0.2590.0000.250Hitting_AVG0.3330.333-0.333-0.333
predicted_BB0.3831.0000.000Hitting_BB0.4710.0000.5291.000
predicted_CS-0.0000.000BaseRunning_CS0.0650.000-0.0650.000
predicted_H0.5700.0001.000Hitting_H1.1741.000-1.174-1.000
predicted_HR0.0400.0000.000Hitting_HR0.0390.000-0.0390.000
predicted_OBP0.3060.2500.250Hitting_OBP0.4150.333-0.165-0.083
predicted_R0.5530.0001.000Hitting_R0.6390.000-0.6390.000
predicted_RBI0.2300.0000.000Hitting_RBI0.4260.000-0.4260.000
predicted_SLG0.3770.0000.250Hitting_SLG0.4190.333-0.419-0.333
predicted_SO0.9571.0001.000Hitting_SO1.0651.000-0.0650.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics1
Deboosted Metrics8
Better Metrics1
Worse Metrics8
Biggest Boostpredicted_BB: 0.3830 -> 1.0000 (boost 0.6170, better)
Biggest Deboostpredicted_H: 0.5700 -> 0.0000 (deboost -0.5700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_H: 0.5700 -> 0.6956 (boost 0.1256, 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.
3team_form_snapshot30303-predicted_SLG: 0.3734 -> 0.3093 (deboost -0.0641, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_AB: 3.2429 -> 4.0000 (boost 0.7571, better)predicted_BB: 0.3654 -> 0.0000 (deboost -0.3654, worse)AB rounded to 4 (raw=3.24), rates preserved: AVG=0.215 HR/AB=0.014
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
7consistency_constraints11010predicted_R: 0.5420 -> 1.0000 (boost 0.4580, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4191 (boost 0.4191, better)predicted_SO: 1.0000 -> 0.9142 (deboost -0.0858, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_SO: 0.9142 -> 1.0000 (boost 0.0858, worse)predicted_BB: 0.4191 -> 0.0000 (deboost -0.4191, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.3093 -> 0.3740 (boost 0.0647, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference41313predicted_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
12current_json_final30303-predicted_SLG: 0.3740 -> 0.3093 (deboost -0.0647, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669392",
  "player_name": "Samad Taylor",
  "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.085,
        "predicted_3B": 0.043,
        "predicted_AB": 3.234,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.383,
        "predicted_H": 0.57,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.306,
        "predicted_R": 0.553,
        "predicted_RBI": 0.23,
        "predicted_SLG": 0.377,
        "predicted_SO": 0.957
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.0919,
        "predicted_3B": 0.0353,
        "predicted_AB": 3.2429,
        "predicted_AVG": 0.2635,
        "predicted_BB": 0.3651,
        "predicted_H": 0.6956,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0469,
        "predicted_OBP": 0.3184,
        "predicted_R": 0.5355,
        "predicted_RBI": 0.2922,
        "predicted_SLG": 0.3734,
        "predicted_SO": 0.9383
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.085,
          "after": 0.0919,
          "delta": 0.0069,
          "percent_delta": 0.0812,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.043,
          "after": 0.0353,
          "delta": -0.0077,
          "percent_delta": -0.1791,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.234,
          "after": 3.2429,
          "delta": 0.0089,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2635,
          "delta": 0.0045,
          "percent_delta": 0.0174,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.383,
          "after": 0.3651,
          "delta": -0.0179,
          "percent_delta": -0.0467,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.57,
          "after": 0.6956,
          "delta": 0.1256,
          "percent_delta": 0.2204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0469,
          "delta": 0.0069,
          "percent_delta": 0.1725,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3184,
          "delta": 0.0124,
          "percent_delta": 0.0405,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.553,
          "after": 0.5355,
          "delta": -0.0175,
          "percent_delta": -0.0316,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.23,
          "after": 0.2922,
          "delta": 0.0622,
          "percent_delta": 0.2704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.377,
          "after": 0.3734,
          "delta": -0.0036,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.957,
          "after": 0.9383,
          "delta": -0.0187,
          "percent_delta": -0.0195,
          "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.57,
          "after": 0.6956,
          "delta": 0.1256,
          "percent_delta": 0.2204,
          "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": 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.0919,
        "predicted_3B": 0.0353,
        "predicted_AB": 3.2429,
        "predicted_AVG": 0.2159,
        "predicted_BB": 0.3654,
        "predicted_H": 0.7003,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.0468,
        "predicted_OBP": 0.2953,
        "predicted_R": 0.542,
        "predicted_RBI": 0.2958,
        "predicted_SLG": 0.3093,
        "predicted_SO": 0.9376
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0919,
          "after": 0.0919,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0353,
          "after": 0.0353,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2429,
          "after": 3.2429,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2635,
          "after": 0.2159,
          "delta": -0.0476,
          "percent_delta": -0.1806,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3651,
          "after": 0.3654,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6956,
          "after": 0.7003,
          "delta": 0.0047,
          "percent_delta": 0.0068,
          "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.0469,
          "after": 0.0468,
          "delta": -0.0001,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3184,
          "after": 0.2953,
          "delta": -0.0231,
          "percent_delta": -0.0726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5355,
          "after": 0.542,
          "delta": 0.0065,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2922,
          "after": 0.2958,
          "delta": 0.0036,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3734,
          "after": 0.3093,
          "delta": -0.0641,
          "percent_delta": -0.1717,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9383,
          "after": 0.9376,
          "delta": -0.0007,
          "percent_delta": -0.0007,
          "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.3734,
          "after": 0.3093,
          "delta": -0.0641,
          "percent_delta": -0.1717,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.24), rates preserved: AVG=0.215 HR/AB=0.014",
      "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.0919,
          "after": 0.0,
          "delta": -0.0919,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0353,
          "after": 0.0,
          "delta": -0.0353,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2429,
          "after": 4.0,
          "delta": 0.7571,
          "percent_delta": 0.2335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3654,
          "after": 0.0,
          "delta": -0.3654,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7003,
          "after": 1.0,
          "delta": 0.2997,
          "percent_delta": 0.428,
          "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.0468,
          "after": 0.0,
          "delta": -0.0468,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2958,
          "after": 0.0,
          "delta": -0.2958,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9376,
          "after": 1.0,
          "delta": 0.0624,
          "percent_delta": 0.0666,
          "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_AB",
          "before": 3.2429,
          "after": 4.0,
          "delta": 0.7571,
          "percent_delta": 0.2335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3654,
          "after": 0.0,
          "delta": -0.3654,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 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": 7,
      "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.542,
          "after": 1.0,
          "delta": 0.458,
          "percent_delta": 0.845,
          "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.542,
          "after": 1.0,
          "delta": 0.458,
          "percent_delta": 0.845,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1372,
        "predicted_3B": 0.0164,
        "predicted_BB": 0.4191,
        "predicted_H": 0.9234,
        "predicted_HR": 0.0858,
        "predicted_RBI": 0.3946,
        "predicted_SO": 0.9142
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1372,
          "delta": 0.1372,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0164,
          "delta": 0.0164,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4191,
          "delta": 0.4191,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9234,
          "delta": -0.0766,
          "percent_delta": -0.0766,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0858,
          "delta": 0.0858,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3946,
          "delta": 0.3946,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9142,
          "delta": -0.0858,
          "percent_delta": -0.0858,
          "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": 0.4191,
          "delta": 0.4191,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9142,
          "delta": -0.0858,
          "percent_delta": -0.0858,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1372,
          "after": 0.0,
          "delta": -0.1372,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4191,
          "after": 0.0,
          "delta": -0.4191,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9234,
          "after": 1.0,
          "delta": 0.0766,
          "percent_delta": 0.083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0858,
          "after": 0.0,
          "delta": -0.0858,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3946,
          "after": 0.0,
          "delta": -0.3946,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9142,
          "after": 1.0,
          "delta": 0.0858,
          "percent_delta": 0.0939,
          "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.9142,
          "after": 1.0,
          "delta": 0.0858,
          "percent_delta": 0.0939,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4191,
          "after": 0.0,
          "delta": -0.4191,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.256,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.338,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.374,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2159,
          "after": 0.256,
          "delta": 0.0401,
          "percent_delta": 0.1857,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2953,
          "after": 0.338,
          "delta": 0.0427,
          "percent_delta": 0.1446,
          "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.3093,
          "after": 0.374,
          "delta": 0.0647,
          "percent_delta": 0.2092,
          "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.3093,
          "after": 0.374,
          "delta": 0.0647,
          "percent_delta": 0.2092,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 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": 12,
      "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.2159,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2953,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3093,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.256,
          "after": 0.2159,
          "delta": -0.0401,
          "percent_delta": -0.1565,
          "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.338,
          "after": 0.2953,
          "delta": -0.0427,
          "percent_delta": -0.1263,
          "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.374,
          "after": 0.3093,
          "delta": -0.0647,
          "percent_delta": -0.173,
          "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.374,
          "after": 0.3093,
          "delta": -0.0647,
          "percent_delta": -0.173,
          "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.085,
        "after": 0.0,
        "delta": -0.085,
        "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": 3.234,
        "after": 3.0,
        "delta": -0.234,
        "percent_delta": -0.0724,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.2159,
        "delta": -0.0431,
        "percent_delta": -0.1664,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.383,
        "after": 1.0,
        "delta": 0.617,
        "percent_delta": 1.611,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.2953,
        "delta": -0.0107,
        "percent_delta": -0.035,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.553,
        "after": 0.0,
        "delta": -0.553,
        "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.377,
        "after": 0.3093,
        "delta": -0.0677,
        "percent_delta": -0.1796,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.957,
        "after": 1.0,
        "delta": 0.043,
        "percent_delta": 0.0449,
        "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_BB",
        "before": 0.383,
        "after": 1.0,
        "delta": 0.617,
        "percent_delta": 1.611,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.085-
predicted_3B0.043-
predicted_AB3.234-
predicted_AVG0.259-
predicted_BB0.383-
predicted_H0.570-
predicted_HR0.040-
predicted_OBP0.306-
predicted_R0.553-
predicted_RBI0.230-
predicted_SLG0.377-
predicted_SO0.957-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0920.007
predicted_3B0.035-0.008
predicted_AB3.2430.009
predicted_AVG0.2640.005
predicted_BB0.365-0.018
predicted_H0.6960.126
predicted_HBP0.015-
predicted_HR0.0470.007
predicted_OBP0.3180.012
predicted_R0.535-0.018
predicted_RBI0.2920.062
predicted_SLG0.373-0.004
predicted_SO0.938-0.019
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0920.000
predicted_3B0.0350.000
predicted_AB3.2430.000
predicted_AVG0.216-0.048
predicted_BB0.3650.000
predicted_H0.7000.005
predicted_HBP0.0150.000
predicted_HR0.047-0.000
predicted_OBP0.295-0.023
predicted_R0.5420.007
predicted_RBI0.2960.004
predicted_SLG0.309-0.064
predicted_SO0.938-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.24), rates preserved: AVG=0.215 HR/AB=0.014

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1370.137
3B0.0160.016
BB0.4190.419
H0.923-0.077
HR0.0860.086
RBI0.3950.395
SO0.914-0.086
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.137
3B0.000-0.016
AB4.0000.000
BB0.000-0.419
H1.0000.077
HR0.000-0.086
R1.0000.000
RBI0.000-0.395
SO1.0000.086
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.092
predicted_3B0.000-0.035
predicted_AB4.0000.757
predicted_AVG0.2560.040
predicted_BB0.000-0.365
predicted_H1.0000.300
predicted_HR0.000-0.047
predicted_OBP0.3380.043
predicted_R1.0000.458
predicted_RBI0.000-0.296
predicted_SLG0.3740.065
predicted_SO1.0000.062
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 47
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0001.0000.0000.0000.0000.0001.0001.0005.0000.06670.12500.06670.06670.00000.00000.06670.3333
last_100.2010-31.00011.0002.0000.0001.0007.0007.0004.0007.0000.35480.41670.51610.35480.03230.22580.12900.2258
season0.6047-152.00048.0004.0002.0002.00018.00026.00018.00045.0000.31580.38950.40790.31580.01320.11840.11840.2960
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1020
predicted_3B0.0240
predicted_AB3.2560
predicted_AVG0.2700
predicted_BB0.3390
predicted_H0.8790
predicted_HBP0.0150
predicted_HR0.0570
predicted_OBP0.3366
predicted_R0.5100
predicted_RBI0.3830
predicted_SLG0.3682
predicted_SO0.9110
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08500.10200.0919model_form_blend
predicted_3B0.04300.02400.0353model_form_blend
predicted_AB3.23403.25603.2429model_form_blend
predicted_AVG0.25900.27000.2635model_form_blend
predicted_BB0.38300.33900.3651model_form_blend
predicted_H0.57000.87900.6956model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.04000.05700.0469model_form_blend
predicted_OBP0.30600.33660.3184model_form_blend
predicted_R0.55300.51000.5355model_form_blend
predicted_RBI0.23000.38300.2922model_form_blend
predicted_SLG0.37700.36820.3734model_form_blend
predicted_SO0.95700.91100.9383model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date155
Season rows before report date155
Report year2026
Profile rows used47
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder2
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPR-2B
gameID20260927_ARI@SD
game_typeph
mlbID669392
noteRan for Machado, M in the 3rd.
playerID669392
playerNameSamad Taylor
posLF
startedFalse
startingPositionPR
teamSD
teamID23
game_date2026-09-27
sl_k_percent25.7
sl_bb_percent10.3
sl_woba0.356
sl_xwoba0.309
sl_xba0.256
sl_xslg0.328
sl_sweet_spot_percent33.3
sl_barrel_batted_rate3.6
sl_hard_hit_percent25.2
sl_exit_velocity_avg85.9
sl_launch_angle_avg9.0
sl_whiff_percent25.2
sl_swing_percent44.1
Ty France (664034) · BATTER · 1B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 477
All-history rows before 20260929: 477
System season_avg: 0.2950
Data season_avg (2026 season-to-date): 0.3065
Diff (system - data): -0.0115
System opponent_avg: 0.4000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1890.0001.000Hitting_2B0.2140.000-0.2140.000
predicted_3B0.0160.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.8703.0004.000Hitting_AB3.5974.000-0.597-1.000
predicted_AVG0.2701.0000.250Hitting_AVG0.3070.5000.6930.500
predicted_BB0.2911.0000.000Hitting_BB0.3041.0000.6960.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.0403.0001.000Hitting_H1.1032.0001.8971.000
predicted_HR0.1200.0000.000Hitting_HR0.1780.000-0.1780.000
predicted_OBP0.3541.0000.250Hitting_OBP0.3720.6000.6280.400
predicted_R0.4651.0000.000Hitting_R0.4972.0000.503-1.000
predicted_RBI0.5900.0001.000Hitting_RBI0.6021.000-0.602-1.000
predicted_SLG0.4161.0000.500Hitting_SLG0.5220.5000.4780.500
predicted_SO0.8500.0001.000Hitting_SO0.8320.000-0.8320.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_H: 1.0400 -> 3.0000 (boost 1.9600, better)
Biggest Deboostpredicted_AB: 3.8700 -> 3.0000 (deboost -0.8700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_SLG: 0.4160 -> 0.4218 (boost 0.0058, better)predicted_AB: 3.8700 -> 3.7656 (deboost -0.1044, 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.
3team_form_snapshot10101-predicted_OBP: 0.3543 -> 0.3285 (deboost -0.0258, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_RBI: 0.5752 -> 1.0000 (boost 0.4248, better)predicted_BB: 0.3003 -> 0.0000 (deboost -0.3003, worse)AB rounded to 4 (raw=3.87), rates preserved: AVG=0.267 HR/AB=0.031
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400)
7consistency_constraints10101-predicted_R: 0.4930 -> 0.0000 (deboost -0.4930, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53241predicted_BB: 0.0000 -> 0.3447 (boost 0.3447, better)predicted_RBI: 1.0000 -> 0.5567 (deboost -0.4433, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation53223predicted_2B: 0.1781 -> 1.0000 (boost 0.8219, better)predicted_BB: 0.3447 -> 0.0000 (deboost -0.3447, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context31212predicted_SLG: 0.4249 -> 0.4340 (boost 0.0091, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference63342predicted_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
12current_json_final21111predicted_AVG: 0.2640 -> 0.2749 (boost 0.0109, better)predicted_SLG: 0.4340 -> 0.4249 (deboost -0.0091, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.189,
        "predicted_3B": 0.016,
        "predicted_AB": 3.87,
        "predicted_AVG": 0.27,
        "predicted_BB": 0.291,
        "predicted_H": 1.04,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.354,
        "predicted_R": 0.465,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.416,
        "predicted_SO": 0.85
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1751,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.7656,
        "predicted_AVG": 0.2739,
        "predicted_BB": 0.3001,
        "predicted_H": 1.0283,
        "predicted_HBP": 0.134,
        "predicted_HR": 0.1213,
        "predicted_OBP": 0.3543,
        "predicted_R": 0.4871,
        "predicted_RBI": 0.5683,
        "predicted_SLG": 0.4218,
        "predicted_SO": 0.8899
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.189,
          "after": 0.1751,
          "delta": -0.0139,
          "percent_delta": -0.0735,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0134,
          "delta": -0.0026,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.87,
          "after": 3.7656,
          "delta": -0.1044,
          "percent_delta": -0.027,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2739,
          "delta": 0.0039,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.291,
          "after": 0.3001,
          "delta": 0.0091,
          "percent_delta": 0.0313,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 1.0283,
          "delta": -0.0117,
          "percent_delta": -0.0113,
          "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.354,
          "after": 0.3543,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.465,
          "after": 0.4871,
          "delta": 0.0221,
          "percent_delta": 0.0475,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.5683,
          "delta": -0.0217,
          "percent_delta": -0.0368,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.4218,
          "delta": 0.0058,
          "percent_delta": 0.0139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.85,
          "after": 0.8899,
          "delta": 0.0399,
          "percent_delta": 0.0469,
          "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.416,
          "after": 0.4218,
          "delta": 0.0058,
          "percent_delta": 0.0139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.87,
          "after": 3.7656,
          "delta": -0.1044,
          "percent_delta": -0.027,
          "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": 127
      }
    },
    {
      "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.1751,
        "predicted_3B": 0.0134,
        "predicted_AB": 3.7656,
        "predicted_AVG": 0.2749,
        "predicted_BB": 0.3003,
        "predicted_H": 1.0352,
        "predicted_HBP": 0.134,
        "predicted_HR": 0.121,
        "predicted_OBP": 0.3285,
        "predicted_R": 0.493,
        "predicted_RBI": 0.5752,
        "predicted_SLG": 0.4249,
        "predicted_SO": 0.8893
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1751,
          "after": 0.1751,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0134,
          "after": 0.0134,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7656,
          "after": 3.7656,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2739,
          "after": 0.2749,
          "delta": 0.001,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3001,
          "after": 0.3003,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0283,
          "after": 1.0352,
          "delta": 0.0069,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.134,
          "after": 0.134,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1213,
          "after": 0.121,
          "delta": -0.0003,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3543,
          "after": 0.3285,
          "delta": -0.0258,
          "percent_delta": -0.0728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4871,
          "after": 0.493,
          "delta": 0.0059,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5683,
          "after": 0.5752,
          "delta": 0.0069,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4218,
          "after": 0.4249,
          "delta": 0.0031,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8899,
          "after": 0.8893,
          "delta": -0.0006,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3543,
          "after": 0.3285,
          "delta": -0.0258,
          "percent_delta": -0.0728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.267 HR/AB=0.031",
      "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.1751,
          "after": 0.0,
          "delta": -0.1751,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0134,
          "after": 0.0,
          "delta": -0.0134,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7656,
          "after": 4.0,
          "delta": 0.2344,
          "percent_delta": 0.0622,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3003,
          "after": 0.0,
          "delta": -0.3003,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0352,
          "after": 1.0,
          "delta": -0.0352,
          "percent_delta": -0.034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.134,
          "after": 0.0,
          "delta": -0.134,
          "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_RBI",
          "before": 0.5752,
          "after": 1.0,
          "delta": 0.4248,
          "percent_delta": 0.7385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8893,
          "after": 1.0,
          "delta": 0.1107,
          "percent_delta": 0.1245,
          "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.5752,
          "after": 1.0,
          "delta": 0.4248,
          "percent_delta": 0.7385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3003,
          "after": 0.0,
          "delta": -0.3003,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400)",
      "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.9,
        "bvp": 0.1
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.493,
          "after": 0.0,
          "delta": -0.493,
          "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.493,
          "after": 0.0,
          "delta": -0.493,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1781,
        "predicted_3B": 0.0127,
        "predicted_BB": 0.3447,
        "predicted_H": 0.9935,
        "predicted_HR": 0.1447,
        "predicted_RBI": 0.5567,
        "predicted_SO": 0.7962
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1781,
          "delta": 0.1781,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0127,
          "delta": 0.0127,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3447,
          "delta": 0.3447,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9935,
          "delta": -0.0065,
          "percent_delta": -0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1447,
          "delta": 0.1447,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5567,
          "delta": -0.4433,
          "percent_delta": -0.4433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7962,
          "delta": -0.2038,
          "percent_delta": -0.2038,
          "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_BB",
          "before": 0.0,
          "after": 0.3447,
          "delta": 0.3447,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5567,
          "delta": -0.4433,
          "percent_delta": -0.4433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1781,
          "after": 1.0,
          "delta": 0.8219,
          "percent_delta": 4.6148,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0127,
          "after": 0.0,
          "delta": -0.0127,
          "percent_delta": -1.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_BB",
          "before": 0.3447,
          "after": 0.0,
          "delta": -0.3447,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9935,
          "after": 1.0,
          "delta": 0.0065,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1447,
          "after": 0.0,
          "delta": -0.1447,
          "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.5567,
          "after": 1.0,
          "delta": 0.4433,
          "percent_delta": 0.7963,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7962,
          "after": 1.0,
          "delta": 0.2038,
          "percent_delta": 0.256,
          "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_2B",
          "before": 0.1781,
          "after": 1.0,
          "delta": 0.8219,
          "percent_delta": 4.6148,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3447,
          "after": 0.0,
          "delta": -0.3447,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.264,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.434,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2749,
          "after": 0.264,
          "delta": -0.0109,
          "percent_delta": -0.0397,
          "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.3285,
          "after": 0.331,
          "delta": 0.0025,
          "percent_delta": 0.0076,
          "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.4249,
          "after": 0.434,
          "delta": 0.0091,
          "percent_delta": 0.0214,
          "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.4249,
          "after": 0.434,
          "delta": 0.0091,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 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": 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": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "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.2749,
        "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.3285,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4249,
        "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.264,
          "after": 0.2749,
          "delta": 0.0109,
          "percent_delta": 0.0413,
          "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.331,
          "after": 0.3285,
          "delta": -0.0025,
          "percent_delta": -0.0077,
          "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.434,
          "after": 0.4249,
          "delta": -0.0091,
          "percent_delta": -0.021,
          "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.264,
          "after": 0.2749,
          "delta": 0.0109,
          "percent_delta": 0.0413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.434,
          "after": 0.4249,
          "delta": -0.0091,
          "percent_delta": -0.021,
          "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.016,
        "after": 0.0,
        "delta": -0.016,
        "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.27,
        "after": 0.2749,
        "delta": 0.0049,
        "percent_delta": 0.0181,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.291,
        "after": 1.0,
        "delta": 0.709,
        "percent_delta": 2.4364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.04,
        "after": 3.0,
        "delta": 1.96,
        "percent_delta": 1.8846,
        "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.354,
        "after": 0.3285,
        "delta": -0.0255,
        "percent_delta": -0.072,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.416,
        "after": 0.4249,
        "delta": 0.0089,
        "percent_delta": 0.0214,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.85,
        "after": 0.0,
        "delta": -0.85,
        "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.04,
        "after": 3.0,
        "delta": 1.96,
        "percent_delta": 1.8846,
        "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": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.189-
predicted_3B0.016-
predicted_AB3.870-
predicted_AVG0.270-
predicted_BB0.291-
predicted_H1.040-
predicted_HR0.120-
predicted_OBP0.354-
predicted_R0.465-
predicted_RBI0.590-
predicted_SLG0.416-
predicted_SO0.850-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.175-0.014
predicted_3B0.013-0.003
predicted_AB3.766-0.104
predicted_AVG0.2740.004
predicted_BB0.3000.009
predicted_H1.028-0.012
predicted_HBP0.134-
predicted_HR0.1210.001
predicted_OBP0.3540.000
predicted_R0.4870.022
predicted_RBI0.568-0.022
predicted_SLG0.4220.006
predicted_SO0.8900.040
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1750.000
predicted_3B0.0130.000
predicted_AB3.7660.000
predicted_AVG0.2750.001
predicted_BB0.3000.000
predicted_H1.0350.007
predicted_HBP0.1340.000
predicted_HR0.121-0.000
predicted_OBP0.329-0.026
predicted_R0.4930.006
predicted_RBI0.5750.007
predicted_SLG0.4250.003
predicted_SO0.889-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.87), rates preserved: AVG=0.267 HR/AB=0.031

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1780.178
3B0.0130.013
BB0.3450.345
H0.994-0.006
HR0.1450.145
RBI0.557-0.443
SO0.796-0.204
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.822
3B0.000-0.013
AB4.0000.000
BB0.000-0.345
H1.0000.006
HR0.000-0.145
R0.0000.000
RBI1.0000.443
SO1.0000.204
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.175
predicted_3B0.000-0.013
predicted_AB4.0000.234
predicted_AVG0.264-0.011
predicted_BB0.000-0.300
predicted_H1.000-0.035
predicted_HR0.000-0.121
predicted_OBP0.3310.003
predicted_R0.000-0.493
predicted_RBI1.0000.425
predicted_SLG0.4340.009
predicted_SO1.0000.111
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H3.0002.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 127
Reference playing time: 3.870
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0000.0002.0003.0002.0006.0000.21050.31820.21050.21050.00000.10530.10530.3158
last_100.2010-39.00012.0002.0000.0001.0006.0006.0003.00010.0000.30770.38640.43590.30770.02560.15380.07690.2564
season0.60127-440.000130.00024.0002.00021.00072.00059.00037.000108.0000.29550.36140.50230.29540.04770.16360.08410.2455
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1570
predicted_3B0.0100
predicted_AB3.6290
predicted_AVG0.2791
predicted_BB0.3120
predicted_H1.0130
predicted_HBP0.1340
predicted_HR0.1230
predicted_OBP0.3548
predicted_R0.5160
predicted_RBI0.5400
predicted_SLG0.4293
predicted_SO0.9420
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18900.15700.1751model_form_blend
predicted_3B0.01600.01000.0134model_form_blend
predicted_AB3.87003.62903.7656model_form_blend
predicted_AVG0.27000.27910.2739model_form_blend
predicted_BB0.29100.31200.3001model_form_blend
predicted_H1.04001.01301.0283model_form_blend
predicted_HBP-0.13400.1340form_only
predicted_HR0.12000.12300.1213model_form_blend
predicted_OBP0.35400.35480.3543model_form_blend
predicted_R0.46500.51600.4871model_form_blend
predicted_RBI0.59000.54000.5683model_form_blend
predicted_SLG0.41600.42930.4218model_form_blend
predicted_SO0.85000.94200.8899model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date477
Season rows before report date477
Report year2026
Profile rows used127
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H3
2B0
3B0
HR0
R1
RBI0
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260927_ARI@SD
game_typefull
mlbID664034
playerID664034
playerNameTy France
pos1B
startedTrue
startingPosition1B
teamSD
teamID23
game_date2026-09-27
sl_k_percent21.6
sl_bb_percent7.4
sl_woba0.373
sl_xwoba0.327
sl_xba0.248
sl_xslg0.421
sl_sweet_spot_percent38.5
sl_barrel_batted_rate9.1
sl_hard_hit_percent47.4
sl_exit_velocity_avg91.5
sl_launch_angle_avg14.6
sl_whiff_percent28.1
sl_swing_percent54.3
Manny Machado (592518) · BATTER · 3B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 643
All-history rows before 20260929: 643
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2219
Diff (system - data): -0.0049
System opponent_avg: 0.4500

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1390.0000.000Hitting_2B0.1510.000-0.1510.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1104.0004.000Hitting_AB3.7702.0000.2302.000
predicted_AVG0.2340.0000.250Hitting_AVG0.2220.500-0.222-0.500
predicted_BB0.4810.0001.000Hitting_BB0.5040.000-0.5040.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.9600.0001.000Hitting_H0.8371.000-0.837-1.000
predicted_HR0.2600.0001.000Hitting_HR0.1960.000-0.1960.000
predicted_OBP0.2950.0000.400Hitting_OBP0.3100.500-0.310-0.500
predicted_R0.5190.0001.000Hitting_R0.5520.000-0.5520.000
predicted_RBI0.7500.0001.000Hitting_RBI0.6071.000-0.607-1.000
predicted_SLG0.4220.0001.000Hitting_SLG0.4180.500-0.418-0.500
predicted_SO0.9113.0001.000Hitting_SO0.9001.0002.1002.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_SO: 0.9110 -> 3.0000 (boost 2.0890, worse)
Biggest Deboostpredicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 4.1100 -> 3.9564 (deboost -0.1536, 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.
3team_form_snapshot22020predicted_SLG: 0.4179 -> 0.4396 (boost 0.0217, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_RBI: 0.7685 -> 1.0000 (boost 0.2315, better)predicted_BB: 0.4144 -> 0.0000 (deboost -0.4144, worse)AB rounded to 4 (raw=4.11), rates preserved: AVG=0.214 HR/AB=0.060
6bvp_blend00000--Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.450)
7consistency_constraints10101-predicted_R: 0.4966 -> 0.0000 (deboost -0.4966, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.4946 (boost 0.4946, better)predicted_RBI: 1.0000 -> 0.5490 (deboost -0.4510, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation76152predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_2B: 0.1689 -> 0.0000 (deboost -0.1689, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context62424predicted_OBP: 0.2972 -> 0.3320 (boost 0.0348, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference31203predicted_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
12current_json_final31212predicted_SLG: 0.4200 -> 0.4396 (boost 0.0196, better)predicted_OBP: 0.3320 -> 0.2972 (deboost -0.0348, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.139,
        "predicted_3B": 0.0,
        "predicted_AB": 4.11,
        "predicted_AVG": 0.234,
        "predicted_BB": 0.481,
        "predicted_H": 0.96,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.295,
        "predicted_R": 0.519,
        "predicted_RBI": 0.75,
        "predicted_SLG": 0.422,
        "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.1167,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9564,
        "predicted_AVG": 0.2217,
        "predicted_BB": 0.4141,
        "predicted_H": 0.8786,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2464,
        "predicted_OBP": 0.2814,
        "predicted_R": 0.4906,
        "predicted_RBI": 0.7592,
        "predicted_SLG": 0.4179,
        "predicted_SO": 0.9329
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.139,
          "after": 0.1167,
          "delta": -0.0223,
          "percent_delta": -0.1604,
          "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.11,
          "after": 3.9564,
          "delta": -0.1536,
          "percent_delta": -0.0374,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.234,
          "after": 0.2217,
          "delta": -0.0123,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.481,
          "after": 0.4141,
          "delta": -0.0669,
          "percent_delta": -0.1391,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.8786,
          "delta": -0.0814,
          "percent_delta": -0.0848,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.2464,
          "delta": -0.0136,
          "percent_delta": -0.0523,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.2814,
          "delta": -0.0136,
          "percent_delta": -0.0461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.519,
          "after": 0.4906,
          "delta": -0.0284,
          "percent_delta": -0.0547,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.75,
          "after": 0.7592,
          "delta": 0.0092,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.422,
          "after": 0.4179,
          "delta": -0.0041,
          "percent_delta": -0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.911,
          "after": 0.9329,
          "delta": 0.0219,
          "percent_delta": 0.024,
          "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.11,
          "after": 3.9564,
          "delta": -0.1536,
          "percent_delta": -0.0374,
          "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": 158
      }
    },
    {
      "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.1167,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9564,
        "predicted_AVG": 0.2236,
        "predicted_BB": 0.4144,
        "predicted_H": 0.8845,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.2457,
        "predicted_OBP": 0.2972,
        "predicted_R": 0.4966,
        "predicted_RBI": 0.7685,
        "predicted_SLG": 0.4396,
        "predicted_SO": 0.9322
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1167,
          "after": 0.1167,
          "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.9564,
          "after": 3.9564,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2217,
          "after": 0.2236,
          "delta": 0.0019,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4141,
          "after": 0.4144,
          "delta": 0.0003,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8786,
          "after": 0.8845,
          "delta": 0.0059,
          "percent_delta": 0.0067,
          "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.2464,
          "after": 0.2457,
          "delta": -0.0007,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2814,
          "after": 0.2972,
          "delta": 0.0158,
          "percent_delta": 0.0561,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4906,
          "after": 0.4966,
          "delta": 0.006,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7592,
          "after": 0.7685,
          "delta": 0.0093,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4179,
          "after": 0.4396,
          "delta": 0.0217,
          "percent_delta": 0.0519,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9329,
          "after": 0.9322,
          "delta": -0.0007,
          "percent_delta": -0.0008,
          "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.4179,
          "after": 0.4396,
          "delta": 0.0217,
          "percent_delta": 0.0519,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.11), rates preserved: AVG=0.214 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.1167,
          "after": 0.0,
          "delta": -0.1167,
          "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.9564,
          "after": 4.0,
          "delta": 0.0436,
          "percent_delta": 0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4144,
          "after": 0.0,
          "delta": -0.4144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8845,
          "after": 1.0,
          "delta": 0.1155,
          "percent_delta": 0.1306,
          "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.2457,
          "after": 0.0,
          "delta": -0.2457,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7685,
          "after": 1.0,
          "delta": 0.2315,
          "percent_delta": 0.3012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9322,
          "after": 1.0,
          "delta": 0.0678,
          "percent_delta": 0.0727,
          "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.7685,
          "after": 1.0,
          "delta": 0.2315,
          "percent_delta": 0.3012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4144,
          "after": 0.0,
          "delta": -0.4144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.450)",
      "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.84,
        "bvp": 0.16
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.4966,
          "after": 0.0,
          "delta": -0.4966,
          "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.4966,
          "after": 0.0,
          "delta": -0.4966,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1689,
        "predicted_3B": 0.0069,
        "predicted_BB": 0.4946,
        "predicted_H": 0.9153,
        "predicted_HR": 0.1688,
        "predicted_RBI": 0.549,
        "predicted_SO": 0.7994
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1689,
          "delta": 0.1689,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0069,
          "delta": 0.0069,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4946,
          "delta": 0.4946,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9153,
          "delta": -0.0847,
          "percent_delta": -0.0847,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1688,
          "delta": 0.1688,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.549,
          "delta": -0.451,
          "percent_delta": -0.451,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7994,
          "delta": -0.2006,
          "percent_delta": -0.2006,
          "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": 0.4946,
          "delta": 0.4946,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.549,
          "delta": -0.451,
          "percent_delta": -0.451,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1689,
          "after": 0.0,
          "delta": -0.1689,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0069,
          "after": 0.0,
          "delta": -0.0069,
          "percent_delta": -1.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_BB",
          "before": 0.4946,
          "after": 1.0,
          "delta": 0.5054,
          "percent_delta": 1.0218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9153,
          "after": 1.0,
          "delta": 0.0847,
          "percent_delta": 0.0925,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1688,
          "after": 1.0,
          "delta": 0.8312,
          "percent_delta": 4.9242,
          "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.549,
          "after": 1.0,
          "delta": 0.451,
          "percent_delta": 0.8215,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7994,
          "after": 1.0,
          "delta": 0.2006,
          "percent_delta": 0.2509,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 6,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 2,
        "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_2B",
          "before": 0.1689,
          "after": 0.0,
          "delta": -0.1689,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.24,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.42,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2236,
          "after": 0.24,
          "delta": 0.0164,
          "percent_delta": 0.0733,
          "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_H",
          "before": 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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2972,
          "after": 0.332,
          "delta": 0.0348,
          "percent_delta": 0.1171,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4396,
          "after": 0.42,
          "delta": -0.0196,
          "percent_delta": -0.0446,
          "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": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2972,
          "after": 0.332,
          "delta": 0.0348,
          "percent_delta": 0.1171,
          "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": 11,
      "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": 12,
      "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.2236,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2972,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4396,
        "predicted_SO": 3.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.24,
          "after": 0.2236,
          "delta": -0.0164,
          "percent_delta": -0.0685,
          "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.332,
          "after": 0.2972,
          "delta": -0.0348,
          "percent_delta": -0.1049,
          "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.42,
          "after": 0.4396,
          "delta": 0.0196,
          "percent_delta": 0.0466,
          "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.42,
          "after": 0.4396,
          "delta": 0.0196,
          "percent_delta": 0.0466,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.2972,
          "delta": -0.0348,
          "percent_delta": -0.1049,
          "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.139,
        "after": 0.0,
        "delta": -0.139,
        "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.11,
        "after": 4.0,
        "delta": -0.11,
        "percent_delta": -0.0268,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.234,
        "after": 0.2236,
        "delta": -0.0104,
        "percent_delta": -0.0444,
        "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.96,
        "after": 0.0,
        "delta": -0.96,
        "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.295,
        "after": 0.2972,
        "delta": 0.0022,
        "percent_delta": 0.0075,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.422,
        "after": 0.4396,
        "delta": 0.0176,
        "percent_delta": 0.0417,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.911,
        "after": 3.0,
        "delta": 2.089,
        "percent_delta": 2.2931,
        "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.911,
        "after": 3.0,
        "delta": 2.089,
        "percent_delta": 2.2931,
        "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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.139-
predicted_3B0.000-
predicted_AB4.110-
predicted_AVG0.234-
predicted_BB0.481-
predicted_H0.960-
predicted_HR0.260-
predicted_OBP0.295-
predicted_R0.519-
predicted_RBI0.750-
predicted_SLG0.422-
predicted_SO0.911-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.117-0.022
predicted_3B0.0000.000
predicted_AB3.956-0.154
predicted_AVG0.222-0.012
predicted_BB0.414-0.067
predicted_H0.879-0.081
predicted_HBP0.005-
predicted_HR0.246-0.014
predicted_OBP0.281-0.014
predicted_R0.491-0.028
predicted_RBI0.7590.009
predicted_SLG0.418-0.004
predicted_SO0.9330.022
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1170.000
predicted_3B0.0000.000
predicted_AB3.9560.000
predicted_AVG0.2240.002
predicted_BB0.4140.000
predicted_H0.8840.006
predicted_HBP0.0050.000
predicted_HR0.246-0.001
predicted_OBP0.2970.016
predicted_R0.4970.006
predicted_RBI0.7680.009
predicted_SLG0.4400.022
predicted_SO0.932-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.11), rates preserved: AVG=0.214 HR/AB=0.060

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.450)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1690.169
3B0.0070.007
BB0.4950.495
H0.915-0.085
HR0.1690.169
RBI0.549-0.451
SO0.799-0.201
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.169
3B0.000-0.007
AB4.0000.000
BB1.0000.505
H1.0000.085
HR1.0000.831
R1.0001.000
RBI1.0000.451
SO1.0000.201
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.117
predicted_3B0.000-0.000
predicted_AB4.0000.044
predicted_AVG0.2400.016
predicted_BB0.000-0.414
predicted_H1.0000.116
predicted_HR0.000-0.246
predicted_OBP0.3320.035
predicted_R0.000-0.497
predicted_RBI1.0000.232
predicted_SLG0.420-0.020
predicted_SO1.0000.068
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO3.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 158
Reference playing time: 4.110
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0002.0007.0002.0000.0005.0000.21050.21050.52630.21050.10530.36840.00000.2632
last_100.2010-38.0006.0000.0000.0002.0008.0003.0002.00011.0000.15790.19050.31580.15790.05260.21050.05260.2895
season0.60158-589.000128.00022.0000.00030.00091.00082.00076.000144.0000.21730.30330.40750.21730.05090.15450.12900.2445
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0880
predicted_3B0.0010
predicted_AB3.7590
predicted_AVG0.2059
predicted_BB0.3280
predicted_H0.7740
predicted_HBP0.0050
predicted_HR0.2290
predicted_OBP0.2640
predicted_R0.4540
predicted_RBI0.7710
predicted_SLG0.4127
predicted_SO0.9610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13900.08800.1167model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.11003.75903.9564model_form_blend
predicted_AVG0.23400.20590.2217model_form_blend
predicted_BB0.48100.32800.4141model_form_blend
predicted_H0.96000.77400.8786model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.26000.22900.2464model_form_blend
predicted_OBP0.29500.26400.2814model_form_blend
predicted_R0.51900.45400.4906model_form_blend
predicted_RBI0.75000.77100.7592model_form_blend
predicted_SLG0.42200.41270.4179model_form_blend
predicted_SO0.91100.96100.9329model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date643
Season rows before report date643
Report year2026
Profile rows used158
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO3
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260927_ARI@SD
game_typefull
mlbID592518
playerID592518
playerNameManny Machado
pos3B
startedTrue
startingPosition3B
teamSD
teamID23
game_date2026-09-27
sl_k_percent21.3
sl_bb_percent11.2
sl_woba0.31
sl_xwoba0.328
sl_xba0.243
sl_xslg0.42
sl_sweet_spot_percent32.7
sl_barrel_batted_rate9.7
sl_hard_hit_percent43.6
sl_exit_velocity_avg90.1
sl_launch_angle_avg14.5
sl_whiff_percent25.3
sl_swing_percent47.8
Fernando Tatis Jr. (665487) · BATTER · RF · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 670
All-history rows before 20260929: 670
System season_avg: 0.2890
Data season_avg (2026 season-to-date): 0.2921
Diff (system - data): -0.0031
System opponent_avg: 0.2140

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2040.0000.000Hitting_2B0.2150.000-0.2150.000
predicted_3B0.0190.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB4.8405.0004.000Hitting_AB4.0464.0000.9541.000
predicted_AVG0.2880.2000.250Hitting_AVG0.2920.000-0.0920.200
predicted_BB0.3950.0000.000Hitting_BB0.4101.000-0.410-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0850.000-0.0850.000
predicted_H1.4001.0001.000Hitting_H1.1820.000-0.1821.000
predicted_HR0.1801.0000.000Hitting_HR0.1640.0000.8361.000
predicted_OBP0.4010.2000.250Hitting_OBP0.3610.200-0.1610.000
predicted_R0.6051.0001.000Hitting_R0.6341.0000.3660.000
predicted_RBI0.6301.0001.000Hitting_RBI0.5521.0000.4480.000
predicted_SLG0.5040.8000.250Hitting_SLG0.4770.0000.3230.800
predicted_SO0.8281.0000.000Hitting_SO0.8430.0000.1571.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_HR: 0.1800 -> 1.0000 (boost 0.8200, better)
Biggest Deboostpredicted_H: 1.4000 -> 1.0000 (deboost -0.4000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61515predicted_AVG: 0.2880 -> 0.3004 (boost 0.0124, better)predicted_AB: 4.8400 -> 4.4401 (deboost -0.3999, 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.
3team_form_snapshot20202-predicted_OBP: 0.3944 -> 0.3586 (deboost -0.0358, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81708predicted_SO: 0.8318 -> 1.0000 (boost 0.1682, worse)predicted_RBI: 0.5765 -> 0.0000 (deboost -0.5765, worse)AB rounded to 4 (raw=4.84), rates preserved: AVG=0.276 HR/AB=0.033
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)
7consistency_constraints11010predicted_R: 0.6008 -> 1.0000 (boost 0.3992, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.4822 (boost 0.4822, better)predicted_SO: 1.0000 -> 0.7395 (deboost -0.2605, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation51423predicted_RBI: 0.4822 -> 1.0000 (boost 0.5178, better)predicted_SO: 0.7395 -> 0.0000 (deboost -0.7395, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context51405predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_AVG: 0.2560 -> 0.3017 (boost 0.0457, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.204,
        "predicted_3B": 0.019,
        "predicted_AB": 4.84,
        "predicted_AVG": 0.288,
        "predicted_BB": 0.395,
        "predicted_H": 1.4,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.401,
        "predicted_R": 0.605,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.504,
        "predicted_SO": 0.828
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.0155,
        "predicted_AB": 4.4401,
        "predicted_AVG": 0.3004,
        "predicted_BB": 0.3932,
        "predicted_H": 1.3308,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1599,
        "predicted_OBP": 0.3944,
        "predicted_R": 0.5936,
        "predicted_RBI": 0.5696,
        "predicted_SLG": 0.4984,
        "predicted_SO": 0.8324
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.204,
          "after": 0.2285,
          "delta": 0.0245,
          "percent_delta": 0.1201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0155,
          "delta": -0.0035,
          "percent_delta": -0.1842,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.84,
          "after": 4.4401,
          "delta": -0.3999,
          "percent_delta": -0.0826,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.288,
          "after": 0.3004,
          "delta": 0.0124,
          "percent_delta": 0.0431,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.395,
          "after": 0.3932,
          "delta": -0.0018,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4,
          "after": 1.3308,
          "delta": -0.0692,
          "percent_delta": -0.0494,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1599,
          "delta": -0.0201,
          "percent_delta": -0.1117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.401,
          "after": 0.3944,
          "delta": -0.0066,
          "percent_delta": -0.0165,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.605,
          "after": 0.5936,
          "delta": -0.0114,
          "percent_delta": -0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.63,
          "after": 0.5696,
          "delta": -0.0604,
          "percent_delta": -0.0959,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.504,
          "after": 0.4984,
          "delta": -0.0056,
          "percent_delta": -0.0111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.828,
          "after": 0.8324,
          "delta": 0.0044,
          "percent_delta": 0.0053,
          "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_AVG",
          "before": 0.288,
          "after": 0.3004,
          "delta": 0.0124,
          "percent_delta": 0.0431,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.84,
          "after": 4.4401,
          "delta": -0.3999,
          "percent_delta": -0.0826,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 157
      }
    },
    {
      "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.0155,
        "predicted_AB": 4.4401,
        "predicted_AVG": 0.3017,
        "predicted_BB": 0.3935,
        "predicted_H": 1.3397,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1595,
        "predicted_OBP": 0.3586,
        "predicted_R": 0.6008,
        "predicted_RBI": 0.5765,
        "predicted_SLG": 0.4679,
        "predicted_SO": 0.8318
      },
      "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.0155,
          "after": 0.0155,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4401,
          "after": 4.4401,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3004,
          "after": 0.3017,
          "delta": 0.0013,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3932,
          "after": 0.3935,
          "delta": 0.0003,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3308,
          "after": 1.3397,
          "delta": 0.0089,
          "percent_delta": 0.0067,
          "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.1599,
          "after": 0.1595,
          "delta": -0.0004,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3944,
          "after": 0.3586,
          "delta": -0.0358,
          "percent_delta": -0.0908,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5936,
          "after": 0.6008,
          "delta": 0.0072,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5696,
          "after": 0.5765,
          "delta": 0.0069,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4984,
          "after": 0.4679,
          "delta": -0.0305,
          "percent_delta": -0.0612,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8324,
          "after": 0.8318,
          "delta": -0.0006,
          "percent_delta": -0.0007,
          "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.3944,
          "after": 0.3586,
          "delta": -0.0358,
          "percent_delta": -0.0908,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.84), rates preserved: AVG=0.276 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.2285,
          "after": 0.0,
          "delta": -0.2285,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0155,
          "after": 0.0,
          "delta": -0.0155,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4401,
          "after": 4.0,
          "delta": -0.4401,
          "percent_delta": -0.0991,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3935,
          "after": 0.0,
          "delta": -0.3935,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3397,
          "after": 1.0,
          "delta": -0.3397,
          "percent_delta": -0.2536,
          "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.1595,
          "after": 0.0,
          "delta": -0.1595,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5765,
          "after": 0.0,
          "delta": -0.5765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8318,
          "after": 1.0,
          "delta": 0.1682,
          "percent_delta": 0.2022,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.8318,
          "after": 1.0,
          "delta": 0.1682,
          "percent_delta": 0.2022,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5765,
          "after": 0.0,
          "delta": -0.5765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)",
      "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.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.6008,
          "after": 1.0,
          "delta": 0.3992,
          "percent_delta": 0.6644,
          "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.6008,
          "after": 1.0,
          "delta": 0.3992,
          "percent_delta": 0.6644,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1613,
        "predicted_3B": 0.0137,
        "predicted_BB": 0.4171,
        "predicted_H": 1.0144,
        "predicted_HR": 0.1569,
        "predicted_RBI": 0.4822,
        "predicted_SO": 0.7395
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1613,
          "delta": 0.1613,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0137,
          "delta": 0.0137,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4171,
          "delta": 0.4171,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0144,
          "delta": 0.0144,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1569,
          "delta": 0.1569,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4822,
          "delta": 0.4822,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7395,
          "delta": -0.2605,
          "percent_delta": -0.2605,
          "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": 0.4822,
          "delta": 0.4822,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7395,
          "delta": -0.2605,
          "percent_delta": -0.2605,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1613,
          "after": 0.0,
          "delta": -0.1613,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0137,
          "after": 0.0,
          "delta": -0.0137,
          "percent_delta": -1.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_BB",
          "before": 0.4171,
          "after": 0.0,
          "delta": -0.4171,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0144,
          "after": 1.0,
          "delta": -0.0144,
          "percent_delta": -0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1569,
          "after": 0.0,
          "delta": -0.1569,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4822,
          "after": 1.0,
          "delta": 0.5178,
          "percent_delta": 1.0738,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7395,
          "after": 0.0,
          "delta": -0.7395,
          "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_RBI",
          "before": 0.4822,
          "after": 1.0,
          "delta": 0.5178,
          "percent_delta": 1.0738,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.7395,
          "after": 0.0,
          "delta": -0.7395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.256,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.423,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3017,
          "after": 0.256,
          "delta": -0.0457,
          "percent_delta": -0.1515,
          "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.3586,
          "after": 0.332,
          "delta": -0.0266,
          "percent_delta": -0.0742,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4679,
          "after": 0.423,
          "delta": -0.0449,
          "percent_delta": -0.096,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "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_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": 11,
      "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 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": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "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": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "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.3017,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3586,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4679,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.256,
          "after": 0.3017,
          "delta": 0.0457,
          "percent_delta": 0.1786,
          "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.332,
          "after": 0.3586,
          "delta": 0.0266,
          "percent_delta": 0.08,
          "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.423,
          "after": 0.4679,
          "delta": 0.0449,
          "percent_delta": 0.1062,
          "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.256,
          "after": 0.3017,
          "delta": 0.0457,
          "percent_delta": 0.1786,
          "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.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": 5.0,
        "delta": 0.16,
        "percent_delta": 0.0331,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.288,
        "after": 0.3017,
        "delta": 0.0137,
        "percent_delta": 0.0476,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.395,
        "after": 0.0,
        "delta": -0.395,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.4,
        "after": 1.0,
        "delta": -0.4,
        "percent_delta": -0.2857,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.401,
        "after": 0.3586,
        "delta": -0.0424,
        "percent_delta": -0.1057,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.605,
        "after": 1.0,
        "delta": 0.395,
        "percent_delta": 0.6529,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.63,
        "after": 1.0,
        "delta": 0.37,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.504,
        "after": 0.4679,
        "delta": -0.0361,
        "percent_delta": -0.0716,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.828,
        "after": 1.0,
        "delta": 0.172,
        "percent_delta": 0.2077,
        "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_HR",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.4,
        "after": 1.0,
        "delta": -0.4,
        "percent_delta": -0.2857,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.204-
predicted_3B0.019-
predicted_AB4.840-
predicted_AVG0.288-
predicted_BB0.395-
predicted_H1.400-
predicted_HR0.180-
predicted_OBP0.401-
predicted_R0.605-
predicted_RBI0.630-
predicted_SLG0.504-
predicted_SO0.828-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2290.025
predicted_3B0.015-0.003
predicted_AB4.440-0.400
predicted_AVG0.3000.012
predicted_BB0.393-0.002
predicted_H1.331-0.069
predicted_HBP0.065-
predicted_HR0.160-0.020
predicted_OBP0.394-0.007
predicted_R0.594-0.011
predicted_RBI0.570-0.060
predicted_SLG0.498-0.006
predicted_SO0.8320.004
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2290.000
predicted_3B0.0150.000
predicted_AB4.4400.000
predicted_AVG0.3020.001
predicted_BB0.3940.000
predicted_H1.3400.009
predicted_HBP0.0650.000
predicted_HR0.160-0.000
predicted_OBP0.359-0.036
predicted_R0.6010.007
predicted_RBI0.5770.007
predicted_SLG0.468-0.031
predicted_SO0.832-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.84), rates preserved: AVG=0.276 HR/AB=0.033

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1610.161
3B0.0140.014
BB0.4170.417
H1.0140.014
HR0.1570.157
RBI0.4820.482
SO0.740-0.260
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.161
3B0.000-0.014
AB4.0000.000
BB0.000-0.417
H1.000-0.014
HR0.000-0.157
R1.0000.000
RBI1.0000.518
SO0.000-0.740
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.229
predicted_3B0.000-0.015
predicted_AB4.000-0.440
predicted_AVG0.256-0.046
predicted_BB0.000-0.394
predicted_H1.000-0.340
predicted_HR0.000-0.160
predicted_OBP0.332-0.027
predicted_R1.0000.399
predicted_RBI0.000-0.577
predicted_SLG0.423-0.045
predicted_SO1.0000.168
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO1.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 157
Reference playing time: 4.840
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0008.0002.0000.0000.0002.0002.0002.0004.0000.42110.47620.52630.42100.00000.10530.10530.2105
last_100.2010-39.00012.0003.0000.0002.0005.0007.0004.0009.0000.30770.40000.53850.30770.05130.12820.10260.2308
season0.60157-626.000181.00032.0003.00025.00082.00095.00062.000130.0000.28910.35710.46960.28910.03990.13100.09900.2077
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2600
predicted_3B0.0110
predicted_AB3.9270
predicted_AVG0.3163
predicted_BB0.3910
predicted_H1.2420
predicted_HBP0.0650
predicted_HR0.1340
predicted_OBP0.3860
predicted_R0.5790
predicted_RBI0.4920
predicted_SLG0.4911
predicted_SO0.8380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20400.26000.2285model_form_blend
predicted_3B0.01900.01100.0155model_form_blend
predicted_AB4.84003.92704.4401model_form_blend
predicted_AVG0.28800.31630.3004model_form_blend
predicted_BB0.39500.39100.3932model_form_blend
predicted_H1.40001.24201.3308model_form_blend
predicted_HBP-0.06500.0650form_only
predicted_HR0.18000.13400.1599model_form_blend
predicted_OBP0.40100.38600.3944model_form_blend
predicted_R0.60500.57900.5936model_form_blend
predicted_RBI0.63000.49200.5696model_form_blend
predicted_SLG0.50400.49110.4984model_form_blend
predicted_SO0.82800.83800.8324model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date670
Season rows before report date670
Report year2026
Profile rows used157
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR1
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260926_ARI@SD
game_typefull
mlbID665487
playerID665487
playerNameFernando Tatis Jr.
posRF
startedTrue
startingPositionRF
teamSD
teamID23
game_date2026-09-26
sl_k_percent18.5
sl_bb_percent9.1
sl_woba0.358
sl_xwoba0.379
sl_xba0.296
sl_xslg0.5
sl_sweet_spot_percent32.2
sl_barrel_batted_rate12.7
sl_hard_hit_percent53.9
sl_exit_velocity_avg92.9
sl_launch_angle_avg5.3
sl_whiff_percent25.9
sl_swing_percent46.1
Austin Hays (669720) · BATTER · DH · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 53
All-history rows before 20260929: 53
System season_avg: 0.2800
Data season_avg (2026 season-to-date): 0.2715
Diff (system - data): 0.0085
System opponent_avg: 0.4120

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0830.0000.000Hitting_2B0.0940.000-0.0940.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.7784.0003.000Hitting_AB2.8494.0001.1510.000
predicted_AVG0.3740.2500.333Hitting_AVG0.2720.500-0.022-0.250
predicted_BB0.0560.0000.000Hitting_BB0.0941.000-0.094-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9901.0001.000Hitting_H0.7742.0000.226-1.000
predicted_HR0.0800.0000.000Hitting_HR0.0380.000-0.0380.000
predicted_OBP0.3930.2500.333Hitting_OBP0.2930.600-0.043-0.350
predicted_R0.3890.0000.000Hitting_R0.6042.000-0.604-2.000
predicted_RBI0.5100.0000.000Hitting_RBI0.2262.000-0.226-2.000
predicted_SLG0.4350.2500.333Hitting_SLG0.3440.500-0.094-0.250
predicted_SO0.7500.0001.000Hitting_SO0.7171.000-0.717-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_AB: 2.7780 -> 4.0000 (boost 1.2220, better)
Biggest Deboostpredicted_SO: 0.7500 -> 0.0000 (deboost -0.7500, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_SLG: 0.4350 -> 0.4400 (boost 0.0050, better)predicted_AVG: 0.3740 -> 0.3553 (deboost -0.0187, 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.
3team_form_snapshot31212predicted_SLG: 0.4400 -> 0.4655 (boost 0.0255, better)predicted_OBP: 0.3792 -> 0.3664 (deboost -0.0128, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_RBI: 0.5023 -> 1.0000 (boost 0.4977, better)predicted_BB: 0.0860 -> 0.0000 (deboost -0.0860, worse)AB rounded to 3 (raw=2.78), rates preserved: AVG=0.345 HR/AB=0.029
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)
7consistency_constraints10101-predicted_R: 0.4279 -> 0.0000 (deboost -0.4279, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2291 (boost 0.2291, better)predicted_RBI: 1.0000 -> 0.4533 (deboost -0.5467, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_SO: 0.8258 -> 1.0000 (boost 0.1742, worse)predicted_RBI: 0.4533 -> 0.0000 (deboost -0.4533, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context41313predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AVG: 0.3468 -> 0.2550 (deboost -0.0918, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference31221predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_AVG: 0.2550 -> 0.3468 (boost 0.0918, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669720",
  "player_name": "Austin Hays",
  "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.083,
        "predicted_3B": 0.0,
        "predicted_AB": 2.778,
        "predicted_AVG": 0.374,
        "predicted_BB": 0.056,
        "predicted_H": 0.99,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.393,
        "predicted_R": 0.389,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.435,
        "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.0853,
        "predicted_3B": 0.0012,
        "predicted_AB": 2.7749,
        "predicted_AVG": 0.3553,
        "predicted_BB": 0.0859,
        "predicted_H": 0.9559,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0808,
        "predicted_OBP": 0.3792,
        "predicted_R": 0.4227,
        "predicted_RBI": 0.4962,
        "predicted_SLG": 0.44,
        "predicted_SO": 0.7067
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.083,
          "after": 0.0853,
          "delta": 0.0023,
          "percent_delta": 0.0277,
          "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.778,
          "after": 2.7749,
          "delta": -0.0031,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.374,
          "after": 0.3553,
          "delta": -0.0187,
          "percent_delta": -0.05,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.056,
          "after": 0.0859,
          "delta": 0.0299,
          "percent_delta": 0.5339,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 0.9559,
          "delta": -0.0341,
          "percent_delta": -0.0344,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0808,
          "delta": 0.0008,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.393,
          "after": 0.3792,
          "delta": -0.0138,
          "percent_delta": -0.0351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.389,
          "after": 0.4227,
          "delta": 0.0337,
          "percent_delta": 0.0866,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.4962,
          "delta": -0.0138,
          "percent_delta": -0.0271,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.435,
          "after": 0.44,
          "delta": 0.005,
          "percent_delta": 0.0115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.75,
          "after": 0.7067,
          "delta": -0.0433,
          "percent_delta": -0.0577,
          "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.435,
          "after": 0.44,
          "delta": 0.005,
          "percent_delta": 0.0115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.374,
          "after": 0.3553,
          "delta": -0.0187,
          "percent_delta": -0.05,
          "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.0853,
        "predicted_3B": 0.0012,
        "predicted_AB": 2.7749,
        "predicted_AVG": 0.3468,
        "predicted_BB": 0.086,
        "predicted_H": 0.9623,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.0806,
        "predicted_OBP": 0.3664,
        "predicted_R": 0.4279,
        "predicted_RBI": 0.5023,
        "predicted_SLG": 0.4655,
        "predicted_SO": 0.7062
      },
      "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.0012,
          "after": 0.0012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7749,
          "after": 2.7749,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3553,
          "after": 0.3468,
          "delta": -0.0085,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0859,
          "after": 0.086,
          "delta": 0.0001,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9559,
          "after": 0.9623,
          "delta": 0.0064,
          "percent_delta": 0.0067,
          "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.0808,
          "after": 0.0806,
          "delta": -0.0002,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3792,
          "after": 0.3664,
          "delta": -0.0128,
          "percent_delta": -0.0338,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4227,
          "after": 0.4279,
          "delta": 0.0052,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4962,
          "after": 0.5023,
          "delta": 0.0061,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.4655,
          "delta": 0.0255,
          "percent_delta": 0.058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7067,
          "after": 0.7062,
          "delta": -0.0005,
          "percent_delta": -0.0007,
          "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.44,
          "after": 0.4655,
          "delta": 0.0255,
          "percent_delta": 0.058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3792,
          "after": 0.3664,
          "delta": -0.0128,
          "percent_delta": -0.0338,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.78), rates preserved: AVG=0.345 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": 1.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.0012,
          "after": 0.0,
          "delta": -0.0012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7749,
          "after": 3.0,
          "delta": 0.2251,
          "percent_delta": 0.0811,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.086,
          "after": 0.0,
          "delta": -0.086,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9623,
          "after": 1.0,
          "delta": 0.0377,
          "percent_delta": 0.0392,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.0806,
          "after": 0.0,
          "delta": -0.0806,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5023,
          "after": 1.0,
          "delta": 0.4977,
          "percent_delta": 0.9908,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7062,
          "after": 1.0,
          "delta": 0.2938,
          "percent_delta": 0.416,
          "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.5023,
          "after": 1.0,
          "delta": 0.4977,
          "percent_delta": 0.9908,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.086,
          "after": 0.0,
          "delta": -0.086,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 3.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": 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": 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": 7,
      "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.4279,
          "after": 0.0,
          "delta": -0.4279,
          "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.4279,
          "after": 0.0,
          "delta": -0.4279,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1335,
        "predicted_3B": 0.0122,
        "predicted_BB": 0.2291,
        "predicted_H": 0.8668,
        "predicted_HR": 0.1058,
        "predicted_RBI": 0.4533,
        "predicted_SO": 0.8258
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1335,
          "delta": 0.1335,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0122,
          "delta": 0.0122,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2291,
          "delta": 0.2291,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8668,
          "delta": -0.1332,
          "percent_delta": -0.1332,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1058,
          "delta": 0.1058,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4533,
          "delta": -0.5467,
          "percent_delta": -0.5467,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8258,
          "delta": -0.1742,
          "percent_delta": -0.1742,
          "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": 0.2291,
          "delta": 0.2291,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4533,
          "delta": -0.5467,
          "percent_delta": -0.5467,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1335,
          "after": 0.0,
          "delta": -0.1335,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0122,
          "after": 0.0,
          "delta": -0.0122,
          "percent_delta": -1.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_BB",
          "before": 0.2291,
          "after": 0.0,
          "delta": -0.2291,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8668,
          "after": 1.0,
          "delta": 0.1332,
          "percent_delta": 0.1537,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1058,
          "after": 0.0,
          "delta": -0.1058,
          "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.4533,
          "after": 0.0,
          "delta": -0.4533,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8258,
          "after": 1.0,
          "delta": 0.1742,
          "percent_delta": 0.2109,
          "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.8258,
          "after": 1.0,
          "delta": 0.1742,
          "percent_delta": 0.2109,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4533,
          "after": 0.0,
          "delta": -0.4533,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.255,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.395,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3468,
          "after": 0.255,
          "delta": -0.0918,
          "percent_delta": -0.2647,
          "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.3664,
          "after": 0.308,
          "delta": -0.0584,
          "percent_delta": -0.1594,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4655,
          "after": 0.395,
          "delta": -0.0705,
          "percent_delta": -0.1515,
          "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": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3468,
          "after": 0.255,
          "delta": -0.0918,
          "percent_delta": -0.2647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 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_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_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": 12,
      "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.3468,
        "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.3664,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4655,
        "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.255,
          "after": 0.3468,
          "delta": 0.0918,
          "percent_delta": 0.36,
          "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.308,
          "after": 0.3664,
          "delta": 0.0584,
          "percent_delta": 0.1897,
          "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.395,
          "after": 0.4655,
          "delta": 0.0705,
          "percent_delta": 0.1785,
          "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.255,
          "after": 0.3468,
          "delta": 0.0918,
          "percent_delta": 0.36,
          "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.083,
        "after": 0.0,
        "delta": -0.083,
        "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.778,
        "after": 4.0,
        "delta": 1.222,
        "percent_delta": 0.4399,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.374,
        "after": 0.3468,
        "delta": -0.0272,
        "percent_delta": -0.0727,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.056,
        "after": 0.0,
        "delta": -0.056,
        "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_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.393,
        "after": 0.3664,
        "delta": -0.0266,
        "percent_delta": -0.0677,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.389,
        "after": 0.0,
        "delta": -0.389,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.435,
        "after": 0.4655,
        "delta": 0.0305,
        "percent_delta": 0.0701,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.778,
        "after": 4.0,
        "delta": 1.222,
        "percent_delta": 0.4399,
        "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": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.083-
predicted_3B0.000-
predicted_AB2.778-
predicted_AVG0.374-
predicted_BB0.056-
predicted_H0.990-
predicted_HR0.080-
predicted_OBP0.393-
predicted_R0.389-
predicted_RBI0.510-
predicted_SLG0.435-
predicted_SO0.750-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0850.002
predicted_3B0.0010.001
predicted_AB2.775-0.003
predicted_AVG0.355-0.019
predicted_BB0.0860.030
predicted_H0.956-0.034
predicted_HBP0.005-
predicted_HR0.0810.001
predicted_OBP0.379-0.014
predicted_R0.4230.034
predicted_RBI0.496-0.014
predicted_SLG0.4400.005
predicted_SO0.707-0.043
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0850.000
predicted_3B0.0010.000
predicted_AB2.7750.000
predicted_AVG0.347-0.009
predicted_BB0.0860.000
predicted_H0.9620.006
predicted_HBP0.0050.000
predicted_HR0.081-0.000
predicted_OBP0.366-0.013
predicted_R0.4280.005
predicted_RBI0.5020.006
predicted_SLG0.4660.026
predicted_SO0.706-0.000
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.78), rates preserved: AVG=0.345 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1340.134
3B0.0120.012
BB0.2290.229
H0.867-0.133
HR0.1060.106
RBI0.453-0.547
SO0.826-0.174
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.134
3B0.000-0.012
AB3.0000.000
BB0.000-0.229
H1.0000.133
HR0.000-0.106
R0.0000.000
RBI0.000-0.453
SO1.0000.174
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.085
predicted_3B0.000-0.001
predicted_AB3.0000.225
predicted_AVG0.255-0.092
predicted_BB0.000-0.086
predicted_H1.0000.038
predicted_HR0.000-0.081
predicted_OBP0.308-0.058
predicted_R0.000-0.428
predicted_RBI1.0000.498
predicted_SLG0.395-0.071
predicted_SO1.0000.294
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 36
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-10.0004.0000.0000.0000.0003.0002.0001.0002.0000.40000.45450.40000.40000.00000.30000.10000.2000
last_100.2010-20.00010.0001.0000.0001.0004.0006.0001.0003.0000.50000.52380.70000.50000.05000.20000.05000.1500
season0.6036-100.00028.0003.0000.0003.00014.00014.0002.00027.0000.28000.29410.40000.28000.03000.14000.02000.2700
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0890
predicted_3B0.0030
predicted_AB2.7700
predicted_AVG0.3253
predicted_BB0.1340
predicted_H0.9010
predicted_HBP0.0050
predicted_HR0.0820
predicted_OBP0.3570
predicted_R0.4770
predicted_RBI0.4740
predicted_SLG0.4481
predicted_SO0.6370
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08300.08900.0853model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB2.77802.77002.7749model_form_blend
predicted_AVG0.37400.32530.3553model_form_blend
predicted_BB0.05600.13400.0859model_form_blend
predicted_H0.99000.90100.9559model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.08000.08200.0808model_form_blend
predicted_OBP0.39300.35700.3792model_form_blend
predicted_R0.38900.47700.4227model_form_blend
predicted_RBI0.51000.47400.4962model_form_blend
predicted_SLG0.43500.44810.4400model_form_blend
predicted_SO0.75000.63700.7067model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date53
Season rows before report date53
Report year2026
Profile rows used36
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260927_ARI@SD
game_typefull
mlbID669720
playerID669720
playerNameAustin Hays
posDH
startedTrue
startingPositionLF
teamSD
teamID23
game_date2026-09-27
sl_k_percent25.7
sl_bb_percent3.8
sl_woba0.304
sl_xwoba0.295
sl_xba0.278
sl_xslg0.383
sl_sweet_spot_percent35.1
sl_barrel_batted_rate4.1
sl_hard_hit_percent41.9
sl_exit_velocity_avg87.5
sl_launch_angle_avg4.9
sl_whiff_percent33.8
sl_swing_percent53.8
Jackson Merrill (701538) · BATTER · CF · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 640
All-history rows before 20260929: 640
System season_avg: 0.2540
Data season_avg (2026 season-to-date): 0.2643
Diff (system - data): -0.0103
System opponent_avg: 0.3000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1660.0000.000Hitting_2B0.1700.000-0.1700.000
predicted_3B0.0320.0000.000Hitting_3B0.0360.000-0.0360.000
predicted_AB4.7204.0004.000Hitting_AB4.0024.000-0.0020.000
predicted_AVG0.2990.2500.250Hitting_AVG0.2640.500-0.014-0.250
predicted_BB0.2610.0000.000Hitting_BB0.2771.000-0.277-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H1.4101.0001.000Hitting_H1.0582.000-0.058-1.000
predicted_HR0.1500.0000.000Hitting_HR0.1770.000-0.1770.000
predicted_OBP0.3240.2500.250Hitting_OBP0.3140.600-0.064-0.350
predicted_R0.5481.0001.000Hitting_R0.5802.0000.420-1.000
predicted_RBI0.5400.0001.000Hitting_RBI0.6051.000-0.605-1.000
predicted_SLG0.4290.2500.250Hitting_SLG0.4570.500-0.207-0.250
predicted_SO1.0192.0001.000Hitting_SO1.0122.0000.9880.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics1
Worse Metrics8
Biggest Boostpredicted_SO: 1.0190 -> 2.0000 (boost 0.9810, worse)
Biggest Deboostpredicted_AB: 4.7200 -> 4.0000 (deboost -0.7200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 4.7200 -> 4.3356 (deboost -0.3844, 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.
3team_form_snapshot22020predicted_SLG: 0.4194 -> 0.4306 (boost 0.0112, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60606-predicted_RBI: 0.5067 -> 0.0000 (deboost -0.5067, worse)AB rounded to 4 (raw=4.72), rates preserved: AVG=0.259 HR/AB=0.029
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
7consistency_constraints11010predicted_R: 0.5976 -> 1.0000 (boost 0.4024, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine44040predicted_RBI: 0.0000 -> 0.5202 (boost 0.5202, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation41313predicted_RBI: 0.5202 -> 1.0000 (boost 0.4798, better)predicted_BB: 0.2611 -> 0.0000 (deboost -0.2611, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context40404-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference11001predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)-Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_AVG: 0.2530 -> 0.2830 (boost 0.0300, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.166,
        "predicted_3B": 0.032,
        "predicted_AB": 4.72,
        "predicted_AVG": 0.299,
        "predicted_BB": 0.261,
        "predicted_H": 1.41,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.324,
        "predicted_R": 0.548,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.429,
        "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.1638,
        "predicted_3B": 0.0346,
        "predicted_AB": 4.3356,
        "predicted_AVG": 0.279,
        "predicted_BB": 0.2509,
        "predicted_H": 1.2189,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.136,
        "predicted_OBP": 0.3127,
        "predicted_R": 0.5904,
        "predicted_RBI": 0.5006,
        "predicted_SLG": 0.4194,
        "predicted_SO": 1.0461
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.166,
          "after": 0.1638,
          "delta": -0.0022,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.032,
          "after": 0.0346,
          "delta": 0.0026,
          "percent_delta": 0.0812,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.72,
          "after": 4.3356,
          "delta": -0.3844,
          "percent_delta": -0.0814,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.299,
          "after": 0.279,
          "delta": -0.02,
          "percent_delta": -0.0669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.261,
          "after": 0.2509,
          "delta": -0.0101,
          "percent_delta": -0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.41,
          "after": 1.2189,
          "delta": -0.1911,
          "percent_delta": -0.1355,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.136,
          "delta": -0.014,
          "percent_delta": -0.0933,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.3127,
          "delta": -0.0113,
          "percent_delta": -0.0349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.548,
          "after": 0.5904,
          "delta": 0.0424,
          "percent_delta": 0.0774,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 0.5006,
          "delta": -0.0394,
          "percent_delta": -0.073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4194,
          "delta": -0.0096,
          "percent_delta": -0.0224,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.019,
          "after": 1.0461,
          "delta": 0.0271,
          "percent_delta": 0.0266,
          "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.72,
          "after": 4.3356,
          "delta": -0.3844,
          "percent_delta": -0.0814,
          "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": 157
      }
    },
    {
      "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.1638,
        "predicted_3B": 0.0346,
        "predicted_AB": 4.3356,
        "predicted_AVG": 0.283,
        "predicted_BB": 0.2511,
        "predicted_H": 1.2271,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.1356,
        "predicted_OBP": 0.3223,
        "predicted_R": 0.5976,
        "predicted_RBI": 0.5067,
        "predicted_SLG": 0.4306,
        "predicted_SO": 1.0454
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1638,
          "after": 0.1638,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0346,
          "after": 0.0346,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3356,
          "after": 4.3356,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.279,
          "after": 0.283,
          "delta": 0.004,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2509,
          "after": 0.2511,
          "delta": 0.0002,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2189,
          "after": 1.2271,
          "delta": 0.0082,
          "percent_delta": 0.0067,
          "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.136,
          "after": 0.1356,
          "delta": -0.0004,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3127,
          "after": 0.3223,
          "delta": 0.0096,
          "percent_delta": 0.0307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5904,
          "after": 0.5976,
          "delta": 0.0072,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5006,
          "after": 0.5067,
          "delta": 0.0061,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4194,
          "after": 0.4306,
          "delta": 0.0112,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0461,
          "after": 1.0454,
          "delta": -0.0007,
          "percent_delta": -0.0007,
          "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.4194,
          "after": 0.4306,
          "delta": 0.0112,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.72), rates preserved: AVG=0.259 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.1638,
          "after": 0.0,
          "delta": -0.1638,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0346,
          "after": 0.0,
          "delta": -0.0346,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3356,
          "after": 4.0,
          "delta": -0.3356,
          "percent_delta": -0.0774,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2511,
          "after": 0.0,
          "delta": -0.2511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2271,
          "after": 1.0,
          "delta": -0.2271,
          "percent_delta": -0.1851,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.1356,
          "after": 0.0,
          "delta": -0.1356,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5067,
          "after": 0.0,
          "delta": -0.5067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0454,
          "after": 1.0,
          "delta": -0.0454,
          "percent_delta": -0.0434,
          "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_RBI",
          "before": 0.5067,
          "after": 0.0,
          "delta": -0.5067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 7,
      "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.5976,
          "after": 1.0,
          "delta": 0.4024,
          "percent_delta": 0.6734,
          "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.5976,
          "after": 1.0,
          "delta": 0.4024,
          "percent_delta": 0.6734,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1551,
        "predicted_3B": 0.0208,
        "predicted_BB": 0.2611,
        "predicted_H": 0.9601,
        "predicted_HR": 0.1363,
        "predicted_RBI": 0.5202,
        "predicted_SO": 0.9637
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1551,
          "delta": 0.1551,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0208,
          "delta": 0.0208,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2611,
          "delta": 0.2611,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9601,
          "delta": -0.0399,
          "percent_delta": -0.0399,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1363,
          "delta": 0.1363,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5202,
          "delta": 0.5202,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9637,
          "delta": -0.0363,
          "percent_delta": -0.0363,
          "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": 0.5202,
          "delta": 0.5202,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1551,
          "after": 0.0,
          "delta": -0.1551,
          "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": 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.2611,
          "after": 0.0,
          "delta": -0.2611,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9601,
          "after": 1.0,
          "delta": 0.0399,
          "percent_delta": 0.0416,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1363,
          "after": 0.0,
          "delta": -0.1363,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5202,
          "after": 1.0,
          "delta": 0.4798,
          "percent_delta": 0.9223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9637,
          "after": 1.0,
          "delta": 0.0363,
          "percent_delta": 0.0377,
          "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_RBI",
          "before": 0.5202,
          "after": 1.0,
          "delta": 0.4798,
          "percent_delta": 0.9223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2611,
          "after": 0.0,
          "delta": -0.2611,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.413,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.283,
          "after": 0.253,
          "delta": -0.03,
          "percent_delta": -0.106,
          "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.3223,
          "after": 0.307,
          "delta": -0.0153,
          "percent_delta": -0.0475,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4306,
          "after": 0.413,
          "delta": -0.0176,
          "percent_delta": -0.0409,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "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": 11,
      "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": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "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.283,
        "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.3223,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4306,
        "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.253,
          "after": 0.283,
          "delta": 0.03,
          "percent_delta": 0.1187,
          "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.307,
          "after": 0.3223,
          "delta": 0.0153,
          "percent_delta": 0.0497,
          "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.413,
          "after": 0.4306,
          "delta": 0.0176,
          "percent_delta": 0.0426,
          "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_AVG",
          "before": 0.253,
          "after": 0.283,
          "delta": 0.03,
          "percent_delta": 0.1187,
          "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.166,
        "after": 0.0,
        "delta": -0.166,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 4.72,
        "after": 4.0,
        "delta": -0.72,
        "percent_delta": -0.1525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.299,
        "after": 0.283,
        "delta": -0.016,
        "percent_delta": -0.0535,
        "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": 1.41,
        "after": 1.0,
        "delta": -0.41,
        "percent_delta": -0.2908,
        "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.324,
        "after": 0.3223,
        "delta": -0.0017,
        "percent_delta": -0.0052,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.548,
        "after": 1.0,
        "delta": 0.452,
        "percent_delta": 0.8248,
        "direction": "boost",
        "projection_effect": "better",
        "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.429,
        "after": 0.4306,
        "delta": 0.0016,
        "percent_delta": 0.0037,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.019,
        "after": 2.0,
        "delta": 0.981,
        "percent_delta": 0.9627,
        "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.019,
        "after": 2.0,
        "delta": 0.981,
        "percent_delta": 0.9627,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.72,
        "after": 4.0,
        "delta": -0.72,
        "percent_delta": -0.1525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.166-
predicted_3B0.032-
predicted_AB4.720-
predicted_AVG0.299-
predicted_BB0.261-
predicted_H1.410-
predicted_HR0.150-
predicted_OBP0.324-
predicted_R0.548-
predicted_RBI0.540-
predicted_SLG0.429-
predicted_SO1.019-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.164-0.002
predicted_3B0.0350.003
predicted_AB4.336-0.384
predicted_AVG0.279-0.020
predicted_BB0.251-0.010
predicted_H1.219-0.191
predicted_HBP0.012-
predicted_HR0.136-0.014
predicted_OBP0.313-0.011
predicted_R0.5900.042
predicted_RBI0.501-0.039
predicted_SLG0.419-0.010
predicted_SO1.0460.027
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1640.000
predicted_3B0.0350.000
predicted_AB4.3360.000
predicted_AVG0.2830.004
predicted_BB0.2510.000
predicted_H1.2270.008
predicted_HBP0.0120.000
predicted_HR0.136-0.000
predicted_OBP0.3220.010
predicted_R0.5980.007
predicted_RBI0.5070.006
predicted_SLG0.4310.011
predicted_SO1.045-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.72), rates preserved: AVG=0.259 HR/AB=0.029

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1550.155
3B0.0210.021
BB0.2610.261
H0.960-0.040
HR0.1360.136
RBI0.5200.520
SO0.964-0.036
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.155
3B0.000-0.021
AB4.0000.000
BB0.000-0.261
H1.0000.040
HR0.000-0.136
R1.0000.000
RBI1.0000.480
SO1.0000.036
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.164
predicted_3B0.000-0.035
predicted_AB4.000-0.336
predicted_AVG0.253-0.030
predicted_BB0.000-0.251
predicted_H1.000-0.227
predicted_HR0.000-0.136
predicted_OBP0.307-0.015
predicted_R1.0000.402
predicted_RBI0.000-0.507
predicted_SLG0.413-0.018
predicted_SO1.000-0.045
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 157
Reference playing time: 4.720
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0001.0000.0000.0001.0004.0001.0005.0000.22220.26320.27780.22220.00000.05560.05560.2778
last_100.2010-39.00011.0001.0001.0001.0004.0008.0002.00014.0000.28210.31710.43590.28210.02560.10260.05130.3590
season0.60157-613.000156.00026.0005.00026.00087.00086.00041.000160.0000.25450.30300.44050.25450.04240.14190.06690.2610
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1610
predicted_3B0.0380
predicted_AB3.8410
predicted_AVG0.2533
predicted_BB0.2380
predicted_H0.9730
predicted_HBP0.0120
predicted_HR0.1180
predicted_OBP0.2982
predicted_R0.6450
predicted_RBI0.4500
predicted_SLG0.4071
predicted_SO1.0810
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16600.16100.1638model_form_blend
predicted_3B0.03200.03800.0346model_form_blend
predicted_AB4.72003.84104.3356model_form_blend
predicted_AVG0.29900.25330.2790model_form_blend
predicted_BB0.26100.23800.2509model_form_blend
predicted_H1.41000.97301.2189model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.15000.11800.1360model_form_blend
predicted_OBP0.32400.29820.3127model_form_blend
predicted_R0.54800.64500.5904model_form_blend
predicted_RBI0.54000.45000.5006model_form_blend
predicted_SLG0.42900.40710.4194model_form_blend
predicted_SO1.01901.08101.0461model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date640
Season rows before report date640
Report year2026
Profile rows used157
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R1
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260926_ARI@SD
game_typefull
mlbID701538
playerID701538
playerNameJackson Merrill
posCF
startedTrue
startingPositionCF
teamSD
teamID23
game_date2026-09-26
sl_k_percent24.1
sl_bb_percent6.2
sl_woba0.32
sl_xwoba0.347
sl_xba0.27
sl_xslg0.491
sl_sweet_spot_percent39.8
sl_barrel_batted_rate12.4
sl_hard_hit_percent48.7
sl_exit_velocity_avg91.5
sl_launch_angle_avg14.3
sl_whiff_percent27.6
sl_swing_percent56.1
Jake Cronenworth (630105) · BATTER · 2B · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 400
All-history rows before 20260929: 400
System season_avg: 0.2250
Data season_avg (2026 season-to-date): 0.2327
Diff (system - data): -0.0077
System opponent_avg: 0.1350

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1200.0000.000Hitting_2B0.1250.000-0.1250.000
predicted_3B0.0090.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.4913.0003.000Hitting_AB3.6852.000-0.6851.000
predicted_AVG0.2140.0000.333Hitting_AVG0.2330.000-0.2330.000
predicted_BB0.3520.0000.000Hitting_BB0.3722.000-0.372-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H0.7400.0001.000Hitting_H0.8580.000-0.8580.000
predicted_HR0.0700.0000.000Hitting_HR0.0580.000-0.0580.000
predicted_OBP0.3250.2500.333Hitting_OBP0.3120.600-0.062-0.350
predicted_R0.4260.0000.000Hitting_R0.4600.000-0.4600.000
predicted_RBI0.6700.0000.000Hitting_RBI0.3571.000-0.357-1.000
predicted_SB-0.0000.000BaseRunning_SB0.0830.000-0.0830.000
predicted_SLG0.3530.0000.333Hitting_SLG0.3200.000-0.3200.000
predicted_SO0.8982.0001.000Hitting_SO0.9251.0001.0751.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_SO: 0.8980 -> 2.0000 (boost 1.1020, worse)
Biggest Deboostpredicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_AVG: 0.2140 -> 0.2237 (boost 0.0097, 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.
3team_form_snapshot20202-predicted_OBP: 0.3256 -> 0.2949 (deboost -0.0307, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_RBI: 0.6672 -> 1.0000 (boost 0.3328, better)predicted_AB: 3.4772 -> 3.0000 (deboost -0.4772, worse)AB rounded to 3 (raw=3.49), rates preserved: AVG=0.222 HR/AB=0.021
6consistency_constraints10101-predicted_R: 0.4438 -> 0.0000 (deboost -0.4438, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3195 (boost 0.3195, better)predicted_RBI: 1.0000 -> 0.3844 (deboost -0.6156, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_H: 0.7895 -> 1.0000 (boost 0.2105, better)predicted_RBI: 0.3844 -> 0.0000 (deboost -0.3844, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context33030predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference42213predicted_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
11current_json_final20202-predicted_OBP: 0.3010 -> 0.2949 (deboost -0.0061, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "630105",
  "player_name": "Jake Cronenworth",
  "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.12,
        "predicted_3B": 0.009,
        "predicted_AB": 3.491,
        "predicted_AVG": 0.214,
        "predicted_BB": 0.352,
        "predicted_H": 0.74,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.325,
        "predicted_R": 0.426,
        "predicted_RBI": 0.67,
        "predicted_SLG": 0.353,
        "predicted_SO": 0.898
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1351,
        "predicted_3B": 0.0159,
        "predicted_AB": 3.4772,
        "predicted_AVG": 0.2237,
        "predicted_BB": 0.3498,
        "predicted_H": 0.7736,
        "predicted_HBP": 0.115,
        "predicted_HR": 0.0747,
        "predicted_OBP": 0.3256,
        "predicted_R": 0.4385,
        "predicted_RBI": 0.6592,
        "predicted_SLG": 0.3584,
        "predicted_SO": 0.9238
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.12,
          "after": 0.1351,
          "delta": 0.0151,
          "percent_delta": 0.1258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.009,
          "after": 0.0159,
          "delta": 0.0069,
          "percent_delta": 0.7667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.491,
          "after": 3.4772,
          "delta": -0.0138,
          "percent_delta": -0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.214,
          "after": 0.2237,
          "delta": 0.0097,
          "percent_delta": 0.0453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.352,
          "after": 0.3498,
          "delta": -0.0022,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.74,
          "after": 0.7736,
          "delta": 0.0336,
          "percent_delta": 0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.325,
          "after": 0.3256,
          "delta": 0.0006,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.426,
          "after": 0.4385,
          "delta": 0.0125,
          "percent_delta": 0.0293,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.67,
          "after": 0.6592,
          "delta": -0.0108,
          "percent_delta": -0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.353,
          "after": 0.3584,
          "delta": 0.0054,
          "percent_delta": 0.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.898,
          "after": 0.9238,
          "delta": 0.0258,
          "percent_delta": 0.0287,
          "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.214,
          "after": 0.2237,
          "delta": 0.0097,
          "percent_delta": 0.0453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 108
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1351,
        "predicted_3B": 0.0159,
        "predicted_AB": 3.4772,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.35,
        "predicted_H": 0.7788,
        "predicted_HBP": 0.115,
        "predicted_HR": 0.0745,
        "predicted_OBP": 0.2949,
        "predicted_R": 0.4438,
        "predicted_RBI": 0.6672,
        "predicted_SLG": 0.3362,
        "predicted_SO": 0.9232
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1351,
          "after": 0.1351,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0159,
          "after": 0.0159,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4772,
          "after": 3.4772,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2237,
          "after": 0.224,
          "delta": 0.0003,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3498,
          "after": 0.35,
          "delta": 0.0002,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7736,
          "after": 0.7788,
          "delta": 0.0052,
          "percent_delta": 0.0067,
          "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.0747,
          "after": 0.0745,
          "delta": -0.0002,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3256,
          "after": 0.2949,
          "delta": -0.0307,
          "percent_delta": -0.0943,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4385,
          "after": 0.4438,
          "delta": 0.0053,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6592,
          "after": 0.6672,
          "delta": 0.008,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3584,
          "after": 0.3362,
          "delta": -0.0222,
          "percent_delta": -0.0619,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9238,
          "after": 0.9232,
          "delta": -0.0006,
          "percent_delta": -0.0006,
          "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.3256,
          "after": 0.2949,
          "delta": -0.0307,
          "percent_delta": -0.0943,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.49), rates preserved: AVG=0.222 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1351,
          "after": 0.0,
          "delta": -0.1351,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0159,
          "after": 0.0,
          "delta": -0.0159,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4772,
          "after": 3.0,
          "delta": -0.4772,
          "percent_delta": -0.1372,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.35,
          "after": 0.0,
          "delta": -0.35,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7788,
          "after": 1.0,
          "delta": 0.2212,
          "percent_delta": 0.284,
          "direction": "boost",
          "projection_effect": "better",
          "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.0745,
          "after": 0.0,
          "delta": -0.0745,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6672,
          "after": 1.0,
          "delta": 0.3328,
          "percent_delta": 0.4988,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9232,
          "after": 1.0,
          "delta": 0.0768,
          "percent_delta": 0.0832,
          "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.6672,
          "after": 1.0,
          "delta": 0.3328,
          "percent_delta": 0.4988,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4772,
          "after": 3.0,
          "delta": -0.4772,
          "percent_delta": -0.1372,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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": 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.4438,
          "after": 0.0,
          "delta": -0.4438,
          "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.4438,
          "after": 0.0,
          "delta": -0.4438,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1217,
        "predicted_3B": 0.0122,
        "predicted_BB": 0.3195,
        "predicted_H": 0.7895,
        "predicted_HR": 0.0774,
        "predicted_RBI": 0.3844,
        "predicted_SO": 0.8572
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1217,
          "delta": 0.1217,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0122,
          "delta": 0.0122,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3195,
          "delta": 0.3195,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7895,
          "delta": -0.2105,
          "percent_delta": -0.2105,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0774,
          "delta": 0.0774,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3844,
          "delta": -0.6156,
          "percent_delta": -0.6156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8572,
          "delta": -0.1428,
          "percent_delta": -0.1428,
          "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": 0.3195,
          "delta": 0.3195,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3844,
          "delta": -0.6156,
          "percent_delta": -0.6156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1217,
          "after": 0.0,
          "delta": -0.1217,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0122,
          "after": 0.0,
          "delta": -0.0122,
          "percent_delta": -1.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_BB",
          "before": 0.3195,
          "after": 0.0,
          "delta": -0.3195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7895,
          "after": 1.0,
          "delta": 0.2105,
          "percent_delta": 0.2666,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0774,
          "after": 0.0,
          "delta": -0.0774,
          "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.3844,
          "after": 0.0,
          "delta": -0.3844,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8572,
          "after": 1.0,
          "delta": 0.1428,
          "percent_delta": 0.1666,
          "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.7895,
          "after": 1.0,
          "delta": 0.2105,
          "percent_delta": 0.2666,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3844,
          "after": 0.0,
          "delta": -0.3844,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.23,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.34,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.224,
          "after": 0.23,
          "delta": 0.006,
          "percent_delta": 0.0268,
          "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.2949,
          "after": 0.301,
          "delta": 0.0061,
          "percent_delta": 0.0207,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3362,
          "after": 0.34,
          "delta": 0.0038,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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": 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_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": 11,
      "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.224,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2949,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3362,
        "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.23,
          "after": 0.224,
          "delta": -0.006,
          "percent_delta": -0.0262,
          "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.301,
          "after": 0.2949,
          "delta": -0.0061,
          "percent_delta": -0.0201,
          "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.34,
          "after": 0.3362,
          "delta": -0.0038,
          "percent_delta": -0.0111,
          "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": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.2949,
          "delta": -0.0061,
          "percent_delta": -0.0201,
          "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": 0.0,
        "delta": -0.009,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.491,
        "after": 3.0,
        "delta": -0.491,
        "percent_delta": -0.1406,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.214,
        "after": 0.224,
        "delta": 0.01,
        "percent_delta": 0.0467,
        "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.74,
        "after": 0.0,
        "delta": -0.74,
        "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.325,
        "after": 0.2949,
        "delta": -0.0301,
        "percent_delta": -0.0926,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.426,
        "after": 0.0,
        "delta": -0.426,
        "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.353,
        "after": 0.3362,
        "delta": -0.0168,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.898,
        "after": 2.0,
        "delta": 1.102,
        "percent_delta": 1.2272,
        "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.898,
        "after": 2.0,
        "delta": 1.102,
        "percent_delta": 1.2272,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 0.0,
        "delta": -0.74,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.120-
predicted_3B0.009-
predicted_AB3.491-
predicted_AVG0.214-
predicted_BB0.352-
predicted_H0.740-
predicted_HR0.070-
predicted_OBP0.325-
predicted_R0.426-
predicted_RBI0.670-
predicted_SLG0.353-
predicted_SO0.898-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1350.015
predicted_3B0.0160.007
predicted_AB3.477-0.014
predicted_AVG0.2240.010
predicted_BB0.350-0.002
predicted_H0.7740.034
predicted_HBP0.115-
predicted_HR0.0750.005
predicted_OBP0.3260.001
predicted_R0.4390.013
predicted_RBI0.659-0.011
predicted_SLG0.3580.005
predicted_SO0.9240.026
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1350.000
predicted_3B0.0160.000
predicted_AB3.4770.000
predicted_AVG0.2240.000
predicted_BB0.3500.000
predicted_H0.7790.005
predicted_HBP0.1150.000
predicted_HR0.074-0.000
predicted_OBP0.295-0.031
predicted_R0.4440.005
predicted_RBI0.6670.008
predicted_SLG0.336-0.022
predicted_SO0.923-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.49), rates preserved: AVG=0.222 HR/AB=0.021

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1220.122
3B0.0120.012
BB0.3200.320
H0.789-0.211
HR0.0770.077
RBI0.384-0.616
SO0.857-0.143
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.122
3B0.000-0.012
AB3.0000.000
BB0.000-0.320
H1.0000.211
HR0.000-0.077
R0.0000.000
RBI0.000-0.384
SO1.0000.143
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.135
predicted_3B0.000-0.016
predicted_AB3.000-0.477
predicted_AVG0.2300.006
predicted_BB0.000-0.350
predicted_H1.0000.221
predicted_HR0.000-0.074
predicted_OBP0.3010.006
predicted_R0.000-0.444
predicted_RBI1.0000.333
predicted_SLG0.3400.004
predicted_SO1.0000.077
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP1.0001.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 108
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0003.0001.0000.0000.0005.0001.0002.0006.0000.18750.31580.25000.18750.00000.31250.12500.3750
last_100.2010-35.00011.0002.0001.0002.00011.0008.0003.0009.0000.31430.40000.60000.31430.05710.31430.08570.2571
season0.60108-377.00085.00013.0001.0007.00041.00046.00038.00097.0000.22550.30810.32100.22550.01860.10870.10080.2573
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1550
predicted_3B0.0250
predicted_AB3.4590
predicted_AVG0.2365
predicted_BB0.3470
predicted_H0.8180
predicted_HBP0.1150
predicted_HR0.0810
predicted_OBP0.3265
predicted_R0.4550
predicted_RBI0.6450
predicted_SLG0.3656
predicted_SO0.9580
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12000.15500.1351model_form_blend
predicted_3B0.00900.02500.0159model_form_blend
predicted_AB3.49103.45903.4772model_form_blend
predicted_AVG0.21400.23650.2237model_form_blend
predicted_BB0.35200.34700.3498model_form_blend
predicted_H0.74000.81800.7736model_form_blend
predicted_HBP-0.11500.1150form_only
predicted_HR0.07000.08100.0747model_form_blend
predicted_OBP0.32500.32650.3256model_form_blend
predicted_R0.42600.45500.4385model_form_blend
predicted_RBI0.67000.64500.6592model_form_blend
predicted_SLG0.35300.36560.3584model_form_blend
predicted_SO0.89800.95800.9238model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date400
Season rows before report date400
Report year2026
Profile rows used108
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP1
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B-3B
gameID20260927_ARI@SD
game_typefull
mlbID630105
playerID630105
playerNameJake Cronenworth
pos2B
startedTrue
startingPosition2B
teamSD
teamID23
game_date2026-09-27
sl_k_percent22.8
sl_bb_percent8.9
sl_woba0.287
sl_xwoba0.275
sl_xba0.213
sl_xslg0.308
sl_sweet_spot_percent30.7
sl_barrel_batted_rate3.9
sl_hard_hit_percent29.7
sl_exit_velocity_avg87.2
sl_launch_angle_avg11.4
sl_whiff_percent21.3
sl_swing_percent45.8
Xander Bogaerts (593428) · BATTER · SS · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 583
All-history rows before 20260929: 583
System season_avg: 0.2310
Data season_avg (2026 season-to-date): 0.2348
Diff (system - data): -0.0038
System opponent_avg: 0.2730

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1180.0000.000Hitting_2B0.1250.000-0.1250.000
predicted_3B0.0070.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB3.3994.0003.000Hitting_AB3.5062.0000.4942.000
predicted_AVG0.2760.2500.000Hitting_AVG0.2350.5000.015-0.250
predicted_BB0.5030.0001.000Hitting_BB0.5182.000-0.518-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.8801.0000.000Hitting_H0.8231.0000.1770.000
predicted_HR0.1201.0000.000Hitting_HR0.0891.0000.9110.000
predicted_OBP0.3910.2500.250Hitting_OBP0.3340.750-0.084-0.500
predicted_R0.4441.0001.000Hitting_R0.4531.0000.5470.000
predicted_RBI0.3802.0000.000Hitting_RBI0.4241.0001.5761.000
predicted_SLG0.4571.0000.000Hitting_SLG0.3522.0000.648-1.000
predicted_SO0.7121.0000.000Hitting_SO0.7201.0000.2800.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.3800 -> 2.0000 (boost 1.6200, better)
Biggest Deboostpredicted_BB: 0.5030 -> 0.0000 (deboost -0.5030, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_R: 0.4440 -> 0.5024 (boost 0.0584, better)predicted_AB: 3.3990 -> 3.3161 (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.
3team_form_snapshot30303-predicted_SLG: 0.4529 -> 0.4239 (deboost -0.0290, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_BB: 0.5492 -> 1.0000 (boost 0.4508, better)predicted_RBI: 0.3607 -> 0.0000 (deboost -0.3607, worse)AB rounded to 3 (raw=3.40), rates preserved: AVG=0.258 HR/AB=0.038
6bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.273)
7consistency_constraints11010predicted_R: 0.5085 -> 1.0000 (boost 0.4915, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4851 (boost 0.4851, better)predicted_SO: 1.0000 -> 0.6062 (deboost -0.3938, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_BB: 0.4851 -> 1.0000 (boost 0.5149, better)predicted_H: 0.7692 -> 0.0000 (deboost -0.7692, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context62415predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.3540 -> 0.4239 (boost 0.0699, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.118,
        "predicted_3B": 0.007,
        "predicted_AB": 3.399,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.503,
        "predicted_H": 0.88,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.391,
        "predicted_R": 0.444,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.457,
        "predicted_SO": 0.712
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1145,
        "predicted_3B": 0.0144,
        "predicted_AB": 3.3161,
        "predicted_AVG": 0.2733,
        "predicted_BB": 0.5488,
        "predicted_H": 0.8739,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1279,
        "predicted_OBP": 0.3879,
        "predicted_R": 0.5024,
        "predicted_RBI": 0.3564,
        "predicted_SLG": 0.4529,
        "predicted_SO": 0.7142
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.118,
          "after": 0.1145,
          "delta": -0.0035,
          "percent_delta": -0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0144,
          "delta": 0.0074,
          "percent_delta": 1.0571,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.399,
          "after": 3.3161,
          "delta": -0.0829,
          "percent_delta": -0.0244,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2733,
          "delta": -0.0027,
          "percent_delta": -0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.503,
          "after": 0.5488,
          "delta": 0.0458,
          "percent_delta": 0.0911,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8739,
          "delta": -0.0061,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1279,
          "delta": 0.0079,
          "percent_delta": 0.0658,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.391,
          "after": 0.3879,
          "delta": -0.0031,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.444,
          "after": 0.5024,
          "delta": 0.0584,
          "percent_delta": 0.1315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.3564,
          "delta": -0.0236,
          "percent_delta": -0.0621,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.457,
          "after": 0.4529,
          "delta": -0.0041,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.712,
          "after": 0.7142,
          "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_R",
          "before": 0.444,
          "after": 0.5024,
          "delta": 0.0584,
          "percent_delta": 0.1315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.399,
          "after": 3.3161,
          "delta": -0.0829,
          "percent_delta": -0.0244,
          "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": 153
      }
    },
    {
      "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.1145,
        "predicted_3B": 0.0144,
        "predicted_AB": 3.3161,
        "predicted_AVG": 0.2653,
        "predicted_BB": 0.5492,
        "predicted_H": 0.8798,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1275,
        "predicted_OBP": 0.3697,
        "predicted_R": 0.5085,
        "predicted_RBI": 0.3607,
        "predicted_SLG": 0.4239,
        "predicted_SO": 0.7137
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1145,
          "after": 0.1145,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0144,
          "after": 0.0144,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3161,
          "after": 3.3161,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2733,
          "after": 0.2653,
          "delta": -0.008,
          "percent_delta": -0.0293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5488,
          "after": 0.5492,
          "delta": 0.0004,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8739,
          "after": 0.8798,
          "delta": 0.0059,
          "percent_delta": 0.0068,
          "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.1279,
          "after": 0.1275,
          "delta": -0.0004,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3879,
          "after": 0.3697,
          "delta": -0.0182,
          "percent_delta": -0.0469,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5024,
          "after": 0.5085,
          "delta": 0.0061,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3564,
          "after": 0.3607,
          "delta": 0.0043,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4529,
          "after": 0.4239,
          "delta": -0.029,
          "percent_delta": -0.064,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7142,
          "after": 0.7137,
          "delta": -0.0005,
          "percent_delta": -0.0007,
          "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.4529,
          "after": 0.4239,
          "delta": -0.029,
          "percent_delta": -0.064,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.40), rates preserved: AVG=0.258 HR/AB=0.038",
      "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.1145,
          "after": 0.0,
          "delta": -0.1145,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0144,
          "after": 0.0,
          "delta": -0.0144,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3161,
          "after": 3.0,
          "delta": -0.3161,
          "percent_delta": -0.0953,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5492,
          "after": 1.0,
          "delta": 0.4508,
          "percent_delta": 0.8208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8798,
          "after": 1.0,
          "delta": 0.1202,
          "percent_delta": 0.1366,
          "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.1275,
          "after": 0.0,
          "delta": -0.1275,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3607,
          "after": 0.0,
          "delta": -0.3607,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7137,
          "after": 1.0,
          "delta": 0.2863,
          "percent_delta": 0.4011,
          "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.5492,
          "after": 1.0,
          "delta": 0.4508,
          "percent_delta": 0.8208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3607,
          "after": 0.0,
          "delta": -0.3607,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.273)",
      "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": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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.8308,
        "bvp": 0.1692
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.5085,
          "after": 1.0,
          "delta": 0.4915,
          "percent_delta": 0.9666,
          "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.5085,
          "after": 1.0,
          "delta": 0.4915,
          "percent_delta": 0.9666,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1287,
        "predicted_3B": 0.0083,
        "predicted_BB": 0.4851,
        "predicted_H": 0.7692,
        "predicted_HR": 0.0937,
        "predicted_RBI": 0.3687,
        "predicted_SO": 0.6062
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1287,
          "delta": 0.1287,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0083,
          "delta": 0.0083,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4851,
          "delta": 0.4851,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7692,
          "delta": -0.2308,
          "percent_delta": -0.2308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0937,
          "delta": 0.0937,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3687,
          "delta": 0.3687,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6062,
          "delta": -0.3938,
          "percent_delta": -0.3938,
          "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": 0.4851,
          "delta": 0.4851,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6062,
          "delta": -0.3938,
          "percent_delta": -0.3938,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1287,
          "after": 0.0,
          "delta": -0.1287,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4851,
          "after": 1.0,
          "delta": 0.5149,
          "percent_delta": 1.0614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7692,
          "after": 0.0,
          "delta": -0.7692,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0937,
          "after": 0.0,
          "delta": -0.0937,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3687,
          "after": 0.0,
          "delta": -0.3687,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6062,
          "after": 0.0,
          "delta": -0.6062,
          "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.4851,
          "after": 1.0,
          "delta": 0.5149,
          "percent_delta": 1.0614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7692,
          "after": 0.0,
          "delta": -0.7692,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.354,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2653,
          "after": 0.228,
          "delta": -0.0373,
          "percent_delta": -0.1406,
          "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_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_OBP",
          "before": 0.3697,
          "after": 0.33,
          "delta": -0.0397,
          "percent_delta": -0.1074,
          "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.4239,
          "after": 0.354,
          "delta": -0.0699,
          "percent_delta": -0.1649,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "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_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": 11,
      "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 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": 12,
      "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.2653,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3697,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4239,
        "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.228,
          "after": 0.2653,
          "delta": 0.0373,
          "percent_delta": 0.1636,
          "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.33,
          "after": 0.3697,
          "delta": 0.0397,
          "percent_delta": 0.1203,
          "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.354,
          "after": 0.4239,
          "delta": 0.0699,
          "percent_delta": 0.1974,
          "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.354,
          "after": 0.4239,
          "delta": 0.0699,
          "percent_delta": 0.1974,
          "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.118,
        "after": 0.0,
        "delta": -0.118,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.399,
        "after": 4.0,
        "delta": 0.601,
        "percent_delta": 0.1768,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.2653,
        "delta": -0.0107,
        "percent_delta": -0.0388,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.503,
        "after": 0.0,
        "delta": -0.503,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 1.0,
        "delta": 0.12,
        "percent_delta": 0.1364,
        "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.391,
        "after": 0.3697,
        "delta": -0.0213,
        "percent_delta": -0.0545,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.444,
        "after": 1.0,
        "delta": 0.556,
        "percent_delta": 1.2523,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.38,
        "after": 2.0,
        "delta": 1.62,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.457,
        "after": 0.4239,
        "delta": -0.0331,
        "percent_delta": -0.0724,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.712,
        "after": 1.0,
        "delta": 0.288,
        "percent_delta": 0.4045,
        "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.38,
        "after": 2.0,
        "delta": 1.62,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.503,
        "after": 0.0,
        "delta": -0.503,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.118-
predicted_3B0.007-
predicted_AB3.399-
predicted_AVG0.276-
predicted_BB0.503-
predicted_H0.880-
predicted_HR0.120-
predicted_OBP0.391-
predicted_R0.444-
predicted_RBI0.380-
predicted_SLG0.457-
predicted_SO0.712-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.115-0.003
predicted_3B0.0140.007
predicted_AB3.316-0.083
predicted_AVG0.273-0.003
predicted_BB0.5490.046
predicted_H0.874-0.006
predicted_HBP0.015-
predicted_HR0.1280.008
predicted_OBP0.388-0.003
predicted_R0.5020.058
predicted_RBI0.356-0.024
predicted_SLG0.453-0.004
predicted_SO0.7140.002
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1150.000
predicted_3B0.0140.000
predicted_AB3.3160.000
predicted_AVG0.265-0.008
predicted_BB0.5490.000
predicted_H0.8800.006
predicted_HBP0.0150.000
predicted_HR0.128-0.000
predicted_OBP0.370-0.018
predicted_R0.5080.006
predicted_RBI0.3610.004
predicted_SLG0.424-0.029
predicted_SO0.714-0.000
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.40), rates preserved: AVG=0.258 HR/AB=0.038

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.273)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.000-1.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1290.129
3B0.0080.008
BB0.4850.485
H0.769-0.231
HR0.0940.094
RBI0.3690.369
SO0.606-0.394
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.129
3B0.000-0.008
AB3.0000.000
BB1.0000.515
H0.000-0.769
HR0.000-0.094
R1.0000.000
RBI0.000-0.369
SO0.000-0.606
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.115
predicted_3B0.000-0.014
predicted_AB3.000-0.316
predicted_AVG0.228-0.037
predicted_BB0.000-0.549
predicted_H1.0000.120
predicted_HR0.000-0.128
predicted_OBP0.330-0.040
predicted_R1.0000.492
predicted_RBI0.000-0.361
predicted_SLG0.354-0.070
predicted_SO1.0000.286
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.000-1.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
SO1.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 153
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0004.0000.0000.0001.0001.0003.0004.0003.0000.30770.47060.53850.30770.07690.07690.30770.2308
last_100.2010-31.00011.0002.0001.0002.0003.0009.0007.0008.0000.35480.47370.67740.35480.06450.09680.22580.2581
season0.60153-520.000120.00018.0001.00013.00057.00068.00077.000109.0000.23080.33170.34420.23080.02500.10960.14810.2096
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1100
predicted_3B0.0240
predicted_AB3.2090
predicted_AVG0.2699
predicted_BB0.6080
predicted_H0.8660
predicted_HBP0.0150
predicted_HR0.1380
predicted_OBP0.3840
predicted_R0.5780
predicted_RBI0.3260
predicted_SLG0.4477
predicted_SO0.7170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11800.11000.1145model_form_blend
predicted_3B0.00700.02400.0144model_form_blend
predicted_AB3.39903.20903.3161model_form_blend
predicted_AVG0.27600.26990.2733model_form_blend
predicted_BB0.50300.60800.5488model_form_blend
predicted_H0.88000.86600.8739model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.12000.13800.1279model_form_blend
predicted_OBP0.39100.38400.3879model_form_blend
predicted_R0.44400.57800.5024model_form_blend
predicted_RBI0.38000.32600.3564model_form_blend
predicted_SLG0.45700.44770.4529model_form_blend
predicted_SO0.71200.71700.7142model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date583
Season rows before report date583
Report year2026
Profile rows used153
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI2
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260926_ARI@SD
game_typefull
mlbID593428
playerID593428
playerNameXander Bogaerts
posSS
startedTrue
startingPositionSS
teamSD
teamID23
game_date2026-09-26
sl_k_percent18.0
sl_bb_percent12.7
sl_woba0.306
sl_xwoba0.325
sl_xba0.248
sl_xslg0.376
sl_sweet_spot_percent27.9
sl_barrel_batted_rate5.5
sl_hard_hit_percent42.3
sl_exit_velocity_avg89.6
sl_launch_angle_avg6.7
sl_whiff_percent23.1
sl_swing_percent41.5
Luis Campusano (669134) · BATTER · C · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 233
All-history rows before 20260929: 233
System season_avg: 0.2650
Data season_avg (2026 season-to-date): 0.2624
Diff (system - data): 0.0026
System opponent_avg: 0.1670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1710.0000.000Hitting_2B0.1890.000-0.1890.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0713.0003.000Hitting_AB3.2882.000-0.2881.000
predicted_AVG0.2240.6670.333Hitting_AVG0.2620.0000.4040.667
predicted_BB0.4141.0001.000Hitting_BB0.4291.0000.5710.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3402.0001.000Hitting_H0.8630.0001.1372.000
predicted_HR0.0401.0000.000Hitting_HR0.1200.0000.8801.000
predicted_OBP0.2930.7500.500Hitting_OBP0.3560.3330.3940.417
predicted_R0.3431.0000.000Hitting_R0.3521.0000.6480.000
predicted_RBI0.1802.0000.000Hitting_RBI0.4760.0001.5242.000
predicted_SLG0.3391.6670.333Hitting_SLG0.4300.0001.2371.667
predicted_SO0.7570.0001.000Hitting_SO0.8071.000-0.807-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_RBI: 0.1800 -> 2.0000 (boost 1.8200, better)
Biggest Deboostpredicted_SO: 0.7570 -> 0.0000 (deboost -0.7570, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_H: 0.3400 -> 0.5236 (boost 0.1836, 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.
3team_form_snapshot30303-predicted_SLG: 0.3467 -> 0.2734 (deboost -0.0733, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_H: 0.5271 -> 1.0000 (boost 0.4729, better)predicted_BB: 0.4231 -> 0.0000 (deboost -0.4231, worse)AB rounded to 3 (raw=3.19), rates preserved: AVG=0.165 HR/AB=0.020
6consistency_constraints10101-predicted_R: 0.3629 -> 0.0000 (deboost -0.3629, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4373 (boost 0.4373, better)predicted_SO: 1.0000 -> 0.7453 (deboost -0.2547, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_BB: 0.4373 -> 1.0000 (boost 0.5627, better)predicted_RBI: 0.4149 -> 0.0000 (deboost -0.4149, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context43131predicted_SLG: 0.2734 -> 0.3890 (boost 0.1156, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference65160predicted_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
11current_json_final30303-predicted_SLG: 0.3890 -> 0.2734 (deboost -0.1156, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669134",
  "player_name": "Luis Campusano",
  "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.171,
        "predicted_3B": 0.0,
        "predicted_AB": 3.071,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.414,
        "predicted_H": 0.34,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.293,
        "predicted_R": 0.343,
        "predicted_RBI": 0.18,
        "predicted_SLG": 0.339,
        "predicted_SO": 0.757
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1551,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.1906,
        "predicted_AVG": 0.2274,
        "predicted_BB": 0.4228,
        "predicted_H": 0.5236,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.063,
        "predicted_OBP": 0.3064,
        "predicted_R": 0.3585,
        "predicted_RBI": 0.2628,
        "predicted_SLG": 0.3467,
        "predicted_SO": 0.77
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.171,
          "after": 0.1551,
          "delta": -0.0159,
          "percent_delta": -0.093,
          "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.071,
          "after": 3.1906,
          "delta": 0.1196,
          "percent_delta": 0.0389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.2274,
          "delta": 0.0034,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.414,
          "after": 0.4228,
          "delta": 0.0088,
          "percent_delta": 0.0213,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.34,
          "after": 0.5236,
          "delta": 0.1836,
          "percent_delta": 0.54,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.063,
          "delta": 0.023,
          "percent_delta": 0.575,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.3064,
          "delta": 0.0134,
          "percent_delta": 0.0457,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.343,
          "after": 0.3585,
          "delta": 0.0155,
          "percent_delta": 0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.18,
          "after": 0.2628,
          "delta": 0.0828,
          "percent_delta": 0.46,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.339,
          "after": 0.3467,
          "delta": 0.0077,
          "percent_delta": 0.0227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.757,
          "after": 0.77,
          "delta": 0.013,
          "percent_delta": 0.0172,
          "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.34,
          "after": 0.5236,
          "delta": 0.1836,
          "percent_delta": 0.54,
          "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.1551,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.1906,
        "predicted_AVG": 0.1652,
        "predicted_BB": 0.4231,
        "predicted_H": 0.5271,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.0628,
        "predicted_OBP": 0.2629,
        "predicted_R": 0.3629,
        "predicted_RBI": 0.266,
        "predicted_SLG": 0.2734,
        "predicted_SO": 0.7695
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1551,
          "after": 0.1551,
          "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.1906,
          "after": 3.1906,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2274,
          "after": 0.1652,
          "delta": -0.0622,
          "percent_delta": -0.2735,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4228,
          "after": 0.4231,
          "delta": 0.0003,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5236,
          "after": 0.5271,
          "delta": 0.0035,
          "percent_delta": 0.0067,
          "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.063,
          "after": 0.0628,
          "delta": -0.0002,
          "percent_delta": -0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3064,
          "after": 0.2629,
          "delta": -0.0435,
          "percent_delta": -0.142,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3585,
          "after": 0.3629,
          "delta": 0.0044,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2628,
          "after": 0.266,
          "delta": 0.0032,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3467,
          "after": 0.2734,
          "delta": -0.0733,
          "percent_delta": -0.2114,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.77,
          "after": 0.7695,
          "delta": -0.0005,
          "percent_delta": -0.0006,
          "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.3467,
          "after": 0.2734,
          "delta": -0.0733,
          "percent_delta": -0.2114,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.19), rates preserved: AVG=0.165 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.1551,
          "after": 0.0,
          "delta": -0.1551,
          "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.1906,
          "after": 3.0,
          "delta": -0.1906,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4231,
          "after": 0.0,
          "delta": -0.4231,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5271,
          "after": 1.0,
          "delta": 0.4729,
          "percent_delta": 0.8972,
          "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.0628,
          "after": 0.0,
          "delta": -0.0628,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.266,
          "after": 0.0,
          "delta": -0.266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7695,
          "after": 1.0,
          "delta": 0.2305,
          "percent_delta": 0.2995,
          "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.5271,
          "after": 1.0,
          "delta": 0.4729,
          "percent_delta": 0.8972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4231,
          "after": 0.0,
          "delta": -0.4231,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.3629,
          "after": 0.0,
          "delta": -0.3629,
          "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.3629,
          "after": 0.0,
          "delta": -0.3629,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1486,
        "predicted_3B": 0.0093,
        "predicted_BB": 0.4373,
        "predicted_H": 0.815,
        "predicted_HR": 0.1152,
        "predicted_RBI": 0.4149,
        "predicted_SO": 0.7453
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1486,
          "delta": 0.1486,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0093,
          "delta": 0.0093,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4373,
          "delta": 0.4373,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.815,
          "delta": -0.185,
          "percent_delta": -0.185,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1152,
          "delta": 0.1152,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4149,
          "delta": 0.4149,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7453,
          "delta": -0.2547,
          "percent_delta": -0.2547,
          "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": 0.4373,
          "delta": 0.4373,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7453,
          "delta": -0.2547,
          "percent_delta": -0.2547,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1486,
          "after": 0.0,
          "delta": -0.1486,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4373,
          "after": 1.0,
          "delta": 0.5627,
          "percent_delta": 1.2868,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.815,
          "after": 1.0,
          "delta": 0.185,
          "percent_delta": 0.227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1152,
          "after": 0.0,
          "delta": -0.1152,
          "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.4149,
          "after": 0.0,
          "delta": -0.4149,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7453,
          "after": 1.0,
          "delta": 0.2547,
          "percent_delta": 0.3417,
          "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.4373,
          "after": 1.0,
          "delta": 0.5627,
          "percent_delta": 1.2868,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4149,
          "after": 0.0,
          "delta": -0.4149,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.33,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.389,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1652,
          "after": 0.239,
          "delta": 0.0738,
          "percent_delta": 0.4467,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2629,
          "after": 0.33,
          "delta": 0.0671,
          "percent_delta": 0.2552,
          "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.2734,
          "after": 0.389,
          "delta": 0.1156,
          "percent_delta": 0.4228,
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2734,
          "after": 0.389,
          "delta": 0.1156,
          "percent_delta": 0.4228,
          "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": 10,
      "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": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "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": 11,
      "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.1652,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2629,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2734,
        "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.239,
          "after": 0.1652,
          "delta": -0.0738,
          "percent_delta": -0.3088,
          "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": 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.33,
          "after": 0.2629,
          "delta": -0.0671,
          "percent_delta": -0.2032,
          "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.389,
          "after": 0.2734,
          "delta": -0.1156,
          "percent_delta": -0.2972,
          "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.389,
          "after": 0.2734,
          "delta": -0.1156,
          "percent_delta": -0.2972,
          "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": 3.071,
        "after": 3.0,
        "delta": -0.071,
        "percent_delta": -0.0231,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.224,
        "after": 0.1652,
        "delta": -0.0588,
        "percent_delta": -0.2625,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.414,
        "after": 1.0,
        "delta": 0.586,
        "percent_delta": 1.4155,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.34,
        "after": 2.0,
        "delta": 1.66,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 1.0,
        "delta": 0.96,
        "percent_delta": 24.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.293,
        "after": 0.2629,
        "delta": -0.0301,
        "percent_delta": -0.1027,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.343,
        "after": 1.0,
        "delta": 0.657,
        "percent_delta": 1.9155,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.18,
        "after": 2.0,
        "delta": 1.82,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.339,
        "after": 0.2734,
        "delta": -0.0656,
        "percent_delta": -0.1935,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.757,
        "after": 0.0,
        "delta": -0.757,
        "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.18,
        "after": 2.0,
        "delta": 1.82,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.757,
        "after": 0.0,
        "delta": -0.757,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.171-
predicted_3B0.000-
predicted_AB3.071-
predicted_AVG0.224-
predicted_BB0.414-
predicted_H0.340-
predicted_HR0.040-
predicted_OBP0.293-
predicted_R0.343-
predicted_RBI0.180-
predicted_SLG0.339-
predicted_SO0.757-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.155-0.016
predicted_3B0.0010.001
predicted_AB3.1910.120
predicted_AVG0.2270.003
predicted_BB0.4230.009
predicted_H0.5240.184
predicted_HBP0.028-
predicted_HR0.0630.023
predicted_OBP0.3060.013
predicted_R0.3580.015
predicted_RBI0.2630.083
predicted_SLG0.3470.008
predicted_SO0.7700.013
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1550.000
predicted_3B0.0010.000
predicted_AB3.1910.000
predicted_AVG0.165-0.062
predicted_BB0.4230.000
predicted_H0.5270.004
predicted_HBP0.0280.000
predicted_HR0.063-0.000
predicted_OBP0.263-0.043
predicted_R0.3630.004
predicted_RBI0.2660.003
predicted_SLG0.273-0.073
predicted_SO0.769-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.19), rates preserved: AVG=0.165 HR/AB=0.020

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1490.149
3B0.0090.009
BB0.4370.437
H0.815-0.185
HR0.1150.115
RBI0.4150.415
SO0.745-0.255
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.149
3B0.000-0.009
AB3.0000.000
BB1.0000.563
H1.0000.185
HR0.000-0.115
R0.0000.000
RBI0.000-0.415
SO1.0000.255
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.155
predicted_3B0.000-0.001
predicted_AB3.000-0.191
predicted_AVG0.2390.074
predicted_BB0.000-0.423
predicted_H1.0000.473
predicted_HR0.000-0.063
predicted_OBP0.3300.067
predicted_R0.000-0.363
predicted_RBI0.000-0.266
predicted_SLG0.3890.116
predicted_SO1.0000.231
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 70
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0003.0000.0000.0000.0001.0002.0003.0004.0000.17650.30000.17650.17650.00000.05880.17650.2353
last_100.2010-39.0007.0001.0000.0001.0003.0004.0004.0008.0000.17950.25580.28210.17950.02560.07690.10260.2051
season0.6070-215.00057.00012.0000.0008.00030.00024.00029.00053.0000.26510.36030.43260.26510.03720.13950.13490.2465
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1330
predicted_3B0.0020
predicted_AB3.3570
predicted_AVG0.2322
predicted_BB0.4350
predicted_H0.7790
predicted_HBP0.0280
predicted_HR0.0950
predicted_OBP0.3250
predicted_R0.3800
predicted_RBI0.3780
predicted_SLG0.3574
predicted_SO0.7880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17100.13300.1551model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.07103.35703.1906model_form_blend
predicted_AVG0.22400.23220.2274model_form_blend
predicted_BB0.41400.43500.4228model_form_blend
predicted_H0.34000.77900.5236model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.04000.09500.0630model_form_blend
predicted_OBP0.29300.32500.3064model_form_blend
predicted_R0.34300.38000.3585model_form_blend
predicted_RBI0.18000.37800.2628model_form_blend
predicted_SLG0.33900.35740.3467model_form_blend
predicted_SO0.75700.78800.7700model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date233
Season rows before report date233
Report year2026
Profile rows used70
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B0
3B0
HR1
R1
RBI2
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-DH
gameID20260927_ARI@SD
game_typeph
mlbID669134
noteStruck out for Sheets in the 5th.
playerID669134
playerNameLuis Campusano
posC
startedFalse
startingPositionPH
teamSD
teamID23
game_date2026-09-27
sl_k_percent21.4
sl_bb_percent12.1
sl_woba0.353
sl_xwoba0.327
sl_xba0.239
sl_xslg0.391
sl_sweet_spot_percent37.7
sl_barrel_batted_rate8.1
sl_hard_hit_percent37.7
sl_exit_velocity_avg87.3
sl_launch_angle_avg16.3
sl_whiff_percent26.0
sl_swing_percent46.6
Michael King (650633) · PITCHER · Starter · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 32
All-history rows before 20260929: 32

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB2.1882.000-0.1880.000
predicted_ER3.0003.0003.000Pitching_ER2.0625.0000.938-2.000
predicted_H5.0005.0005.000Pitching_H4.6256.0000.375-1.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.6944.000-0.4941.200
predicted_SO5.0005.0005.000Pitching_SO4.9695.0000.0310.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_SO: 3.0000 -> 5.0000 (boost 2.0000, better)
Biggest Deboostpredicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail31221predicted_SO: 3.0000 -> 5.0000 (boost 2.0000, better)predicted_HR: 2.0000 -> 1.0000 (deboost -1.0000, better)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final11001predicted_HR: 1.0000 -> 2.0000 (boost 1.0000, worse)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "650633",
  "player_name": "Michael King",
  "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": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 2.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 2.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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "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": 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": 3.0,
        "after": 5.0,
        "delta": 2.0,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 5.0,
        "delta": 2.0,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER3.000-
predicted_H5.000-
predicted_HR2.000-
predicted_IP5.667-
predicted_SO3.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER3.0000.000
predicted_H5.0000.000
predicted_HR1.000-1.000
predicted_IP5.200-0.467
predicted_SO5.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 32
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45529.00010.00026.00010.00024.0002.0003.10341.24140.34480.89650.34480.82760.0690
last_100.351059.20019.00051.00020.00050.0007.0002.86591.18990.31840.85480.33520.83800.1173
season0.2032185.00066.000148.00070.000159.00020.0003.21081.17840.35680.80000.37840.85950.1081
Weighted Prediction From Real Data
MetricValue
predicted_BB2.0320
predicted_ER2.0860
predicted_ERA3.2544
predicted_H5.0700
predicted_HR0.5840
predicted_IP5.2000
predicted_SO4.9070
predicted_WHIP1.2314
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00002.03202.0190model_form_blend
predicted_ER3.00002.08602.4581model_form_blend
predicted_ERA-3.25443.2544form_only
predicted_H5.00005.07005.0415model_form_blend
predicted_HR2.00000.58401.1604model_form_blend
predicted_IP5.20005.20005.2000model_form_blend
predicted_SO3.00004.90704.1307model_form_blend
predicted_WHIP-1.23141.2314form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date32
Season rows before report date32
Report year2026
Profile rows used32
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H5
R3
ER3
BB2
SO5
HR2
BF24
Pitches97

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced21
Pitching_ER5
Pitching_ERA3.21
Pitching_Flyouts2
Pitching_Groundouts4
Pitching_H6
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched4.0
Pitching_Pitches81
Pitching_R5
Pitching_SO5
Pitching_Strikes51
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260922_SD@LAD
game_typefull
mlbID650633
playerID650633
playerNameMichael King
posP
startedTrue
startingPositionP
teamSD
teamID23
game_date2026-09-22
sl_k_percent21.0
sl_bb_percent9.2
sl_woba0.295
sl_xwoba0.322
sl_sweet_spot_percent33.7
sl_barrel_batted_rate8.2
sl_hard_hit_percent32.7
sl_whiff_percent24.5
sl_swing_percent46.5
sl_avg_best_speed75.924543175
sl_avg_hyper_speed93.05490175
Bradgley Rodriguez (699134) · PITCHER · Middle Reliever (High Leverage) · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 68
All-history rows before 20260929: 68

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2941.000-0.294-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2650.000-0.2650.000
predicted_H0.0000.0000.000Pitching_H0.8681.000-0.868-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.9542.0000.146-0.900
predicted_SO0.0000.0000.000Pitching_SO1.1912.000-1.191-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics2
Boosted Metrics0
Deboosted Metrics2
Better Metrics0
Worse Metrics2
Biggest Boost-
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final20202-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "699134",
  "player_name": "Bradgley Rodriguez",
  "position": "Middle Reliever (High Leverage)",
  "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.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": 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.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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 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": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 0,
      "deboosted_metrics": 2,
      "better_metrics": 0,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.333-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 66
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.2001.0005.0002.0007.0001.0001.17390.91300.13040.65220.26090.91300.1304
last_100.351013.0001.0007.0002.00016.0001.0000.69230.69230.07690.53850.15381.23080.0769
season0.206674.00014.00053.00019.00081.0004.0001.70270.97300.18920.71620.25681.09460.0541
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3650
predicted_ER0.3070
predicted_ERA1.9775
predicted_H0.9970
predicted_HR0.1530
predicted_IP1.1000
predicted_SO1.4370
predicted_WHIP0.9752
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.36500.1991model_form_blend
predicted_ER0.00000.30700.1675model_form_blend
predicted_ERA-1.97751.9775form_only
predicted_H0.00000.99700.5439model_form_blend
predicted_HR0.00000.15300.0835model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.43701.2384model_form_blend
predicted_WHIP-0.97520.9752form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date68
Season rows before report date68
Report year2026
Profile rows used66
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO0
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER0
Pitching_ERA2.19
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches34
Pitching_R0
Pitching_SO2
Pitching_Strikes20
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260926_ARI@SD
game_typefull
mlbID699134
playerID699134
playerNameBradgley Rodriguez
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-09-26
sl_k_percent26.9
sl_bb_percent6.6
sl_woba0.266
sl_xwoba0.239
sl_sweet_spot_percent27.0
sl_barrel_batted_rate4.5
sl_hard_hit_percent30.0
sl_whiff_percent30.1
sl_swing_percent51.6
sl_avg_best_speed76.26349102
sl_avg_hyper_speed92.978718367
Adrian Morejon (670970) · PITCHER · Setup Man · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 76
All-history rows before 20260929: 76

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3681.0000.6320.000
predicted_ER1.0001.0001.000Pitching_ER0.3550.0000.6451.000
predicted_H2.0002.0002.000Pitching_H0.8550.0001.1452.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0031.000-0.0030.000
predicted_SO0.0000.0000.000Pitching_SO1.4082.000-1.408-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "670970",
  "player_name": "Adrian Morejon",
  "position": "Setup Man",
  "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": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 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": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 76
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1001.0002.0004.0007.0000.0002.07691.38460.23080.46150.92311.61540.0000
last_100.35109.1002.0004.0004.00013.0000.0001.92860.85710.21430.42860.42861.39290.0000
season0.207686.00027.00065.00028.000107.0004.0002.82561.08140.31400.75580.32561.24420.0465
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5750
predicted_ER0.3010
predicted_ERA2.7125
predicted_H0.6140
predicted_HR0.0400
predicted_IP1.0000
predicted_SO1.3470
predicted_WHIP1.1886
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.57500.7633model_form_blend
predicted_ER1.00000.30100.6107model_form_blend
predicted_ERA-2.71252.7125form_only
predicted_H2.00000.61401.2281model_form_blend
predicted_HR0.00000.04000.0223model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.34701.1933model_form_blend
predicted_WHIP-1.18861.1886form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date76
Season rows before report date76
Report year2026
Profile rows used76
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R1
ER1
BB1
SO0
HR0
BF6
Pitches23

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.83
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches16
Pitching_R0
Pitching_SO2
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260926_ARI@SD
game_typefull
mlbID670970
playerID670970
playerNameAdrian Morejon
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-09-26
sl_k_percent30.4
sl_bb_percent8.0
sl_woba0.244
sl_xwoba0.237
sl_sweet_spot_percent28.3
sl_barrel_batted_rate2.8
sl_hard_hit_percent32.5
sl_whiff_percent34.2
sl_swing_percent52.6
sl_avg_best_speed74.331806132
sl_avg_hyper_speed93.323366588
Mason Miller (695243) · PITCHER · Closer · Team SD
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 66
All-history rows before 20260929: 66

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3942.000-0.394-2.000
predicted_ER0.0000.0000.000Pitching_ER0.1973.000-0.197-3.000
predicted_H1.0001.0001.000Pitching_H0.5613.0000.439-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0081.000-0.0080.000
predicted_SO1.0001.0001.000Pitching_SO1.9552.000-0.955-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "695243",
  "player_name": "Mason Miller",
  "position": "Closer",
  "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": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 66
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2005.0005.0003.00010.0001.0007.94121.41180.88230.88230.52941.76470.1765
last_100.351010.2005.0008.0006.00021.0001.0004.21881.31250.46880.75000.56251.96880.0938
season0.206670.00013.00037.00026.000129.0003.0001.67140.90000.18570.52860.37141.84290.0429
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4760
predicted_ER0.5760
predicted_ERA5.1864
predicted_H0.8220
predicted_HR0.1280
predicted_IP1.0000
predicted_SO1.6160
predicted_WHIP1.2975
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.47600.2576model_form_blend
predicted_ER0.00000.57600.3117model_form_blend
predicted_ERA-5.18645.1864form_only
predicted_H1.00000.82200.9037model_form_blend
predicted_HR0.00000.12800.0693model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.61601.3333model_form_blend
predicted_WHIP-1.29751.2975form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date66
Season rows before report date66
Report year2026
Profile rows used66
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R0
ER0
BB0
SO1
HR0
BF4
Pitches16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced8
Pitching_ER3
Pitching_ERA1.67
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches24
Pitching_R3
Pitching_SO2
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260926_ARI@SD
game_typefull
mlbID695243
playerID695243
playerNameMason Miller
posP
startedFalse
startingPositionP
teamSD
teamID23
game_date2026-09-26
sl_k_percent47.4
sl_bb_percent9.6
sl_woba0.208
sl_xwoba0.201
sl_sweet_spot_percent31.3
sl_barrel_batted_rate7.0
sl_hard_hit_percent28.7
sl_whiff_percent45.3
sl_swing_percent47.3
sl_avg_best_speed75.813395439
sl_avg_hyper_speed92.786414386

20260929_CHW@HOU

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 6, "home_runs": 5, "confidence": 0.53, "home_win_probability": 0.47, "away_win_probability": 0.53, "predicted_score_text": "CHW 6 - 5 HOU", "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": "CHW", "original_runs": 6, "run_delta": 0.1324, "adjusted_runs": 6, "lineup": {"players_used": 9, "total_weight": 31.0, "quality": 0.2018798600377605, "contact": 0.13581696085756353, "power": 0.3353332776173323, "discipline": 0.06779249771551256, "xwoba": 0.3295161290322581, "recent_xwoba": 0.3295161290322581, "barrel": 9.825806451612902, "ab_hard_contact": 0.1816885938212977, "ab_bat_speed": 69.76851619677676, "ab_strikeout_rate": 0.2642439031595981, "available_players": 9, "top_players": [{"player_id": "808959", "player_name": "Munetaka Murakami", "position": "1B", "weight": 4.0, "quality": 0.825196031100155, "contact": 0.3691514303810402, "power": 1.7447249773570306, "discipline": -0.08417420510523924, "xwoba": 0.351, "recent_xwoba": 0.351, "barrel": 20.5, "ab_hard_contact": 0.8133566899977465, "ab_bat_speed": 73.14047844827586, "ab_strikeout_rate": 0.3649014778325123, "available": 1.0}, {"player_id": "678246", "player_name": "Miguel Vargas", "position": "3B", "weight": 4.0, "quality": 1.0139915729874118, "contact": 0.9877672890846578, "power": 1.1486633792972583, "discipline": 0.9849933321711845, "xwoba": 0.378, "recent_xwoba": 0.378, "barrel": 13.0, "ab_hard_contact": 0.7669818716594561, "ab_bat_speed": 72.6348808991158, "ab_strikeout_rate": 0.18509108341323108, "available": 1.0}, {"player_id": "805367", "player_name": "Chase Meidroth", "position": "2B", "weight": 3.0, "quality": -0.35910042579552937, "contact": -0.2659486145607394, "power": -0.5507257801370157, "discipline": 0.288005711880712, "xwoba": 0.301, "recent_xwoba": 0.301, "barrel": 4.6, "ab_hard_contact": -0.613372745597464, "ab_bat_speed": 64.30609355709878, "ab_strikeout_rate": 0.22379298941798942, "available": 1.0}, {"player_id": "695657", "player_name": "Colson Montgomery", "position": "SS", "weight": 3.0, "quality": -0.27222194682248, "contact": -0.7160113873459296, "power": 0.36019676195614947, "discipline": -0.9237023047375159, "xwoba": 0.294, "recent_xwoba": 0.294, "barrel": 12.0, "ab_hard_contact": 0.36812571531346816, "ab_bat_speed": 74.80167379275653, "ab_strikeout_rate": 0.3513581488933602, "available": 1.0}, {"player_id": "803011", "player_name": "Sam Antonacci", "position": "LF", "weight": 4.0, "quality": 0.2274160788783022, "contact": 0.6098592371697138, "power": -0.23476909432798382, "discipline": 0.49324093090372173, "xwoba": 0.34800000000000003, "recent_xwoba": 0.348, "barrel": 5.0, "ab_hard_contact": -0.09957236275015756, "ab_bat_speed": 68.13744058805106, "ab_strikeout_rate": 0.15012919896640828, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "805123", "player_name": "AJ Blubaugh", "quality": -0.037716711638050515, "contact": -0.08541793877595273, "command": -0.009370681605975678, "movement": 0.28133126152870114, "xwoba": 0.317, "whiff": 28.1, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "HOU", "original_runs": 5, "run_delta": -0.3254, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.11210238897098537, "contact": 0.06849924504904331, "power": 0.26962660362381896, "discipline": -0.062205203653989335, "xwoba": 0.3220606060606061, "recent_xwoba": 0.3220606060606061, "barrel": 9.127272727272725, "ab_hard_contact": 0.022257171269806635, "ab_bat_speed": 71.0681837419328, "ab_strikeout_rate": 0.2286337750825608, "available_players": 9, "top_players": [{"player_id": "670541", "player_name": "Yordan Alvarez", "position": "DH", "weight": 4.0, "quality": 1.810934958749097, "contact": 2.0, "power": 2.0, "discipline": 1.2309356876000714, "xwoba": 0.442, "recent_xwoba": 0.442, "barrel": 16.0, "ab_hard_contact": 1.4883749221886566, "ab_bat_speed": 75.29918313763862, "ab_strikeout_rate": 0.18236301369863014, "available": 1.0}, {"player_id": "514888", "player_name": "Jose Altuve", "position": "2B", "weight": 4.0, "quality": -0.7191919873497403, "contact": -0.7723872758335372, "power": -0.8380202347279377, "discipline": -0.015698226504678038, "xwoba": 0.271, "recent_xwoba": 0.271, "barrel": 4.1, "ab_hard_contact": -0.720023742177802, "ab_bat_speed": 66.7320351702509, "ab_strikeout_rate": 0.20913978494623656, "available": 1.0}, {"player_id": "666211", "player_name": "Taylor Trammell", "position": "LF", "weight": 3.0, "quality": -0.41948063983768363, "contact": -0.9643468498734755, "power": 0.1680747209865076, "discipline": -0.6729730073847721, "xwoba": 0.283, "recent_xwoba": 0.283, "barrel": 12.3, "ab_hard_contact": -0.0617436755079461, "ab_bat_speed": 74.23969738562091, "ab_strikeout_rate": 0.33784313725490195, "available": 1.0}, {"player_id": "701358", "player_name": "Cam Smith", "position": "RF", "weight": 3.0, "quality": 0.21457603194135133, "contact": 0.012153790257649207, "power": 0.5324731753258405, "discipline": -0.39988797917058794, "xwoba": 0.316, "recent_xwoba": 0.316, "barrel": 11.2, "ab_hard_contact": 0.7420349350882309, "ab_bat_speed": 76.26597308488613, "ab_strikeout_rate": 0.2564009661835749, "available": 1.0}, {"player_id": "670623", "player_name": "Isaac Paredes", "position": "3B", "weight": 4.0, "quality": -0.1491484955834814, "contact": -0.027976207482533072, "power": -0.5233758149292119, "discipline": 0.928867465867466, "xwoba": 0.323, "recent_xwoba": 0.323, "barrel": 4.8, "ab_hard_contact": -0.1421829652509069, "ab_bat_speed": 65.92486682761682, "ab_strikeout_rate": 0.13543123543123545, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "696146", "player_name": "Hagen Smith", "quality": 0.41376615580812914, "contact": 1.6178320539171427, "command": 0.9637721755368815, "movement": 0.6113630673477446, "xwoba": 0.243, "whiff": 36.2, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 6, "home_runs": 5, "winner_side": "away"}, "adjusted_score": {"away_runs": 6, "home_runs": 5, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": -0.4495, "recent_form_edge_home_minus_away": -0.154, "pitcher_matchup_edge_home_minus_away": -0.002, "composite_home_edge": -0.4701, "existing_home_win_probability": 0.4487, "refreshed_home_win_probability": 0.3, "winner_support_before_review": 0.4701}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.448712, "uncapped_away_win_probability": 0.551288, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.551288, "discount_factor": 0.7225, "published_confidence": 0.53, "guardrail_confidence_cap": 0.53, "guardrail_cap_enforced": true, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.3, "incoming_favoured_side": "away", "score_winner_side": "away", "published_home_win_probability": 0.47, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 6, "home_runs": 5, "predicted_score_text": "CHW 6 - 5 HOU", "confidence": 0.53, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 6, "home_runs": 5, "score_text": "CHW 6 - 5 HOU", "winner": "CHW"}, "final_simulation_score": {"away_runs": 6, "home_runs": 5, "score_text": "CHW 6 - 5 HOU", "winner": "CHW"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.002, "recent_form_edge_home_minus_away": -0.154, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 6, "home_runs": 5, "winner": "CHW", "model_winner": "CHW", "simulation_winner": "CHW", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 3, "published_winner": "CHW", "published_winner_draw_share": 0.6667, "draw_majority_team": "CHW", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 6, "home_runs": 5}, "simulation_score": {"away_runs": 6, "home_runs": 5}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.4495, "winner": "CHW", "score_reviewed": {"away_runs": 6, "home_runs": 5, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "CHW", "display_confidence": 0.53, "internal_signal_score": 0.5787, "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.4495, "winner_recent_form_edge": 0.224, "winner_pitcher_matchup_edge": 0.002, "winner_simulation_draw_rate": 0.6667, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.6667, "total_runs_spread": {"min": 1, "median": 6, "max": 10, "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."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionCHW 6 - 5 HOUCHW0.530enhanced_prediction.pre_simulation_targetTrue
Simulation drawCHW 6 - 5 HOUCHW-organic_simulation_realized_targetTrue

The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.

Full Prediction Process

Optimization Roadmap Runtime Status

This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.5659; empirical=0.5820; weight=0.5000; final=0.5739
P1H2H margin as base featureavailablehome net=-4; abs=4; home delta=-0.0231; away delta=0.0231
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=2.2500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=-0.5710; recent edge=-0.2240; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.9000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5300
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml5.1773.240-Base ML historical model prediction
2variance_applied53-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction650.5300Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4embedded_savant_run_environment65-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review65-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target65-Capped at max 12 realistic runs
7simulation_result65-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.5381389304430382,
  "base_low_score_probability": 0.4264240506329114,
  "low_score_signal_threshold": 0.5064240506329114,
  "low_score_signal_strength": 0.11171487981012679,
  "confidence": 0.7309903600000003,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.0712000000000002,
    "combined": 1.2619807200000006
  },
  "prediction": "low_scoring",
  "expected_total_runs": 11,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.9,
  "low_score_model_expected_total_runs": 6.9,
  "final_simulation_total_runs": 11,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 433,
  "near_bucket_sample_size": 433,
  "medium_bucket_sample_size": 1034,
  "wide_bucket_sample_size": 1097,
  "global_sample_size": 1116,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.582,
  "bayesian_hit_rate": 0.5787,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5898,
  "raw_pick_probability_unclamped": 0.5898,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.4927,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5527,
  "score_implied_floor_pick_probability": 0.5071,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.410221,
  "uncapped_away_win_probability": 0.589779,
  "calibrated_pick_probability": 0.5513,
  "predicted_side": "away",
  "reliability": 0.960089,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.974058
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.565874,
  "sample_size": 433,
  "empirical_hit_rate": 0.582,
  "empirical_weight": 0.5,
  "blended_confidence": 0.573937,
  "published_confidence": 0.53,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": -4.0,
  "absolute_net_margin": 4.0,
  "home_average_margin": -0.8,
  "home_run_delta": -0.0231,
  "away_run_delta": 0.0231,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 4.0
    },
    {
      "game_id": null,
      "home_margin": 2.0
    },
    {
      "game_id": null,
      "home_margin": -4.0
    },
    {
      "game_id": null,
      "home_margin": 3.0
    },
    {
      "game_id": null,
      "home_margin": -9.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734,
    "runs_allowed": 766,
    "run_differential": -32,
    "run_differential_per_game": -0.19753086419753085,
    "available": true
  },
  "away": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185185185185185,
    "runs_scored": 776,
    "runs_allowed": 720,
    "run_differential": 56,
    "run_differential_per_game": 0.345679012345679,
    "available": true
  },
  "run_differential_edge_per_game": -0.5432,
  "win_pct_edge": -0.0185,
  "quality_edge": -0.4495,
  "season_quality_edge": -0.571,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.571,
    "recent_quality_edge": -0.224,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": -0.4495
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 5,
      "away_runs": 5,
      "probability": 0.015765283988507267
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.01514873228710994
    },
    {
      "home_runs": 5,
      "away_runs": 6,
      "probability": 0.015144035882937935
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.015027712817668066
    },
    {
      "home_runs": 6,
      "away_runs": 5,
      "probability": 0.014996300579097408
    }
  ],
  "home_distribution": {
    "0": 0.04208965680009246,
    "1": 0.06275864662721392,
    "2": 0.08553199172880491,
    "3": 0.10654680512475424,
    "4": 0.12131349328703141,
    "5": 0.12625093882841287,
    "6": 0.12009279556551684,
    "7": 0.10441337252033131,
    "8": 0.08297592894220364,
    "9": 0.06027052207513303,
    "10": 0.04001424384047176,
    "11": 0.02428181275969323,
    "12": 0.013468040946391736,
    "13": 0.006827859579893872,
    "14": 0.0031638913740547527
  },
  "away_distribution": {
    "0": 0.04071288035910323,
    "1": 0.06075990118465728,
    "2": 0.08302965036865727,
    "3": 0.10389156292371118,
    "4": 0.11903050351247026,
    "5": 0.12487260795687072,
    "6": 0.11995186747498275,
    "7": 0.10550614759663551,
    "8": 0.08497270389632763,
    "9": 0.06266312232817885,
    "10": 0.042313168147418374,
    "11": 0.0261619419229694,
    "12": 0.01481137340672792,
    "13": 0.007678061830258213,
    "14": 0.0036445070910315898
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.53,
  "winner_flipped": false,
  "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",
    "a prior same-side pick already missed against the actual result",
    "latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
  ],
  "signals": {
    "predicted_team": "CHW",
    "opponent_team": "HOU",
    "h2h_net_margin": -2,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-03",
        "predicted_team_runs": 2,
        "opponent_runs": 6,
        "margin_for_predicted_team": -4,
        "winner": "HOU"
      },
      {
        "date": "2026-09-02",
        "predicted_team_runs": 0,
        "opponent_runs": 2,
        "margin_for_predicted_team": -2,
        "winner": "HOU"
      },
      {
        "date": "2026-09-01",
        "predicted_team_runs": 5,
        "opponent_runs": 1,
        "margin_for_predicted_team": 4,
        "winner": "CHW"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 7,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260903",
          "away": "CHW",
          "home": "HOU",
          "game_number": 1,
          "predicted_team": "HOU",
          "actual_winner": "HOU",
          "actual_margin": 4,
          "raw_pick_probability": 0.559116,
          "artifact": "20260903_CHW@HOU.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260902",
          "away": "CHW",
          "home": "HOU",
          "game_number": 1,
          "predicted_team": "HOU",
          "actual_winner": "HOU",
          "actual_margin": 2,
          "raw_pick_probability": 0.53,
          "artifact": "20260902_CHW@HOU.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260901",
          "away": "CHW",
          "home": "HOU",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CHW",
          "actual_margin": 4,
          "raw_pick_probability": 0.53,
          "artifact": "20260901_CHW@HOU.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260831",
          "away": "CHW",
          "home": "HOU",
          "game_number": 1,
          "predicted_team": "HOU",
          "actual_winner": "HOU",
          "actual_margin": 3,
          "raw_pick_probability": 0.53,
          "artifact": "20260831_CHW@HOU.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260726",
          "away": "HOU",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CHW",
          "actual_margin": 9,
          "raw_pick_probability": 0.53,
          "artifact": "20260726_HOU@CHW.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "CHW",
    "guardrail_opponent_team": "HOU",
    "output_pre_simulation_winner": "CHW",
    "output_opponent_team": "HOU",
    "simulation_score_winner": "CHW",
    "final_score_winner": "CHW",
    "pre_simulation_winner": "CHW",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "CHW 6 - 5 HOU",
      "winner": "CHW"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "CHW 6 - 5 HOU",
      "winner": "CHW"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.002,
      "recent_form_edge_home_minus_away": -0.154,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 5,
      "winner": "CHW",
      "model_winner": "CHW",
      "simulation_winner": "CHW",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "CHW",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "CHW",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.4495,
      "winner": "CHW",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "HOU",
      "games": 162,
      "wins": 81,
      "losses": 81,
      "win_pct": 0.5,
      "runs_scored": 734,
      "runs_allowed": 766,
      "run_differential": -32,
      "run_differential_per_game": -0.19753086419753085,
      "available": true
    },
    "away": {
      "team": "CHW",
      "games": 162,
      "wins": 84,
      "losses": 78,
      "win_pct": 0.5185185185185185,
      "runs_scored": 776,
      "runs_allowed": 720,
      "run_differential": 56,
      "run_differential_per_game": 0.345679012345679,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.1,
  "final_margin": -0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.4495,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.53,
  "final_confidence": 0.5513,
  "calibrated_pick_probability": 0.5513,
  "shrinkage_weight": 0.974058,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 433,
  "calibration_empirical_hit_rate": 0.582,
  "calibration_bayesian_hit_rate": 0.5787,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.4495,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 6,
      "home_runs": 5
    },
    "margin": -1,
    "probability_before": 0.448712,
    "margin_implied_home_probability": 0.427612,
    "shrinkage_weight": 0.974058,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.448712,
    "aligned_pick_probability": 0.551288
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 18,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 6,
    "home_runs": 5,
    "score_text": "CHW 6 - 5 HOU",
    "winner": "CHW"
  },
  "final_simulation_score": {
    "away_runs": 6,
    "home_runs": 5,
    "score_text": "CHW 6 - 5 HOU",
    "winner": "CHW"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.002,
    "recent_form_edge_home_minus_away": -0.154,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 6,
    "home_runs": 5,
    "winner": "CHW",
    "model_winner": "CHW",
    "simulation_winner": "CHW",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 3,
      "published_winner": "CHW",
      "published_winner_draw_share": 0.6667,
      "draw_majority_team": "CHW",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 6,
      "home_runs": 5
    },
    "simulation_score": {
      "away_runs": 6,
      "home_runs": 5
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.4495,
    "winner": "CHW",
    "score_reviewed": {
      "away_runs": 6,
      "home_runs": 5,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 6,
  "home_runs": 5,
  "confidence": 0.53,
  "home_win_probability": 0.47,
  "away_win_probability": 0.53,
  "predicted_score_text": "CHW 6 - 5 HOU",
  "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": "CHW",
      "original_runs": 6,
      "run_delta": 0.1324,
      "adjusted_runs": 6,
      "lineup": {
        "players_used": 9,
        "total_weight": 31.0,
        "quality": 0.2018798600377605,
        "contact": 0.13581696085756353,
        "power": 0.3353332776173323,
        "discipline": 0.06779249771551256,
        "xwoba": 0.3295161290322581,
        "recent_xwoba": 0.3295161290322581,
        "barrel": 9.825806451612902,
        "ab_hard_contact": 0.1816885938212977,
        "ab_bat_speed": 69.76851619677676,
        "ab_strikeout_rate": 0.2642439031595981,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "808959",
            "player_name": "Munetaka Murakami",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.825196031100155,
            "contact": 0.3691514303810402,
            "power": 1.7447249773570306,
            "discipline": -0.08417420510523924,
            "xwoba": 0.351,
            "recent_xwoba": 0.351,
            "barrel": 20.5,
            "ab_hard_contact": 0.8133566899977465,
            "ab_bat_speed": 73.14047844827586,
            "ab_strikeout_rate": 0.3649014778325123,
            "available": 1.0
          },
          {
            "player_id": "678246",
            "player_name": "Miguel Vargas",
            "position": "3B",
            "weight": 4.0,
            "quality": 1.0139915729874118,
            "contact": 0.9877672890846578,
            "power": 1.1486633792972583,
            "discipline": 0.9849933321711845,
            "xwoba": 0.378,
            "recent_xwoba": 0.378,
            "barrel": 13.0,
            "ab_hard_contact": 0.7669818716594561,
            "ab_bat_speed": 72.6348808991158,
            "ab_strikeout_rate": 0.18509108341323108,
            "available": 1.0
          },
          {
            "player_id": "805367",
            "player_name": "Chase Meidroth",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.35910042579552937,
            "contact": -0.2659486145607394,
            "power": -0.5507257801370157,
            "discipline": 0.288005711880712,
            "xwoba": 0.301,
            "recent_xwoba": 0.301,
            "barrel": 4.6,
            "ab_hard_contact": -0.613372745597464,
            "ab_bat_speed": 64.30609355709878,
            "ab_strikeout_rate": 0.22379298941798942,
            "available": 1.0
          },
          {
            "player_id": "695657",
            "player_name": "Colson Montgomery",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.27222194682248,
            "contact": -0.7160113873459296,
            "power": 0.36019676195614947,
            "discipline": -0.9237023047375159,
            "xwoba": 0.294,
            "recent_xwoba": 0.294,
            "barrel": 12.0,
            "ab_hard_contact": 0.36812571531346816,
            "ab_bat_speed": 74.80167379275653,
            "ab_strikeout_rate": 0.3513581488933602,
            "available": 1.0
          },
          {
            "player_id": "803011",
            "player_name": "Sam Antonacci",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.2274160788783022,
            "contact": 0.6098592371697138,
            "power": -0.23476909432798382,
            "discipline": 0.49324093090372173,
            "xwoba": 0.34800000000000003,
            "recent_xwoba": 0.348,
            "barrel": 5.0,
            "ab_hard_contact": -0.09957236275015756,
            "ab_bat_speed": 68.13744058805106,
            "ab_strikeout_rate": 0.15012919896640828,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "805123",
        "player_name": "AJ Blubaugh",
        "quality": -0.037716711638050515,
        "contact": -0.08541793877595273,
        "command": -0.009370681605975678,
        "movement": 0.28133126152870114,
        "xwoba": 0.317,
        "whiff": 28.1,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "HOU",
      "original_runs": 5,
      "run_delta": -0.3254,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.11210238897098537,
        "contact": 0.06849924504904331,
        "power": 0.26962660362381896,
        "discipline": -0.062205203653989335,
        "xwoba": 0.3220606060606061,
        "recent_xwoba": 0.3220606060606061,
        "barrel": 9.127272727272725,
        "ab_hard_contact": 0.022257171269806635,
        "ab_bat_speed": 71.0681837419328,
        "ab_strikeout_rate": 0.2286337750825608,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "670541",
            "player_name": "Yordan Alvarez",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.810934958749097,
            "contact": 2.0,
            "power": 2.0,
            "discipline": 1.2309356876000714,
            "xwoba": 0.442,
            "recent_xwoba": 0.442,
            "barrel": 16.0,
            "ab_hard_contact": 1.4883749221886566,
            "ab_bat_speed": 75.29918313763862,
            "ab_strikeout_rate": 0.18236301369863014,
            "available": 1.0
          },
          {
            "player_id": "514888",
            "player_name": "Jose Altuve",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.7191919873497403,
            "contact": -0.7723872758335372,
            "power": -0.8380202347279377,
            "discipline": -0.015698226504678038,
            "xwoba": 0.271,
            "recent_xwoba": 0.271,
            "barrel": 4.1,
            "ab_hard_contact": -0.720023742177802,
            "ab_bat_speed": 66.7320351702509,
            "ab_strikeout_rate": 0.20913978494623656,
            "available": 1.0
          },
          {
            "player_id": "666211",
            "player_name": "Taylor Trammell",
            "position": "LF",
            "weight": 3.0,
            "quality": -0.41948063983768363,
            "contact": -0.9643468498734755,
            "power": 0.1680747209865076,
            "discipline": -0.6729730073847721,
            "xwoba": 0.283,
            "recent_xwoba": 0.283,
            "barrel": 12.3,
            "ab_hard_contact": -0.0617436755079461,
            "ab_bat_speed": 74.23969738562091,
            "ab_strikeout_rate": 0.33784313725490195,
            "available": 1.0
          },
          {
            "player_id": "701358",
            "player_name": "Cam Smith",
            "position": "RF",
            "weight": 3.0,
            "quality": 0.21457603194135133,
            "contact": 0.012153790257649207,
            "power": 0.5324731753258405,
            "discipline": -0.39988797917058794,
            "xwoba": 0.316,
            "recent_xwoba": 0.316,
            "barrel": 11.2,
            "ab_hard_contact": 0.7420349350882309,
            "ab_bat_speed": 76.26597308488613,
            "ab_strikeout_rate": 0.2564009661835749,
            "available": 1.0
          },
          {
            "player_id": "670623",
            "player_name": "Isaac Paredes",
            "position": "3B",
            "weight": 4.0,
            "quality": -0.1491484955834814,
            "contact": -0.027976207482533072,
            "power": -0.5233758149292119,
            "discipline": 0.928867465867466,
            "xwoba": 0.323,
            "recent_xwoba": 0.323,
            "barrel": 4.8,
            "ab_hard_contact": -0.1421829652509069,
            "ab_bat_speed": 65.92486682761682,
            "ab_strikeout_rate": 0.13543123543123545,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "696146",
        "player_name": "Hagen Smith",
        "quality": 0.41376615580812914,
        "contact": 1.6178320539171427,
        "command": 0.9637721755368815,
        "movement": 0.6113630673477446,
        "xwoba": 0.243,
        "whiff": 36.2,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 6,
      "home_runs": 5,
      "winner_side": "away"
    },
    "adjusted_score": {
      "away_runs": 6,
      "home_runs": 5,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.4495,
      "recent_form_edge_home_minus_away": -0.154,
      "pitcher_matchup_edge_home_minus_away": -0.002,
      "composite_home_edge": -0.4701,
      "existing_home_win_probability": 0.4487,
      "refreshed_home_win_probability": 0.3,
      "winner_support_before_review": 0.4701
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.448712,
  "uncapped_away_win_probability": 0.551288,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.551288,
    "discount_factor": 0.7225,
    "published_confidence": 0.53,
    "guardrail_confidence_cap": 0.53,
    "guardrail_cap_enforced": true,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.3,
    "incoming_favoured_side": "away",
    "score_winner_side": "away",
    "published_home_win_probability": 0.47,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 6,
    "home_runs": 5,
    "predicted_score_text": "CHW 6 - 5 HOU",
    "confidence": 0.53,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "CHW 6 - 5 HOU",
      "winner": "CHW"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "CHW 6 - 5 HOU",
      "winner": "CHW"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.002,
      "recent_form_edge_home_minus_away": -0.154,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 5,
      "winner": "CHW",
      "model_winner": "CHW",
      "simulation_winner": "CHW",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 3,
        "published_winner": "CHW",
        "published_winner_draw_share": 0.6667,
        "draw_majority_team": "CHW",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.4495,
      "winner": "CHW",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "CHW",
    "display_confidence": 0.53,
    "internal_signal_score": 0.5787,
    "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.4495,
      "winner_recent_form_edge": 0.224,
      "winner_pitcher_matchup_edge": 0.002,
      "winner_simulation_draw_rate": 0.6667,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.6667,
      "total_runs_spread": {
        "min": 1,
        "median": 6,
        "max": 10,
        "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."
  }
}

Savant Batter Quality

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.

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away CHWTrue1.03221.0322190
Home HOUTrue1.02111.0211190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFSam Antonacci-1.04460.5947neutral0.34800.28400.3990533.6087.509.9014.7014.707.700.0857
1BMunetaka Murakami-1.08351.1131neutral0.35100.20400.469020.5056.8093.9016.1042.3035.4016.60-0.1429
3BMiguel Vargas-1.10951.4598neutral0.37800.26300.49601343.8090.1020.502117.9014.300.4286
RFBraden Montgomery-1.03050.4073neutral0.32500.25500.39204.4040.9088.90330.1019.7010.400.7714
CFTristan Peters-1.00190.0255neutral0.31400.24800.38405.4034.1087.50182318.307.50-0.7429
CKyle Teel-1.01310.1752neutral0.32100.21100.375011.4047.1085.7013.6035.6035.4013.200.1143
DHAndrew Benintendi-1.02320.3097neutral0.30700.24000.39808.6045.1089.3017.3028.3023.908.30-0.1143
2BChase Meidroth-0.9823-0.2365negative_batter_regression0.30100.23900.34804.6034.6087.208.5019.7021.909.50-1.0857
SSColson Montgomery-1.00090.0126neutral0.29400.19900.38801240.9088.6023.6037.4035.608.50-0.1714

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHYordan Alvarez-1.15002neutral0.44200.31800.63601653.8094.4019.1019.9017.2015.800.3714
SSJeremy Peña-1.02910.3882neutral0.32600.26800.43107.2039.2088.601331.80245-0.6000
2BJose Altuve-0.9492-0.6775negative_batter_regression0.27100.22400.32504.1031.3085.6010.6022.1019.907.20-1.0571
CFLucas Spence-1.00500.0667negative_batter_regression0.30500.19700.389012.1048.5091.9010.6038.3034.9011.10-1.4286
3BIsaac Paredes-1.00270.0362negative_batter_regression0.32300.24500.37304.8029.308624.2014.7013.4010.80-0.9143
CYainer Diaz-1.01730.2305neutral0.31200.27200.41606.9038.8089.307.5022.3015.803.30-0.6286
1BChristian Walker-1.01260.1678neutral0.30500.22700.39609.6040.708914.6029.1023.108-0.3143
RFCam Smith-1.03760.5012neutral0.31600.23500.420011.2043.5088.7012.3029.1026.107.700.6571
LFTaylor Trammell-0.9867-0.1770neutral0.28300.18600.360012.303888.5015.6038.5032.20100.0857
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0211,
    "raw_average_factor": 1.0211,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "670541",
        "player_name": "Yordan Alvarez",
        "offense_factor": 1.15,
        "quality_score": 2.0,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "670541",
          "espn_rank": null
        },
        "metrics": {
          "pa": 608.0,
          "k_percent": 17.2,
          "bb_percent": 15.8,
          "woba": 0.429,
          "xwoba": 0.442,
          "xba": 0.318,
          "xslg": 0.636,
          "sweet_spot_percent": 40.0,
          "barrel_batted_rate": 16.0,
          "hard_hit_percent": 53.8,
          "exit_velocity_avg": 94.4,
          "launch_angle_avg": 19.1,
          "whiff_percent": 19.9,
          "swing_percent": 43.6
        },
        "components": {
          "expected_quality": 2.3091,
          "regression_edge": 0.3714,
          "xwoba_edge": 2.5,
          "xba_edge": 2.3429,
          "xslg_edge": 2.5,
          "barrel_edge": 2.0889,
          "hard_hit_edge": 2.3143,
          "exit_velocity_edge": 2.4,
          "sweet_spot_edge": 1.1167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "SS",
        "player_id": "665161",
        "player_name": "Jeremy Peña",
        "offense_factor": 1.0291,
        "quality_score": 0.3882,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "665161",
          "espn_rank": null
        },
        "metrics": {
          "pa": 435.0,
          "k_percent": 24.0,
          "bb_percent": 5.0,
          "woba": 0.347,
          "xwoba": 0.326,
          "xba": 0.268,
          "xslg": 0.431,
          "sweet_spot_percent": 35.0,
          "barrel_batted_rate": 7.2,
          "hard_hit_percent": 39.2,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 13.0,
          "whiff_percent": 31.8,
          "swing_percent": 55.3
        },
        "components": {
          "expected_quality": 0.549,
          "regression_edge": -0.6,
          "xwoba_edge": 0.7714,
          "xba_edge": 0.9143,
          "xslg_edge": 0.9714,
          "barrel_edge": 0.1333,
          "hard_hit_edge": 0.2286,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": 0.2833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "514888",
        "player_name": "Jose Altuve",
        "offense_factor": 0.9492,
        "quality_score": -0.6775,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "514888",
          "espn_rank": null
        },
        "metrics": {
          "pa": 522.0,
          "k_percent": 19.9,
          "bb_percent": 7.2,
          "woba": 0.308,
          "xwoba": 0.271,
          "xba": 0.224,
          "xslg": 0.325,
          "sweet_spot_percent": 32.0,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 31.3,
          "exit_velocity_avg": 85.6,
          "launch_angle_avg": 10.6,
          "whiff_percent": 22.1,
          "swing_percent": 49.2
        },
        "components": {
          "expected_quality": -0.6158,
          "regression_edge": -1.0571,
          "xwoba_edge": -0.8,
          "xba_edge": -0.3429,
          "xslg_edge": -0.5429,
          "barrel_edge": -0.5556,
          "hard_hit_edge": -0.9,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": -0.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "828599",
        "player_name": "Lucas Spence",
        "offense_factor": 1.005,
        "quality_score": 0.0667,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "828599",
          "espn_rank": null
        },
        "metrics": {
          "pa": 41.0,
          "k_percent": 34.9,
          "bb_percent": 11.1,
          "woba": 0.355,
          "xwoba": 0.305,
          "xba": 0.197,
          "xslg": 0.389,
          "sweet_spot_percent": 39.4,
          "barrel_batted_rate": 12.1,
          "hard_hit_percent": 48.5,
          "exit_velocity_avg": 91.9,
          "launch_angle_avg": 10.6,
          "whiff_percent": 38.3,
          "swing_percent": 46.4
        },
        "components": {
          "expected_quality": 0.4049,
          "regression_edge": -1.4286,
          "xwoba_edge": 0.1714,
          "xba_edge": -1.1143,
          "xslg_edge": 0.3714,
          "barrel_edge": 1.2222,
          "hard_hit_edge": 1.5571,
          "exit_velocity_edge": 1.4,
          "sweet_spot_edge": 1.0167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "670623",
        "player_name": "Isaac Paredes",
        "offense_factor": 1.0027,
        "quality_score": 0.0362,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "670623",
          "espn_rank": null
        },
        "metrics": {
          "pa": 607.0,
          "k_percent": 13.4,
          "bb_percent": 10.8,
          "woba": 0.355,
          "xwoba": 0.323,
          "xba": 0.245,
          "xslg": 0.373,
          "sweet_spot_percent": 38.7,
          "barrel_batted_rate": 4.8,
          "hard_hit_percent": 29.3,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 24.2,
          "whiff_percent": 14.7,
          "swing_percent": 43.4
        },
        "components": {
          "expected_quality": 0.1909,
          "regression_edge": -0.9143,
          "xwoba_edge": 0.6857,
          "xba_edge": 0.2571,
          "xslg_edge": 0.1429,
          "barrel_edge": -0.4,
          "hard_hit_edge": -1.1857,
          "exit_velocity_edge": -0.96,
          "sweet_spot_edge": 0.9,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "673237",
        "player_name": "Yainer Diaz",
        "offense_factor": 1.0173,
        "quality_score": 0.2305,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "673237",
          "espn_rank": null
        },
        "metrics": {
          "pa": 321.0,
          "k_percent": 15.8,
          "bb_percent": 3.3,
          "woba": 0.334,
          "xwoba": 0.312,
          "xba": 0.272,
          "xslg": 0.416,
          "sweet_spot_percent": 29.4,
          "barrel_batted_rate": 6.9,
          "hard_hit_percent": 38.8,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 7.5,
          "whiff_percent": 22.3,
          "swing_percent": 57.4
        },
        "components": {
          "expected_quality": 0.3703,
          "regression_edge": -0.6286,
          "xwoba_edge": 0.3714,
          "xba_edge": 1.0286,
          "xslg_edge": 0.7571,
          "barrel_edge": 0.0667,
          "hard_hit_edge": 0.1714,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": -0.65,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "572233",
        "player_name": "Christian Walker",
        "offense_factor": 1.0126,
        "quality_score": 0.1678,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "572233",
          "espn_rank": null
        },
        "metrics": {
          "pa": 587.0,
          "k_percent": 23.1,
          "bb_percent": 8.0,
          "woba": 0.316,
          "xwoba": 0.305,
          "xba": 0.227,
          "xslg": 0.396,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 9.6,
          "hard_hit_percent": 40.7,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 14.6,
          "whiff_percent": 29.1,
          "swing_percent": 50.4
        },
        "components": {
          "expected_quality": 0.2463,
          "regression_edge": -0.3143,
          "xwoba_edge": 0.1714,
          "xba_edge": -0.2571,
          "xslg_edge": 0.4714,
          "barrel_edge": 0.6667,
          "hard_hit_edge": 0.4429,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "701358",
        "player_name": "Cam Smith",
        "offense_factor": 1.0376,
        "quality_score": 0.5012,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "701358",
          "espn_rank": null
        },
        "metrics": {
          "pa": 523.0,
          "k_percent": 26.1,
          "bb_percent": 7.7,
          "woba": 0.293,
          "xwoba": 0.316,
          "xba": 0.235,
          "xslg": 0.42,
          "sweet_spot_percent": 31.3,
          "barrel_batted_rate": 11.2,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 88.7,
          "launch_angle_avg": 12.3,
          "whiff_percent": 29.1,
          "swing_percent": 48.5
        },
        "components": {
          "expected_quality": 0.4758,
          "regression_edge": 0.6571,
          "xwoba_edge": 0.4857,
          "xba_edge": -0.0286,
          "xslg_edge": 0.8143,
          "barrel_edge": 1.0222,
          "hard_hit_edge": 0.8429,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": -0.3333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "666211",
        "player_name": "Taylor Trammell",
        "offense_factor": 0.9867,
        "quality_score": -0.177,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666211",
          "espn_rank": null
        },
        "metrics": {
          "pa": 265.0,
          "k_percent": 32.2,
          "bb_percent": 10.0,
          "woba": 0.28,
          "xwoba": 0.283,
          "xba": 0.186,
          "xslg": 0.36,
          "sweet_spot_percent": 28.2,
          "barrel_batted_rate": 12.3,
          "hard_hit_percent": 38.0,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 15.6,
          "whiff_percent": 38.5,
          "swing_percent": 48.8
        },
        "components": {
          "expected_quality": -0.2198,
          "regression_edge": 0.0857,
          "xwoba_edge": -0.4571,
          "xba_edge": -1.4286,
          "xslg_edge": -0.0429,
          "barrel_edge": 1.2667,
          "hard_hit_edge": 0.0571,
          "exit_velocity_edge": 0.04,
          "sweet_spot_edge": -0.85,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0322,
    "raw_average_factor": 1.0322,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "803011",
        "player_name": "Sam Antonacci",
        "offense_factor": 1.0446,
        "quality_score": 0.5947,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "803011",
          "espn_rank": null
        },
        "metrics": {
          "pa": 511.0,
          "k_percent": 14.7,
          "bb_percent": 7.7,
          "woba": 0.345,
          "xwoba": 0.348,
          "xba": 0.284,
          "xslg": 0.399,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 5.0,
          "hard_hit_percent": 33.6,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 9.9,
          "whiff_percent": 14.7,
          "swing_percent": 42.5
        },
        "components": {
          "expected_quality": 0.6776,
          "regression_edge": 0.0857,
          "xwoba_edge": 1.4,
          "xba_edge": 1.3714,
          "xslg_edge": 0.5143,
          "barrel_edge": -0.3556,
          "hard_hit_edge": -0.5714,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "808959",
        "player_name": "Munetaka Murakami",
        "offense_factor": 1.0835,
        "quality_score": 1.1131,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "808959",
          "espn_rank": null
        },
        "metrics": {
          "pa": 491.0,
          "k_percent": 35.4,
          "bb_percent": 16.6,
          "woba": 0.356,
          "xwoba": 0.351,
          "xba": 0.204,
          "xslg": 0.469,
          "sweet_spot_percent": 30.5,
          "barrel_batted_rate": 20.5,
          "hard_hit_percent": 56.8,
          "exit_velocity_avg": 93.9,
          "launch_angle_avg": 16.1,
          "whiff_percent": 42.3,
          "swing_percent": 40.7
        },
        "components": {
          "expected_quality": 1.3175,
          "regression_edge": -0.1429,
          "xwoba_edge": 1.4857,
          "xba_edge": -0.9143,
          "xslg_edge": 1.5143,
          "barrel_edge": 2.5,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.2,
          "sweet_spot_edge": -0.4667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "678246",
        "player_name": "Miguel Vargas",
        "offense_factor": 1.1095,
        "quality_score": 1.4598,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "678246",
          "espn_rank": null
        },
        "metrics": {
          "pa": 651.0,
          "k_percent": 17.9,
          "bb_percent": 14.3,
          "woba": 0.363,
          "xwoba": 0.378,
          "xba": 0.263,
          "xslg": 0.496,
          "sweet_spot_percent": 39.4,
          "barrel_batted_rate": 13.0,
          "hard_hit_percent": 43.8,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 20.5,
          "whiff_percent": 21.0,
          "swing_percent": 43.9
        },
        "components": {
          "expected_quality": 1.6277,
          "regression_edge": 0.4286,
          "xwoba_edge": 2.2571,
          "xba_edge": 0.7714,
          "xslg_edge": 1.9,
          "barrel_edge": 1.4222,
          "hard_hit_edge": 0.8857,
          "exit_velocity_edge": 0.68,
          "sweet_spot_edge": 1.0167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "RF",
        "player_id": "695731",
        "player_name": "Braden Montgomery",
        "offense_factor": 1.0305,
        "quality_score": 0.4073,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "695731",
          "espn_rank": null
        },
        "metrics": {
          "pa": 332.0,
          "k_percent": 19.7,
          "bb_percent": 10.4,
          "woba": 0.298,
          "xwoba": 0.325,
          "xba": 0.255,
          "xslg": 0.392,
          "sweet_spot_percent": 28.2,
          "barrel_batted_rate": 4.4,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 3.0,
          "whiff_percent": 30.1,
          "swing_percent": 50.4
        },
        "components": {
          "expected_quality": 0.348,
          "regression_edge": 0.7714,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.5429,
          "xslg_edge": 0.4143,
          "barrel_edge": -0.4889,
          "hard_hit_edge": 0.4714,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": -0.85,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "671976",
        "player_name": "Tristan Peters",
        "offense_factor": 1.0019,
        "quality_score": 0.0255,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671976",
          "espn_rank": null
        },
        "metrics": {
          "pa": 452.0,
          "k_percent": 18.3,
          "bb_percent": 7.5,
          "woba": 0.34,
          "xwoba": 0.314,
          "xba": 0.248,
          "xslg": 0.384,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 5.4,
          "hard_hit_percent": 34.1,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 18.0,
          "whiff_percent": 23.0,
          "swing_percent": 53.6
        },
        "components": {
          "expected_quality": 0.1505,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.4286,
          "xba_edge": 0.3429,
          "xslg_edge": 0.3,
          "barrel_edge": -0.2667,
          "hard_hit_edge": -0.5,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "691019",
        "player_name": "Kyle Teel",
        "offense_factor": 1.0131,
        "quality_score": 0.1752,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "691019",
          "espn_rank": null
        },
        "metrics": {
          "pa": 106.0,
          "k_percent": 35.4,
          "bb_percent": 13.2,
          "woba": 0.317,
          "xwoba": 0.321,
          "xba": 0.211,
          "xslg": 0.375,
          "sweet_spot_percent": 41.4,
          "barrel_batted_rate": 11.4,
          "hard_hit_percent": 47.1,
          "exit_velocity_avg": 85.7,
          "launch_angle_avg": 13.6,
          "whiff_percent": 35.6,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": 0.4042,
          "regression_edge": 0.1143,
          "xwoba_edge": 0.6286,
          "xba_edge": -0.7143,
          "xslg_edge": 0.1714,
          "barrel_edge": 1.0667,
          "hard_hit_edge": 1.3571,
          "exit_velocity_edge": -1.08,
          "sweet_spot_edge": 1.35,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "643217",
        "player_name": "Andrew Benintendi",
        "offense_factor": 1.0232,
        "quality_score": 0.3097,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "643217",
          "espn_rank": null
        },
        "metrics": {
          "pa": 435.0,
          "k_percent": 23.9,
          "bb_percent": 8.3,
          "woba": 0.311,
          "xwoba": 0.307,
          "xba": 0.24,
          "xslg": 0.398,
          "sweet_spot_percent": 36.4,
          "barrel_batted_rate": 8.6,
          "hard_hit_percent": 45.1,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 17.3,
          "whiff_percent": 28.3,
          "swing_percent": 51.8
        },
        "components": {
          "expected_quality": 0.3787,
          "regression_edge": -0.1143,
          "xwoba_edge": 0.2286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.5,
          "barrel_edge": 0.4444,
          "hard_hit_edge": 1.0714,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.5167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "805367",
        "player_name": "Chase Meidroth",
        "offense_factor": 0.9823,
        "quality_score": -0.2365,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "805367",
          "espn_rank": null
        },
        "metrics": {
          "pa": 597.0,
          "k_percent": 21.9,
          "bb_percent": 9.5,
          "woba": 0.339,
          "xwoba": 0.301,
          "xba": 0.239,
          "xslg": 0.348,
          "sweet_spot_percent": 34.1,
          "barrel_batted_rate": 4.6,
          "hard_hit_percent": 34.6,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 8.5,
          "whiff_percent": 19.7,
          "swing_percent": 42.0
        },
        "components": {
          "expected_quality": -0.0983,
          "regression_edge": -1.0857,
          "xwoba_edge": 0.0571,
          "xba_edge": 0.0857,
          "xslg_edge": -0.2143,
          "barrel_edge": -0.4444,
          "hard_hit_edge": -0.4286,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": 0.1333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "695657",
        "player_name": "Colson Montgomery",
        "offense_factor": 1.0009,
        "quality_score": 0.0126,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "695657",
          "espn_rank": null
        },
        "metrics": {
          "pa": 588.0,
          "k_percent": 35.6,
          "bb_percent": 8.5,
          "woba": 0.3,
          "xwoba": 0.294,
          "xba": 0.199,
          "xslg": 0.388,
          "sweet_spot_percent": 32.9,
          "barrel_batted_rate": 12.0,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 23.6,
          "whiff_percent": 37.4,
          "swing_percent": 51.5
        },
        "components": {
          "expected_quality": 0.0426,
          "regression_edge": -0.1714,
          "xwoba_edge": -0.1429,
          "xba_edge": -1.0571,
          "xslg_edge": 0.3571,
          "barrel_edge": 1.2,
          "hard_hit_edge": 0.4714,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": -0.0667,
          "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"
}

Savant Pitcher Quality

Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away CHWTrue-0.48020.45000.95921.06741.04770.9210negative_pitcher_regression0.24300.211037.3014.5036.201.9034
Home HOUTrue--0.099211.00841.02401.02601.0543neutral0.31700.306023.4010.5028.1010.3037

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CHWTrueNone2889.20239700000000-0.0374
Home HOUFalse-------------
Run FactorValue
away_runs_vs_home_pitcher1.0055
home_runs_vs_away_pitcher0.9906
home_pitcher_starter_only_factor1.0084
away_pitcher_starter_only_factor0.9816
home_pitcher_workload_share0.5556
away_pitcher_workload_share0.5556
home_pitcher_quality_edge-0.3219
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "805123",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 368.0,
      "k_percent": 23.4,
      "bb_percent": 10.5,
      "woba": 0.306,
      "xwoba": 0.317,
      "sweet_spot_percent": 37.0,
      "barrel_batted_rate": 10.3,
      "hard_hit_percent": 37.0,
      "avg_best_speed": 79.2025,
      "avg_hyper_speed": 93.8711,
      "whiff_percent": 28.1,
      "swing_percent": 48.8
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6329,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.197,
      "command_and_miss": 0.1636,
      "regression_edge": -0.3143,
      "xwoba_edge": -0.1429,
      "barrel_edge": -0.6889,
      "hard_hit_edge": 0.1286,
      "whiff_edge": 0.4143,
      "bb_edge": -0.325,
      "pitch_design_score": 0.0
    },
    "pitch_movement_profile": {
      "available": false,
      "pitcher_id": "805123",
      "reason": "pitcher_movement_profile_has_no_pitches"
    },
    "quality_score": -0.0992,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0084,
    "strikeout_factor": 1.024,
    "walk_factor": 1.026,
    "homer_factor": 1.0543,
    "woba_minus_xwoba": -0.011,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "805123",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "696146",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 90.0,
      "k_percent": 37.3,
      "bb_percent": 14.5,
      "woba": 0.211,
      "xwoba": 0.243,
      "sweet_spot_percent": 35.8,
      "barrel_batted_rate": 1.9,
      "hard_hit_percent": 34.0,
      "avg_best_speed": 75.8598,
      "avg_hyper_speed": 93.4182,
      "whiff_percent": 36.2,
      "swing_percent": 42.4
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6329,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 1.4882,
      "command_and_miss": 1.2621,
      "regression_edge": -0.9143,
      "xwoba_edge": 1.9714,
      "barrel_edge": 1.1778,
      "hard_hit_edge": 0.5571,
      "whiff_edge": 1.5714,
      "bb_edge": -1.325,
      "pitch_design_score": -0.0374
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "696146",
      "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.19609326567674,
        "release_spin_rate": 2396.9610928315874,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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.19609326567674,
          "release_spin_rate": 2396.9610928315874,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1961,
        "release_spin_rate": 2396.9611,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0374,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.2672,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.4802,
    "sample_weight": 0.45,
    "run_prevention_factor": 0.9592,
    "strikeout_factor": 1.0674,
    "walk_factor": 1.0477,
    "homer_factor": 0.921,
    "woba_minus_xwoba": -0.032,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": false,
      "player_id": "696146",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0055,
    "home_runs_vs_away_pitcher": 0.9906,
    "home_pitcher_starter_only_factor": 1.0084,
    "away_pitcher_starter_only_factor": 0.9816,
    "home_pitcher_workload_share": 0.5556,
    "away_pitcher_workload_share": 0.5556,
    "home_pitcher_quality_edge": -0.3219
  },
  "score_before": {
    "away_runs": 6.0,
    "home_runs": 4.0
  },
  "score_after": {
    "away_runs": 6.033,
    "home_runs": 3.9625,
    "home_win_probability": 0.3182
  },
  "reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}

Team Form Snapshot

TeamLast-10 W-LWin %R/GRA/GRun DiffStreakOffenseDefense
Away CHW7-30.7006.504.30221Whotaverage
Home HOU5-50.5005.903.70222Whotaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away CHW84-780.519560.346True
Home HOU81-810.500-32-0.198True
Signal---0.543-0.450applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-03CHW @ HOU2 - 6HOU4blowout
2026-09-02CHW @ HOU0 - 2HOU2close
2026-09-01CHW @ HOU5 - 1CHW4blowout
2026-08-31CHW @ HOU3 - 6HOU3blowout
2026-07-26HOU @ CHW3 - 12CHW9blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target CHW--6----
Game target HOU--5----
Player finalized CHW31751449
Player finalized HOU337524410
Player model fractional CHW31.116.565.121.154.754.098.96
Player model fractional HOU35.857.784.741.845.253.849.82
Simulation box CHW35860617
Simulation box HOU31453529

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.

Pitching Snapshot

TeamRolePitcherPre IPPre ERPre SOPre HPre BBWeighted ERAWeighted WHIPBox Sync
Away CHWStarterHagen Smith516313.631.25True
Away CHWCloserGrant Taylor1.1032012.020.93True
Away CHWSetup ManSean Newcomb1.1010104.681.35True
Away CHWMiddle Reliever (High Leverage)Bryan Hudson1.1001003.441.26True
Home HOUStarterAJ Blubaugh504207.991.54True
Home HOUSetup ManLogan VanWey1.1001003.511.24True
Home HOUMiddle Reliever (High Leverage)Bryan Abreu161613.261.23True
Home HOUCloserJosh Hader101003.111.28True
Home HOUMiddle Reliever (High Leverage)Bennett Sousa0.2000003.861.43True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
homeHOUbatterCYainer Diazbetter107364predicted_AB-2.0600deboostworse
homeHOUbatterSSJeremy Peñaworse103746predicted_AB-1.8300deboostworse
awayCHWbatterCFTristan Petersworse114756predicted_H1.7000boostbetter
awayCHWbatterLFSam Antonaccibetter118392predicted_RBI1.6550boostbetter
awayCHWbatterSSColson Montgomerybetter95463predicted_SO-1.4840deboostbetter
awayCHWbatterDHAndrew Benintendibetter115665predicted_RBI1.4400boostbetter
homeHOUbatter3BIsaac Paredesworse115647predicted_SO1.4290boostworse
homeHOUbatter2BJose Altuvedeboosted104655predicted_RBI1.4200boostbetter
homeHOUbatterDHYordan Alvarezworse102819predicted_H-1.3900deboostworse
awayCHWbatter3BMiguel Vargasworse103728predicted_SO1.2030boostworse
homeHOUbatter1BChristian Walkerworse103728predicted_SO1.0520boostworse
homeHOUbatterLFTaylor Trammellworse1111029predicted_SO-1.0330deboostbetter
homeHOUbatterRFCam Smithworse1019010predicted_SO1.0000boostworse
awayCHWbatterRFBraden Montgomeryworse115647predicted_H-0.7930deboostworse
awayCHWbatter1BMunetaka Murakamibetter105564predicted_BB-0.7240deboostworse
homeHOUbatterCFLucas Spenceworse123948predicted_H-0.7060deboostworse
awayCHWbatterCKyle Teelworse105546predicted_AB0.7000boostbetter
awayCHWbatter2BChase Meidrothworse1129110predicted_R-0.5880deboostworse
homeHOUpitcherMiddle Reliever (High Leverage)Bennett Sousaworse10101predicted_IP-0.4667deboostworse
awayCHWpitcherCloserGrant Taylorworse10101predicted_IP-0.2333deboostworse
awayCHWpitcherSetup ManSean Newcombworse10101predicted_IP-0.2333deboostworse
homeHOUpitcherSetup ManLogan VanWeyworse10101predicted_IP-0.2333deboostworse
awayCHWpitcherMiddle Reliever (High Leverage)Bryan Hudsonbetter11010predicted_IP0.1000boostbetter

This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.

Away Team: CHW

Away Pitcher Deep Analysis

FieldValue
PitcherHagen Smith
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4802
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0374
Avg Velo89.1961
Avg Spin2396.9611
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER1
Pre H3
Pre BB1
Pre SO6
Season ERA0.9643
Season WHIP0.9286
Role Avg IP2
Recent Avg IP2
Last Start IP2
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "opponent": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "edges": {
    "quality_edge": 0.1522,
    "offense_edge": 0.0659,
    "opponent_offense_edge": 0.0082,
    "defense_strength": 0.0111,
    "opponent_defense_weakness": 0.0496,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9926,
    "strikeout": 1.0039
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "696146",
    "profile": {
      "available": true,
      "pitcher_id": "696146",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 90.0,
        "k_percent": 37.3,
        "bb_percent": 14.5,
        "woba": 0.211,
        "xwoba": 0.243,
        "sweet_spot_percent": 35.8,
        "barrel_batted_rate": 1.9,
        "hard_hit_percent": 34.0,
        "avg_best_speed": 75.8598,
        "avg_hyper_speed": 93.4182,
        "whiff_percent": 36.2,
        "swing_percent": 42.4
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.4882,
        "command_and_miss": 1.2621,
        "regression_edge": -0.9143,
        "xwoba_edge": 1.9714,
        "barrel_edge": 1.1778,
        "hard_hit_edge": 0.5571,
        "whiff_edge": 1.5714,
        "bb_edge": -1.325,
        "pitch_design_score": -0.0374
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "696146",
        "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.19609326567674,
          "release_spin_rate": 2396.9610928315874,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.19609326567674,
            "release_spin_rate": 2396.9610928315874,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1961,
          "release_spin_rate": 2396.9611,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0374,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2672,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.4802,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9592,
      "strikeout_factor": 1.0674,
      "walk_factor": 1.0477,
      "homer_factor": 0.921,
      "woba_minus_xwoba": -0.032,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "696146",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9816,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9816,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0215,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9645,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 7.0,
        "factor": 1.0303,
        "adjusted": 7
      }
    }
  }
}
Recent Form Pitching
{
  "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": 17.0,
    "ER": 3,
    "H": 8,
    "BB": 6,
    "SO": 25,
    "HR": 0,
    "ERA": 1.588235294117647,
    "WHIP": 0.8235294117647058,
    "K9": 13.235294117647058,
    "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-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "696146",
  "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.19609326567674,
    "release_spin_rate": 2396.9610928315874,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.19609326567674,
      "release_spin_rate": 2396.9610928315874,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1961,
    "release_spin_rate": 2396.9611,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0374,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2672,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.762,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5354,
    "prior_weight": 0.4646
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "696146",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 3.0,
        "BB": 6.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 119.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.6,
        "BB": 1.2,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 5.4,
        "Pitches": 23.8
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 1.5,
        "ER_per_IP": 0.5,
        "H_per_IP": 0.5,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 17.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 6.0,
        "SO": 25.0,
        "HR": 0.0,
        "BF": 64.0,
        "Pitches": 260.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.6,
        "SO": 2.5,
        "HR": 0.0,
        "BF": 6.4,
        "Pitches": 26.0
      },
      "rates": {
        "ERA": 1.5882,
        "WHIP": 0.8235,
        "ER_per_IP": 0.17647,
        "H_per_IP": 0.47059,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 1.47059,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 28.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 10.0,
        "BB": 16.0,
        "SO": 41.0,
        "HR": 0.0,
        "BF": 109.0,
        "Pitches": 465.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.1765,
        "R": 0.1765,
        "H": 0.5882,
        "BB": 0.9412,
        "SO": 2.4118,
        "HR": 0.0,
        "BF": 6.4118,
        "Pitches": 27.3529
      },
      "rates": {
        "ERA": 0.9643,
        "WHIP": 0.9286,
        "ER_per_IP": 0.10714,
        "H_per_IP": 0.35714,
        "BB_per_IP": 0.57143,
        "SO_per_IP": 1.46429,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.0,
    "predicted_ER": 1.264,
    "predicted_H": 2.208,
    "predicted_BB": 1.706,
    "predicted_SO": 3.851,
    "predicted_HR": 0.217,
    "predicted_ERA": 3.6297,
    "predicted_WHIP": 1.2485
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5463,
  "form_weight": 0.4537,
  "form_reliability": 0.5354,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.762,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5354,
    "prior_weight": 0.4646
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 3.0,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.264,
      "final": 1.1198,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 2.208,
      "final": 2.6407,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.706,
      "final": 1.3203,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 3.851,
      "final": 5.025,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.217,
      "final": 1.191,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.6297,
      "final": 3.6297,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2485,
      "final": 1.2485,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherGrant Taylor
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5157
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1725
Avg Velo92.9447
Avg Spin2431.2963
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER3
Pre H0
Pre BB1
Pre SO2
Season ERA2.3964
Season WHIP1.0296
Role Avg IP1.3870
Recent Avg IP1.6000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "opponent": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "edges": {
    "quality_edge": 0.1522,
    "offense_edge": 0.0659,
    "opponent_offense_edge": 0.0082,
    "defense_strength": 0.0111,
    "opponent_defense_weakness": 0.0496,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9926,
    "strikeout": 1.0039
  },
  "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": 218.0,
        "k_percent": 31.5,
        "bb_percent": 8.9,
        "woba": 0.26,
        "xwoba": 0.267,
        "sweet_spot_percent": 31.2,
        "barrel_batted_rate": 7.6,
        "hard_hit_percent": 41.2,
        "avg_best_speed": 79.5796,
        "avg_hyper_speed": 94.1935,
        "whiff_percent": 29.4,
        "swing_percent": 46.5
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6821,
        "command_and_miss": 0.8293,
        "regression_edge": -0.2,
        "xwoba_edge": 1.2857,
        "barrel_edge": -0.0889,
        "hard_hit_edge": -0.4714,
        "whiff_edge": 0.6,
        "bb_edge": 0.075,
        "pitch_design_score": 0.1725
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "691799",
        "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.94466504167202,
          "release_spin_rate": 2431.296292552188,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.94466504167202,
            "release_spin_rate": 2431.296292552188,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9447,
          "release_spin_rate": 2431.2963,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1725,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2322,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.5157,
      "sample_weight": 0.872,
      "run_prevention_factor": 0.9562,
      "strikeout_factor": 1.0678,
      "walk_factor": 0.9948,
      "homer_factor": 0.989,
      "woba_minus_xwoba": -0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "691799",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9618,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9618,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9955,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9904,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0591,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "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": 2,
    "H": 5,
    "BB": 6,
    "SO": 16,
    "HR": 1,
    "ERA": 1.2,
    "WHIP": 0.7333333333333333,
    "K9": 9.6,
    "HR9": 0.6,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-02T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "691799",
  "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.94466504167202,
    "release_spin_rate": 2431.296292552188,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.94466504167202,
      "release_spin_rate": 2431.296292552188,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9447,
    "release_spin_rate": 2431.2963,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1725,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2322,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.592,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6987,
    "prior_weight": 0.3013
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "691799",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 41,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 8.0,
        "ER": 0.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.2,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 5.4,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.625,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.125,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 15.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 6.0,
        "SO": 16.0,
        "HR": 1.0,
        "BF": 54.0,
        "Pitches": 209.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.5,
        "BB": 0.6,
        "SO": 1.6,
        "HR": 0.1,
        "BF": 5.4,
        "Pitches": 20.9
      },
      "rates": {
        "ERA": 1.2,
        "WHIP": 0.7333,
        "ER_per_IP": 0.13333,
        "H_per_IP": 0.33333,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.06667,
        "HR_per_IP": 0.06667
      }
    },
    "season": {
      "games": 41,
      "totals": {
        "IP": 56.1,
        "ER": 15.0,
        "R": 21.0,
        "H": 40.0,
        "BB": 18.0,
        "SO": 76.0,
        "HR": 4.0,
        "BF": 225.0,
        "Pitches": 905.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3659,
        "R": 0.5122,
        "H": 0.9756,
        "BB": 0.439,
        "SO": 1.8537,
        "HR": 0.0976,
        "BF": 5.4878,
        "Pitches": 22.0732
      },
      "rates": {
        "ERA": 2.3964,
        "WHIP": 1.0296,
        "ER_per_IP": 0.26627,
        "H_per_IP": 0.71006,
        "BB_per_IP": 0.31953,
        "SO_per_IP": 1.34911,
        "HR_per_IP": 0.07101
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.323,
    "predicted_H": 0.913,
    "predicted_BB": 0.425,
    "predicted_SO": 1.56,
    "predicted_HR": 0.102,
    "predicted_ERA": 2.0191,
    "predicted_WHIP": 0.9304
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4773,
  "form_weight": 0.5227,
  "form_reliability": 0.6987,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.592,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6987,
    "prior_weight": 0.3013
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 0.323,
      "final": 1.6007,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.913,
      "final": 0.4772,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.425,
      "final": 0.6994,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.56,
      "final": 1.77,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.102,
      "final": 0.0533,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0191,
      "final": 2.0191,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9304,
      "final": 0.9304,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherSean Newcomb
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0527
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0078
Avg Velo89.7243
Avg Spin2442.3558
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA2.7747
Season WHIP1.1146
Role Avg IP1.5560
Recent Avg IP2.2000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "opponent": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "edges": {
    "quality_edge": 0.1522,
    "offense_edge": 0.0659,
    "opponent_offense_edge": 0.0082,
    "defense_strength": 0.0111,
    "opponent_defense_weakness": 0.0496,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9926,
    "strikeout": 1.0039
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656794",
    "profile": {
      "available": true,
      "pitcher_id": "656794",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 326.0,
        "k_percent": 22.6,
        "bb_percent": 9.1,
        "woba": 0.285,
        "xwoba": 0.317,
        "sweet_spot_percent": 34.1,
        "barrel_batted_rate": 6.5,
        "hard_hit_percent": 38.6,
        "avg_best_speed": 77.7324,
        "avg_hyper_speed": 94.0135,
        "whiff_percent": 23.9,
        "swing_percent": 45.9
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0832,
        "command_and_miss": -0.0279,
        "regression_edge": -0.9143,
        "xwoba_edge": -0.1429,
        "barrel_edge": 0.1556,
        "hard_hit_edge": -0.1,
        "whiff_edge": -0.1857,
        "bb_edge": 0.025,
        "pitch_design_score": -0.0078
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656794",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 37,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 37,
          "pitch_usage": 0.0,
          "release_speed": 89.72425840830473,
          "release_spin_rate": 2442.3557937668493,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 37,
            "pitch_usage": 0.0,
            "release_speed": 89.72425840830473,
            "release_spin_rate": 2442.3557937668493,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 89.7243,
          "release_spin_rate": 2442.3558,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0078,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.056,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.0527,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0045,
      "strikeout_factor": 0.9954,
      "walk_factor": 0.998,
      "homer_factor": 0.9958,
      "woba_minus_xwoba": -0.032,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "656794",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0045,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0045,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.998,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9958,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.9954,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 20.0,
    "ER": 7,
    "H": 16,
    "BB": 7,
    "SO": 18,
    "HR": 0,
    "ERA": 3.15,
    "WHIP": 1.15,
    "K9": 8.1,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-12T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656794",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 37,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 37,
    "pitch_usage": 0.0,
    "release_speed": 89.72425840830473,
    "release_spin_rate": 2442.3557937668493,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 37,
      "pitch_usage": 0.0,
      "release_speed": 89.72425840830473,
      "release_spin_rate": 2442.3557937668493,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 89.7243,
    "release_spin_rate": 2442.3558,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0078,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.056,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.354,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7763,
    "prior_weight": 0.2237
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656794",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 53,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 9.1,
        "ER": 7.0,
        "R": 7.0,
        "H": 12.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 43.0,
        "Pitches": 176.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 1.4,
        "R": 1.4,
        "H": 2.4,
        "BB": 0.6,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 8.6,
        "Pitches": 35.2
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.6071,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.28571,
        "BB_per_IP": 0.32143,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 20.0,
        "ER": 7.0,
        "R": 7.0,
        "H": 16.0,
        "BB": 7.0,
        "SO": 18.0,
        "HR": 0.0,
        "BF": 82.0,
        "Pitches": 345.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.7,
        "R": 0.7,
        "H": 1.6,
        "BB": 0.7,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 8.2,
        "Pitches": 34.5
      },
      "rates": {
        "ERA": 3.15,
        "WHIP": 1.15,
        "ER_per_IP": 0.35,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.35,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 53,
      "totals": {
        "IP": 84.1,
        "ER": 26.0,
        "R": 29.0,
        "H": 64.0,
        "BB": 30.0,
        "SO": 78.0,
        "HR": 2.0,
        "BF": 343.0,
        "Pitches": 1342.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.4906,
        "R": 0.5472,
        "H": 1.2075,
        "BB": 0.566,
        "SO": 1.4717,
        "HR": 0.0377,
        "BF": 6.4717,
        "Pitches": 25.3208
      },
      "rates": {
        "ERA": 2.7747,
        "WHIP": 1.1146,
        "ER_per_IP": 0.3083,
        "H_per_IP": 0.75889,
        "BB_per_IP": 0.35573,
        "SO_per_IP": 0.9249,
        "HR_per_IP": 0.02372
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.2,
    "predicted_ER": 0.935,
    "predicted_H": 1.807,
    "predicted_BB": 0.625,
    "predicted_SO": 1.748,
    "predicted_HR": 0.067,
    "predicted_ERA": 4.6773,
    "predicted_WHIP": 1.3519
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4445,
  "form_weight": 0.5555,
  "form_reliability": 0.7763,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.354,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7763,
    "prior_weight": 0.2237
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.2,
      "final": 1.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.935,
      "final": 0.9639,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.807,
      "final": 1.4483,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.625,
      "final": 0.3472,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.748,
      "final": 0.971,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.067,
      "final": 0.4817,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.6773,
      "final": 4.6773,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3519,
      "final": 1.3519,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherBryan Hudson
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4090
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0787
Avg Velo88.4591
Avg Spin2154.7309
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.6173
Season WHIP1.1633
Role Avg IP0.9600
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "opponent": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "edges": {
    "quality_edge": 0.1522,
    "offense_edge": 0.0659,
    "opponent_offense_edge": 0.0082,
    "defense_strength": 0.0111,
    "opponent_defense_weakness": 0.0496,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9926,
    "strikeout": 1.0039
  },
  "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": 256.0,
        "k_percent": 20.9,
        "bb_percent": 6.4,
        "woba": 0.304,
        "xwoba": 0.277,
        "sweet_spot_percent": 29.5,
        "barrel_batted_rate": 4.0,
        "hard_hit_percent": 37.0,
        "avg_best_speed": 77.039,
        "avg_hyper_speed": 93.3019,
        "whiff_percent": 23.1,
        "swing_percent": 47.9
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6233,
        "command_and_miss": -0.0421,
        "regression_edge": 0.7714,
        "xwoba_edge": 1.0,
        "barrel_edge": 0.7111,
        "hard_hit_edge": 0.1286,
        "whiff_edge": -0.3,
        "bb_edge": 0.7,
        "pitch_design_score": -0.0787
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663542",
        "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": 88.45909611346684,
          "release_spin_rate": 2154.7309004103313,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 88.45909611346684,
            "release_spin_rate": 2154.7309004103313,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4591,
          "release_spin_rate": 2154.7309,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0787,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.562,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.409,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9652,
      "strikeout_factor": 0.9811,
      "walk_factor": 0.944,
      "homer_factor": 0.908,
      "woba_minus_xwoba": 0.027,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "663542",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9652,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9652,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.944,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.908,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9811,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 2,
    "H": 11,
    "BB": 0,
    "SO": 7,
    "HR": 1,
    "ERA": 1.741935483870968,
    "WHIP": 1.0645161290322582,
    "K9": 6.096774193548388,
    "HR9": 0.870967741935484,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663542",
  "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": 88.45909611346684,
    "release_spin_rate": 2154.7309004103313,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 88.45909611346684,
      "release_spin_rate": 2154.7309004103313,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4591,
    "release_spin_rate": 2154.7309,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0787,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.562,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.444,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7289,
    "prior_weight": 0.2711
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663542",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 66,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 0.0,
        "SO": 2.0,
        "HR": 1.0,
        "BF": 16.0,
        "Pitches": 58.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.0,
        "SO": 0.4,
        "HR": 0.2,
        "BF": 3.2,
        "Pitches": 11.6
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.3846,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.38462,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.46154,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 11.0,
        "BB": 0.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 38.0,
        "Pitches": 129.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.1,
        "BB": 0.0,
        "SO": 0.7,
        "HR": 0.1,
        "BF": 3.8,
        "Pitches": 12.9
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 1.0645,
        "ER_per_IP": 0.19355,
        "H_per_IP": 1.06452,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.67742,
        "HR_per_IP": 0.09677
      }
    },
    "season": {
      "games": 66,
      "totals": {
        "IP": 65.1,
        "ER": 19.0,
        "R": 21.0,
        "H": 59.0,
        "BB": 17.0,
        "SO": 59.0,
        "HR": 5.0,
        "BF": 266.0,
        "Pitches": 1003.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2879,
        "R": 0.3182,
        "H": 0.8939,
        "BB": 0.2576,
        "SO": 0.8939,
        "HR": 0.0758,
        "BF": 4.0303,
        "Pitches": 15.197
      },
      "rates": {
        "ERA": 2.6173,
        "WHIP": 1.1633,
        "ER_per_IP": 0.29082,
        "H_per_IP": 0.90306,
        "BB_per_IP": 0.2602,
        "SO_per_IP": 0.90306,
        "HR_per_IP": 0.07653
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.382,
    "predicted_H": 1.124,
    "predicted_BB": 0.141,
    "predicted_SO": 0.709,
    "predicted_HR": 0.152,
    "predicted_ERA": 3.4398,
    "predicted_WHIP": 1.2649
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4645,
  "form_weight": 0.5355,
  "form_reliability": 0.7289,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.444,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7289,
    "prior_weight": 0.2711
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.382,
      "final": 0.2045,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.124,
      "final": 0.6019,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.141,
      "final": 0.0755,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.709,
      "final": 0.8442,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.152,
      "final": 0.0814,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.4398,
      "final": 3.4398,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2649,
      "final": 1.2649,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
Sam Antonacci (803011) · BATTER · LF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 530
All-history rows before 20260929: 530
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2718
Diff (system - data): 0.0052
System opponent_avg: 0.2610

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1801.0000.000Hitting_2B0.1871.0000.8130.000
predicted_3B0.0290.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB3.4534.0004.000Hitting_AB3.6383.0000.3621.000
predicted_AVG0.2770.5000.250Hitting_AVG0.2720.6670.228-0.167
predicted_BB0.3090.0000.000Hitting_BB0.3620.000-0.3620.000
predicted_CS-0.0000.000BaseRunning_CS0.0570.000-0.0570.000
predicted_H0.9572.0001.000Hitting_H0.9892.0001.0110.000
predicted_HR0.0580.0000.000Hitting_HR0.0660.000-0.0660.000
predicted_OBP0.3370.5000.250Hitting_OBP0.3730.7500.127-0.250
predicted_R0.5831.0001.000Hitting_R0.6300.0000.3701.000
predicted_RBI0.3452.0000.000Hitting_RBI0.3850.0001.6152.000
predicted_SLG0.3960.7500.250Hitting_SLG0.3961.0000.354-0.250
predicted_SO0.5900.0001.000Hitting_SO0.6420.000-0.6420.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics8
Deboosted Metrics3
Better Metrics9
Worse Metrics2
Biggest Boostpredicted_RBI: 0.3450 -> 2.0000 (boost 1.6550, better)
Biggest Deboostpredicted_SO: 0.5900 -> 0.0000 (deboost -0.5900, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54150predicted_H: 0.9570 -> 1.0501 (boost 0.0931, better)predicted_SO: 0.5900 -> 0.5339 (deboost -0.0561, 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.
3team_form_snapshot32121predicted_SLG: 0.4085 -> 0.4168 (boost 0.0083, better)predicted_OBP: 0.3667 -> 0.3588 (deboost -0.0079, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82617predicted_AB: 3.5017 -> 4.0000 (boost 0.4983, better)predicted_RBI: 0.3407 -> 0.0000 (deboost -0.3407, worse)AB rounded to 4 (raw=3.50), rates preserved: AVG=0.288 HR/AB=0.015
6consistency_constraints11010predicted_R: 0.6471 -> 1.0000 (boost 0.3529, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4098 (boost 0.4098, better)predicted_SO: 1.0000 -> 0.7173 (deboost -0.2827, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_SO: 0.7173 -> 1.0000 (boost 0.2827, worse)predicted_BB: 0.4098 -> 0.0000 (deboost -0.4098, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.3067 -> 0.2290 (deboost -0.0777, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference43140predicted_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
11current_json_final33030predicted_AVG: 0.2290 -> 0.3067 (boost 0.0777, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "803011",
  "player_name": "Sam Antonacci",
  "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.18,
        "predicted_3B": 0.029,
        "predicted_AB": 3.453,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.309,
        "predicted_H": 0.957,
        "predicted_HR": 0.058,
        "predicted_OBP": 0.337,
        "predicted_R": 0.583,
        "predicted_RBI": 0.345,
        "predicted_SLG": 0.396,
        "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.1835,
        "predicted_3B": 0.0242,
        "predicted_AB": 3.5017,
        "predicted_AVG": 0.2994,
        "predicted_BB": 0.2825,
        "predicted_H": 1.0501,
        "predicted_HBP": 0.232,
        "predicted_HR": 0.0502,
        "predicted_OBP": 0.3667,
        "predicted_R": 0.623,
        "predicted_RBI": 0.328,
        "predicted_SLG": 0.4085,
        "predicted_SO": 0.5339
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.18,
          "after": 0.1835,
          "delta": 0.0035,
          "percent_delta": 0.0194,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.029,
          "after": 0.0242,
          "delta": -0.0048,
          "percent_delta": -0.1655,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.453,
          "after": 3.5017,
          "delta": 0.0487,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2994,
          "delta": 0.0224,
          "percent_delta": 0.0809,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.309,
          "after": 0.2825,
          "delta": -0.0265,
          "percent_delta": -0.0858,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.957,
          "after": 1.0501,
          "delta": 0.0931,
          "percent_delta": 0.0973,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.058,
          "after": 0.0502,
          "delta": -0.0078,
          "percent_delta": -0.1345,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.337,
          "after": 0.3667,
          "delta": 0.0297,
          "percent_delta": 0.0881,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.583,
          "after": 0.623,
          "delta": 0.04,
          "percent_delta": 0.0686,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.345,
          "after": 0.328,
          "delta": -0.017,
          "percent_delta": -0.0493,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.4085,
          "delta": 0.0125,
          "percent_delta": 0.0316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.59,
          "after": 0.5339,
          "delta": -0.0561,
          "percent_delta": -0.0951,
          "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": 0.957,
          "after": 1.0501,
          "delta": 0.0931,
          "percent_delta": 0.0973,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.59,
          "after": 0.5339,
          "delta": -0.0561,
          "percent_delta": -0.0951,
          "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": 139
      }
    },
    {
      "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.1835,
        "predicted_3B": 0.0242,
        "predicted_AB": 3.5017,
        "predicted_AVG": 0.3067,
        "predicted_BB": 0.2845,
        "predicted_H": 1.0738,
        "predicted_HBP": 0.232,
        "predicted_HR": 0.0512,
        "predicted_OBP": 0.3588,
        "predicted_R": 0.6471,
        "predicted_RBI": 0.3407,
        "predicted_SLG": 0.4168,
        "predicted_SO": 0.5301
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1835,
          "after": 0.1835,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0242,
          "after": 0.0242,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5017,
          "after": 3.5017,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2994,
          "after": 0.3067,
          "delta": 0.0073,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2825,
          "after": 0.2845,
          "delta": 0.002,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0501,
          "after": 1.0738,
          "delta": 0.0237,
          "percent_delta": 0.0226,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.232,
          "after": 0.232,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0502,
          "after": 0.0512,
          "delta": 0.001,
          "percent_delta": 0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3667,
          "after": 0.3588,
          "delta": -0.0079,
          "percent_delta": -0.0215,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.623,
          "after": 0.6471,
          "delta": 0.0241,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.328,
          "after": 0.3407,
          "delta": 0.0127,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4085,
          "after": 0.4168,
          "delta": 0.0083,
          "percent_delta": 0.0203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5339,
          "after": 0.5301,
          "delta": -0.0038,
          "percent_delta": -0.0071,
          "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.4085,
          "after": 0.4168,
          "delta": 0.0083,
          "percent_delta": 0.0203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3667,
          "after": 0.3588,
          "delta": -0.0079,
          "percent_delta": -0.0215,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.50), rates preserved: AVG=0.288 HR/AB=0.015",
      "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.1835,
          "after": 0.0,
          "delta": -0.1835,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0242,
          "after": 0.0,
          "delta": -0.0242,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5017,
          "after": 4.0,
          "delta": 0.4983,
          "percent_delta": 0.1423,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2845,
          "after": 0.0,
          "delta": -0.2845,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0738,
          "after": 1.0,
          "delta": -0.0738,
          "percent_delta": -0.0687,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.232,
          "after": 0.0,
          "delta": -0.232,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.3407,
          "after": 0.0,
          "delta": -0.3407,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5301,
          "after": 1.0,
          "delta": 0.4699,
          "percent_delta": 0.8864,
          "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_AB",
          "before": 3.5017,
          "after": 4.0,
          "delta": 0.4983,
          "percent_delta": 0.1423,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3407,
          "after": 0.0,
          "delta": -0.3407,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.6471,
          "after": 1.0,
          "delta": 0.3529,
          "percent_delta": 0.5454,
          "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.6471,
          "after": 1.0,
          "delta": 0.3529,
          "percent_delta": 0.5454,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1737,
        "predicted_3B": 0.02,
        "predicted_BB": 0.4098,
        "predicted_H": 0.8767,
        "predicted_HR": 0.0946,
        "predicted_RBI": 0.3951,
        "predicted_SO": 0.7173
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1737,
          "delta": 0.1737,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.02,
          "delta": 0.02,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4098,
          "delta": 0.4098,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8767,
          "delta": -0.1233,
          "percent_delta": -0.1233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0946,
          "delta": 0.0946,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3951,
          "delta": 0.3951,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7173,
          "delta": -0.2827,
          "percent_delta": -0.2827,
          "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": 0.4098,
          "delta": 0.4098,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7173,
          "delta": -0.2827,
          "percent_delta": -0.2827,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1737,
          "after": 0.0,
          "delta": -0.1737,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4098,
          "after": 0.0,
          "delta": -0.4098,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8767,
          "after": 1.0,
          "delta": 0.1233,
          "percent_delta": 0.1406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0946,
          "after": 0.0,
          "delta": -0.0946,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3951,
          "after": 0.0,
          "delta": -0.3951,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7173,
          "after": 1.0,
          "delta": 0.2827,
          "percent_delta": 0.3941,
          "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.7173,
          "after": 1.0,
          "delta": 0.2827,
          "percent_delta": 0.3941,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4098,
          "after": 0.0,
          "delta": -0.4098,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.229,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.359,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3067,
          "after": 0.229,
          "delta": -0.0777,
          "percent_delta": -0.2533,
          "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.3588,
          "after": 0.309,
          "delta": -0.0498,
          "percent_delta": -0.1388,
          "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.4168,
          "after": 0.359,
          "delta": -0.0578,
          "percent_delta": -0.1387,
          "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.3067,
          "after": 0.229,
          "delta": -0.0777,
          "percent_delta": -0.2533,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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": 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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "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": {
          "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": 11,
      "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.3067,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3588,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4168,
        "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.229,
          "after": 0.3067,
          "delta": 0.0777,
          "percent_delta": 0.3391,
          "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.309,
          "after": 0.3588,
          "delta": 0.0498,
          "percent_delta": 0.1611,
          "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.359,
          "after": 0.4168,
          "delta": 0.0578,
          "percent_delta": 0.1609,
          "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.229,
          "after": 0.3067,
          "delta": 0.0777,
          "percent_delta": 0.3391,
          "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.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "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.453,
        "after": 4.0,
        "delta": 0.547,
        "percent_delta": 0.1584,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.277,
        "after": 0.3067,
        "delta": 0.0297,
        "percent_delta": 0.1072,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.309,
        "after": 0.0,
        "delta": -0.309,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.957,
        "after": 2.0,
        "delta": 1.043,
        "percent_delta": 1.0899,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.058,
        "after": 0.0,
        "delta": -0.058,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.337,
        "after": 0.3588,
        "delta": 0.0218,
        "percent_delta": 0.0647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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.345,
        "after": 2.0,
        "delta": 1.655,
        "percent_delta": 4.7971,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.4168,
        "delta": 0.0208,
        "percent_delta": 0.0525,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 8,
      "deboosted_metrics": 3,
      "better_metrics": 9,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.345,
        "after": 2.0,
        "delta": 1.655,
        "percent_delta": 4.7971,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.180-
predicted_3B0.029-
predicted_AB3.453-
predicted_AVG0.277-
predicted_BB0.309-
predicted_H0.957-
predicted_HR0.058-
predicted_OBP0.337-
predicted_R0.583-
predicted_RBI0.345-
predicted_SLG0.396-
predicted_SO0.590-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1830.004
predicted_3B0.024-0.005
predicted_AB3.5020.049
predicted_AVG0.2990.022
predicted_BB0.282-0.027
predicted_H1.0500.093
predicted_HBP0.232-
predicted_HR0.050-0.008
predicted_OBP0.3670.030
predicted_R0.6230.040
predicted_RBI0.328-0.017
predicted_SLG0.4080.012
predicted_SO0.534-0.056
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1830.000
predicted_3B0.0240.000
predicted_AB3.5020.000
predicted_AVG0.3070.007
predicted_BB0.2840.002
predicted_H1.0740.024
predicted_HBP0.2320.000
predicted_HR0.0510.001
predicted_OBP0.359-0.008
predicted_R0.6470.024
predicted_RBI0.3410.013
predicted_SLG0.4170.008
predicted_SO0.530-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.50), rates preserved: AVG=0.288 HR/AB=0.015

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1740.174
3B0.0200.020
BB0.4100.410
H0.877-0.123
HR0.0950.095
RBI0.3950.395
SO0.717-0.283
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.174
3B0.000-0.020
AB4.0000.000
BB0.000-0.410
H1.0000.123
HR0.000-0.095
R1.0000.000
RBI0.000-0.395
SO1.0000.283
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.183
predicted_3B0.000-0.024
predicted_AB4.0000.498
predicted_AVG0.229-0.078
predicted_BB0.000-0.284
predicted_H1.000-0.074
predicted_HR0.000-0.051
predicted_OBP0.309-0.050
predicted_R1.0000.353
predicted_RBI0.000-0.341
predicted_SLG0.359-0.058
predicted_SO1.0000.470
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 139
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0009.0001.0000.0000.0000.0005.0001.0001.0000.45000.52170.50000.45000.00000.00000.05000.0500
last_100.2010-34.00013.0002.0000.0000.0004.0007.0001.0002.0000.38240.42110.44120.38240.00000.11770.02940.0588
season0.60139-480.000133.00025.0004.0008.00048.00081.00043.00082.0000.27710.37000.39580.27710.01670.10000.08960.1708
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1880
predicted_3B0.0180
predicted_AB3.5650
predicted_AVG0.3284
predicted_BB0.2480
predicted_H1.1710
predicted_HBP0.2320
predicted_HR0.0400
predicted_OBP0.4052
predicted_R0.6750
predicted_RBI0.3060
predicted_SLG0.4248
predicted_SO0.4610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18000.18800.1835model_form_blend
predicted_3B0.02900.01800.0242model_form_blend
predicted_AB3.45303.56503.5017model_form_blend
predicted_AVG0.27700.32840.2994model_form_blend
predicted_BB0.30900.24800.2825model_form_blend
predicted_H0.95701.17101.0501model_form_blend
predicted_HBP-0.23200.2320form_only
predicted_HR0.05800.04000.0502model_form_blend
predicted_OBP0.33700.40520.3667model_form_blend
predicted_R0.58300.67500.6230model_form_blend
predicted_RBI0.34500.30600.3280model_form_blend
predicted_SLG0.39600.42480.4085model_form_blend
predicted_SO0.59000.46100.5339model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date530
Season rows before report date530
Report year2026
Profile rows used139
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B1
3B0
HR0
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260927_COL@CHW
game_typefull
mlbID803011
playerID803011
playerNameSam Antonacci
posSS
startedTrue
startingPosition2B
teamCHW
teamID6
game_date2026-09-27
sl_k_percent14.7
sl_bb_percent7.7
sl_woba0.345
sl_xwoba0.348
sl_xba0.284
sl_xslg0.399
sl_sweet_spot_percent38.0
sl_barrel_batted_rate5.0
sl_hard_hit_percent33.6
sl_exit_velocity_avg87.5
sl_launch_angle_avg9.9
sl_whiff_percent14.7
sl_swing_percent42.5
Munetaka Murakami (808959) · BATTER · 1B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 513
All-history rows before 20260929: 513
System season_avg: 0.2070
Data season_avg (2026 season-to-date): 0.2107
Diff (system - data): -0.0037
System opponent_avg: 0.2220

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1260.0000.000Hitting_2B0.1331.000-0.133-1.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.5754.0004.000Hitting_AB3.6824.0000.3180.000
predicted_AVG0.2070.2500.250Hitting_AVG0.2110.2500.0390.000
predicted_BB0.7240.0001.000Hitting_BB0.7820.000-0.7820.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.7401.0001.000Hitting_H0.7761.0000.2240.000
predicted_HR0.2760.0001.000Hitting_HR0.2920.000-0.2920.000
predicted_OBP0.3410.2500.400Hitting_OBP0.3540.250-0.1040.000
predicted_R0.6461.0001.000Hitting_R0.7101.0000.2900.000
predicted_RBI0.6060.0001.000Hitting_RBI0.6200.000-0.6200.000
predicted_SLG0.4780.2501.000Hitting_SLG0.4890.500-0.239-0.250
predicted_SO1.5431.0001.000Hitting_SO1.5751.000-0.5750.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_AB: 3.5750 -> 4.0000 (boost 0.4250, better)
Biggest Deboostpredicted_BB: 0.7240 -> 0.0000 (deboost -0.7240, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend65151predicted_RBI: 0.6060 -> 0.6817 (boost 0.0757, better)predicted_BB: 0.7240 -> 0.6583 (deboost -0.0657, 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.
3team_form_snapshot22020predicted_SLG: 0.5090 -> 0.5199 (boost 0.0109, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling85344predicted_SO: 1.5056 -> 2.0000 (boost 0.4944, worse)predicted_HR: 0.2985 -> 0.0000 (deboost -0.2985, worse)AB rounded to 4 (raw=3.65), rates preserved: AVG=0.211 HR/AB=0.082
6consistency_constraints11010predicted_R: 0.6696 -> 1.0000 (boost 0.3304, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_HR: 0.0000 -> 0.2516 (boost 0.2516, better)predicted_RBI: 1.0000 -> 0.5432 (deboost -0.4568, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64251predicted_HR: 0.2516 -> 1.0000 (boost 0.7484, better)predicted_SO: 1.5618 -> 1.0000 (deboost -0.5618, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context51405predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference30312-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.4400 -> 0.5199 (boost 0.0799, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "808959",
  "player_name": "Munetaka Murakami",
  "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.126,
        "predicted_3B": 0.008,
        "predicted_AB": 3.575,
        "predicted_AVG": 0.207,
        "predicted_BB": 0.724,
        "predicted_H": 0.74,
        "predicted_HR": 0.276,
        "predicted_OBP": 0.341,
        "predicted_R": 0.646,
        "predicted_RBI": 0.606,
        "predicted_SLG": 0.478,
        "predicted_SO": 1.543
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.015,
        "predicted_AB": 3.6502,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.6583,
        "predicted_H": 0.8009,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2925,
        "predicted_OBP": 0.3429,
        "predicted_R": 0.6447,
        "predicted_RBI": 0.6817,
        "predicted_SLG": 0.509,
        "predicted_SO": 1.5165
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.126,
          "after": 0.1534,
          "delta": 0.0274,
          "percent_delta": 0.2175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.015,
          "delta": 0.007,
          "percent_delta": 0.875,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.575,
          "after": 3.6502,
          "delta": 0.0752,
          "percent_delta": 0.021,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.207,
          "after": 0.219,
          "delta": 0.012,
          "percent_delta": 0.058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.724,
          "after": 0.6583,
          "delta": -0.0657,
          "percent_delta": -0.0907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.74,
          "after": 0.8009,
          "delta": 0.0609,
          "percent_delta": 0.0823,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.276,
          "after": 0.2925,
          "delta": 0.0165,
          "percent_delta": 0.0598,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.341,
          "after": 0.3429,
          "delta": 0.0019,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.646,
          "after": 0.6447,
          "delta": -0.0013,
          "percent_delta": -0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.606,
          "after": 0.6817,
          "delta": 0.0757,
          "percent_delta": 0.1249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.478,
          "after": 0.509,
          "delta": 0.031,
          "percent_delta": 0.0649,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.543,
          "after": 1.5165,
          "delta": -0.0265,
          "percent_delta": -0.0172,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.606,
          "after": 0.6817,
          "delta": 0.0757,
          "percent_delta": 0.1249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.724,
          "after": 0.6583,
          "delta": -0.0657,
          "percent_delta": -0.0907,
          "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": 127
      }
    },
    {
      "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.015,
        "predicted_AB": 3.6502,
        "predicted_AVG": 0.2244,
        "predicted_BB": 0.663,
        "predicted_H": 0.819,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2985,
        "predicted_OBP": 0.3436,
        "predicted_R": 0.6696,
        "predicted_RBI": 0.7081,
        "predicted_SLG": 0.5199,
        "predicted_SO": 1.5056
      },
      "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.015,
          "after": 0.015,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6502,
          "after": 3.6502,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2244,
          "delta": 0.0054,
          "percent_delta": 0.0247,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6583,
          "after": 0.663,
          "delta": 0.0047,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8009,
          "after": 0.819,
          "delta": 0.0181,
          "percent_delta": 0.0226,
          "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.2925,
          "after": 0.2985,
          "delta": 0.006,
          "percent_delta": 0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3429,
          "after": 0.3436,
          "delta": 0.0007,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6447,
          "after": 0.6696,
          "delta": 0.0249,
          "percent_delta": 0.0386,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6817,
          "after": 0.7081,
          "delta": 0.0264,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.509,
          "after": 0.5199,
          "delta": 0.0109,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5165,
          "after": 1.5056,
          "delta": -0.0109,
          "percent_delta": -0.0072,
          "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.509,
          "after": 0.5199,
          "delta": 0.0109,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.65), rates preserved: AVG=0.211 HR/AB=0.082",
      "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.1534,
          "after": 0.0,
          "delta": -0.1534,
          "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.6502,
          "after": 4.0,
          "delta": 0.3498,
          "percent_delta": 0.0958,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.663,
          "after": 1.0,
          "delta": 0.337,
          "percent_delta": 0.5083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.819,
          "after": 1.0,
          "delta": 0.181,
          "percent_delta": 0.221,
          "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.2985,
          "after": 0.0,
          "delta": -0.2985,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7081,
          "after": 1.0,
          "delta": 0.2919,
          "percent_delta": 0.4122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5056,
          "after": 2.0,
          "delta": 0.4944,
          "percent_delta": 0.3284,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 5,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.5056,
          "after": 2.0,
          "delta": 0.4944,
          "percent_delta": 0.3284,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2985,
          "after": 0.0,
          "delta": -0.2985,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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": 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.6696,
          "after": 1.0,
          "delta": 0.3304,
          "percent_delta": 0.4934,
          "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.6696,
          "after": 1.0,
          "delta": 0.3304,
          "percent_delta": 0.4934,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1473,
        "predicted_3B": 0.0116,
        "predicted_BB": 0.7699,
        "predicted_H": 0.73,
        "predicted_HR": 0.2516,
        "predicted_RBI": 0.5432,
        "predicted_SO": 1.5618
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1473,
          "delta": 0.1473,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0116,
          "delta": 0.0116,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.7699,
          "delta": -0.2301,
          "percent_delta": -0.2301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.73,
          "delta": -0.27,
          "percent_delta": -0.27,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2516,
          "delta": 0.2516,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5432,
          "delta": -0.4568,
          "percent_delta": -0.4568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.5618,
          "delta": -0.4382,
          "percent_delta": -0.2191,
          "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_HR",
          "before": 0.0,
          "after": 0.2516,
          "delta": 0.2516,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5432,
          "delta": -0.4568,
          "percent_delta": -0.4568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1473,
          "after": 0.0,
          "delta": -0.1473,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0116,
          "after": 0.0,
          "delta": -0.0116,
          "percent_delta": -1.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_BB",
          "before": 0.7699,
          "after": 1.0,
          "delta": 0.2301,
          "percent_delta": 0.2989,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.73,
          "after": 1.0,
          "delta": 0.27,
          "percent_delta": 0.3699,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2516,
          "after": 1.0,
          "delta": 0.7484,
          "percent_delta": 2.9746,
          "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.5432,
          "after": 1.0,
          "delta": 0.4568,
          "percent_delta": 0.8409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5618,
          "after": 1.0,
          "delta": -0.5618,
          "percent_delta": -0.3597,
          "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_HR",
          "before": 0.2516,
          "after": 1.0,
          "delta": 0.7484,
          "percent_delta": 2.9746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.5618,
          "after": 1.0,
          "delta": -0.5618,
          "percent_delta": -0.3597,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.194,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.44,
        "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.2244,
          "after": 0.194,
          "delta": -0.0304,
          "percent_delta": -0.1355,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3436,
          "after": 0.336,
          "delta": -0.0076,
          "percent_delta": -0.0221,
          "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.5199,
          "after": 0.44,
          "delta": -0.0799,
          "percent_delta": -0.1537,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "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_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 11,
      "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.2244,
        "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.3436,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5199,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.194,
          "after": 0.2244,
          "delta": 0.0304,
          "percent_delta": 0.1566,
          "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.336,
          "after": 0.3436,
          "delta": 0.0076,
          "percent_delta": 0.0226,
          "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.44,
          "after": 0.5199,
          "delta": 0.0799,
          "percent_delta": 0.1817,
          "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.44,
          "after": 0.5199,
          "delta": 0.0799,
          "percent_delta": 0.1817,
          "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.126,
        "after": 0.0,
        "delta": -0.126,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.575,
        "after": 4.0,
        "delta": 0.425,
        "percent_delta": 0.1189,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.207,
        "after": 0.2244,
        "delta": 0.0174,
        "percent_delta": 0.0841,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.724,
        "after": 0.0,
        "delta": -0.724,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 1.0,
        "delta": 0.26,
        "percent_delta": 0.3514,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.276,
        "after": 0.0,
        "delta": -0.276,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.341,
        "after": 0.3436,
        "delta": 0.0026,
        "percent_delta": 0.0076,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.646,
        "after": 1.0,
        "delta": 0.354,
        "percent_delta": 0.548,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.606,
        "after": 0.0,
        "delta": -0.606,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.478,
        "after": 0.5199,
        "delta": 0.0419,
        "percent_delta": 0.0877,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.543,
        "after": 1.0,
        "delta": -0.543,
        "percent_delta": -0.3519,
        "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": 3.575,
        "after": 4.0,
        "delta": 0.425,
        "percent_delta": 0.1189,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.724,
        "after": 0.0,
        "delta": -0.724,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.126-
predicted_3B0.008-
predicted_AB3.575-
predicted_AVG0.207-
predicted_BB0.724-
predicted_H0.740-
predicted_HR0.276-
predicted_OBP0.341-
predicted_R0.646-
predicted_RBI0.606-
predicted_SLG0.478-
predicted_SO1.543-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1530.027
predicted_3B0.0150.007
predicted_AB3.6500.075
predicted_AVG0.2190.012
predicted_BB0.658-0.066
predicted_H0.8010.061
predicted_HBP0.067-
predicted_HR0.2920.016
predicted_OBP0.3430.002
predicted_R0.645-0.001
predicted_RBI0.6820.076
predicted_SLG0.5090.031
predicted_SO1.516-0.026
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1530.000
predicted_3B0.0150.000
predicted_AB3.6500.000
predicted_AVG0.2240.005
predicted_BB0.6630.005
predicted_H0.8190.018
predicted_HBP0.0670.000
predicted_HR0.2980.006
predicted_OBP0.3440.001
predicted_R0.6700.025
predicted_RBI0.7080.026
predicted_SLG0.5200.011
predicted_SO1.506-0.011
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.65), rates preserved: AVG=0.211 HR/AB=0.082

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1470.147
3B0.0120.012
BB0.770-0.230
H0.730-0.270
HR0.2520.252
RBI0.543-0.457
SO1.562-0.438
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.147
3B0.000-0.012
AB4.0000.000
BB1.0000.230
H1.0000.270
HR1.0000.748
R1.0000.000
RBI1.0000.457
SO1.000-0.562
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.153
predicted_3B0.000-0.015
predicted_AB4.0000.350
predicted_AVG0.194-0.030
predicted_BB1.0000.337
predicted_H1.0000.181
predicted_HR0.000-0.298
predicted_OBP0.336-0.008
predicted_R1.0000.330
predicted_RBI1.0000.292
predicted_SLG0.440-0.080
predicted_SO2.0000.494
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 127
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0006.0002.0000.0002.0005.0003.0001.0007.0000.28570.31820.66670.28570.09520.23810.04760.3333
last_100.2010-38.00010.0002.0001.0004.00012.0007.0005.00015.0000.26320.37780.68420.26320.10530.31580.13160.3947
season0.60127-454.00094.00016.0001.00035.00077.00082.00092.000196.0000.20700.34720.47800.20710.07710.16960.20260.4317
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1890
predicted_3B0.0240
predicted_AB3.7480
predicted_AVG0.2347
predicted_BB0.5730
predicted_H0.8800
predicted_HBP0.0670
predicted_HR0.3140
predicted_OBP0.3454
predicted_R0.6430
predicted_RBI0.7800
predicted_SLG0.5493
predicted_SO1.4820
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12600.18900.1534model_form_blend
predicted_3B0.00800.02400.0150model_form_blend
predicted_AB3.57503.74803.6502model_form_blend
predicted_AVG0.20700.23470.2190model_form_blend
predicted_BB0.72400.57300.6583model_form_blend
predicted_H0.74000.88000.8009model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.27600.31400.2925model_form_blend
predicted_OBP0.34100.34540.3429model_form_blend
predicted_R0.64600.64300.6447model_form_blend
predicted_RBI0.60600.78000.6817model_form_blend
predicted_SLG0.47800.54930.5090model_form_blend
predicted_SO1.54301.48201.5165model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date513
Season rows before report date513
Report year2026
Profile rows used127
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R1
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260927_COL@CHW
game_typefull
mlbID808959
playerID808959
playerNameMunetaka Murakami
posIF
startedTrue
startingPosition1B
teamCHW
teamID6
game_date2026-09-27
sl_k_percent35.4
sl_bb_percent16.6
sl_woba0.356
sl_xwoba0.351
sl_xba0.204
sl_xslg0.469
sl_sweet_spot_percent30.5
sl_barrel_batted_rate20.5
sl_hard_hit_percent56.8
sl_exit_velocity_avg93.9
sl_launch_angle_avg16.1
sl_whiff_percent42.3
sl_swing_percent40.7
Miguel Vargas (678246) · BATTER · 3B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 671
All-history rows before 20260929: 671
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2528
Diff (system - data): -0.0028
System opponent_avg: 0.2500

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1960.0000.000Hitting_2B0.2100.000-0.2100.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB3.7224.0004.000Hitting_AB3.8142.0000.1862.000
predicted_AVG0.2520.0000.250Hitting_AVG0.2530.000-0.2530.000
predicted_BB0.6330.0001.000Hitting_BB0.6393.000-0.639-3.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.8800.0001.000Hitting_H0.9640.000-0.9640.000
predicted_HR0.1800.0000.000Hitting_HR0.2180.000-0.2180.000
predicted_OBP0.3720.0000.400Hitting_OBP0.3640.600-0.364-0.600
predicted_R0.6710.0001.000Hitting_R0.7092.000-0.709-2.000
predicted_RBI0.6600.0001.000Hitting_RBI0.5900.000-0.5900.000
predicted_SLG0.4130.0000.250Hitting_SLG0.4820.000-0.4820.000
predicted_SO0.7972.0001.000Hitting_SO0.8120.0001.1882.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_SO: 0.7970 -> 2.0000 (boost 1.2030, worse)
Biggest Deboostpredicted_H: 0.8800 -> 0.0000 (deboost -0.8800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_BB: 0.6330 -> 0.7000 (boost 0.0670, 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.
3team_form_snapshot21111predicted_SLG: 0.4172 -> 0.4394 (boost 0.0222, better)predicted_OBP: 0.3738 -> 0.3676 (deboost -0.0062, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling75243predicted_AB: 3.6861 -> 4.0000 (boost 0.3139, better)predicted_HR: 0.1765 -> 0.0000 (deboost -0.1765, worse)AB rounded to 4 (raw=3.72), rates preserved: AVG=0.230 HR/AB=0.047
6consistency_constraints11010predicted_R: 0.7352 -> 1.0000 (boost 0.2648, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_HR: 0.0000 -> 0.2005 (boost 0.2005, better)predicted_RBI: 1.0000 -> 0.5407 (deboost -0.4593, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64233predicted_RBI: 0.5407 -> 1.0000 (boost 0.4593, better)predicted_HR: 0.2005 -> 0.0000 (deboost -0.2005, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_OBP: 0.3676 -> 0.3330 (deboost -0.0346, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference51405predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_OBP: 0.3330 -> 0.3676 (boost 0.0346, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "678246",
  "player_name": "Miguel Vargas",
  "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.196,
        "predicted_3B": 0.006,
        "predicted_AB": 3.722,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.633,
        "predicted_H": 0.88,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.372,
        "predicted_R": 0.671,
        "predicted_RBI": 0.66,
        "predicted_SLG": 0.413,
        "predicted_SO": 0.797
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1706,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.6861,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.7,
        "predicted_H": 0.8892,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.173,
        "predicted_OBP": 0.3738,
        "predicted_R": 0.7078,
        "predicted_RBI": 0.6902,
        "predicted_SLG": 0.4172,
        "predicted_SO": 0.7992
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.196,
          "after": 0.1706,
          "delta": -0.0254,
          "percent_delta": -0.1296,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.722,
          "after": 3.6861,
          "delta": -0.0359,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.25,
          "delta": -0.002,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.633,
          "after": 0.7,
          "delta": 0.067,
          "percent_delta": 0.1058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.88,
          "after": 0.8892,
          "delta": 0.0092,
          "percent_delta": 0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.173,
          "delta": -0.007,
          "percent_delta": -0.0389,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.372,
          "after": 0.3738,
          "delta": 0.0018,
          "percent_delta": 0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.671,
          "after": 0.7078,
          "delta": 0.0368,
          "percent_delta": 0.0548,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.66,
          "after": 0.6902,
          "delta": 0.0302,
          "percent_delta": 0.0458,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.413,
          "after": 0.4172,
          "delta": 0.0042,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.797,
          "after": 0.7992,
          "delta": 0.0022,
          "percent_delta": 0.0028,
          "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.633,
          "after": 0.7,
          "delta": 0.067,
          "percent_delta": 0.1058,
          "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": 158
      }
    },
    {
      "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.1706,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.6861,
        "predicted_AVG": 0.2467,
        "predicted_BB": 0.705,
        "predicted_H": 0.9093,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.1765,
        "predicted_OBP": 0.3676,
        "predicted_R": 0.7352,
        "predicted_RBI": 0.7169,
        "predicted_SLG": 0.4394,
        "predicted_SO": 0.7934
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1706,
          "after": 0.1706,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6861,
          "after": 3.6861,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2467,
          "delta": -0.0033,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.7,
          "after": 0.705,
          "delta": 0.005,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8892,
          "after": 0.9093,
          "delta": 0.0201,
          "percent_delta": 0.0226,
          "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.173,
          "after": 0.1765,
          "delta": 0.0035,
          "percent_delta": 0.0202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3738,
          "after": 0.3676,
          "delta": -0.0062,
          "percent_delta": -0.0166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7078,
          "after": 0.7352,
          "delta": 0.0274,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6902,
          "after": 0.7169,
          "delta": 0.0267,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4172,
          "after": 0.4394,
          "delta": 0.0222,
          "percent_delta": 0.0532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7992,
          "after": 0.7934,
          "delta": -0.0058,
          "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_SLG",
          "before": 0.4172,
          "after": 0.4394,
          "delta": 0.0222,
          "percent_delta": 0.0532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3738,
          "after": 0.3676,
          "delta": -0.0062,
          "percent_delta": -0.0166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.72), rates preserved: AVG=0.230 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.1706,
          "after": 0.0,
          "delta": -0.1706,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6861,
          "after": 4.0,
          "delta": 0.3139,
          "percent_delta": 0.0852,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.705,
          "after": 1.0,
          "delta": 0.295,
          "percent_delta": 0.4184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9093,
          "after": 1.0,
          "delta": 0.0907,
          "percent_delta": 0.0997,
          "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.1765,
          "after": 0.0,
          "delta": -0.1765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7169,
          "after": 1.0,
          "delta": 0.2831,
          "percent_delta": 0.3949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7934,
          "after": 1.0,
          "delta": 0.2066,
          "percent_delta": 0.2604,
          "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_AB",
          "before": 3.6861,
          "after": 4.0,
          "delta": 0.3139,
          "percent_delta": 0.0852,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1765,
          "after": 0.0,
          "delta": -0.1765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.7352,
          "after": 1.0,
          "delta": 0.2648,
          "percent_delta": 0.3602,
          "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.7352,
          "after": 1.0,
          "delta": 0.2648,
          "percent_delta": 0.3602,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1623,
        "predicted_3B": 0.0107,
        "predicted_BB": 0.6421,
        "predicted_H": 0.8042,
        "predicted_HR": 0.2005,
        "predicted_RBI": 0.5407,
        "predicted_SO": 0.8581
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1623,
          "delta": 0.1623,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0107,
          "delta": 0.0107,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6421,
          "delta": -0.3579,
          "percent_delta": -0.3579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8042,
          "delta": -0.1958,
          "percent_delta": -0.1958,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2005,
          "delta": 0.2005,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5407,
          "delta": -0.4593,
          "percent_delta": -0.4593,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8581,
          "delta": -0.1419,
          "percent_delta": -0.1419,
          "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_HR",
          "before": 0.0,
          "after": 0.2005,
          "delta": 0.2005,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5407,
          "delta": -0.4593,
          "percent_delta": -0.4593,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1623,
          "after": 0.0,
          "delta": -0.1623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0107,
          "after": 0.0,
          "delta": -0.0107,
          "percent_delta": -1.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_BB",
          "before": 0.6421,
          "after": 1.0,
          "delta": 0.3579,
          "percent_delta": 0.5574,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8042,
          "after": 1.0,
          "delta": 0.1958,
          "percent_delta": 0.2435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2005,
          "after": 0.0,
          "delta": -0.2005,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5407,
          "after": 1.0,
          "delta": 0.4593,
          "percent_delta": 0.8495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8581,
          "after": 1.0,
          "delta": 0.1419,
          "percent_delta": 0.1654,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5407,
          "after": 1.0,
          "delta": 0.4593,
          "percent_delta": 0.8495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2005,
          "after": 0.0,
          "delta": -0.2005,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.213,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.422,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2467,
          "after": 0.213,
          "delta": -0.0337,
          "percent_delta": -0.1366,
          "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.3676,
          "after": 0.333,
          "delta": -0.0346,
          "percent_delta": -0.0941,
          "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.4394,
          "after": 0.422,
          "delta": -0.0174,
          "percent_delta": -0.0396,
          "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_OBP",
          "before": 0.3676,
          "after": 0.333,
          "delta": -0.0346,
          "percent_delta": -0.0941,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.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": 11,
      "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.2467,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3676,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4394,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.2467,
          "delta": 0.0337,
          "percent_delta": 0.1581,
          "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.333,
          "after": 0.3676,
          "delta": 0.0346,
          "percent_delta": 0.104,
          "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.422,
          "after": 0.4394,
          "delta": 0.0174,
          "percent_delta": 0.0413,
          "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_OBP",
          "before": 0.333,
          "after": 0.3676,
          "delta": 0.0346,
          "percent_delta": 0.104,
          "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.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.722,
        "after": 4.0,
        "delta": 0.278,
        "percent_delta": 0.0747,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.2467,
        "delta": -0.0053,
        "percent_delta": -0.021,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.633,
        "after": 0.0,
        "delta": -0.633,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 0.0,
        "delta": -0.88,
        "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.372,
        "after": 0.3676,
        "delta": -0.0044,
        "percent_delta": -0.0118,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.671,
        "after": 0.0,
        "delta": -0.671,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.66,
        "after": 0.0,
        "delta": -0.66,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.413,
        "after": 0.4394,
        "delta": 0.0264,
        "percent_delta": 0.0639,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.797,
        "after": 2.0,
        "delta": 1.203,
        "percent_delta": 1.5094,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.797,
        "after": 2.0,
        "delta": 1.203,
        "percent_delta": 1.5094,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.88,
        "after": 0.0,
        "delta": -0.88,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.196-
predicted_3B0.006-
predicted_AB3.722-
predicted_AVG0.252-
predicted_BB0.633-
predicted_H0.880-
predicted_HR0.180-
predicted_OBP0.372-
predicted_R0.671-
predicted_RBI0.660-
predicted_SLG0.413-
predicted_SO0.797-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.171-0.025
predicted_3B0.005-0.001
predicted_AB3.686-0.036
predicted_AVG0.250-0.002
predicted_BB0.7000.067
predicted_H0.8890.009
predicted_HBP0.026-
predicted_HR0.173-0.007
predicted_OBP0.3740.002
predicted_R0.7080.037
predicted_RBI0.6900.030
predicted_SLG0.4170.004
predicted_SO0.7990.002
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1710.000
predicted_3B0.0050.000
predicted_AB3.6860.000
predicted_AVG0.247-0.003
predicted_BB0.7050.005
predicted_H0.9090.020
predicted_HBP0.0260.000
predicted_HR0.1760.004
predicted_OBP0.368-0.006
predicted_R0.7350.027
predicted_RBI0.7170.027
predicted_SLG0.4390.022
predicted_SO0.793-0.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.72), rates preserved: AVG=0.230 HR/AB=0.047

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1620.162
3B0.0110.011
BB0.642-0.358
H0.804-0.196
HR0.2010.201
RBI0.541-0.459
SO0.858-0.142
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.162
3B0.000-0.011
AB4.0000.000
BB1.0000.358
H1.0000.196
HR0.000-0.201
R1.0000.000
RBI1.0000.459
SO1.0000.142
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.171
predicted_3B0.000-0.005
predicted_AB4.0000.314
predicted_AVG0.213-0.034
predicted_BB1.0000.295
predicted_H1.0000.091
predicted_HR0.000-0.176
predicted_OBP0.333-0.035
predicted_R1.0000.265
predicted_RBI1.0000.283
predicted_SLG0.422-0.017
predicted_SO1.0000.207
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 158
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0000.0000.0000.0005.0005.0005.0004.0000.22220.37500.22220.22220.00000.27780.27780.2222
last_100.2010-34.0009.0001.0000.0002.0009.0008.00011.0008.0000.26470.43480.47060.26470.05880.26470.32350.2353
season0.60158-588.000147.00031.0001.00033.00093.000106.000100.000126.0000.25000.36180.47450.25000.05610.15820.17010.2143
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1380
predicted_3B0.0040
predicted_AB3.6400
predicted_AVG0.2474
predicted_BB0.7860
predicted_H0.9010
predicted_HBP0.0260
predicted_HR0.1640
predicted_OBP0.3760
predicted_R0.7550
predicted_RBI0.7290
predicted_SLG0.4226
predicted_SO0.8020
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19600.13800.1706model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.72203.64003.6861model_form_blend
predicted_AVG0.25200.24740.2500model_form_blend
predicted_BB0.63300.78600.7000model_form_blend
predicted_H0.88000.90100.8892model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.18000.16400.1730model_form_blend
predicted_OBP0.37200.37600.3738model_form_blend
predicted_R0.67100.75500.7078model_form_blend
predicted_RBI0.66000.72900.6902model_form_blend
predicted_SLG0.41300.42260.4172model_form_blend
predicted_SO0.79700.80200.7992model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date671
Season rows before report date671
Report year2026
Profile rows used158
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB3
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260926_COL@CHW
game_typefull
mlbID678246
playerID678246
playerNameMiguel Vargas
pos3B
startedTrue
startingPosition3B
teamCHW
teamID6
game_date2026-09-26
sl_k_percent17.9
sl_bb_percent14.3
sl_woba0.363
sl_xwoba0.378
sl_xba0.263
sl_xslg0.496
sl_sweet_spot_percent39.4
sl_barrel_batted_rate13.0
sl_hard_hit_percent43.8
sl_exit_velocity_avg90.1
sl_launch_angle_avg20.5
sl_whiff_percent21.0
sl_swing_percent43.9
Braden Montgomery (695731) · BATTER · RF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 345
All-history rows before 20260929: 345
System season_avg: 0.2260
Data season_avg (2026 season-to-date): 0.2164
Diff (system - data): 0.0096
System opponent_avg: 0.2380

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1740.0000.000Hitting_2B0.1620.000-0.1620.000
predicted_3B0.0330.0000.000Hitting_3B0.0410.000-0.0410.000
predicted_AB3.5113.0003.000Hitting_AB3.6434.000-0.643-1.000
predicted_AVG0.2260.0000.333Hitting_AVG0.2160.250-0.216-0.250
predicted_BB0.4131.0001.000Hitting_BB0.4870.0000.5131.000
predicted_CS-0.0000.000BaseRunning_CS0.0380.000-0.0380.000
predicted_H0.7930.0001.000Hitting_H0.7881.000-0.788-1.000
predicted_HR0.0650.0000.000Hitting_HR0.0750.000-0.0750.000
predicted_OBP0.3070.2500.500Hitting_OBP0.3130.250-0.0630.000
predicted_R0.5000.0000.000Hitting_R0.5540.000-0.5540.000
predicted_RBI0.4130.0000.000Hitting_RBI0.4840.000-0.4840.000
predicted_SLG0.3500.0000.333Hitting_SLG0.3450.250-0.345-0.250
predicted_SO0.7831.0001.000Hitting_SO0.8231.0000.1770.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_BB: 0.4130 -> 1.0000 (boost 0.5870, better)
Biggest Deboostpredicted_H: 0.7930 -> 0.0000 (deboost -0.7930, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend74352predicted_H: 0.7930 -> 0.8970 (boost 0.1040, better)predicted_BB: 0.4130 -> 0.3411 (deboost -0.0719, 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.
3team_form_snapshot22020predicted_SLG: 0.3743 -> 0.3807 (boost 0.0064, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.7255 -> 1.0000 (boost 0.2745, worse)predicted_AB: 3.4952 -> 3.0000 (deboost -0.4952, worse)AB rounded to 3 (raw=3.51), rates preserved: AVG=0.246 HR/AB=0.016
6consistency_constraints11010predicted_R: 0.5535 -> 1.0000 (boost 0.4465, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4547 (boost 0.4547, better)predicted_H: 1.0000 -> 0.7127 (deboost -0.2873, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation73425predicted_BB: 0.4547 -> 1.0000 (boost 0.5453, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context51414predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference31212predicted_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
11current_json_final33030predicted_AVG: 0.2110 -> 0.2624 (boost 0.0514, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695731",
  "player_name": "Braden Montgomery",
  "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.174,
        "predicted_3B": 0.033,
        "predicted_AB": 3.511,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.413,
        "predicted_H": 0.793,
        "predicted_HR": 0.065,
        "predicted_OBP": 0.307,
        "predicted_R": 0.5,
        "predicted_RBI": 0.413,
        "predicted_SLG": 0.35,
        "predicted_SO": 0.783
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1868,
        "predicted_3B": 0.027,
        "predicted_AB": 3.4952,
        "predicted_AVG": 0.2569,
        "predicted_BB": 0.3411,
        "predicted_H": 0.897,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0564,
        "predicted_OBP": 0.3256,
        "predicted_R": 0.5329,
        "predicted_RBI": 0.3557,
        "predicted_SLG": 0.3743,
        "predicted_SO": 0.7308
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.1868,
          "delta": 0.0128,
          "percent_delta": 0.0736,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.033,
          "after": 0.027,
          "delta": -0.006,
          "percent_delta": -0.1818,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.511,
          "after": 3.4952,
          "delta": -0.0158,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2569,
          "delta": 0.0309,
          "percent_delta": 0.1367,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.413,
          "after": 0.3411,
          "delta": -0.0719,
          "percent_delta": -0.1741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.793,
          "after": 0.897,
          "delta": 0.104,
          "percent_delta": 0.1311,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.065,
          "after": 0.0564,
          "delta": -0.0086,
          "percent_delta": -0.1323,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.3256,
          "delta": 0.0186,
          "percent_delta": 0.0606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5,
          "after": 0.5329,
          "delta": 0.0329,
          "percent_delta": 0.0658,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.413,
          "after": 0.3557,
          "delta": -0.0573,
          "percent_delta": -0.1387,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.3743,
          "delta": 0.0243,
          "percent_delta": 0.0694,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.783,
          "after": 0.7308,
          "delta": -0.0522,
          "percent_delta": -0.0667,
          "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_H",
          "before": 0.793,
          "after": 0.897,
          "delta": 0.104,
          "percent_delta": 0.1311,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.413,
          "after": 0.3411,
          "delta": -0.0719,
          "percent_delta": -0.1741,
          "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.1868,
        "predicted_3B": 0.027,
        "predicted_AB": 3.4952,
        "predicted_AVG": 0.2624,
        "predicted_BB": 0.3436,
        "predicted_H": 0.9173,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0576,
        "predicted_OBP": 0.3284,
        "predicted_R": 0.5535,
        "predicted_RBI": 0.3695,
        "predicted_SLG": 0.3807,
        "predicted_SO": 0.7255
      },
      "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.027,
          "after": 0.027,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4952,
          "after": 3.4952,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2569,
          "after": 0.2624,
          "delta": 0.0055,
          "percent_delta": 0.0214,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3411,
          "after": 0.3436,
          "delta": 0.0025,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.897,
          "after": 0.9173,
          "delta": 0.0203,
          "percent_delta": 0.0226,
          "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.0564,
          "after": 0.0576,
          "delta": 0.0012,
          "percent_delta": 0.0213,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3256,
          "after": 0.3284,
          "delta": 0.0028,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5329,
          "after": 0.5535,
          "delta": 0.0206,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3557,
          "after": 0.3695,
          "delta": 0.0138,
          "percent_delta": 0.0388,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3743,
          "after": 0.3807,
          "delta": 0.0064,
          "percent_delta": 0.0171,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7308,
          "after": 0.7255,
          "delta": -0.0053,
          "percent_delta": -0.0073,
          "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.3743,
          "after": 0.3807,
          "delta": 0.0064,
          "percent_delta": 0.0171,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.51), rates preserved: AVG=0.246 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.1868,
          "after": 0.0,
          "delta": -0.1868,
          "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.4952,
          "after": 3.0,
          "delta": -0.4952,
          "percent_delta": -0.1417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3436,
          "after": 0.0,
          "delta": -0.3436,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9173,
          "after": 1.0,
          "delta": 0.0827,
          "percent_delta": 0.0902,
          "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.0576,
          "after": 0.0,
          "delta": -0.0576,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3695,
          "after": 0.0,
          "delta": -0.3695,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7255,
          "after": 1.0,
          "delta": 0.2745,
          "percent_delta": 0.3784,
          "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.7255,
          "after": 1.0,
          "delta": 0.2745,
          "percent_delta": 0.3784,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4952,
          "after": 3.0,
          "delta": -0.4952,
          "percent_delta": -0.1417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.5535,
          "after": 1.0,
          "delta": 0.4465,
          "percent_delta": 0.8067,
          "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.5535,
          "after": 1.0,
          "delta": 0.4465,
          "percent_delta": 0.8067,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1507,
        "predicted_3B": 0.0175,
        "predicted_BB": 0.4547,
        "predicted_H": 0.7127,
        "predicted_HR": 0.0951,
        "predicted_RBI": 0.3982,
        "predicted_SO": 0.8208
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1507,
          "delta": 0.1507,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0175,
          "delta": 0.0175,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4547,
          "delta": 0.4547,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7127,
          "delta": -0.2873,
          "percent_delta": -0.2873,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0951,
          "delta": 0.0951,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3982,
          "delta": 0.3982,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8208,
          "delta": -0.1792,
          "percent_delta": -0.1792,
          "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": 0.4547,
          "delta": 0.4547,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7127,
          "delta": -0.2873,
          "percent_delta": -0.2873,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1507,
          "after": 0.0,
          "delta": -0.1507,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0175,
          "after": 0.0,
          "delta": -0.0175,
          "percent_delta": -1.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_BB",
          "before": 0.4547,
          "after": 1.0,
          "delta": 0.5453,
          "percent_delta": 1.1993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7127,
          "after": 1.0,
          "delta": 0.2873,
          "percent_delta": 0.4031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0951,
          "after": 0.0,
          "delta": -0.0951,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.3982,
          "after": 0.0,
          "delta": -0.3982,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8208,
          "after": 1.0,
          "delta": 0.1792,
          "percent_delta": 0.2183,
          "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.4547,
          "after": 1.0,
          "delta": 0.5453,
          "percent_delta": 1.1993,
          "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": "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.211,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.35,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2624,
          "after": 0.211,
          "delta": -0.0514,
          "percent_delta": -0.1959,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3284,
          "after": 0.31,
          "delta": -0.0184,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3807,
          "after": 0.35,
          "delta": -0.0307,
          "percent_delta": -0.0806,
          "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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "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_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": 10,
      "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": 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_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": 11,
      "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.2624,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3284,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3807,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.211,
          "after": 0.2624,
          "delta": 0.0514,
          "percent_delta": 0.2438,
          "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.31,
          "after": 0.3284,
          "delta": 0.0184,
          "percent_delta": 0.0595,
          "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.35,
          "after": 0.3807,
          "delta": 0.0307,
          "percent_delta": 0.0878,
          "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.211,
          "after": 0.2624,
          "delta": 0.0514,
          "percent_delta": 0.2438,
          "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.033,
        "after": 0.0,
        "delta": -0.033,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.511,
        "after": 3.0,
        "delta": -0.511,
        "percent_delta": -0.1455,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.2624,
        "delta": 0.0364,
        "percent_delta": 0.1611,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.413,
        "after": 1.0,
        "delta": 0.587,
        "percent_delta": 1.4213,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.793,
        "after": 0.0,
        "delta": -0.793,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.065,
        "after": 0.0,
        "delta": -0.065,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.307,
        "after": 0.3284,
        "delta": 0.0214,
        "percent_delta": 0.0697,
        "direction": "boost",
        "projection_effect": "better",
        "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.413,
        "after": 0.0,
        "delta": -0.413,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.35,
        "after": 0.3807,
        "delta": 0.0307,
        "percent_delta": 0.0877,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.783,
        "after": 1.0,
        "delta": 0.217,
        "percent_delta": 0.2771,
        "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.413,
        "after": 1.0,
        "delta": 0.587,
        "percent_delta": 1.4213,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.793,
        "after": 0.0,
        "delta": -0.793,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.174-
predicted_3B0.033-
predicted_AB3.511-
predicted_AVG0.226-
predicted_BB0.413-
predicted_H0.793-
predicted_HR0.065-
predicted_OBP0.307-
predicted_R0.500-
predicted_RBI0.413-
predicted_SLG0.350-
predicted_SO0.783-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1870.013
predicted_3B0.027-0.006
predicted_AB3.495-0.016
predicted_AVG0.2570.031
predicted_BB0.341-0.072
predicted_H0.8970.104
predicted_HBP0.020-
predicted_HR0.056-0.009
predicted_OBP0.3260.019
predicted_R0.5330.033
predicted_RBI0.356-0.057
predicted_SLG0.3740.024
predicted_SO0.731-0.052
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1870.000
predicted_3B0.0270.000
predicted_AB3.4950.000
predicted_AVG0.2620.006
predicted_BB0.3440.003
predicted_H0.9170.020
predicted_HBP0.0200.000
predicted_HR0.0580.001
predicted_OBP0.3280.003
predicted_R0.5530.021
predicted_RBI0.3690.014
predicted_SLG0.3810.006
predicted_SO0.726-0.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.51), rates preserved: AVG=0.246 HR/AB=0.016

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1510.151
3B0.0180.018
BB0.4550.455
H0.713-0.287
HR0.0950.095
RBI0.3980.398
SO0.821-0.179
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.151
3B0.000-0.018
AB3.0000.000
BB1.0000.545
H1.0000.287
HR0.000-0.095
R0.000-1.000
RBI0.000-0.398
SO1.0000.179
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.187
predicted_3B0.000-0.027
predicted_AB3.000-0.495
predicted_AVG0.211-0.051
predicted_BB0.000-0.344
predicted_H1.0000.083
predicted_HR0.000-0.058
predicted_OBP0.310-0.018
predicted_R1.0000.447
predicted_RBI0.000-0.369
predicted_SLG0.350-0.031
predicted_SO1.0000.274
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 92
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0008.0001.0000.0000.0000.0004.0000.0002.0000.47060.47060.52940.47060.00000.00000.00000.1177
last_100.2010-33.00012.0003.0000.0000.0001.0006.0000.0005.0000.36360.36360.45450.36360.00000.03030.00000.1515
season0.6092-323.00073.00016.0003.0006.00038.00046.00038.00072.0000.22600.31230.34980.22600.01860.11770.11770.2229
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2040
predicted_3B0.0190
predicted_AB3.4740
predicted_AVG0.2983
predicted_BB0.2450
predicted_H1.0360
predicted_HBP0.0200
predicted_HR0.0450
predicted_OBP0.3505
predicted_R0.5770
predicted_RBI0.2790
predicted_SLG0.4067
predicted_SO0.6610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17400.20400.1868model_form_blend
predicted_3B0.03300.01900.0270model_form_blend
predicted_AB3.51103.47403.4952model_form_blend
predicted_AVG0.22600.29830.2569model_form_blend
predicted_BB0.41300.24500.3411model_form_blend
predicted_H0.79301.03600.8970model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.06500.04500.0564model_form_blend
predicted_OBP0.30700.35050.3256model_form_blend
predicted_R0.50000.57700.5329model_form_blend
predicted_RBI0.41300.27900.3557model_form_blend
predicted_SLG0.35000.40670.3743model_form_blend
predicted_SO0.78300.66100.7308model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date345
Season rows before report date345
Report year2026
Profile rows used92
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260927_COL@CHW
game_typefull
mlbID695731
playerID695731
playerNameBraden Montgomery
posOF
startedTrue
startingPositionRF
teamCHW
teamID6
game_date2026-09-27
sl_k_percent19.7
sl_bb_percent10.4
sl_woba0.298
sl_xwoba0.325
sl_xba0.255
sl_xslg0.392
sl_sweet_spot_percent28.2
sl_barrel_batted_rate4.4
sl_hard_hit_percent40.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg3.0
sl_whiff_percent30.1
sl_swing_percent50.4
Tristan Peters (671976) · BATTER · CF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 478
All-history rows before 20260929: 478
System season_avg: 0.2650
Data season_avg (2026 season-to-date): 0.2890
Diff (system - data): -0.0240
System opponent_avg: 0.2110
System season_avg diverges from 2026 season-to-date by -0.0240. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2110.0001.000Hitting_2B0.2530.000-0.2530.000
predicted_3B0.0271.0000.000Hitting_3B0.0270.0000.9731.000
predicted_AB2.9734.0003.000Hitting_AB3.2071.0000.7933.000
predicted_AVG0.1840.5000.333Hitting_AVG0.2890.0000.2110.500
predicted_BB0.2450.0000.000Hitting_BB0.2720.000-0.2720.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.3002.0001.000Hitting_H0.9270.0001.0732.000
predicted_HR0.0300.0000.000Hitting_HR0.1070.000-0.1070.000
predicted_OBP0.2740.5000.333Hitting_OBP0.3560.0000.1440.500
predicted_R0.4151.0000.000Hitting_R0.4830.0000.5171.000
predicted_RBI0.2400.0000.000Hitting_RBI0.4850.000-0.4850.000
predicted_SLG0.3261.0000.667Hitting_SLG0.4850.0000.5151.000
predicted_SO0.6120.0001.000Hitting_SO0.6050.000-0.6050.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_H: 0.3000 -> 2.0000 (boost 1.7000, better)
Biggest Deboostpredicted_SO: 0.6120 -> 0.0000 (deboost -0.6120, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_H: 0.3000 -> 0.4359 (boost 0.1359, better)predicted_SLG: 0.3260 -> 0.3175 (deboost -0.0085, 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.
3team_form_snapshot30303-predicted_OBP: 0.2776 -> 0.2094 (deboost -0.0682, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.6153 -> 1.0000 (boost 0.3847, worse)predicted_H: 0.4458 -> 0.0000 (deboost -0.4458, worse)AB rounded to 3 (raw=3.01), rates preserved: AVG=0.139 HR/AB=0.014
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.4162 -> 0.0000 (deboost -0.4162, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4240 (boost 0.4240, better)predicted_H: 1.0000 -> 0.7678 (deboost -0.2322, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_2B: 0.1745 -> 1.0000 (boost 0.8255, better)predicted_RBI: 0.4240 -> 0.0000 (deboost -0.4240, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context43131predicted_SLG: 0.2625 -> 0.3920 (boost 0.1295, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference54150predicted_3B: 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
11current_json_final30303-predicted_SLG: 0.3920 -> 0.2625 (deboost -0.1295, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671976",
  "player_name": "Tristan Peters",
  "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.211,
        "predicted_3B": 0.027,
        "predicted_AB": 2.973,
        "predicted_AVG": 0.184,
        "predicted_BB": 0.245,
        "predicted_H": 0.3,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.274,
        "predicted_R": 0.415,
        "predicted_RBI": 0.24,
        "predicted_SLG": 0.326,
        "predicted_SO": 0.612
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.0227,
        "predicted_AB": 3.0146,
        "predicted_AVG": 0.1909,
        "predicted_BB": 0.2329,
        "predicted_H": 0.4359,
        "predicted_HBP": 0.137,
        "predicted_HR": 0.0404,
        "predicted_OBP": 0.2776,
        "predicted_R": 0.4007,
        "predicted_RBI": 0.2894,
        "predicted_SLG": 0.3175,
        "predicted_SO": 0.6198
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.1764,
          "delta": -0.0346,
          "percent_delta": -0.164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0227,
          "delta": -0.0043,
          "percent_delta": -0.1593,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.973,
          "after": 3.0146,
          "delta": 0.0416,
          "percent_delta": 0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.184,
          "after": 0.1909,
          "delta": 0.0069,
          "percent_delta": 0.0375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.245,
          "after": 0.2329,
          "delta": -0.0121,
          "percent_delta": -0.0494,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3,
          "after": 0.4359,
          "delta": 0.1359,
          "percent_delta": 0.453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0404,
          "delta": 0.0104,
          "percent_delta": 0.3467,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.274,
          "after": 0.2776,
          "delta": 0.0036,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.415,
          "after": 0.4007,
          "delta": -0.0143,
          "percent_delta": -0.0345,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.24,
          "after": 0.2894,
          "delta": 0.0494,
          "percent_delta": 0.2058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.326,
          "after": 0.3175,
          "delta": -0.0085,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.612,
          "after": 0.6198,
          "delta": 0.0078,
          "percent_delta": 0.0127,
          "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.3,
          "after": 0.4359,
          "delta": 0.1359,
          "percent_delta": 0.453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.326,
          "after": 0.3175,
          "delta": -0.0085,
          "percent_delta": -0.0261,
          "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": 147
      }
    },
    {
      "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.0227,
        "predicted_AB": 3.0146,
        "predicted_AVG": 0.1479,
        "predicted_BB": 0.2346,
        "predicted_H": 0.4458,
        "predicted_HBP": 0.137,
        "predicted_HR": 0.0412,
        "predicted_OBP": 0.2094,
        "predicted_R": 0.4162,
        "predicted_RBI": 0.3006,
        "predicted_SLG": 0.2625,
        "predicted_SO": 0.6153
      },
      "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.0227,
          "after": 0.0227,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0146,
          "after": 3.0146,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1909,
          "after": 0.1479,
          "delta": -0.043,
          "percent_delta": -0.2252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2329,
          "after": 0.2346,
          "delta": 0.0017,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4359,
          "after": 0.4458,
          "delta": 0.0099,
          "percent_delta": 0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.137,
          "after": 0.137,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0404,
          "after": 0.0412,
          "delta": 0.0008,
          "percent_delta": 0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2776,
          "after": 0.2094,
          "delta": -0.0682,
          "percent_delta": -0.2457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4007,
          "after": 0.4162,
          "delta": 0.0155,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2894,
          "after": 0.3006,
          "delta": 0.0112,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3175,
          "after": 0.2625,
          "delta": -0.055,
          "percent_delta": -0.1732,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6198,
          "after": 0.6153,
          "delta": -0.0045,
          "percent_delta": -0.0073,
          "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.2776,
          "after": 0.2094,
          "delta": -0.0682,
          "percent_delta": -0.2457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.01), rates preserved: AVG=0.139 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.1764,
          "after": 0.0,
          "delta": -0.1764,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0227,
          "after": 0.0,
          "delta": -0.0227,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0146,
          "after": 3.0,
          "delta": -0.0146,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2346,
          "after": 0.0,
          "delta": -0.2346,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4458,
          "after": 0.0,
          "delta": -0.4458,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.137,
          "after": 0.0,
          "delta": -0.137,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0412,
          "after": 0.0,
          "delta": -0.0412,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3006,
          "after": 0.0,
          "delta": -0.3006,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6153,
          "after": 1.0,
          "delta": 0.3847,
          "percent_delta": 0.6252,
          "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.6153,
          "after": 1.0,
          "delta": 0.3847,
          "percent_delta": 0.6252,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4458,
          "after": 0.0,
          "delta": -0.4458,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4162,
          "after": 0.0,
          "delta": -0.4162,
          "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.4162,
          "after": 0.0,
          "delta": -0.4162,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1745,
        "predicted_3B": 0.0184,
        "predicted_BB": 0.3492,
        "predicted_H": 0.7678,
        "predicted_HR": 0.114,
        "predicted_RBI": 0.424,
        "predicted_SO": 0.7729
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1745,
          "delta": 0.1745,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0184,
          "delta": 0.0184,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3492,
          "delta": 0.3492,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7678,
          "delta": -0.2322,
          "percent_delta": -0.2322,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.114,
          "delta": 0.114,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.424,
          "delta": 0.424,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7729,
          "delta": -0.2271,
          "percent_delta": -0.2271,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.424,
          "delta": 0.424,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7678,
          "delta": -0.2322,
          "percent_delta": -0.2322,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1745,
          "after": 1.0,
          "delta": 0.8255,
          "percent_delta": 4.7307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0184,
          "after": 0.0,
          "delta": -0.0184,
          "percent_delta": -1.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_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.7678,
          "after": 1.0,
          "delta": 0.2322,
          "percent_delta": 0.3024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.114,
          "after": 0.0,
          "delta": -0.114,
          "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.424,
          "after": 0.0,
          "delta": -0.424,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7729,
          "after": 1.0,
          "delta": 0.2271,
          "percent_delta": 0.2938,
          "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_2B",
          "before": 0.1745,
          "after": 1.0,
          "delta": 0.8255,
          "percent_delta": 4.7307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.424,
          "after": 0.0,
          "delta": -0.424,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.228,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1479,
          "after": 0.228,
          "delta": 0.0801,
          "percent_delta": 0.5416,
          "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.2094,
          "after": 0.306,
          "delta": 0.0966,
          "percent_delta": 0.4613,
          "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.2625,
          "after": 0.392,
          "delta": 0.1295,
          "percent_delta": 0.4933,
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2625,
          "after": 0.392,
          "delta": 0.1295,
          "percent_delta": 0.4933,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "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": {
          "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": 11,
      "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.1479,
        "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.2094,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2625,
        "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": 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.228,
          "after": 0.1479,
          "delta": -0.0801,
          "percent_delta": -0.3515,
          "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.306,
          "after": 0.2094,
          "delta": -0.0966,
          "percent_delta": -0.3157,
          "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.392,
          "after": 0.2625,
          "delta": -0.1295,
          "percent_delta": -0.3304,
          "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.392,
          "after": 0.2625,
          "delta": -0.1295,
          "percent_delta": -0.3304,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.211,
        "after": 0.0,
        "delta": -0.211,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.027,
        "after": 1.0,
        "delta": 0.973,
        "percent_delta": 36.037,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.973,
        "after": 4.0,
        "delta": 1.027,
        "percent_delta": 0.3454,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.184,
        "after": 0.1479,
        "delta": -0.0361,
        "percent_delta": -0.1962,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.245,
        "after": 0.0,
        "delta": -0.245,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.3,
        "after": 2.0,
        "delta": 1.7,
        "percent_delta": 5.6667,
        "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.274,
        "after": 0.2094,
        "delta": -0.0646,
        "percent_delta": -0.2358,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.415,
        "after": 1.0,
        "delta": 0.585,
        "percent_delta": 1.4096,
        "direction": "boost",
        "projection_effect": "better",
        "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.326,
        "after": 0.2625,
        "delta": -0.0635,
        "percent_delta": -0.1948,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.612,
        "after": 0.0,
        "delta": -0.612,
        "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.3,
        "after": 2.0,
        "delta": 1.7,
        "percent_delta": 5.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.612,
        "after": 0.0,
        "delta": -0.612,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.211-
predicted_3B0.027-
predicted_AB2.973-
predicted_AVG0.184-
predicted_BB0.245-
predicted_H0.300-
predicted_HR0.030-
predicted_OBP0.274-
predicted_R0.415-
predicted_RBI0.240-
predicted_SLG0.326-
predicted_SO0.612-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.176-0.035
predicted_3B0.023-0.004
predicted_AB3.0150.042
predicted_AVG0.1910.007
predicted_BB0.233-0.012
predicted_H0.4360.136
predicted_HBP0.137-
predicted_HR0.0400.010
predicted_OBP0.2780.004
predicted_R0.401-0.014
predicted_RBI0.2890.049
predicted_SLG0.318-0.009
predicted_SO0.6200.008
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1760.000
predicted_3B0.0230.000
predicted_AB3.0150.000
predicted_AVG0.148-0.043
predicted_BB0.2350.002
predicted_H0.4460.010
predicted_HBP0.1370.000
predicted_HR0.0410.001
predicted_OBP0.209-0.068
predicted_R0.4160.016
predicted_RBI0.3010.011
predicted_SLG0.263-0.055
predicted_SO0.615-0.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.01), rates preserved: AVG=0.139 HR/AB=0.014

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0001.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1740.174
3B0.0180.018
BB0.3490.349
H0.768-0.232
HR0.1140.114
RBI0.4240.424
SO0.773-0.227
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.826
3B0.000-0.018
AB3.0000.000
BB0.000-0.349
H1.0000.232
HR0.000-0.114
R0.0000.000
RBI0.000-0.424
SO1.0000.227
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.176
predicted_3B0.000-0.023
predicted_AB3.000-0.015
predicted_AVG0.2280.080
predicted_BB0.000-0.235
predicted_H1.0000.554
predicted_HR0.000-0.041
predicted_OBP0.3060.097
predicted_R0.000-0.416
predicted_RBI0.000-0.301
predicted_SLG0.3920.130
predicted_SO1.0000.385
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B1.0001.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 147
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0002.0000.0000.0000.0002.0001.0000.0002.0000.11760.16670.11760.11770.00000.11770.00000.1177
last_100.2010-28.0002.0000.0000.0000.0002.0004.0003.0008.0000.07140.23530.07140.07140.00000.07140.10710.2857
season0.60147-437.000116.00031.0004.00012.00056.00061.00036.00090.0000.26540.33400.43710.26550.02750.12810.08240.2059
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1310
predicted_3B0.0170
predicted_AB3.0690
predicted_AVG0.2000
predicted_BB0.2170
predicted_H0.6140
predicted_HBP0.1370
predicted_HR0.0540
predicted_OBP0.2822
predicted_R0.3820
predicted_RBI0.3540
predicted_SLG0.3063
predicted_SO0.6300
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21100.13100.1764model_form_blend
predicted_3B0.02700.01700.0227model_form_blend
predicted_AB2.97303.06903.0146model_form_blend
predicted_AVG0.18400.20000.1909model_form_blend
predicted_BB0.24500.21700.2329model_form_blend
predicted_H0.30000.61400.4359model_form_blend
predicted_HBP-0.13700.1370form_only
predicted_HR0.03000.05400.0404model_form_blend
predicted_OBP0.27400.28220.2776model_form_blend
predicted_R0.41500.38200.4007model_form_blend
predicted_RBI0.24000.35400.2894model_form_blend
predicted_SLG0.32600.30630.3175model_form_blend
predicted_SO0.61200.63000.6198model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date478
Season rows before report date478
Report year2026
Profile rows used147
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B1
HR0
R1
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260927_COL@CHW
game_typeshort
mlbID671976
playerID671976
playerNameTristan Peters
posCF
startedFalse
startingPositionLF
teamCHW
teamID6
game_date2026-09-27
sl_k_percent18.3
sl_bb_percent7.5
sl_woba0.34
sl_xwoba0.314
sl_xba0.248
sl_xslg0.384
sl_sweet_spot_percent33.1
sl_barrel_batted_rate5.4
sl_hard_hit_percent34.1
sl_exit_velocity_avg87.5
sl_launch_angle_avg18.0
sl_whiff_percent23.0
sl_swing_percent53.6
Kyle Teel (691019) · BATTER · C · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 115
All-history rows before 20260929: 115
System season_avg: 0.2100
Data season_avg (2026 season-to-date): 0.2060
Diff (system - data): 0.0040
System opponent_avg: 0.2100

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0790.0000.000Hitting_2B0.1300.000-0.1300.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3004.0004.000Hitting_AB3.5044.0000.4960.000
predicted_AVG0.2530.2500.250Hitting_AVG0.2060.5000.044-0.250
predicted_BB0.4470.0001.000Hitting_BB0.5650.000-0.5650.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8401.0001.000Hitting_H0.7222.0000.278-1.000
predicted_HR0.1400.0000.000Hitting_HR0.1740.000-0.1740.000
predicted_OBP0.3730.2500.400Hitting_OBP0.3270.500-0.077-0.250
predicted_R0.5261.0001.000Hitting_R0.6000.0000.4001.000
predicted_RBI0.6801.0001.000Hitting_RBI0.8780.0000.1221.000
predicted_SLG0.4570.2500.250Hitting_SLG0.3920.500-0.142-0.250
predicted_SO1.3422.0001.000Hitting_SO1.5302.0000.4700.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_AB: 3.3000 -> 4.0000 (boost 0.7000, better)
Biggest Deboostpredicted_BB: 0.4470 -> 0.0000 (deboost -0.4470, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_SLG: 0.4570 -> 0.4348 (deboost -0.0222, 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.
3team_form_snapshot31212predicted_AVG: 0.2510 -> 0.2577 (boost 0.0067, better)predicted_SLG: 0.4348 -> 0.4121 (deboost -0.0227, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling84453predicted_AB: 3.3020 -> 4.0000 (boost 0.6980, better)predicted_SO: 1.3058 -> 1.0000 (deboost -0.3058, better)AB rounded to 4 (raw=3.30), rates preserved: AVG=0.242 HR/AB=0.043
6consistency_constraints11010predicted_R: 0.5973 -> 1.0000 (boost 0.4027, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63324predicted_SO: 1.0000 -> 1.3961 (boost 0.3961, worse)predicted_BB: 1.0000 -> 0.5034 (deboost -0.4966, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63342predicted_BB: 0.5034 -> 1.0000 (boost 0.4966, better)predicted_SO: 1.3961 -> 1.0000 (deboost -0.3961, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2577 -> 0.2100 (deboost -0.0477, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21102predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2100 -> 0.2577 (boost 0.0477, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691019",
  "player_name": "Kyle Teel",
  "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.079,
        "predicted_3B": 0.0,
        "predicted_AB": 3.3,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.447,
        "predicted_H": 0.84,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.373,
        "predicted_R": 0.526,
        "predicted_RBI": 0.68,
        "predicted_SLG": 0.457,
        "predicted_SO": 1.342
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.0008,
        "predicted_AB": 3.302,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.457,
        "predicted_H": 0.832,
        "predicted_HBP": 0.176,
        "predicted_HR": 0.1396,
        "predicted_OBP": 0.3683,
        "predicted_R": 0.575,
        "predicted_RBI": 0.6995,
        "predicted_SLG": 0.4348,
        "predicted_SO": 1.3153
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.079,
          "after": 0.081,
          "delta": 0.002,
          "percent_delta": 0.0253,
          "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.3,
          "after": 3.302,
          "delta": 0.002,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.251,
          "delta": -0.002,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.447,
          "after": 0.457,
          "delta": 0.01,
          "percent_delta": 0.0224,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.84,
          "after": 0.832,
          "delta": -0.008,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1396,
          "delta": -0.0004,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.373,
          "after": 0.3683,
          "delta": -0.0047,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.526,
          "after": 0.575,
          "delta": 0.049,
          "percent_delta": 0.0932,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.68,
          "after": 0.6995,
          "delta": 0.0195,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.457,
          "after": 0.4348,
          "delta": -0.0222,
          "percent_delta": -0.0486,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.342,
          "after": 1.3153,
          "delta": -0.0267,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.457,
          "after": 0.4348,
          "delta": -0.0222,
          "percent_delta": -0.0486,
          "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": 38
      }
    },
    {
      "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.0008,
        "predicted_AB": 3.302,
        "predicted_AVG": 0.2577,
        "predicted_BB": 0.4603,
        "predicted_H": 0.8508,
        "predicted_HBP": 0.176,
        "predicted_HR": 0.1425,
        "predicted_OBP": 0.3485,
        "predicted_R": 0.5973,
        "predicted_RBI": 0.7266,
        "predicted_SLG": 0.4121,
        "predicted_SO": 1.3058
      },
      "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.0008,
          "after": 0.0008,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.302,
          "after": 3.302,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.2577,
          "delta": 0.0067,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.457,
          "after": 0.4603,
          "delta": 0.0033,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.832,
          "after": 0.8508,
          "delta": 0.0188,
          "percent_delta": 0.0226,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.176,
          "after": 0.176,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1396,
          "after": 0.1425,
          "delta": 0.0029,
          "percent_delta": 0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3683,
          "after": 0.3485,
          "delta": -0.0198,
          "percent_delta": -0.0538,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.575,
          "after": 0.5973,
          "delta": 0.0223,
          "percent_delta": 0.0388,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6995,
          "after": 0.7266,
          "delta": 0.0271,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4348,
          "after": 0.4121,
          "delta": -0.0227,
          "percent_delta": -0.0522,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3153,
          "after": 1.3058,
          "delta": -0.0095,
          "percent_delta": -0.0072,
          "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.251,
          "after": 0.2577,
          "delta": 0.0067,
          "percent_delta": 0.0267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4348,
          "after": 0.4121,
          "delta": -0.0227,
          "percent_delta": -0.0522,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.30), rates preserved: AVG=0.242 HR/AB=0.043",
      "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.081,
          "after": 0.0,
          "delta": -0.081,
          "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.302,
          "after": 4.0,
          "delta": 0.698,
          "percent_delta": 0.2114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4603,
          "after": 1.0,
          "delta": 0.5397,
          "percent_delta": 1.1725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8508,
          "after": 1.0,
          "delta": 0.1492,
          "percent_delta": 0.1754,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.176,
          "after": 0.0,
          "delta": -0.176,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1425,
          "after": 0.0,
          "delta": -0.1425,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7266,
          "after": 1.0,
          "delta": 0.2734,
          "percent_delta": 0.3763,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3058,
          "after": 1.0,
          "delta": -0.3058,
          "percent_delta": -0.2342,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 5,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.302,
          "after": 4.0,
          "delta": 0.698,
          "percent_delta": 0.2114,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.3058,
          "after": 1.0,
          "delta": -0.3058,
          "percent_delta": -0.2342,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "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.5973,
          "after": 1.0,
          "delta": 0.4027,
          "percent_delta": 0.6742,
          "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.5973,
          "after": 1.0,
          "delta": 0.4027,
          "percent_delta": 0.6742,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1466,
        "predicted_3B": 0.0117,
        "predicted_BB": 0.5034,
        "predicted_H": 0.7473,
        "predicted_HR": 0.1453,
        "predicted_RBI": 0.5513,
        "predicted_SO": 1.3961
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1466,
          "delta": 0.1466,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0117,
          "delta": 0.0117,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5034,
          "delta": -0.4966,
          "percent_delta": -0.4966,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7473,
          "delta": -0.2527,
          "percent_delta": -0.2527,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1453,
          "delta": 0.1453,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5513,
          "delta": -0.4487,
          "percent_delta": -0.4487,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3961,
          "delta": 0.3961,
          "percent_delta": 0.3961,
          "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": 1.0,
          "after": 1.3961,
          "delta": 0.3961,
          "percent_delta": 0.3961,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5034,
          "delta": -0.4966,
          "percent_delta": -0.4966,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1466,
          "after": 0.0,
          "delta": -0.1466,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0117,
          "after": 0.0,
          "delta": -0.0117,
          "percent_delta": -1.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_BB",
          "before": 0.5034,
          "after": 1.0,
          "delta": 0.4966,
          "percent_delta": 0.9865,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7473,
          "after": 1.0,
          "delta": 0.2527,
          "percent_delta": 0.3382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1453,
          "after": 0.0,
          "delta": -0.1453,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5513,
          "after": 1.0,
          "delta": 0.4487,
          "percent_delta": 0.8139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3961,
          "after": 1.0,
          "delta": -0.3961,
          "percent_delta": -0.2837,
          "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.5034,
          "after": 1.0,
          "delta": 0.4966,
          "percent_delta": 0.9865,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.3961,
          "after": 1.0,
          "delta": -0.3961,
          "percent_delta": -0.2837,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.21,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.21,
          "delta": -0.0477,
          "percent_delta": -0.1851,
          "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.3485,
          "after": 0.313,
          "delta": -0.0355,
          "percent_delta": -0.1019,
          "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.4121,
          "after": 0.38,
          "delta": -0.0321,
          "percent_delta": -0.0779,
          "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.2577,
          "after": 0.21,
          "delta": -0.0477,
          "percent_delta": -0.1851,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_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": 11,
      "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.2577,
        "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.3485,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4121,
        "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.21,
          "after": 0.2577,
          "delta": 0.0477,
          "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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.3485,
          "delta": 0.0355,
          "percent_delta": 0.1134,
          "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.38,
          "after": 0.4121,
          "delta": 0.0321,
          "percent_delta": 0.0845,
          "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_AVG",
          "before": 0.21,
          "after": 0.2577,
          "delta": 0.0477,
          "percent_delta": 0.227,
          "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.079,
        "after": 0.0,
        "delta": -0.079,
        "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.3,
        "after": 4.0,
        "delta": 0.7,
        "percent_delta": 0.2121,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.253,
        "after": 0.2577,
        "delta": 0.0047,
        "percent_delta": 0.0186,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.447,
        "after": 0.0,
        "delta": -0.447,
        "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.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.373,
        "after": 0.3485,
        "delta": -0.0245,
        "percent_delta": -0.0657,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.526,
        "after": 1.0,
        "delta": 0.474,
        "percent_delta": 0.9011,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.68,
        "after": 1.0,
        "delta": 0.32,
        "percent_delta": 0.4706,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.457,
        "after": 0.4121,
        "delta": -0.0449,
        "percent_delta": -0.0982,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.342,
        "after": 2.0,
        "delta": 0.658,
        "percent_delta": 0.4903,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.3,
        "after": 4.0,
        "delta": 0.7,
        "percent_delta": 0.2121,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.447,
        "after": 0.0,
        "delta": -0.447,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.079-
predicted_3B0.000-
predicted_AB3.300-
predicted_AVG0.253-
predicted_BB0.447-
predicted_H0.840-
predicted_HR0.140-
predicted_OBP0.373-
predicted_R0.526-
predicted_RBI0.680-
predicted_SLG0.457-
predicted_SO1.342-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0810.002
predicted_3B0.0010.001
predicted_AB3.3020.002
predicted_AVG0.251-0.002
predicted_BB0.4570.010
predicted_H0.832-0.008
predicted_HBP0.176-
predicted_HR0.140-0.000
predicted_OBP0.368-0.005
predicted_R0.5750.049
predicted_RBI0.7000.019
predicted_SLG0.435-0.022
predicted_SO1.315-0.027
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0810.000
predicted_3B0.0010.000
predicted_AB3.3020.000
predicted_AVG0.2580.007
predicted_BB0.4600.003
predicted_H0.8510.019
predicted_HBP0.1760.000
predicted_HR0.1420.003
predicted_OBP0.348-0.020
predicted_R0.5970.022
predicted_RBI0.7270.027
predicted_SLG0.412-0.023
predicted_SO1.306-0.009
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.30), rates preserved: AVG=0.242 HR/AB=0.043

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1470.147
3B0.0120.012
BB0.503-0.497
H0.747-0.253
HR0.1450.145
RBI0.551-0.449
SO1.3960.396
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.147
3B0.000-0.012
AB4.0000.000
BB1.0000.497
H1.0000.253
HR0.000-0.145
R1.0000.000
RBI1.0000.449
SO1.000-0.396
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.081
predicted_3B0.000-0.001
predicted_AB4.0000.698
predicted_AVG0.210-0.048
predicted_BB1.0000.540
predicted_H1.0000.149
predicted_HR0.000-0.142
predicted_OBP0.313-0.035
predicted_R1.0000.403
predicted_RBI1.0000.273
predicted_SLG0.380-0.032
predicted_SO1.000-0.306
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 38
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0006.0000.0000.0001.0005.0005.0003.0006.0000.37500.50000.56250.37500.06250.31250.18750.3750
last_100.2010-34.0008.0001.0000.0001.0008.0008.0006.00015.0000.23530.38640.35290.23530.02940.23530.17650.4412
season0.6038-119.00025.0003.0000.0005.00026.00020.00017.00051.0000.21010.32620.36130.21010.04200.21850.14290.4286
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0840
predicted_3B0.0020
predicted_AB3.3050
predicted_AVG0.2481
predicted_BB0.4720
predicted_H0.8200
predicted_HBP0.1760
predicted_HR0.1390
predicted_OBP0.3612
predicted_R0.6490
predicted_RBI0.7290
predicted_SLG0.4012
predicted_SO1.2750
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07900.08400.0810model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.30003.30503.3020model_form_blend
predicted_AVG0.25300.24810.2510model_form_blend
predicted_BB0.44700.47200.4570model_form_blend
predicted_H0.84000.82000.8320model_form_blend
predicted_HBP-0.17600.1760form_only
predicted_HR0.14000.13900.1396model_form_blend
predicted_OBP0.37300.36120.3683model_form_blend
predicted_R0.52600.64900.5750model_form_blend
predicted_RBI0.68000.72900.6995model_form_blend
predicted_SLG0.45700.40120.4348model_form_blend
predicted_SO1.34201.27501.3153model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date115
Season rows before report date115
Report year2026
Profile rows used38
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R1
RBI1
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB2
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260926_COL@CHW
game_typefull
mlbID691019
playerID691019
playerNameKyle Teel
posC
startedTrue
startingPositionC
teamCHW
teamID6
game_date2026-09-26
sl_k_percent35.4
sl_bb_percent13.2
sl_woba0.317
sl_xwoba0.321
sl_xba0.211
sl_xslg0.375
sl_sweet_spot_percent41.4
sl_barrel_batted_rate11.4
sl_hard_hit_percent47.1
sl_exit_velocity_avg85.7
sl_launch_angle_avg13.6
sl_whiff_percent35.6
sl_swing_percent45.4
Andrew Benintendi (643217) · BATTER · DH · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 452
All-history rows before 20260929: 452
System season_avg: 0.2400
Data season_avg (2026 season-to-date): 0.2618
Diff (system - data): -0.0218
System opponent_avg: 0.0870
System season_avg diverges from 2026 season-to-date by -0.0218. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1701.0000.000Hitting_2B0.2210.0000.7791.000
predicted_3B0.0140.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB2.9864.0003.000Hitting_AB3.4562.0000.5442.000
predicted_AVG0.2240.2500.000Hitting_AVG0.2620.500-0.012-0.250
predicted_BB0.2770.0000.000Hitting_BB0.3191.000-0.319-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3601.0000.000Hitting_H0.9051.0000.0950.000
predicted_HR0.1100.0000.000Hitting_HR0.1261.000-0.126-1.000
predicted_OBP0.2940.2500.000Hitting_OBP0.3210.667-0.071-0.417
predicted_R0.4111.0000.000Hitting_R0.5241.0000.4760.000
predicted_RBI0.5602.0001.000Hitting_RBI0.6243.0001.376-1.000
predicted_SLG0.4370.5000.000Hitting_SLG0.4462.0000.054-1.500
predicted_SO0.7940.0001.000Hitting_SO0.8410.000-0.8410.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_RBI: 0.5600 -> 2.0000 (boost 1.4400, better)
Biggest Deboostpredicted_SO: 0.7940 -> 0.0000 (deboost -0.7940, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43122predicted_H: 0.3600 -> 0.4815 (boost 0.1215, better)predicted_SLG: 0.4370 -> 0.4204 (deboost -0.0166, 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.
3team_form_snapshot30303-predicted_SLG: 0.4204 -> 0.3463 (deboost -0.0741, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_H: 0.4924 -> 1.0000 (boost 0.5076, better)predicted_BB: 0.3138 -> 0.0000 (deboost -0.3138, worse)AB rounded to 3 (raw=2.99), rates preserved: AVG=0.155 HR/AB=0.040
6consistency_constraints10101-predicted_R: 0.4000 -> 0.0000 (deboost -0.4000, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3710 (boost 0.3710, better)predicted_RBI: 1.0000 -> 0.5365 (deboost -0.4635, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_RBI: 0.5365 -> 1.0000 (boost 0.4635, better)predicted_H: 0.7093 -> 0.0000 (deboost -0.7093, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference54150predicted_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
11current_json_final30303-predicted_OBP: 0.3020 -> 0.2481 (deboost -0.0539, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "643217",
  "player_name": "Andrew Benintendi",
  "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.17,
        "predicted_3B": 0.014,
        "predicted_AB": 2.986,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.277,
        "predicted_H": 0.36,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.294,
        "predicted_R": 0.411,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.437,
        "predicted_SO": 0.794
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1397,
        "predicted_3B": 0.0114,
        "predicted_AB": 2.9363,
        "predicted_AVG": 0.2237,
        "predicted_BB": 0.3116,
        "predicted_H": 0.4815,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1182,
        "predicted_OBP": 0.2974,
        "predicted_R": 0.3851,
        "predicted_RBI": 0.662,
        "predicted_SLG": 0.4204,
        "predicted_SO": 0.8653
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.17,
          "after": 0.1397,
          "delta": -0.0303,
          "percent_delta": -0.1782,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0114,
          "delta": -0.0026,
          "percent_delta": -0.1857,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.986,
          "after": 2.9363,
          "delta": -0.0497,
          "percent_delta": -0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.2237,
          "delta": -0.0003,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.277,
          "after": 0.3116,
          "delta": 0.0346,
          "percent_delta": 0.1249,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.4815,
          "delta": 0.1215,
          "percent_delta": 0.3375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1182,
          "delta": 0.0082,
          "percent_delta": 0.0745,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.2974,
          "delta": 0.0034,
          "percent_delta": 0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.411,
          "after": 0.3851,
          "delta": -0.0259,
          "percent_delta": -0.063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.56,
          "after": 0.662,
          "delta": 0.102,
          "percent_delta": 0.1821,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.437,
          "after": 0.4204,
          "delta": -0.0166,
          "percent_delta": -0.038,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.794,
          "after": 0.8653,
          "delta": 0.0713,
          "percent_delta": 0.0898,
          "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_H",
          "before": 0.36,
          "after": 0.4815,
          "delta": 0.1215,
          "percent_delta": 0.3375,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.437,
          "after": 0.4204,
          "delta": -0.0166,
          "percent_delta": -0.038,
          "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": 141
      }
    },
    {
      "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.1397,
        "predicted_3B": 0.0114,
        "predicted_AB": 2.9363,
        "predicted_AVG": 0.1677,
        "predicted_BB": 0.3138,
        "predicted_H": 0.4924,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1206,
        "predicted_OBP": 0.2481,
        "predicted_R": 0.4,
        "predicted_RBI": 0.6876,
        "predicted_SLG": 0.3463,
        "predicted_SO": 0.8591
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1397,
          "after": 0.1397,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0114,
          "after": 0.0114,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9363,
          "after": 2.9363,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2237,
          "after": 0.1677,
          "delta": -0.056,
          "percent_delta": -0.2503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3116,
          "after": 0.3138,
          "delta": 0.0022,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4815,
          "after": 0.4924,
          "delta": 0.0109,
          "percent_delta": 0.0226,
          "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.1182,
          "after": 0.1206,
          "delta": 0.0024,
          "percent_delta": 0.0203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2974,
          "after": 0.2481,
          "delta": -0.0493,
          "percent_delta": -0.1658,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3851,
          "after": 0.4,
          "delta": 0.0149,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.662,
          "after": 0.6876,
          "delta": 0.0256,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4204,
          "after": 0.3463,
          "delta": -0.0741,
          "percent_delta": -0.1763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8653,
          "after": 0.8591,
          "delta": -0.0062,
          "percent_delta": -0.0072,
          "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.4204,
          "after": 0.3463,
          "delta": -0.0741,
          "percent_delta": -0.1763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.99), rates preserved: AVG=0.155 HR/AB=0.040",
      "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.1397,
          "after": 0.0,
          "delta": -0.1397,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0114,
          "after": 0.0,
          "delta": -0.0114,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9363,
          "after": 3.0,
          "delta": 0.0637,
          "percent_delta": 0.0217,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3138,
          "after": 0.0,
          "delta": -0.3138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4924,
          "after": 1.0,
          "delta": 0.5076,
          "percent_delta": 1.0309,
          "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.1206,
          "after": 0.0,
          "delta": -0.1206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6876,
          "after": 1.0,
          "delta": 0.3124,
          "percent_delta": 0.4543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8591,
          "after": 1.0,
          "delta": 0.1409,
          "percent_delta": 0.164,
          "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.4924,
          "after": 1.0,
          "delta": 0.5076,
          "percent_delta": 1.0309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3138,
          "after": 0.0,
          "delta": -0.3138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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": 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.4,
          "after": 0.0,
          "delta": -0.4,
          "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.4,
          "after": 0.0,
          "delta": -0.4,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1545,
        "predicted_3B": 0.0131,
        "predicted_BB": 0.371,
        "predicted_H": 0.7093,
        "predicted_HR": 0.1303,
        "predicted_RBI": 0.5365,
        "predicted_SO": 0.9421
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1545,
          "delta": 0.1545,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0131,
          "delta": 0.0131,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.371,
          "delta": 0.371,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7093,
          "delta": -0.2907,
          "percent_delta": -0.2907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1303,
          "delta": 0.1303,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5365,
          "delta": -0.4635,
          "percent_delta": -0.4635,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9421,
          "delta": -0.0579,
          "percent_delta": -0.0579,
          "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": 0.371,
          "delta": 0.371,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5365,
          "delta": -0.4635,
          "percent_delta": -0.4635,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1545,
          "after": 0.0,
          "delta": -0.1545,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0131,
          "after": 0.0,
          "delta": -0.0131,
          "percent_delta": -1.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_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.7093,
          "after": 0.0,
          "delta": -0.7093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1303,
          "after": 0.0,
          "delta": -0.1303,
          "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.5365,
          "after": 1.0,
          "delta": 0.4635,
          "percent_delta": 0.8639,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9421,
          "after": 1.0,
          "delta": 0.0579,
          "percent_delta": 0.0615,
          "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.5365,
          "after": 1.0,
          "delta": 0.4635,
          "percent_delta": 0.8639,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7093,
          "after": 0.0,
          "delta": -0.7093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.217,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1677,
          "after": 0.217,
          "delta": 0.0493,
          "percent_delta": 0.294,
          "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": 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_OBP",
          "before": 0.2481,
          "after": 0.302,
          "delta": 0.0539,
          "percent_delta": 0.2173,
          "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.3463,
          "after": 0.392,
          "delta": 0.0457,
          "percent_delta": 0.132,
          "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": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 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": 11,
      "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.1677,
        "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.2481,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3463,
        "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.217,
          "after": 0.1677,
          "delta": -0.0493,
          "percent_delta": -0.2272,
          "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.302,
          "after": 0.2481,
          "delta": -0.0539,
          "percent_delta": -0.1786,
          "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.392,
          "after": 0.3463,
          "delta": -0.0457,
          "percent_delta": -0.1167,
          "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.302,
          "after": 0.2481,
          "delta": -0.0539,
          "percent_delta": -0.1786,
          "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.17,
        "after": 1.0,
        "delta": 0.83,
        "percent_delta": 4.8824,
        "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": 2.986,
        "after": 4.0,
        "delta": 1.014,
        "percent_delta": 0.3396,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.224,
        "after": 0.1677,
        "delta": -0.0563,
        "percent_delta": -0.2513,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.277,
        "after": 0.0,
        "delta": -0.277,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.36,
        "after": 1.0,
        "delta": 0.64,
        "percent_delta": 1.7778,
        "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.294,
        "after": 0.2481,
        "delta": -0.0459,
        "percent_delta": -0.1561,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.411,
        "after": 1.0,
        "delta": 0.589,
        "percent_delta": 1.4331,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 2.0,
        "delta": 1.44,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.437,
        "after": 0.3463,
        "delta": -0.0907,
        "percent_delta": -0.2076,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.794,
        "after": 0.0,
        "delta": -0.794,
        "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.56,
        "after": 2.0,
        "delta": 1.44,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.794,
        "after": 0.0,
        "delta": -0.794,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.170-
predicted_3B0.014-
predicted_AB2.986-
predicted_AVG0.224-
predicted_BB0.277-
predicted_H0.360-
predicted_HR0.110-
predicted_OBP0.294-
predicted_R0.411-
predicted_RBI0.560-
predicted_SLG0.437-
predicted_SO0.794-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.140-0.030
predicted_3B0.011-0.003
predicted_AB2.936-0.050
predicted_AVG0.224-0.000
predicted_BB0.3120.035
predicted_H0.4810.121
predicted_HBP0.005-
predicted_HR0.1180.008
predicted_OBP0.2970.003
predicted_R0.385-0.026
predicted_RBI0.6620.102
predicted_SLG0.420-0.017
predicted_SO0.8650.071
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1400.000
predicted_3B0.0110.000
predicted_AB2.9360.000
predicted_AVG0.168-0.056
predicted_BB0.3140.002
predicted_H0.4920.011
predicted_HBP0.0050.000
predicted_HR0.1210.002
predicted_OBP0.248-0.049
predicted_R0.4000.015
predicted_RBI0.6880.026
predicted_SLG0.346-0.074
predicted_SO0.859-0.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.99), rates preserved: AVG=0.155 HR/AB=0.040

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1540.154
3B0.0130.013
BB0.3710.371
H0.709-0.291
HR0.1300.130
RBI0.536-0.464
SO0.942-0.058
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.154
3B0.000-0.013
AB3.0000.000
BB0.000-0.371
H0.000-0.709
HR0.000-0.130
R0.0000.000
RBI1.0000.464
SO1.0000.058
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.140
predicted_3B0.000-0.011
predicted_AB3.0000.064
predicted_AVG0.2170.049
predicted_BB0.000-0.314
predicted_H1.0000.508
predicted_HR0.000-0.121
predicted_OBP0.3020.054
predicted_R0.000-0.400
predicted_RBI1.0000.312
predicted_SLG0.3920.046
predicted_SO1.0000.141
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI2.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 141
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0002.0000.0000.0001.0007.0001.0003.0006.0000.16670.31250.41670.16670.08330.58330.25000.5000
last_100.2010-27.0006.0000.0000.0001.0008.0003.0003.00011.0000.22220.29030.33330.22220.03700.29630.11110.4074
season0.60141-421.000101.00024.0002.00015.00078.00058.00039.000112.0000.23990.30190.41330.23990.03560.18530.09260.2660
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1000
predicted_3B0.0080
predicted_AB2.8710
predicted_AVG0.2233
predicted_BB0.3570
predicted_H0.6410
predicted_HBP0.0050
predicted_HR0.1290
predicted_OBP0.3019
predicted_R0.3510
predicted_RBI0.7960
predicted_SLG0.3986
predicted_SO0.9590
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17000.10000.1397model_form_blend
predicted_3B0.01400.00800.0114model_form_blend
predicted_AB2.98602.87102.9363model_form_blend
predicted_AVG0.22400.22330.2237model_form_blend
predicted_BB0.27700.35700.3116model_form_blend
predicted_H0.36000.64100.4815model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.11000.12900.1182model_form_blend
predicted_OBP0.29400.30190.2974model_form_blend
predicted_R0.41100.35100.3851model_form_blend
predicted_RBI0.56000.79600.6620model_form_blend
predicted_SLG0.43700.39860.4204model_form_blend
predicted_SO0.79400.95900.8653model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date452
Season rows before report date452
Report year2026
Profile rows used141
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B1
3B0
HR0
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder2
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-DH
gameID20260926_COL@CHW
game_typeph
mlbID643217
noteWalked for Pham in the 5th.
playerID643217
playerNameAndrew Benintendi
posDH
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-09-26
sl_k_percent23.9
sl_bb_percent8.3
sl_woba0.311
sl_xwoba0.307
sl_xba0.24
sl_xslg0.398
sl_sweet_spot_percent36.4
sl_barrel_batted_rate8.6
sl_hard_hit_percent45.1
sl_exit_velocity_avg89.3
sl_launch_angle_avg17.3
sl_whiff_percent28.3
sl_swing_percent51.8
Chase Meidroth (805367) · BATTER · 2B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 620
All-history rows before 20260929: 620
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2779
Diff (system - data): -0.0019
System opponent_avg: 0.3040

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2030.0000.000Hitting_2B0.2051.000-0.205-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6994.0003.000Hitting_AB3.7732.0000.2272.000
predicted_AVG0.3060.0000.333Hitting_AVG0.2780.500-0.278-0.500
predicted_BB0.3920.0000.000Hitting_BB0.4350.000-0.4350.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H0.5500.0001.000Hitting_H1.0481.000-1.048-1.000
predicted_HR0.0800.0000.000Hitting_HR0.1130.000-0.1130.000
predicted_OBP0.3930.0000.333Hitting_OBP0.3560.500-0.356-0.500
predicted_R0.5880.0001.000Hitting_R0.6260.000-0.6260.000
predicted_RBI0.3100.0000.000Hitting_RBI0.4290.000-0.4290.000
predicted_SB-0.0000.000BaseRunning_SB0.0260.000-0.0260.000
predicted_SLG0.5590.0000.333Hitting_SLG0.4221.000-0.422-1.000
predicted_SO0.9221.0001.000Hitting_SO0.9390.0000.0611.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_AB: 3.6990 -> 4.0000 (boost 0.3010, better)
Biggest Deboostpredicted_R: 0.5880 -> 0.0000 (deboost -0.5880, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_H: 0.5500 -> 0.8602 (boost 0.3102, 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.
3team_form_snapshot30303-predicted_SLG: 0.5619 -> 0.4056 (deboost -0.1563, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.8772 -> 1.0000 (boost 0.1228, worse)predicted_AB: 3.6929 -> 3.0000 (deboost -0.6929, worse)AB rounded to 3 (raw=3.70), rates preserved: AVG=0.224 HR/AB=0.034
6consistency_constraints11010predicted_R: 0.6725 -> 1.0000 (boost 0.3275, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.3967 (boost 0.3967, better)predicted_H: 1.0000 -> 0.7801 (deboost -0.2199, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_H: 0.7801 -> 1.0000 (boost 0.2199, better)predicted_BB: 0.3967 -> 0.0000 (deboost -0.3967, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context31212predicted_OBP: 0.3059 -> 0.3190 (boost 0.0131, better)predicted_SLG: 0.4056 -> 0.3820 (deboost -0.0236, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference31212predicted_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
11current_json_final32121predicted_SLG: 0.3820 -> 0.4056 (boost 0.0236, better)predicted_OBP: 0.3190 -> 0.3059 (deboost -0.0131, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "805367",
  "player_name": "Chase Meidroth",
  "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.203,
        "predicted_3B": 0.0,
        "predicted_AB": 3.699,
        "predicted_AVG": 0.306,
        "predicted_BB": 0.392,
        "predicted_H": 0.55,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.393,
        "predicted_R": 0.588,
        "predicted_RBI": 0.31,
        "predicted_SLG": 0.559,
        "predicted_SO": 0.922
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.2358,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6929,
        "predicted_AVG": 0.3217,
        "predicted_BB": 0.3575,
        "predicted_H": 0.8602,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.1246,
        "predicted_OBP": 0.3962,
        "predicted_R": 0.6474,
        "predicted_RBI": 0.4725,
        "predicted_SLG": 0.5619,
        "predicted_SO": 0.8836
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.203,
          "after": 0.2358,
          "delta": 0.0328,
          "percent_delta": 0.1616,
          "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.699,
          "after": 3.6929,
          "delta": -0.0061,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.306,
          "after": 0.3217,
          "delta": 0.0157,
          "percent_delta": 0.0513,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.392,
          "after": 0.3575,
          "delta": -0.0345,
          "percent_delta": -0.088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.55,
          "after": 0.8602,
          "delta": 0.3102,
          "percent_delta": 0.564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.1246,
          "delta": 0.0446,
          "percent_delta": 0.5575,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.393,
          "after": 0.3962,
          "delta": 0.0032,
          "percent_delta": 0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.588,
          "after": 0.6474,
          "delta": 0.0594,
          "percent_delta": 0.101,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.31,
          "after": 0.4725,
          "delta": 0.1625,
          "percent_delta": 0.5242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.559,
          "after": 0.5619,
          "delta": 0.0029,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.922,
          "after": 0.8836,
          "delta": -0.0384,
          "percent_delta": -0.0416,
          "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.55,
          "after": 0.8602,
          "delta": 0.3102,
          "percent_delta": 0.564,
          "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": 153
      }
    },
    {
      "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.2358,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6929,
        "predicted_AVG": 0.2382,
        "predicted_BB": 0.3601,
        "predicted_H": 0.8796,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.1272,
        "predicted_OBP": 0.3059,
        "predicted_R": 0.6725,
        "predicted_RBI": 0.4908,
        "predicted_SLG": 0.4056,
        "predicted_SO": 0.8772
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2358,
          "after": 0.2358,
          "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.6929,
          "after": 3.6929,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3217,
          "after": 0.2382,
          "delta": -0.0835,
          "percent_delta": -0.2596,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3575,
          "after": 0.3601,
          "delta": 0.0026,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8602,
          "after": 0.8796,
          "delta": 0.0194,
          "percent_delta": 0.0226,
          "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.1246,
          "after": 0.1272,
          "delta": 0.0026,
          "percent_delta": 0.0209,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3962,
          "after": 0.3059,
          "delta": -0.0903,
          "percent_delta": -0.2279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6474,
          "after": 0.6725,
          "delta": 0.0251,
          "percent_delta": 0.0388,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4725,
          "after": 0.4908,
          "delta": 0.0183,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5619,
          "after": 0.4056,
          "delta": -0.1563,
          "percent_delta": -0.2782,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8836,
          "after": 0.8772,
          "delta": -0.0064,
          "percent_delta": -0.0072,
          "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.5619,
          "after": 0.4056,
          "delta": -0.1563,
          "percent_delta": -0.2782,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.70), rates preserved: AVG=0.224 HR/AB=0.034",
      "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.2358,
          "after": 0.0,
          "delta": -0.2358,
          "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.6929,
          "after": 3.0,
          "delta": -0.6929,
          "percent_delta": -0.1876,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3601,
          "after": 0.0,
          "delta": -0.3601,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8796,
          "after": 1.0,
          "delta": 0.1204,
          "percent_delta": 0.1369,
          "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.1272,
          "after": 0.0,
          "delta": -0.1272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4908,
          "after": 0.0,
          "delta": -0.4908,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8772,
          "after": 1.0,
          "delta": 0.1228,
          "percent_delta": 0.14,
          "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.8772,
          "after": 1.0,
          "delta": 0.1228,
          "percent_delta": 0.14,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6929,
          "after": 3.0,
          "delta": -0.6929,
          "percent_delta": -0.1876,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.6725,
          "after": 1.0,
          "delta": 0.3275,
          "percent_delta": 0.487,
          "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.6725,
          "after": 1.0,
          "delta": 0.3275,
          "percent_delta": 0.487,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1502,
        "predicted_3B": 0.0076,
        "predicted_BB": 0.3967,
        "predicted_H": 0.7801,
        "predicted_HR": 0.1118,
        "predicted_RBI": 0.3862,
        "predicted_SO": 0.9277
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1502,
          "delta": 0.1502,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0076,
          "delta": 0.0076,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3967,
          "delta": 0.3967,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7801,
          "delta": -0.2199,
          "percent_delta": -0.2199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1118,
          "delta": 0.1118,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3862,
          "delta": 0.3862,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9277,
          "delta": -0.0723,
          "percent_delta": -0.0723,
          "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": 0.3967,
          "delta": 0.3967,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7801,
          "delta": -0.2199,
          "percent_delta": -0.2199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1502,
          "after": 0.0,
          "delta": -0.1502,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0076,
          "after": 0.0,
          "delta": -0.0076,
          "percent_delta": -1.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_BB",
          "before": 0.3967,
          "after": 0.0,
          "delta": -0.3967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7801,
          "after": 1.0,
          "delta": 0.2199,
          "percent_delta": 0.2819,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1118,
          "after": 0.0,
          "delta": -0.1118,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3862,
          "after": 0.0,
          "delta": -0.3862,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9277,
          "after": 1.0,
          "delta": 0.0723,
          "percent_delta": 0.0779,
          "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.7801,
          "after": 1.0,
          "delta": 0.2199,
          "percent_delta": 0.2819,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3967,
          "after": 0.0,
          "delta": -0.3967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.233,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.382,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2382,
          "after": 0.233,
          "delta": -0.0052,
          "percent_delta": -0.0218,
          "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.3059,
          "after": 0.319,
          "delta": 0.0131,
          "percent_delta": 0.0428,
          "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.4056,
          "after": 0.382,
          "delta": -0.0236,
          "percent_delta": -0.0582,
          "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.3059,
          "after": 0.319,
          "delta": 0.0131,
          "percent_delta": 0.0428,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4056,
          "after": 0.382,
          "delta": -0.0236,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 11,
      "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.2382,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3059,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4056,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.233,
          "after": 0.2382,
          "delta": 0.0052,
          "percent_delta": 0.0223,
          "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.319,
          "after": 0.3059,
          "delta": -0.0131,
          "percent_delta": -0.0411,
          "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.382,
          "after": 0.4056,
          "delta": 0.0236,
          "percent_delta": 0.0617,
          "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.382,
          "after": 0.4056,
          "delta": 0.0236,
          "percent_delta": 0.0617,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3059,
          "delta": -0.0131,
          "percent_delta": -0.0411,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.203,
        "after": 0.0,
        "delta": -0.203,
        "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.699,
        "after": 4.0,
        "delta": 0.301,
        "percent_delta": 0.0814,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.306,
        "after": 0.2382,
        "delta": -0.0678,
        "percent_delta": -0.2216,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.392,
        "after": 0.0,
        "delta": -0.392,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.55,
        "after": 0.0,
        "delta": -0.55,
        "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.393,
        "after": 0.3059,
        "delta": -0.0871,
        "percent_delta": -0.2216,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.588,
        "after": 0.0,
        "delta": -0.588,
        "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.559,
        "after": 0.4056,
        "delta": -0.1534,
        "percent_delta": -0.2744,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.922,
        "after": 1.0,
        "delta": 0.078,
        "percent_delta": 0.0846,
        "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.699,
        "after": 4.0,
        "delta": 0.301,
        "percent_delta": 0.0814,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.588,
        "after": 0.0,
        "delta": -0.588,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.203-
predicted_3B0.000-
predicted_AB3.699-
predicted_AVG0.306-
predicted_BB0.392-
predicted_H0.550-
predicted_HR0.080-
predicted_OBP0.393-
predicted_R0.588-
predicted_RBI0.310-
predicted_SLG0.559-
predicted_SO0.922-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2360.033
predicted_3B0.0000.000
predicted_AB3.693-0.006
predicted_AVG0.3220.016
predicted_BB0.357-0.035
predicted_H0.8600.310
predicted_HBP0.043-
predicted_HR0.1250.045
predicted_OBP0.3960.003
predicted_R0.6470.059
predicted_RBI0.4720.162
predicted_SLG0.5620.003
predicted_SO0.884-0.038
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2360.000
predicted_3B0.0000.000
predicted_AB3.6930.000
predicted_AVG0.238-0.083
predicted_BB0.3600.003
predicted_H0.8800.019
predicted_HBP0.0430.000
predicted_HR0.1270.003
predicted_OBP0.306-0.090
predicted_R0.6720.025
predicted_RBI0.4910.018
predicted_SLG0.406-0.156
predicted_SO0.877-0.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.70), rates preserved: AVG=0.224 HR/AB=0.034

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1500.150
3B0.0080.008
BB0.3970.397
H0.780-0.220
HR0.1120.112
RBI0.3860.386
SO0.928-0.072
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.150
3B0.000-0.008
AB3.0000.000
BB0.000-0.397
H1.0000.220
HR0.000-0.112
R1.0000.000
RBI0.000-0.386
SO1.0000.072
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.236
predicted_3B0.000-0.000
predicted_AB3.000-0.693
predicted_AVG0.233-0.005
predicted_BB0.000-0.360
predicted_H1.0000.120
predicted_HR0.000-0.127
predicted_OBP0.3190.013
predicted_R1.0000.328
predicted_RBI0.000-0.491
predicted_SLG0.382-0.024
predicted_SO1.0000.123
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 153
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0009.0002.0000.0002.0007.0005.0001.0004.0000.50000.52630.94440.50000.11110.38890.05560.2222
last_100.2010-37.00015.0004.0000.0002.0008.0009.0002.0006.0000.40540.45000.67570.40540.05410.21620.05410.1622
season0.60153-566.000156.00031.0000.00016.00063.00090.00060.000141.0000.27560.34910.41520.27560.02830.11130.10600.2491
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2780
predicted_3B0.0010
predicted_AB3.6850
predicted_AVG0.3420
predicted_BB0.3130
predicted_H1.2600
predicted_HBP0.0430
predicted_HR0.1820
predicted_OBP0.4003
predicted_R0.7240
predicted_RBI0.6820
predicted_SLG0.5657
predicted_SO0.8340
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20300.27800.2358model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.69903.68503.6929model_form_blend
predicted_AVG0.30600.34200.3217model_form_blend
predicted_BB0.39200.31300.3575model_form_blend
predicted_H0.55001.26000.8602model_form_blend
predicted_HBP-0.04300.0430form_only
predicted_HR0.08000.18200.1246model_form_blend
predicted_OBP0.39300.40030.3962model_form_blend
predicted_R0.58800.72400.6474model_form_blend
predicted_RBI0.31000.68200.4725model_form_blend
predicted_SLG0.55900.56570.5619model_form_blend
predicted_SO0.92200.83400.8836model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date620
Season rows before report date620
Report year2026
Profile rows used153
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder5
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-2B
gameID20260926_COL@CHW
game_typeph
mlbID805367
noteDoubled for Montgomery, B in the 8th.
playerID805367
playerNameChase Meidroth
pos2B
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-09-26
sl_k_percent21.9
sl_bb_percent9.5
sl_woba0.339
sl_xwoba0.301
sl_xba0.239
sl_xslg0.348
sl_sweet_spot_percent34.1
sl_barrel_batted_rate4.6
sl_hard_hit_percent34.6
sl_exit_velocity_avg87.2
sl_launch_angle_avg8.5
sl_whiff_percent19.7
sl_swing_percent42.0
Colson Montgomery (695657) · BATTER · SS · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 610
All-history rows before 20260929: 610
System season_avg: 0.1970
Data season_avg (2026 season-to-date): 0.2058
Diff (system - data): -0.0088
System opponent_avg: 0.2270

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1570.0000.000Hitting_2B0.1740.000-0.1740.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.0304.0003.000Hitting_AB3.8234.0000.1770.000
predicted_AVG0.1580.2500.000Hitting_AVG0.2060.0000.0440.250
predicted_BB0.3530.0000.000Hitting_BB0.3740.000-0.3740.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.6401.0000.000Hitting_H0.7870.0000.2131.000
predicted_HR0.1400.0000.000Hitting_HR0.2180.000-0.2180.000
predicted_OBP0.2120.2500.000Hitting_OBP0.2910.000-0.0410.250
predicted_R0.4641.0000.000Hitting_R0.5070.0000.4931.000
predicted_RBI0.4001.0000.000Hitting_RBI0.6180.0000.3821.000
predicted_SLG0.2800.2500.000Hitting_SLG0.4220.000-0.1720.250
predicted_SO1.4840.0001.000Hitting_SO1.5052.000-1.505-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics6
Worse Metrics3
Biggest Boostpredicted_RBI: 0.4000 -> 1.0000 (boost 0.6000, better)
Biggest Deboostpredicted_SO: 1.4840 -> 0.0000 (deboost -1.4840, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 4.0300 -> 3.8325 (deboost -0.1975, 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.
3team_form_snapshot22020predicted_SLG: 0.2767 -> 0.2954 (boost 0.0187, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling80817-predicted_AB: 3.8325 -> 3.0000 (deboost -0.8325, worse)AB rounded to 3 (raw=4.03), rates preserved: AVG=0.139 HR/AB=0.033
6consistency_constraints10101-predicted_R: 0.4257 -> 0.0000 (deboost -0.4257, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine66051predicted_H: 0.0000 -> 0.6429 (boost 0.6429, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation60615-predicted_H: 0.6429 -> 0.0000 (deboost -0.6429, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context33030predicted_SLG: 0.2954 -> 0.4070 (boost 0.1116, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference54150predicted_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
11current_json_final30303-predicted_SLG: 0.4070 -> 0.2954 (deboost -0.1116, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695657",
  "player_name": "Colson Montgomery",
  "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.157,
        "predicted_3B": 0.0,
        "predicted_AB": 4.03,
        "predicted_AVG": 0.158,
        "predicted_BB": 0.353,
        "predicted_H": 0.64,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.212,
        "predicted_R": 0.464,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.28,
        "predicted_SO": 1.484
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1387,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8325,
        "predicted_AVG": 0.1508,
        "predicted_BB": 0.3071,
        "predicted_H": 0.5815,
        "predicted_HBP": 0.073,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.2099,
        "predicted_R": 0.4098,
        "predicted_RBI": 0.3987,
        "predicted_SLG": 0.2767,
        "predicted_SO": 1.5037
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.1387,
          "delta": -0.0183,
          "percent_delta": -0.1166,
          "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.03,
          "after": 3.8325,
          "delta": -0.1975,
          "percent_delta": -0.049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.158,
          "after": 0.1508,
          "delta": -0.0072,
          "percent_delta": -0.0456,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.353,
          "after": 0.3071,
          "delta": -0.0459,
          "percent_delta": -0.13,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 0.5815,
          "delta": -0.0585,
          "percent_delta": -0.0914,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.13,
          "delta": -0.01,
          "percent_delta": -0.0714,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.212,
          "after": 0.2099,
          "delta": -0.0021,
          "percent_delta": -0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.464,
          "after": 0.4098,
          "delta": -0.0542,
          "percent_delta": -0.1168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.3987,
          "delta": -0.0013,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.28,
          "after": 0.2767,
          "delta": -0.0033,
          "percent_delta": -0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.484,
          "after": 1.5037,
          "delta": 0.0197,
          "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_AB",
          "before": 4.03,
          "after": 3.8325,
          "delta": -0.1975,
          "percent_delta": -0.049,
          "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": 153
      }
    },
    {
      "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.1387,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.8325,
        "predicted_AVG": 0.1552,
        "predicted_BB": 0.3093,
        "predicted_H": 0.5946,
        "predicted_HBP": 0.073,
        "predicted_HR": 0.1327,
        "predicted_OBP": 0.2183,
        "predicted_R": 0.4257,
        "predicted_RBI": 0.4141,
        "predicted_SLG": 0.2954,
        "predicted_SO": 1.4929
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1387,
          "after": 0.1387,
          "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.8325,
          "after": 3.8325,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1508,
          "after": 0.1552,
          "delta": 0.0044,
          "percent_delta": 0.0292,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3071,
          "after": 0.3093,
          "delta": 0.0022,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5815,
          "after": 0.5946,
          "delta": 0.0131,
          "percent_delta": 0.0225,
          "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.13,
          "after": 0.1327,
          "delta": 0.0027,
          "percent_delta": 0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2099,
          "after": 0.2183,
          "delta": 0.0084,
          "percent_delta": 0.04,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4098,
          "after": 0.4257,
          "delta": 0.0159,
          "percent_delta": 0.0388,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3987,
          "after": 0.4141,
          "delta": 0.0154,
          "percent_delta": 0.0386,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2767,
          "after": 0.2954,
          "delta": 0.0187,
          "percent_delta": 0.0676,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5037,
          "after": 1.4929,
          "delta": -0.0108,
          "percent_delta": -0.0072,
          "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.2767,
          "after": 0.2954,
          "delta": 0.0187,
          "percent_delta": 0.0676,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=4.03), rates preserved: AVG=0.139 HR/AB=0.033",
      "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.1387,
          "after": 0.0,
          "delta": -0.1387,
          "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.8325,
          "after": 3.0,
          "delta": -0.8325,
          "percent_delta": -0.2172,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.5946,
          "after": 0.0,
          "delta": -0.5946,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.1327,
          "after": 0.0,
          "delta": -0.1327,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4141,
          "after": 0.0,
          "delta": -0.4141,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4929,
          "after": 1.0,
          "delta": -0.4929,
          "percent_delta": -0.3302,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 0,
        "deboosted_metrics": 8,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.8325,
          "after": 3.0,
          "delta": -0.8325,
          "percent_delta": -0.2172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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": 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.4257,
          "after": 0.0,
          "delta": -0.4257,
          "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.4257,
          "after": 0.0,
          "delta": -0.4257,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1394,
        "predicted_3B": 0.0073,
        "predicted_BB": 0.3773,
        "predicted_H": 0.6429,
        "predicted_HR": 0.1807,
        "predicted_RBI": 0.4703,
        "predicted_SO": 1.3777
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1394,
          "delta": 0.1394,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0073,
          "delta": 0.0073,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3773,
          "delta": 0.3773,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6429,
          "delta": 0.6429,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1807,
          "delta": 0.1807,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4703,
          "delta": 0.4703,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3777,
          "delta": 0.3777,
          "percent_delta": 0.3777,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6429,
          "delta": 0.6429,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1394,
          "after": 0.0,
          "delta": -0.1394,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0073,
          "after": 0.0,
          "delta": -0.0073,
          "percent_delta": -1.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_BB",
          "before": 0.3773,
          "after": 0.0,
          "delta": -0.3773,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6429,
          "after": 0.0,
          "delta": -0.6429,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1807,
          "after": 0.0,
          "delta": -0.1807,
          "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.4703,
          "after": 0.0,
          "delta": -0.4703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3777,
          "after": 1.0,
          "delta": -0.3777,
          "percent_delta": -0.2742,
          "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_H",
          "before": 0.6429,
          "after": 0.0,
          "delta": -0.6429,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.195,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.407,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.195,
          "delta": 0.0398,
          "percent_delta": 0.2564,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2183,
          "after": 0.284,
          "delta": 0.0657,
          "percent_delta": 0.301,
          "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.2954,
          "after": 0.407,
          "delta": 0.1116,
          "percent_delta": 0.3778,
          "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.2954,
          "after": 0.407,
          "delta": 0.1116,
          "percent_delta": 0.3778,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2183,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2954,
        "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.195,
          "after": 0.1552,
          "delta": -0.0398,
          "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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2183,
          "delta": -0.0657,
          "percent_delta": -0.2315,
          "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.407,
          "after": 0.2954,
          "delta": -0.1116,
          "percent_delta": -0.2742,
          "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.407,
          "after": 0.2954,
          "delta": -0.1116,
          "percent_delta": -0.2742,
          "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.157,
        "after": 0.0,
        "delta": -0.157,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.03,
        "after": 4.0,
        "delta": -0.03,
        "percent_delta": -0.0074,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.158,
        "after": 0.1552,
        "delta": -0.0028,
        "percent_delta": -0.0177,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.353,
        "after": 0.0,
        "delta": -0.353,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 1.0,
        "delta": 0.36,
        "percent_delta": 0.5625,
        "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.212,
        "after": 0.2183,
        "delta": 0.0063,
        "percent_delta": 0.0297,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.464,
        "after": 1.0,
        "delta": 0.536,
        "percent_delta": 1.1552,
        "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.28,
        "after": 0.2954,
        "delta": 0.0154,
        "percent_delta": 0.055,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.484,
        "after": 0.0,
        "delta": -1.484,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.484,
        "after": 0.0,
        "delta": -1.484,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.157-
predicted_3B0.000-
predicted_AB4.030-
predicted_AVG0.158-
predicted_BB0.353-
predicted_H0.640-
predicted_HR0.140-
predicted_OBP0.212-
predicted_R0.464-
predicted_RBI0.400-
predicted_SLG0.280-
predicted_SO1.484-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.139-0.018
predicted_3B0.0000.000
predicted_AB3.833-0.198
predicted_AVG0.151-0.007
predicted_BB0.307-0.046
predicted_H0.582-0.058
predicted_HBP0.073-
predicted_HR0.130-0.010
predicted_OBP0.210-0.002
predicted_R0.410-0.054
predicted_RBI0.399-0.001
predicted_SLG0.277-0.003
predicted_SO1.5040.020
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1390.000
predicted_3B0.0000.000
predicted_AB3.8330.000
predicted_AVG0.1550.004
predicted_BB0.3090.002
predicted_H0.5950.013
predicted_HBP0.0730.000
predicted_HR0.1330.003
predicted_OBP0.2180.008
predicted_R0.4260.016
predicted_RBI0.4140.015
predicted_SLG0.2950.019
predicted_SO1.493-0.011
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=4.03), rates preserved: AVG=0.139 HR/AB=0.033

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1390.139
3B0.0070.007
BB0.3770.377
H0.6430.643
HR0.1810.181
RBI0.4700.470
SO1.3780.378
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.139
3B0.000-0.007
AB3.0000.000
BB0.000-0.377
H0.000-0.643
HR0.000-0.181
R0.0000.000
RBI0.000-0.470
SO1.000-0.378
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.139
predicted_3B0.000-0.000
predicted_AB3.000-0.833
predicted_AVG0.1950.040
predicted_BB0.000-0.309
predicted_H0.000-0.595
predicted_HR0.000-0.133
predicted_OBP0.2840.066
predicted_R0.000-0.426
predicted_RBI0.000-0.414
predicted_SLG0.4070.112
predicted_SO1.000-0.493
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 153
Reference playing time: 4.030
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0000.0000.0000.0000.0000.0000.0000.0008.0000.00000.00000.00000.00000.00000.00000.00000.4706
last_100.2010-33.0003.0001.0000.0000.0003.0003.0002.00017.0000.09090.16670.12120.09090.00000.09090.06060.5151
season0.60153-568.000112.00024.0000.00031.00087.00071.00054.000227.0000.19720.28210.40320.19720.05460.15320.09510.3997
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1150
predicted_3B0.0010
predicted_AB3.5780
predicted_AVG0.1415
predicted_BB0.2480
predicted_H0.5060
predicted_HBP0.0730
predicted_HR0.1170
predicted_OBP0.2072
predicted_R0.3400
predicted_RBI0.3970
predicted_SLG0.2725
predicted_SO1.5290
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.11500.1387model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.03003.57803.8325model_form_blend
predicted_AVG0.15800.14150.1508model_form_blend
predicted_BB0.35300.24800.3071model_form_blend
predicted_H0.64000.50600.5815model_form_blend
predicted_HBP-0.07300.0730form_only
predicted_HR0.14000.11700.1300model_form_blend
predicted_OBP0.21200.20720.2099model_form_blend
predicted_R0.46400.34000.4098model_form_blend
predicted_RBI0.40000.39700.3987model_form_blend
predicted_SLG0.28000.27250.2767model_form_blend
predicted_SO1.48401.52901.5037model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date610
Season rows before report date610
Report year2026
Profile rows used153
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R1
RBI1
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260927_COL@CHW
game_typefull
mlbID695657
playerID695657
playerNameColson Montgomery
posSS
startedTrue
startingPosition3B
teamCHW
teamID6
game_date2026-09-27
sl_k_percent35.6
sl_bb_percent8.5
sl_woba0.3
sl_xwoba0.294
sl_xba0.199
sl_xslg0.388
sl_sweet_spot_percent32.9
sl_barrel_batted_rate12.0
sl_hard_hit_percent40.9
sl_exit_velocity_avg88.6
sl_launch_angle_avg23.6
sl_whiff_percent37.4
sl_swing_percent51.5
Hagen Smith (696146) · PITCHER · Starter · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 18
All-history rows before 20260929: 18

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.8891.0000.1110.000
predicted_ER1.0001.0001.000Pitching_ER0.2220.0000.7781.000
predicted_H3.0003.0003.000Pitching_H0.6110.0002.3893.000
predicted_IP5.0005.0005.000Pitching_InningsPitched1.4000.2003.6004.800
predicted_SO6.0006.0006.000Pitching_SO2.2781.0003.7225.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail10110-predicted_HR: 2.0000 -> 0.0000 (deboost -2.0000, better)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final11001predicted_HR: 0.0000 -> 2.0000 (boost 2.0000, worse)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "696146",
  "player_name": "Hagen Smith",
  "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": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 2.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": "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": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 2.0,
        "predicted_IP": 5.0,
        "predicted_R": 1.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "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": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H3.000-
predicted_HR2.000-
predicted_IP5.000-
predicted_SO6.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER1.0000.000
predicted_H3.0000.000
predicted_HR0.000-2.000
predicted_IP5.0000.000
predicted_SO6.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 17
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0003.0003.0006.0009.0000.0004.50001.50000.50000.50001.00001.50000.0000
last_100.351017.0003.0008.0006.00025.0000.0001.58820.82350.17650.47060.35291.47060.0000
season0.201728.0003.00010.00016.00041.0000.0000.96430.92860.10710.35710.57141.46430.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7060
predicted_ER1.2640
predicted_ERA3.6297
predicted_H2.2080
predicted_HR0.2170
predicted_IP3.0000
predicted_SO3.8510
predicted_WHIP1.2485
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.70601.3203model_form_blend
predicted_ER1.00001.26401.1198model_form_blend
predicted_ERA-3.62973.6297form_only
predicted_H3.00002.20802.6407model_form_blend
predicted_HR2.00000.21701.1910model_form_blend
predicted_IP5.00003.00004.1000model_form_blend
predicted_SO6.00003.85105.0250model_form_blend
predicted_WHIP-1.24851.2485form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date18
Season rows before report date18
Report year2026
Profile rows used17
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H3
R1
ER1
BB1
SO6
HR2
BF19
Pitches76

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA1.29
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches18
Pitching_R0
Pitching_SO1
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260925_COL@CHW
game_typefull
mlbID696146
playerID696146
playerNameHagen Smith
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-09-25
sl_k_percent37.3
sl_bb_percent14.5
sl_woba0.211
sl_xwoba0.243
sl_sweet_spot_percent35.8
sl_barrel_batted_rate1.9
sl_hard_hit_percent34.0
sl_whiff_percent36.2
sl_swing_percent42.4
sl_avg_best_speed75.859778846
sl_avg_hyper_speed93.418211538
Grant Taylor (691799) · PITCHER · Closer · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 41
All-history rows before 20260929: 41

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.4390.0000.5611.000
predicted_ER3.0003.0003.000Pitching_ER0.3660.0002.6343.000
predicted_H0.0000.0000.000Pitching_H0.9762.000-0.976-2.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2661.200-0.166-0.100
predicted_SO2.0002.0002.000Pitching_SO1.8541.0000.1461.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "691799",
  "player_name": "Grant Taylor",
  "position": "Closer",
  "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": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 3.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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER3.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.333-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 41
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4558.0000.0004.0001.0009.0000.0000.00000.62500.00000.50000.12501.12500.0000
last_100.351015.0002.0005.0006.00016.0001.0001.20000.73330.13330.33330.40001.06670.0667
season0.204156.10015.00040.00018.00076.0004.0002.39641.02960.26630.71010.31951.34910.0710
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4250
predicted_ER0.3230
predicted_ERA2.0191
predicted_H0.9130
predicted_HR0.1020
predicted_IP1.1000
predicted_SO1.5600
predicted_WHIP0.9304
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.42500.6994model_form_blend
predicted_ER3.00000.32301.6007model_form_blend
predicted_ERA-2.01912.0191form_only
predicted_H0.00000.91300.4772model_form_blend
predicted_HR0.00000.10200.0533model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO2.00001.56001.7700model_form_blend
predicted_WHIP-0.93040.9304form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date41
Season rows before report date41
Report year2026
Profile rows used41
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R3
ER3
BB1
SO2
HR0
BF5
Pitches19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA2.40
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.2
Pitching_Pitches22
Pitching_R0
Pitching_SO1
Pitching_Strikes16
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260802_CHW@TB
game_typefull
mlbID691799
playerID691799
playerNameGrant Taylor
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-08-02
game_pk822943.0
sl_k_percent31.5
sl_bb_percent8.9
sl_woba0.26
sl_xwoba0.267
sl_sweet_spot_percent31.2
sl_barrel_batted_rate7.6
sl_hard_hit_percent41.2
sl_whiff_percent29.4
sl_swing_percent46.5
sv_pitch_count22.0
sv_outs_recorded_est5.0
sv_release_speed88.12727272727273
sv_release_spin_rate2356.681818181818
sv_effective_speed88.98181818181818
sv_launch_speed86.17
sv_launch_angle-1.4
sv_woba_value1.8
sv_woba_denom6.0
sv_delta_run_exp-0.38
sv_delta_home_win_exp-0.037
sl_avg_best_speed79.579557677
sl_avg_hyper_speed94.193453604
Sean Newcomb (656794) · PITCHER · Setup Man · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 54
All-history rows before 20260929: 54

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5561.000-0.556-1.000
predicted_ER1.0001.0001.000Pitching_ER0.4811.0000.5190.000
predicted_H1.0001.0001.000Pitching_H1.2221.000-0.2220.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.3631.100-0.2630.000
predicted_SO0.0000.0000.000Pitching_SO1.4444.000-1.444-4.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "656794",
  "player_name": "Sean Newcomb",
  "position": "Setup Man",
  "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": 1.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.1,
        "predicted_R": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR1.000-
predicted_IP1.333-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 53
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4559.1007.00012.0003.00010.0000.0006.75001.60710.75001.28570.32141.07140.0000
last_100.351020.0007.00016.0007.00018.0000.0003.15001.15000.35000.80000.35000.90000.0000
season0.205384.10026.00064.00030.00078.0002.0002.77471.11460.30830.75890.35570.92490.0237
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6250
predicted_ER0.9350
predicted_ERA4.6773
predicted_H1.8070
predicted_HR0.0670
predicted_IP1.2000
predicted_SO1.7480
predicted_WHIP1.3519
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.62500.3472model_form_blend
predicted_ER1.00000.93500.9639model_form_blend
predicted_ERA-4.67734.6773form_only
predicted_H1.00001.80701.4483model_form_blend
predicted_HR1.00000.06700.4817model_form_blend
predicted_IP1.10001.20001.2000model_form_blend
predicted_SO0.00001.74800.9710model_form_blend
predicted_WHIP-1.35191.3519form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date54
Season rows before report date54
Report year2026
Profile rows used53
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H1
R1
ER1
BB0
SO0
HR1
BF5
Pitches20

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER1
Pitching_ERA2.77
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches29
Pitching_R1
Pitching_SO4
Pitching_Strikes18
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260912_CHW@STL
game_typefull
mlbID656794
playerID656794
playerNameSean Newcomb
posP
startedTrue
startingPositionP
teamCHW
teamID6
game_date2026-09-12
game_pk823009.0
sl_k_percent22.6
sl_bb_percent9.1
sl_woba0.285
sl_xwoba0.317
sl_sweet_spot_percent34.1
sl_barrel_batted_rate6.5
sl_hard_hit_percent38.6
sl_whiff_percent23.9
sl_swing_percent45.9
sv_pitch_count29.0
sv_outs_recorded_est4.0
sv_release_speed91.88275862068966
sv_release_spin_rate2501.0
sv_effective_speed90.5206896551724
sv_launch_speed74.10000000000001
sv_launch_angle29.285714285714285
sv_woba_value1.6
sv_woba_denom6.0
sv_delta_run_exp-0.3010000000000001
sv_delta_home_win_exp-0.045
sl_avg_best_speed77.732436083
sl_avg_hyper_speed94.013500335
Bryan Hudson (663542) · PITCHER · Middle Reliever (High Leverage) · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 67
All-history rows before 20260929: 67

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2540.000-0.2540.000
predicted_ER0.0000.0000.000Pitching_ER0.3282.000-0.328-2.000
predicted_H0.0000.0000.000Pitching_H0.9254.000-0.925-4.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.8570.1000.2431.000
predicted_SO1.0001.0001.000Pitching_SO0.8810.0000.1191.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics1
Boosted Metrics1
Deboosted Metrics0
Better Metrics1
Worse Metrics0
Biggest Boostpredicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "663542",
  "player_name": "Bryan Hudson",
  "position": "Middle Reliever (High Leverage)",
  "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": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 66
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1002.0006.0000.0002.0001.0004.15381.38460.46151.38460.00000.46150.2308
last_100.351010.1002.00011.0000.0007.0001.0001.74191.06450.19351.06450.00000.67740.0968
season0.206665.10019.00059.00017.00059.0005.0002.61731.16330.29080.90310.26020.90310.0765
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1410
predicted_ER0.3820
predicted_ERA3.4398
predicted_H1.1240
predicted_HR0.1520
predicted_IP1.0000
predicted_SO0.7090
predicted_WHIP1.2649
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.14100.0755model_form_blend
predicted_ER0.00000.38200.2045model_form_blend
predicted_ERA-3.43983.4398form_only
predicted_H0.00001.12400.6019model_form_blend
predicted_HR0.00000.15200.0814model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.70900.8442model_form_blend
predicted_WHIP-1.26491.2649form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date67
Season rows before report date67
Report year2026
Profile rows used66
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO1
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs1
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER2
Pitching_ERA3.03
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored1
Pitching_InningsPitched0.1
Pitching_Pitches14
Pitching_R2
Pitching_SO0
Pitching_Strikes9
Pitching_Wild Pitch1
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260918_DET@CHW
game_typefull
mlbID663542
playerID663542
playerNameBryan Hudson
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-09-18
sl_k_percent20.9
sl_bb_percent6.4
sl_woba0.304
sl_xwoba0.277
sl_sweet_spot_percent29.5
sl_barrel_batted_rate4.0
sl_hard_hit_percent37.0
sl_whiff_percent23.1
sl_swing_percent47.9
sl_avg_best_speed77.03898567
sl_avg_hyper_speed93.301948299

Home Team: HOU

Home Pitcher Deep Analysis

FieldValue
PitcherAJ Blubaugh
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0992
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP5
Pre ER0
Pre H2
Pre BB0
Pre SO4
Season ERA3.6562
Season WHIP1.2292
Role Avg IP3.3330
Recent Avg IP3.3330
Last Start IP3
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "edges": {
    "quality_edge": -0.1522,
    "offense_edge": 0.0082,
    "opponent_offense_edge": 0.0659,
    "defense_strength": -0.0496,
    "opponent_defense_weakness": -0.0111,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9898,
    "run_prevention": 1.0231,
    "strikeout": 0.9902
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "805123",
    "profile": {
      "available": true,
      "pitcher_id": "805123",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 368.0,
        "k_percent": 23.4,
        "bb_percent": 10.5,
        "woba": 0.306,
        "xwoba": 0.317,
        "sweet_spot_percent": 37.0,
        "barrel_batted_rate": 10.3,
        "hard_hit_percent": 37.0,
        "avg_best_speed": 79.2025,
        "avg_hyper_speed": 93.8711,
        "whiff_percent": 28.1,
        "swing_percent": 48.8
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.197,
        "command_and_miss": 0.1636,
        "regression_edge": -0.3143,
        "xwoba_edge": -0.1429,
        "barrel_edge": -0.6889,
        "hard_hit_edge": 0.1286,
        "whiff_edge": 0.4143,
        "bb_edge": -0.325,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "805123",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": -0.0992,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0084,
      "strikeout_factor": 1.024,
      "walk_factor": 1.026,
      "homer_factor": 1.0543,
      "woba_minus_xwoba": -0.011,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "805123",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0084,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0084,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.026,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0543,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.024,
        "adjusted": 6
      }
    }
  }
}
Recent Form Pitching
{
  "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": 10,
    "H": 10,
    "BB": 7,
    "SO": 7,
    "HR": 3,
    "ERA": 9.310344827586208,
    "WHIP": 1.7586206896551726,
    "K9": 6.517241379310345,
    "HR9": 2.793103448275862,
    "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-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "805123",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 19.755,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.798,
    "prior_weight": 0.202
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "805123",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 64,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 23.0,
        "Pitches": 88.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.2,
        "R": 1.2,
        "H": 0.8,
        "BB": 0.8,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 4.6,
        "Pitches": 17.6
      },
      "rates": {
        "ERA": 10.8,
        "WHIP": 1.6,
        "ER_per_IP": 1.2,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.8,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.2
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 10.0,
        "R": 10.0,
        "H": 10.0,
        "BB": 7.0,
        "SO": 7.0,
        "HR": 3.0,
        "BF": 46.0,
        "Pitches": 186.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 0.7,
        "SO": 0.7,
        "HR": 0.3,
        "BF": 4.6,
        "Pitches": 18.6
      },
      "rates": {
        "ERA": 9.3103,
        "WHIP": 1.7586,
        "ER_per_IP": 1.03448,
        "H_per_IP": 1.03448,
        "BB_per_IP": 0.72414,
        "SO_per_IP": 0.72414,
        "HR_per_IP": 0.31034
      }
    },
    "season": {
      "games": 64,
      "totals": {
        "IP": 96.0,
        "ER": 39.0,
        "R": 41.0,
        "H": 76.0,
        "BB": 42.0,
        "SO": 94.0,
        "HR": 13.0,
        "BF": 401.0,
        "Pitches": 1640.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.6094,
        "R": 0.6406,
        "H": 1.1875,
        "BB": 0.6562,
        "SO": 1.4688,
        "HR": 0.2031,
        "BF": 6.2656,
        "Pitches": 25.625
      },
      "rates": {
        "ERA": 3.6562,
        "WHIP": 1.2292,
        "ER_per_IP": 0.40625,
        "H_per_IP": 0.79167,
        "BB_per_IP": 0.4375,
        "SO_per_IP": 0.97917,
        "HR_per_IP": 0.13542
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 2.0,
    "predicted_ER": 1.653,
    "predicted_H": 1.678,
    "predicted_BB": 1.183,
    "predicted_SO": 1.42,
    "predicted_HR": 0.391,
    "predicted_ERA": 7.9946,
    "predicted_WHIP": 1.5373
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4353,
  "form_weight": 0.5647,
  "form_reliability": 0.798,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 19.755,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.798,
    "prior_weight": 0.202
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 2.0,
      "final": 3.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 1.653,
      "final": 0.9334,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.678,
      "final": 1.8182,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.183,
      "final": 0.668,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 1.42,
      "final": 2.5432,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.391,
      "final": 0.2208,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 7.9946,
      "final": 7.9946,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5373,
      "final": 1.5373,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherLogan VanWey
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2522
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0387
Avg Velo89.1738
Avg Spin2339.1253
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA1.4211
Season WHIP0.9474
Role Avg IP1.2670
Recent Avg IP1.3330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "edges": {
    "quality_edge": -0.1522,
    "offense_edge": 0.0082,
    "opponent_offense_edge": 0.0659,
    "defense_strength": -0.0496,
    "opponent_defense_weakness": -0.0111,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9898,
    "run_prevention": 1.0231,
    "strikeout": 0.9902
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "701121",
    "profile": {
      "available": true,
      "pitcher_id": "701121",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 21.0,
        "k_percent": 19.6,
        "bb_percent": 2.2,
        "woba": 0.259,
        "xwoba": 0.255,
        "sweet_spot_percent": 25.0,
        "barrel_batted_rate": 5.6,
        "hard_hit_percent": 44.4,
        "avg_best_speed": 80.1832,
        "avg_hyper_speed": 95.3995,
        "whiff_percent": 23.8,
        "swing_percent": 54.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9305,
        "command_and_miss": 0.1193,
        "regression_edge": 0.1143,
        "xwoba_edge": 1.6286,
        "barrel_edge": 0.3556,
        "hard_hit_edge": -0.9286,
        "whiff_edge": -0.2,
        "bb_edge": 1.75,
        "pitch_design_score": -0.0387
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "701121",
        "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.17384866220735,
          "release_spin_rate": 2339.1253344481606,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.17384866220735,
            "release_spin_rate": 2339.1253344481606,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1738,
          "release_spin_rate": 2339.1253,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0387,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2761,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2522,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9786,
      "strikeout_factor": 0.99,
      "walk_factor": 0.937,
      "homer_factor": 0.9819,
      "woba_minus_xwoba": 0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "701121",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9904,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9904,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9717,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9919,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9955,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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.2,
    "ER": 2,
    "H": 11,
    "BB": 1,
    "SO": 9,
    "HR": 1,
    "ERA": 1.4210526315789473,
    "WHIP": 0.9473684210526316,
    "K9": 6.394736842105264,
    "HR9": 0.7105263157894737,
    "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-09-27T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "701121",
  "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.17384866220735,
    "release_spin_rate": 2339.1253344481606,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.17384866220735,
      "release_spin_rate": 2339.1253344481606,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1738,
    "release_spin_rate": 2339.1253,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0387,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2761,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.5625,
    "last_10": 0.43749999999999994
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.607,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3427,
    "prior_weight": 0.6573
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "701121",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 10,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 6.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 24.0,
        "Pitches": 114.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.2,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.8,
        "Pitches": 22.8
      },
      "rates": {
        "ERA": 1.35,
        "WHIP": 1.05,
        "ER_per_IP": 0.15,
        "H_per_IP": 0.9,
        "BB_per_IP": 0.15,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.15
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.2,
        "ER": 2.0,
        "R": 3.0,
        "H": 11.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 46.0,
        "Pitches": 194.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.3,
        "H": 1.1,
        "BB": 0.1,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.6,
        "Pitches": 19.4
      },
      "rates": {
        "ERA": 1.4211,
        "WHIP": 0.9474,
        "ER_per_IP": 0.15789,
        "H_per_IP": 0.86842,
        "BB_per_IP": 0.07895,
        "SO_per_IP": 0.71053,
        "HR_per_IP": 0.07895
      }
    },
    "season": {
      "games": 10,
      "totals": {
        "IP": 12.2,
        "ER": 2.0,
        "R": 3.0,
        "H": 11.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 46.0,
        "Pitches": 194.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.3,
        "H": 1.1,
        "BB": 0.1,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.6,
        "Pitches": 19.4
      },
      "rates": {
        "ERA": 1.4211,
        "WHIP": 0.9474,
        "ER_per_IP": 0.15789,
        "H_per_IP": 0.86842,
        "BB_per_IP": 0.07895,
        "SO_per_IP": 0.71053,
        "HR_per_IP": 0.07895
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.52,
    "predicted_H": 1.268,
    "predicted_BB": 0.386,
    "predicted_SO": 1.116,
    "predicted_HR": 0.185,
    "predicted_ERA": 3.5074,
    "predicted_WHIP": 1.2404
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6277,
  "form_weight": 0.3723,
  "form_reliability": 0.3427,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 2.607,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3427,
    "prior_weight": 0.6573
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.52,
      "final": 0.1936,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.268,
      "final": 0.4721,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.386,
      "final": 0.1437,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.116,
      "final": 1.0432,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.185,
      "final": 0.0689,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.5074,
      "final": 3.5074,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2404,
      "final": 1.2404,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherBryan Abreu
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1053
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0721
Avg Velo91.1508
Avg Spin2520.9155
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER6
Pre H6
Pre BB1
Pre SO1
Season ERA3.7340
Season WHIP1.3245
Role Avg IP0.9640
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "edges": {
    "quality_edge": -0.1522,
    "offense_edge": 0.0082,
    "opponent_offense_edge": 0.0659,
    "defense_strength": -0.0496,
    "opponent_defense_weakness": -0.0111,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9898,
    "run_prevention": 1.0231,
    "strikeout": 0.9902
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "650556",
    "profile": {
      "available": true,
      "pitcher_id": "650556",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 249.0,
        "k_percent": 29.9,
        "bb_percent": 15.3,
        "woba": 0.324,
        "xwoba": 0.312,
        "sweet_spot_percent": 34.5,
        "barrel_batted_rate": 6.4,
        "hard_hit_percent": 41.5,
        "avg_best_speed": 81.6969,
        "avg_hyper_speed": 94.1781,
        "whiff_percent": 33.8,
        "swing_percent": 42.2
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1735,
        "command_and_miss": 0.6264,
        "regression_edge": 0.3429,
        "xwoba_edge": 0.0,
        "barrel_edge": 0.1778,
        "hard_hit_edge": -0.5143,
        "whiff_edge": 1.2286,
        "bb_edge": -1.525,
        "pitch_design_score": 0.0721
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "650556",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 7,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 7,
          "pitch_usage": 0.0,
          "release_speed": 91.1508230257784,
          "release_spin_rate": 2520.9154670108346,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 7,
            "pitch_usage": 0.0,
            "release_speed": 91.1508230257784,
            "release_spin_rate": 2520.9154670108346,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1508,
          "release_spin_rate": 2520.9155,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0721,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.5147,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1053,
      "sample_weight": 0.996,
      "run_prevention_factor": 0.991,
      "strikeout_factor": 1.0933,
      "walk_factor": 1.1215,
      "homer_factor": 1.0063,
      "woba_minus_xwoba": 0.012,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "650556",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.991,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.991,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.121,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0063,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0929,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 8,
    "BB": 2,
    "SO": 11,
    "HR": 2,
    "ERA": 3.0,
    "WHIP": 1.1111111111111112,
    "K9": 11.0,
    "HR9": 2.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-24T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "650556",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 7,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 7,
    "pitch_usage": 0.0,
    "release_speed": 91.1508230257784,
    "release_spin_rate": 2520.9154670108346,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 7,
      "pitch_usage": 0.0,
      "release_speed": 91.1508230257784,
      "release_spin_rate": 2520.9154670108346,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1508,
    "release_spin_rate": 2520.9155,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0721,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.5147,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.895,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7206,
    "prior_weight": 0.2794
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "650556",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 65,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 17.0,
        "Pitches": 59.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 3.4,
        "Pitches": 11.8
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 1.1538,
        "ER_per_IP": 0.23077,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 0.92308,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 2.0,
        "SO": 11.0,
        "HR": 2.0,
        "BF": 36.0,
        "Pitches": 130.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.2,
        "SO": 1.1,
        "HR": 0.2,
        "BF": 3.6,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.1111,
        "ER_per_IP": 0.33333,
        "H_per_IP": 0.88889,
        "BB_per_IP": 0.22222,
        "SO_per_IP": 1.22222,
        "HR_per_IP": 0.22222
      }
    },
    "season": {
      "games": 65,
      "totals": {
        "IP": 62.2,
        "ER": 26.0,
        "R": 27.0,
        "H": 42.0,
        "BB": 41.0,
        "SO": 80.0,
        "HR": 9.0,
        "BF": 266.0,
        "Pitches": 1086.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4154,
        "H": 0.6462,
        "BB": 0.6308,
        "SO": 1.2308,
        "HR": 0.1385,
        "BF": 4.0923,
        "Pitches": 16.7077
      },
      "rates": {
        "ERA": 3.734,
        "WHIP": 1.3245,
        "ER_per_IP": 0.41489,
        "H_per_IP": 0.67021,
        "BB_per_IP": 0.65426,
        "SO_per_IP": 1.2766,
        "HR_per_IP": 0.14362
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.362,
    "predicted_H": 0.895,
    "predicted_BB": 0.331,
    "predicted_SO": 1.053,
    "predicted_HR": 0.193,
    "predicted_ERA": 3.258,
    "predicted_WHIP": 1.2261
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.468,
  "form_weight": 0.532,
  "form_reliability": 0.7206,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.895,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7206,
    "prior_weight": 0.2794
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 6.0,
      "form": 0.362,
      "final": 3.0008,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 6.0,
      "form": 0.895,
      "final": 3.2844,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.331,
      "final": 0.6441,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.053,
      "final": 1.0282,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.193,
      "final": 0.1027,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.258,
      "final": 3.258,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2261,
      "final": 1.2261,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherJosh Hader
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7244
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0674
Avg Velo91.0673
Avg Spin2344.7020
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA0.8060
Season WHIP0.6940
Role Avg IP1.0150
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "edges": {
    "quality_edge": -0.1522,
    "offense_edge": 0.0082,
    "opponent_offense_edge": 0.0659,
    "defense_strength": -0.0496,
    "opponent_defense_weakness": -0.0111,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9898,
    "run_prevention": 1.0231,
    "strikeout": 0.9902
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "623352",
    "profile": {
      "available": true,
      "pitcher_id": "623352",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 154.0,
        "k_percent": 32.9,
        "bb_percent": 9.0,
        "woba": 0.18,
        "xwoba": 0.215,
        "sweet_spot_percent": 22.7,
        "barrel_batted_rate": 6.2,
        "hard_hit_percent": 32.0,
        "avg_best_speed": 74.9792,
        "avg_hyper_speed": 92.5576,
        "whiff_percent": 34.2,
        "swing_percent": 54.0
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.733,
        "command_and_miss": 1.1543,
        "regression_edge": -1.0,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.2222,
        "hard_hit_edge": 0.8429,
        "whiff_edge": 1.2857,
        "bb_edge": 0.05,
        "pitch_design_score": 0.0674
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "623352",
        "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": 91.06730470414044,
          "release_spin_rate": 2344.7020092446187,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 91.06730470414044,
            "release_spin_rate": 2344.7020092446187,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0673,
          "release_spin_rate": 2344.702,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0674,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4813,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.7244,
      "sample_weight": 0.616,
      "run_prevention_factor": 0.9384,
      "strikeout_factor": 1.0697,
      "walk_factor": 0.9975,
      "homer_factor": 0.9221,
      "woba_minus_xwoba": -0.035,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "623352",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9621,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9621,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9985,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.952,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0429,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 2,
    "H": 6,
    "BB": 4,
    "SO": 9,
    "HR": 0,
    "ERA": 1.741935483870968,
    "WHIP": 0.9677419354838711,
    "K9": 7.838709677419356,
    "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-09-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "623352",
  "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": 91.06730470414044,
    "release_spin_rate": 2344.7020092446187,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 91.06730470414044,
      "release_spin_rate": 2344.7020092446187,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0673,
    "release_spin_rate": 2344.702,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0674,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4813,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.191,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6477,
    "prior_weight": 0.3523
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "623352",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 44,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 4.0,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 96.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.6,
        "H": 1.0,
        "BB": 0.8,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 19.2
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.6875,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.9375,
        "BB_per_IP": 0.75,
        "SO_per_IP": 0.375,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 6.0,
        "BB": 4.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 167.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.6,
        "BB": 0.4,
        "SO": 0.9,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 16.7
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 0.9677,
        "ER_per_IP": 0.19355,
        "H_per_IP": 0.58065,
        "BB_per_IP": 0.3871,
        "SO_per_IP": 0.87097,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 44,
      "totals": {
        "IP": 44.2,
        "ER": 4.0,
        "R": 5.0,
        "H": 16.0,
        "BB": 15.0,
        "SO": 55.0,
        "HR": 1.0,
        "BF": 164.0,
        "Pitches": 667.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0909,
        "R": 0.1136,
        "H": 0.3636,
        "BB": 0.3409,
        "SO": 1.25,
        "HR": 0.0227,
        "BF": 3.7273,
        "Pitches": 15.1591
      },
      "rates": {
        "ERA": 0.806,
        "WHIP": 0.694,
        "ER_per_IP": 0.08955,
        "H_per_IP": 0.35821,
        "BB_per_IP": 0.33582,
        "SO_per_IP": 1.23134,
        "HR_per_IP": 0.02239
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.345,
    "predicted_H": 0.798,
    "predicted_BB": 0.483,
    "predicted_SO": 0.796,
    "predicted_HR": 0.055,
    "predicted_ERA": 3.1092,
    "predicted_WHIP": 1.2813
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4988,
  "form_weight": 0.5012,
  "form_reliability": 0.6477,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.191,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6477,
    "prior_weight": 0.3523
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.345,
      "final": 0.1729,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.798,
      "final": 0.3999,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.483,
      "final": 0.2421,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.796,
      "final": 0.8978,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.055,
      "final": 0.0276,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.1092,
      "final": 3.1092,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2813,
      "final": 1.2813,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherBennett Sousa
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0119
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA4.8000
Season WHIP1.6000
Role Avg IP0.9170
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 162,
    "wins": 81,
    "losses": 81,
    "win_pct": 0.5,
    "runs_scored": 734.0,
    "runs_allowed": 766.0,
    "run_differential": -32.0,
    "run_differential_per_game": -0.1975,
    "avg_runs_scored": 4.5309,
    "avg_runs_allowed": 4.7284,
    "offense_index": 1.0082,
    "defense_index": 0.9504,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 5.9,
      "avg_runs_allowed": 3.7,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": -0.0242
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0659,
    "defense_index": 1.0111,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.128
  },
  "edges": {
    "quality_edge": -0.1522,
    "offense_edge": 0.0082,
    "opponent_offense_edge": 0.0659,
    "defense_strength": -0.0496,
    "opponent_defense_weakness": -0.0111,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9898,
    "run_prevention": 1.0231,
    "strikeout": 0.9902
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656986",
    "profile": {
      "available": true,
      "pitcher_id": "656986",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 114.0,
        "k_percent": 22.7,
        "bb_percent": 12.8,
        "woba": 0.371,
        "xwoba": 0.313,
        "sweet_spot_percent": 36.3,
        "barrel_batted_rate": 9.9,
        "hard_hit_percent": 36.3,
        "avg_best_speed": 78.9847,
        "avg_hyper_speed": 93.5888,
        "whiff_percent": 31.0,
        "swing_percent": 49.0
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.4116,
        "command_and_miss": 0.1486,
        "regression_edge": 1.6571,
        "xwoba_edge": -0.0286,
        "barrel_edge": -0.6,
        "hard_hit_edge": 0.2286,
        "whiff_edge": 0.8286,
        "bb_edge": -0.9,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "656986",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": -0.0119,
      "sample_weight": 0.456,
      "run_prevention_factor": 1.001,
      "strikeout_factor": 1.0167,
      "walk_factor": 1.0328,
      "homer_factor": 1.0181,
      "woba_minus_xwoba": 0.058,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "656986",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0005,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0005,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.015,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0083,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0076,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 7,
    "BB": 5,
    "SO": 9,
    "HR": 2,
    "ERA": 2.1599999999999997,
    "WHIP": 1.44,
    "K9": 9.719999999999999,
    "HR9": 2.1599999999999997,
    "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-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "656986",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.173,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5525,
    "prior_weight": 0.4475
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656986",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 33,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 2.0,
        "BF": 23.0,
        "Pitches": 91.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.4,
        "BF": 4.6,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 3.6,
        "WHIP": 1.6,
        "ER_per_IP": 0.4,
        "H_per_IP": 1.2,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.4
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 5.0,
        "SO": 10.0,
        "HR": 2.0,
        "BF": 39.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.5,
        "SO": 1.0,
        "HR": 0.2,
        "BF": 3.9,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 1.2857,
        "ER_per_IP": 0.21429,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.53571,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.21429
      }
    },
    "season": {
      "games": 33,
      "totals": {
        "IP": 30.0,
        "ER": 16.0,
        "R": 18.0,
        "H": 31.0,
        "BB": 17.0,
        "SO": 32.0,
        "HR": 5.0,
        "BF": 135.0,
        "Pitches": 515.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4848,
        "R": 0.5455,
        "H": 0.9394,
        "BB": 0.5152,
        "SO": 0.9697,
        "HR": 0.1515,
        "BF": 4.0909,
        "Pitches": 15.6061
      },
      "rates": {
        "ERA": 4.8,
        "WHIP": 1.6,
        "ER_per_IP": 0.53333,
        "H_per_IP": 1.03333,
        "BB_per_IP": 0.56667,
        "SO_per_IP": 1.06667,
        "HR_per_IP": 0.16667
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.365,
    "predicted_H": 0.849,
    "predicted_BB": 0.37,
    "predicted_SO": 0.887,
    "predicted_HR": 0.192,
    "predicted_ERA": 3.8641,
    "predicted_WHIP": 1.4332
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5391,
  "form_weight": 0.4609,
  "form_reliability": 0.5525,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 6.173,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5525,
    "prior_weight": 0.4475
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.0,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.365,
      "final": 0.1682,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.849,
      "final": 0.3913,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.37,
      "final": 0.1705,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.887,
      "final": 0.4088,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.192,
      "final": 0.0885,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.8641,
      "final": 3.8641,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4332,
      "final": 1.4332,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
Yordan Alvarez (670541) · BATTER · DH · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 654
All-history rows before 20260929: 654
System season_avg: 0.3180
Data season_avg (2026 season-to-date): 0.3236
Diff (system - data): -0.0056
System opponent_avg: 0.2000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2170.0000.000Hitting_2B0.2170.000-0.2170.000
predicted_3B0.0060.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.3804.0004.000Hitting_AB3.6764.0000.3240.000
predicted_AVG0.3180.0000.250Hitting_AVG0.3240.250-0.324-0.250
predicted_BB0.6940.0001.000Hitting_BB0.7280.000-0.7280.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.3900.0001.000Hitting_H1.1901.000-1.190-1.000
predicted_HR0.2600.0001.000Hitting_HR0.2840.000-0.2840.000
predicted_OBP0.4380.0000.400Hitting_OBP0.4410.400-0.441-0.400
predicted_R0.6691.0001.000Hitting_R0.6991.0000.3010.000
predicted_RBI0.8600.0001.000Hitting_RBI0.7021.000-0.702-1.000
predicted_SLG0.5910.0001.000Hitting_SLG0.6190.250-0.619-0.250
predicted_SO0.7521.0001.000Hitting_SO0.7751.0000.2250.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_R: 0.6690 -> 1.0000 (boost 0.3310, better)
Biggest Deboostpredicted_H: 1.3900 -> 0.0000 (deboost -1.3900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63333predicted_R: 0.6690 -> 0.7268 (boost 0.0578, better)predicted_AB: 4.3800 -> 4.0889 (deboost -0.2911, 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.
3team_form_snapshot30303-predicted_SLG: 0.6021 -> 0.5697 (deboost -0.0324, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_BB: 0.6693 -> 1.0000 (boost 0.3307, better)predicted_H: 1.3116 -> 1.0000 (deboost -0.3116, worse)AB rounded to 4 (raw=4.38), rates preserved: AVG=0.259 HR/AB=0.059
6consistency_constraints11010predicted_R: 0.7107 -> 1.0000 (boost 0.2893, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine52323predicted_HR: 0.0000 -> 0.2388 (boost 0.2388, better)predicted_RBI: 1.0000 -> 0.6229 (deboost -0.3771, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation54141predicted_HR: 0.2388 -> 1.0000 (boost 0.7612, better)predicted_2B: 0.1667 -> 0.0000 (deboost -0.1667, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference30303-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.4720 -> 0.5697 (boost 0.0977, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670541",
  "player_name": "Yordan Alvarez",
  "position": "DH",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.217,
        "predicted_3B": 0.006,
        "predicted_AB": 4.38,
        "predicted_AVG": 0.318,
        "predicted_BB": 0.694,
        "predicted_H": 1.39,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.438,
        "predicted_R": 0.669,
        "predicted_RBI": 0.86,
        "predicted_SLG": 0.591,
        "predicted_SO": 0.752
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2376,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0889,
        "predicted_AVG": 0.3258,
        "predicted_BB": 0.6721,
        "predicted_H": 1.3278,
        "predicted_HBP": 0.097,
        "predicted_HR": 0.2587,
        "predicted_OBP": 0.4407,
        "predicted_R": 0.7268,
        "predicted_RBI": 0.7961,
        "predicted_SLG": 0.6021,
        "predicted_SO": 0.7529
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.217,
          "after": 0.2376,
          "delta": 0.0206,
          "percent_delta": 0.0949,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.38,
          "after": 4.0889,
          "delta": -0.2911,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.318,
          "after": 0.3258,
          "delta": 0.0078,
          "percent_delta": 0.0245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.694,
          "after": 0.6721,
          "delta": -0.0219,
          "percent_delta": -0.0316,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.39,
          "after": 1.3278,
          "delta": -0.0622,
          "percent_delta": -0.0447,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.2587,
          "delta": -0.0013,
          "percent_delta": -0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.438,
          "after": 0.4407,
          "delta": 0.0027,
          "percent_delta": 0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.669,
          "after": 0.7268,
          "delta": 0.0578,
          "percent_delta": 0.0864,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.86,
          "after": 0.7961,
          "delta": -0.0639,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.591,
          "after": 0.6021,
          "delta": 0.0111,
          "percent_delta": 0.0188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.752,
          "after": 0.7529,
          "delta": 0.0009,
          "percent_delta": 0.0012,
          "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_R",
          "before": 0.669,
          "after": 0.7268,
          "delta": 0.0578,
          "percent_delta": 0.0864,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.38,
          "after": 4.0889,
          "delta": -0.2911,
          "percent_delta": -0.0665,
          "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": 157
      }
    },
    {
      "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.2376,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0889,
        "predicted_AVG": 0.3208,
        "predicted_BB": 0.6693,
        "predicted_H": 1.3116,
        "predicted_HBP": 0.097,
        "predicted_HR": 0.2567,
        "predicted_OBP": 0.4163,
        "predicted_R": 0.7107,
        "predicted_RBI": 0.7784,
        "predicted_SLG": 0.5697,
        "predicted_SO": 0.7561
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2376,
          "after": 0.2376,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0889,
          "after": 4.0889,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3258,
          "after": 0.3208,
          "delta": -0.005,
          "percent_delta": -0.0153,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6721,
          "after": 0.6693,
          "delta": -0.0028,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3278,
          "after": 1.3116,
          "delta": -0.0162,
          "percent_delta": -0.0122,
          "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.2587,
          "after": 0.2567,
          "delta": -0.002,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4407,
          "after": 0.4163,
          "delta": -0.0244,
          "percent_delta": -0.0554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7268,
          "after": 0.7107,
          "delta": -0.0161,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7961,
          "after": 0.7784,
          "delta": -0.0177,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6021,
          "after": 0.5697,
          "delta": -0.0324,
          "percent_delta": -0.0538,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7529,
          "after": 0.7561,
          "delta": 0.0032,
          "percent_delta": 0.0043,
          "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.6021,
          "after": 0.5697,
          "delta": -0.0324,
          "percent_delta": -0.0538,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.259 HR/AB=0.059",
      "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.2376,
          "after": 0.0,
          "delta": -0.2376,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0889,
          "after": 4.0,
          "delta": -0.0889,
          "percent_delta": -0.0217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6693,
          "after": 1.0,
          "delta": 0.3307,
          "percent_delta": 0.4941,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3116,
          "after": 1.0,
          "delta": -0.3116,
          "percent_delta": -0.2376,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.2567,
          "after": 0.0,
          "delta": -0.2567,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7784,
          "after": 1.0,
          "delta": 0.2216,
          "percent_delta": 0.2847,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7561,
          "after": 1.0,
          "delta": 0.2439,
          "percent_delta": 0.3226,
          "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.6693,
          "after": 1.0,
          "delta": 0.3307,
          "percent_delta": 0.4941,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.3116,
          "after": 1.0,
          "delta": -0.3116,
          "percent_delta": -0.2376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.7107,
          "after": 1.0,
          "delta": 0.2893,
          "percent_delta": 0.4071,
          "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.7107,
          "after": 1.0,
          "delta": 0.2893,
          "percent_delta": 0.4071,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1667,
        "predicted_3B": 0.0136,
        "predicted_BB": 0.7063,
        "predicted_H": 0.8531,
        "predicted_HR": 0.2388,
        "predicted_RBI": 0.6229,
        "predicted_SO": 0.9807
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1667,
          "delta": 0.1667,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0136,
          "delta": 0.0136,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.7063,
          "delta": -0.2937,
          "percent_delta": -0.2937,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8531,
          "delta": -0.1469,
          "percent_delta": -0.1469,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2388,
          "delta": 0.2388,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6229,
          "delta": -0.3771,
          "percent_delta": -0.3771,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9807,
          "delta": -0.0193,
          "percent_delta": -0.0193,
          "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_HR",
          "before": 0.0,
          "after": 0.2388,
          "delta": 0.2388,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6229,
          "delta": -0.3771,
          "percent_delta": -0.3771,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1667,
          "after": 0.0,
          "delta": -0.1667,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0136,
          "after": 0.0,
          "delta": -0.0136,
          "percent_delta": -1.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_BB",
          "before": 0.7063,
          "after": 1.0,
          "delta": 0.2937,
          "percent_delta": 0.4158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8531,
          "after": 1.0,
          "delta": 0.1469,
          "percent_delta": 0.1722,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2388,
          "after": 1.0,
          "delta": 0.7612,
          "percent_delta": 3.1876,
          "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.6229,
          "after": 1.0,
          "delta": 0.3771,
          "percent_delta": 0.6054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9807,
          "after": 1.0,
          "delta": 0.0193,
          "percent_delta": 0.0197,
          "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_HR",
          "before": 0.2388,
          "after": 1.0,
          "delta": 0.7612,
          "percent_delta": 3.1876,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1667,
          "after": 0.0,
          "delta": -0.1667,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.228,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.356,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.472,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3208,
          "after": 0.228,
          "delta": -0.0928,
          "percent_delta": -0.2893,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4163,
          "after": 0.356,
          "delta": -0.0603,
          "percent_delta": -0.1448,
          "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.5697,
          "after": 0.472,
          "delta": -0.0977,
          "percent_delta": -0.1715,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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": 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": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "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": 11,
      "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.3208,
        "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.4163,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5697,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3208,
          "delta": 0.0928,
          "percent_delta": 0.4069,
          "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.356,
          "after": 0.4163,
          "delta": 0.0603,
          "percent_delta": 0.1694,
          "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.472,
          "after": 0.5697,
          "delta": 0.0977,
          "percent_delta": 0.207,
          "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.472,
          "after": 0.5697,
          "delta": 0.0977,
          "percent_delta": 0.207,
          "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.006,
        "after": 0.0,
        "delta": -0.006,
        "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.318,
        "after": 0.3208,
        "delta": 0.0028,
        "percent_delta": 0.0088,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.694,
        "after": 0.0,
        "delta": -0.694,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.39,
        "after": 0.0,
        "delta": -1.39,
        "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.438,
        "after": 0.4163,
        "delta": -0.0217,
        "percent_delta": -0.0495,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.669,
        "after": 1.0,
        "delta": 0.331,
        "percent_delta": 0.4948,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.86,
        "after": 0.0,
        "delta": -0.86,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.591,
        "after": 0.5697,
        "delta": -0.0213,
        "percent_delta": -0.036,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.752,
        "after": 1.0,
        "delta": 0.248,
        "percent_delta": 0.3298,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.669,
        "after": 1.0,
        "delta": 0.331,
        "percent_delta": 0.4948,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.39,
        "after": 0.0,
        "delta": -1.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.217-
predicted_3B0.006-
predicted_AB4.380-
predicted_AVG0.318-
predicted_BB0.694-
predicted_H1.390-
predicted_HR0.260-
predicted_OBP0.438-
predicted_R0.669-
predicted_RBI0.860-
predicted_SLG0.591-
predicted_SO0.752-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2380.021
predicted_3B0.005-0.001
predicted_AB4.089-0.291
predicted_AVG0.3260.008
predicted_BB0.672-0.022
predicted_H1.328-0.062
predicted_HBP0.097-
predicted_HR0.259-0.001
predicted_OBP0.4410.003
predicted_R0.7270.058
predicted_RBI0.796-0.064
predicted_SLG0.6020.011
predicted_SO0.7530.001
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2380.000
predicted_3B0.0050.000
predicted_AB4.0890.000
predicted_AVG0.321-0.005
predicted_BB0.669-0.003
predicted_H1.312-0.016
predicted_HBP0.0970.000
predicted_HR0.257-0.002
predicted_OBP0.416-0.024
predicted_R0.711-0.016
predicted_RBI0.778-0.018
predicted_SLG0.570-0.032
predicted_SO0.7560.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.38), rates preserved: AVG=0.259 HR/AB=0.059

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1670.167
3B0.0140.014
BB0.706-0.294
H0.853-0.147
HR0.2390.239
RBI0.623-0.377
SO0.981-0.019
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.167
3B0.000-0.014
AB4.0000.000
BB1.0000.294
H1.0000.147
HR1.0000.761
R1.0000.000
RBI1.0000.377
SO1.0000.019
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.238
predicted_3B0.000-0.005
predicted_AB4.000-0.089
predicted_AVG0.228-0.093
predicted_BB1.0000.331
predicted_H1.000-0.312
predicted_HR0.000-0.257
predicted_OBP0.356-0.060
predicted_R1.0000.289
predicted_RBI1.0000.222
predicted_SLG0.472-0.098
predicted_SO1.0000.244
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 157
Reference playing time: 4.380
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0007.0002.0000.0001.0004.0006.0003.0005.0000.35000.45830.60000.35000.05000.20000.15000.2500
last_100.2010-38.00015.0003.0000.0003.0008.0009.0006.0005.0000.39470.48890.71050.39470.07900.21050.15790.1316
season0.60157-563.000179.00034.0001.00042.000106.000105.000109.000118.0000.31790.43460.60570.31790.07460.18830.19360.2096
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2640
predicted_3B0.0040
predicted_AB3.7150
predicted_AVG0.3359
predicted_BB0.6440
predicted_H1.2480
predicted_HBP0.0970
predicted_HR0.2570
predicted_OBP0.4442
predicted_R0.8010
predicted_RBI0.7140
predicted_SLG0.6164
predicted_SO0.7540
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21700.26400.2376model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.38003.71504.0889model_form_blend
predicted_AVG0.31800.33590.3258model_form_blend
predicted_BB0.69400.64400.6721model_form_blend
predicted_H1.39001.24801.3278model_form_blend
predicted_HBP-0.09700.0970form_only
predicted_HR0.26000.25700.2587model_form_blend
predicted_OBP0.43800.44420.4407model_form_blend
predicted_R0.66900.80100.7268model_form_blend
predicted_RBI0.86000.71400.7961model_form_blend
predicted_SLG0.59100.61640.6021model_form_blend
predicted_SO0.75200.75400.7529model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date654
Season rows before report date654
Report year2026
Profile rows used157
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R1
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260927_HOU@OAK
game_typefull
mlbID670541
playerID670541
playerNameYordan Alvarez
posDH
startedTrue
startingPositionDH
teamHOU
teamID11
game_date2026-09-27
sl_k_percent17.2
sl_bb_percent15.8
sl_woba0.429
sl_xwoba0.442
sl_xba0.318
sl_xslg0.636
sl_sweet_spot_percent40.0
sl_barrel_batted_rate16.0
sl_hard_hit_percent53.8
sl_exit_velocity_avg94.4
sl_launch_angle_avg19.1
sl_whiff_percent19.9
sl_swing_percent43.6
Jeremy Peña (665161) · BATTER · SS · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 449
All-history rows before 20260929: 449
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2804
Diff (system - data): -0.0034
System opponent_avg: 0.3450

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1730.0000.000Hitting_2B0.1980.000-0.1980.000
predicted_3B0.0180.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB5.8304.0004.000Hitting_AB4.1545.000-0.154-1.000
predicted_AVG0.2760.2500.250Hitting_AVG0.2800.400-0.030-0.150
predicted_BB0.2180.0000.000Hitting_BB0.2470.000-0.2470.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H1.6101.0001.000Hitting_H1.1652.000-0.165-1.000
predicted_HR0.2801.0001.000Hitting_HR0.1940.0000.8061.000
predicted_OBP0.3220.2500.250Hitting_OBP0.3330.333-0.083-0.083
predicted_R0.7451.0001.000Hitting_R0.7711.0000.2290.000
predicted_RBI0.8102.0001.000Hitting_RBI0.5351.0001.4651.000
predicted_SLG0.4761.0001.000Hitting_SLG0.4750.4000.5250.600
predicted_SO1.0550.0001.000Hitting_SO1.0272.000-1.027-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_RBI: 0.8100 -> 2.0000 (boost 1.1900, better)
Biggest Deboostpredicted_AB: 5.8300 -> 4.0000 (deboost -1.8300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63333predicted_R: 0.7450 -> 0.7987 (boost 0.0537, better)predicted_AB: 5.8300 -> 5.1867 (deboost -0.6433, 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.
3team_form_snapshot20202-predicted_OBP: 0.3236 -> 0.3035 (deboost -0.0201, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81726predicted_RBI: 0.7137 -> 1.0000 (boost 0.2863, better)predicted_AB: 5.1867 -> 4.0000 (deboost -1.1867, worse)AB rounded to 4 (raw=5.83), rates preserved: AVG=0.214 HR/AB=0.045
6consistency_constraints11010predicted_R: 0.7810 -> 1.0000 (boost 0.2190, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_SO: 1.0000 -> 1.3750 (boost 0.3750, worse)predicted_RBI: 1.0000 -> 0.5228 (deboost -0.4772, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63342predicted_HR: 0.2109 -> 1.0000 (boost 0.7891, better)predicted_SO: 1.3750 -> 1.0000 (deboost -0.3750, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference32130predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2200 -> 0.2783 (boost 0.0583, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665161",
  "player_name": "Jeremy Peña",
  "position": "SS",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.173,
        "predicted_3B": 0.018,
        "predicted_AB": 5.83,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.218,
        "predicted_H": 1.61,
        "predicted_HR": 0.28,
        "predicted_OBP": 0.322,
        "predicted_R": 0.745,
        "predicted_RBI": 0.81,
        "predicted_SLG": 0.476,
        "predicted_SO": 1.055
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1561,
        "predicted_3B": 0.0228,
        "predicted_AB": 5.1867,
        "predicted_AVG": 0.2828,
        "predicted_BB": 0.1881,
        "predicted_H": 1.4615,
        "predicted_HBP": 0.102,
        "predicted_HR": 0.2657,
        "predicted_OBP": 0.3236,
        "predicted_R": 0.7987,
        "predicted_RBI": 0.7299,
        "predicted_SLG": 0.4892,
        "predicted_SO": 1.1031
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.173,
          "after": 0.1561,
          "delta": -0.0169,
          "percent_delta": -0.0977,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.018,
          "after": 0.0228,
          "delta": 0.0048,
          "percent_delta": 0.2667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.83,
          "after": 5.1867,
          "delta": -0.6433,
          "percent_delta": -0.1103,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2828,
          "delta": 0.0068,
          "percent_delta": 0.0246,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.218,
          "after": 0.1881,
          "delta": -0.0299,
          "percent_delta": -0.1372,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.61,
          "after": 1.4615,
          "delta": -0.1485,
          "percent_delta": -0.0922,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.28,
          "after": 0.2657,
          "delta": -0.0143,
          "percent_delta": -0.0511,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3236,
          "delta": 0.0016,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.745,
          "after": 0.7987,
          "delta": 0.0537,
          "percent_delta": 0.0721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.81,
          "after": 0.7299,
          "delta": -0.0801,
          "percent_delta": -0.0989,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.476,
          "after": 0.4892,
          "delta": 0.0132,
          "percent_delta": 0.0277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.055,
          "after": 1.1031,
          "delta": 0.0481,
          "percent_delta": 0.0456,
          "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_R",
          "before": 0.745,
          "after": 0.7987,
          "delta": 0.0537,
          "percent_delta": 0.0721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.83,
          "after": 5.1867,
          "delta": -0.6433,
          "percent_delta": -0.1103,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 110
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1561,
        "predicted_3B": 0.0228,
        "predicted_AB": 5.1867,
        "predicted_AVG": 0.2783,
        "predicted_BB": 0.1873,
        "predicted_H": 1.4437,
        "predicted_HBP": 0.102,
        "predicted_HR": 0.2637,
        "predicted_OBP": 0.3035,
        "predicted_R": 0.781,
        "predicted_RBI": 0.7137,
        "predicted_SLG": 0.4697,
        "predicted_SO": 1.1077
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1561,
          "after": 0.1561,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0228,
          "after": 0.0228,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.1867,
          "after": 5.1867,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2828,
          "after": 0.2783,
          "delta": -0.0045,
          "percent_delta": -0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1881,
          "after": 0.1873,
          "delta": -0.0008,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4615,
          "after": 1.4437,
          "delta": -0.0178,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.102,
          "after": 0.102,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2657,
          "after": 0.2637,
          "delta": -0.002,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3236,
          "after": 0.3035,
          "delta": -0.0201,
          "percent_delta": -0.0621,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7987,
          "after": 0.781,
          "delta": -0.0177,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7299,
          "after": 0.7137,
          "delta": -0.0162,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4892,
          "after": 0.4697,
          "delta": -0.0195,
          "percent_delta": -0.0399,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1031,
          "after": 1.1077,
          "delta": 0.0046,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3236,
          "after": 0.3035,
          "delta": -0.0201,
          "percent_delta": -0.0621,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.83), rates preserved: AVG=0.214 HR/AB=0.045",
      "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.1561,
          "after": 0.0,
          "delta": -0.1561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0228,
          "after": 0.0,
          "delta": -0.0228,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.1867,
          "after": 4.0,
          "delta": -1.1867,
          "percent_delta": -0.2288,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1873,
          "after": 0.0,
          "delta": -0.1873,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.4437,
          "after": 1.0,
          "delta": -0.4437,
          "percent_delta": -0.3073,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.102,
          "after": 0.0,
          "delta": -0.102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2637,
          "after": 0.0,
          "delta": -0.2637,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7137,
          "after": 1.0,
          "delta": 0.2863,
          "percent_delta": 0.4011,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1077,
          "after": 1.0,
          "delta": -0.1077,
          "percent_delta": -0.0972,
          "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_RBI",
          "before": 0.7137,
          "after": 1.0,
          "delta": 0.2863,
          "percent_delta": 0.4011,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.1867,
          "after": 4.0,
          "delta": -1.1867,
          "percent_delta": -0.2288,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.781,
          "after": 1.0,
          "delta": 0.219,
          "percent_delta": 0.2804,
          "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.781,
          "after": 1.0,
          "delta": 0.219,
          "percent_delta": 0.2804,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.185,
        "predicted_3B": 0.0187,
        "predicted_BB": 0.3492,
        "predicted_H": 0.9146,
        "predicted_HR": 0.2109,
        "predicted_RBI": 0.5228,
        "predicted_SO": 1.375
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.185,
          "delta": 0.185,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0187,
          "delta": 0.0187,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3492,
          "delta": 0.3492,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9146,
          "delta": -0.0854,
          "percent_delta": -0.0854,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2109,
          "delta": 0.2109,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5228,
          "delta": -0.4772,
          "percent_delta": -0.4772,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.375,
          "delta": 0.375,
          "percent_delta": 0.375,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.375,
          "delta": 0.375,
          "percent_delta": 0.375,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5228,
          "delta": -0.4772,
          "percent_delta": -0.4772,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.185,
          "after": 0.0,
          "delta": -0.185,
          "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": 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.3492,
          "after": 0.0,
          "delta": -0.3492,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9146,
          "after": 1.0,
          "delta": 0.0854,
          "percent_delta": 0.0934,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2109,
          "after": 1.0,
          "delta": 0.7891,
          "percent_delta": 3.7416,
          "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.5228,
          "after": 1.0,
          "delta": 0.4772,
          "percent_delta": 0.9128,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.375,
          "after": 1.0,
          "delta": -0.375,
          "percent_delta": -0.2727,
          "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_HR",
          "before": 0.2109,
          "after": 1.0,
          "delta": 0.7891,
          "percent_delta": 3.7416,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.375,
          "after": 1.0,
          "delta": -0.375,
          "percent_delta": -0.2727,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.22,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.426,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2783,
          "after": 0.22,
          "delta": -0.0583,
          "percent_delta": -0.2095,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3035,
          "after": 0.286,
          "delta": -0.0175,
          "percent_delta": -0.0577,
          "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.4697,
          "after": 0.426,
          "delta": -0.0437,
          "percent_delta": -0.093,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 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": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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.2783,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3035,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4697,
        "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.22,
          "after": 0.2783,
          "delta": 0.0583,
          "percent_delta": 0.2652,
          "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.286,
          "after": 0.3035,
          "delta": 0.0175,
          "percent_delta": 0.0612,
          "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.426,
          "after": 0.4697,
          "delta": 0.0437,
          "percent_delta": 0.1026,
          "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.22,
          "after": 0.2783,
          "delta": 0.0583,
          "percent_delta": 0.2652,
          "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": 0.0,
        "delta": -0.173,
        "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": 5.83,
        "after": 4.0,
        "delta": -1.83,
        "percent_delta": -0.3139,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.2783,
        "delta": 0.0023,
        "percent_delta": 0.0083,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 1.61,
        "after": 1.0,
        "delta": -0.61,
        "percent_delta": -0.3789,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.322,
        "after": 0.3035,
        "delta": -0.0185,
        "percent_delta": -0.0575,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.745,
        "after": 1.0,
        "delta": 0.255,
        "percent_delta": 0.3423,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.81,
        "after": 2.0,
        "delta": 1.19,
        "percent_delta": 1.4691,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.476,
        "after": 0.4697,
        "delta": -0.0063,
        "percent_delta": -0.0132,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.055,
        "after": 0.0,
        "delta": -1.055,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.81,
        "after": 2.0,
        "delta": 1.19,
        "percent_delta": 1.4691,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.83,
        "after": 4.0,
        "delta": -1.83,
        "percent_delta": -0.3139,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.173-
predicted_3B0.018-
predicted_AB5.830-
predicted_AVG0.276-
predicted_BB0.218-
predicted_H1.610-
predicted_HR0.280-
predicted_OBP0.322-
predicted_R0.745-
predicted_RBI0.810-
predicted_SLG0.476-
predicted_SO1.055-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.156-0.017
predicted_3B0.0230.005
predicted_AB5.187-0.643
predicted_AVG0.2830.007
predicted_BB0.188-0.030
predicted_H1.462-0.149
predicted_HBP0.102-
predicted_HR0.266-0.014
predicted_OBP0.3240.002
predicted_R0.7990.054
predicted_RBI0.730-0.080
predicted_SLG0.4890.013
predicted_SO1.1030.048
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1560.000
predicted_3B0.0230.000
predicted_AB5.1870.000
predicted_AVG0.278-0.005
predicted_BB0.187-0.001
predicted_H1.444-0.018
predicted_HBP0.1020.000
predicted_HR0.264-0.002
predicted_OBP0.303-0.020
predicted_R0.781-0.018
predicted_RBI0.714-0.016
predicted_SLG0.470-0.020
predicted_SO1.1080.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.83), rates preserved: AVG=0.214 HR/AB=0.045

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1850.185
3B0.0190.019
BB0.3490.349
H0.915-0.085
HR0.2110.211
RBI0.523-0.477
SO1.3750.375
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.185
3B0.000-0.019
AB4.0000.000
BB0.000-0.349
H1.0000.085
HR1.0000.789
R1.0000.000
RBI1.0000.477
SO1.000-0.375
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.156
predicted_3B0.000-0.023
predicted_AB4.000-1.187
predicted_AVG0.220-0.058
predicted_BB0.000-0.187
predicted_H1.000-0.444
predicted_HR0.000-0.264
predicted_OBP0.286-0.018
predicted_R1.0000.219
predicted_RBI1.0000.286
predicted_SLG0.426-0.044
predicted_SO1.000-0.108
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.000-
R1.0000.000
RBI2.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 110
Reference playing time: 5.830
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-25.0008.0000.0000.0002.0005.0007.0000.0007.0000.32000.33330.56000.32000.08000.20000.00000.2800
last_100.2010-47.00015.0001.0001.0003.0007.0009.0000.00014.0000.31910.32650.57450.31910.06380.14890.00000.2979
season0.60110-447.000124.00019.0002.00022.00056.00082.00024.000116.0000.27740.32510.47650.27740.04920.12530.05370.2595
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1340
predicted_3B0.0290
predicted_AB4.3440
predicted_AVG0.2916
predicted_BB0.1490
predicted_H1.2670
predicted_HBP0.1020
predicted_HR0.2470
predicted_OBP0.3258
predicted_R0.8690
predicted_RBI0.6250
predicted_SLG0.5066
predicted_SO1.1660
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17300.13400.1561model_form_blend
predicted_3B0.01800.02900.0228model_form_blend
predicted_AB5.83004.34405.1867model_form_blend
predicted_AVG0.27600.29160.2828model_form_blend
predicted_BB0.21800.14900.1881model_form_blend
predicted_H1.61001.26701.4615model_form_blend
predicted_HBP-0.10200.1020form_only
predicted_HR0.28000.24700.2657model_form_blend
predicted_OBP0.32200.32580.3236model_form_blend
predicted_R0.74500.86900.7987model_form_blend
predicted_RBI0.81000.62500.7299model_form_blend
predicted_SLG0.47600.50660.4892model_form_blend
predicted_SO1.05501.16601.1031model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date449
Season rows before report date449
Report year2026
Profile rows used110
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
Hitting_SO2
Hitting_TB2
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260927_HOU@OAK
game_typefull
mlbID665161
playerID665161
playerNameJeremy Peña
posSS
startedTrue
startingPositionSS
teamHOU
teamID11
game_date2026-09-27
sl_k_percent24.0
sl_bb_percent5.0
sl_woba0.347
sl_xwoba0.326
sl_xba0.268
sl_xslg0.431
sl_sweet_spot_percent35.0
sl_barrel_batted_rate7.2
sl_hard_hit_percent39.2
sl_exit_velocity_avg88.6
sl_launch_angle_avg13.0
sl_whiff_percent31.8
sl_swing_percent55.3
Jose Altuve (514888) · BATTER · 2B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 540
All-history rows before 20260929: 540
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2519
Diff (system - data): -0.0019
System opponent_avg: 0.1740

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1790.0001.000Hitting_2B0.2000.000-0.2000.000
predicted_3B0.0150.0000.000Hitting_3B0.0170.000-0.0170.000
predicted_AB4.7104.0004.000Hitting_AB3.9855.0000.015-1.000
predicted_AVG0.2230.2500.250Hitting_AVG0.2520.200-0.0020.050
predicted_BB0.3060.0001.000Hitting_BB0.3310.000-0.3310.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H1.0501.0001.000Hitting_H1.0041.000-0.0040.000
predicted_HR0.0901.0000.000Hitting_HR0.1280.0000.8721.000
predicted_OBP0.2980.2500.400Hitting_OBP0.3100.200-0.0600.050
predicted_R0.5221.0000.000Hitting_R0.5720.0000.4281.000
predicted_RBI0.5802.0000.000Hitting_RBI0.3801.0001.6201.000
predicted_SB-0.0000.000BaseRunning_SB0.0410.000-0.0410.000
predicted_SLG0.3431.0000.500Hitting_SLG0.4070.2000.5930.800
predicted_SO0.8510.0001.000Hitting_SO0.8441.000-0.844-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_RBI: 0.5800 -> 2.0000 (boost 1.4200, better)
Biggest Deboostpredicted_SO: 0.8510 -> 0.0000 (deboost -0.8510, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AVG: 0.2230 -> 0.2406 (boost 0.0176, better)predicted_AB: 4.7100 -> 4.4074 (deboost -0.3026, 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.
3team_form_snapshot20202-predicted_OBP: 0.3003 -> 0.2816 (deboost -0.0187, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.8786 -> 1.0000 (boost 0.1214, worse)predicted_RBI: 0.5476 -> 0.0000 (deboost -0.5476, worse)AB rounded to 4 (raw=4.71), rates preserved: AVG=0.191 HR/AB=0.019
6consistency_constraints10101-predicted_R: 0.4912 -> 0.0000 (deboost -0.4912, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.4299 (boost 0.4299, better)predicted_H: 1.0000 -> 0.8212 (deboost -0.1788, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63342predicted_2B: 0.1790 -> 1.0000 (boost 0.8210, better)predicted_RBI: 0.4069 -> 0.0000 (deboost -0.4069, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context52323predicted_SLG: 0.3402 -> 0.3710 (boost 0.0308, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference43140predicted_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
11current_json_final31212predicted_AVG: 0.2090 -> 0.2361 (boost 0.0271, better)predicted_SLG: 0.3710 -> 0.3402 (deboost -0.0308, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "514888",
  "player_name": "Jose Altuve",
  "position": "2B",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "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": 4.71,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.306,
        "predicted_H": 1.05,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.298,
        "predicted_R": 0.522,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.343,
        "predicted_SO": 0.851
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1585,
        "predicted_3B": 0.0128,
        "predicted_AB": 4.4074,
        "predicted_AVG": 0.2406,
        "predicted_BB": 0.2803,
        "predicted_H": 1.0535,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0922,
        "predicted_OBP": 0.3003,
        "predicted_R": 0.5024,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.3557,
        "predicted_SO": 0.8749
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 0.1585,
          "delta": -0.0205,
          "percent_delta": -0.1145,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.0128,
          "delta": -0.0022,
          "percent_delta": -0.1467,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.71,
          "after": 4.4074,
          "delta": -0.3026,
          "percent_delta": -0.0642,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2406,
          "delta": 0.0176,
          "percent_delta": 0.0789,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.306,
          "after": 0.2803,
          "delta": -0.0257,
          "percent_delta": -0.084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.05,
          "after": 1.0535,
          "delta": 0.0035,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0922,
          "delta": 0.0022,
          "percent_delta": 0.0244,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.3003,
          "delta": 0.0023,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.522,
          "after": 0.5024,
          "delta": -0.0196,
          "percent_delta": -0.0375,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.58,
          "after": 0.56,
          "delta": -0.02,
          "percent_delta": -0.0345,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.343,
          "after": 0.3557,
          "delta": 0.0127,
          "percent_delta": 0.037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.851,
          "after": 0.8749,
          "delta": 0.0239,
          "percent_delta": 0.0281,
          "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.223,
          "after": 0.2406,
          "delta": 0.0176,
          "percent_delta": 0.0789,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.71,
          "after": 4.4074,
          "delta": -0.3026,
          "percent_delta": -0.0642,
          "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": 134
      }
    },
    {
      "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.1585,
        "predicted_3B": 0.0128,
        "predicted_AB": 4.4074,
        "predicted_AVG": 0.2361,
        "predicted_BB": 0.2791,
        "predicted_H": 1.0406,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0915,
        "predicted_OBP": 0.2816,
        "predicted_R": 0.4912,
        "predicted_RBI": 0.5476,
        "predicted_SLG": 0.3402,
        "predicted_SO": 0.8786
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1585,
          "after": 0.1585,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0128,
          "after": 0.0128,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4074,
          "after": 4.4074,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2406,
          "after": 0.2361,
          "delta": -0.0045,
          "percent_delta": -0.0187,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2803,
          "after": 0.2791,
          "delta": -0.0012,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0535,
          "after": 1.0406,
          "delta": -0.0129,
          "percent_delta": -0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.01,
          "after": 0.01,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0922,
          "after": 0.0915,
          "delta": -0.0007,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3003,
          "after": 0.2816,
          "delta": -0.0187,
          "percent_delta": -0.0623,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5024,
          "after": 0.4912,
          "delta": -0.0112,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.56,
          "after": 0.5476,
          "delta": -0.0124,
          "percent_delta": -0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3557,
          "after": 0.3402,
          "delta": -0.0155,
          "percent_delta": -0.0436,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8749,
          "after": 0.8786,
          "delta": 0.0037,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3003,
          "after": 0.2816,
          "delta": -0.0187,
          "percent_delta": -0.0623,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.71), rates preserved: AVG=0.191 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.1585,
          "after": 0.0,
          "delta": -0.1585,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0128,
          "after": 0.0,
          "delta": -0.0128,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4074,
          "after": 4.0,
          "delta": -0.4074,
          "percent_delta": -0.0924,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2791,
          "after": 0.0,
          "delta": -0.2791,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0406,
          "after": 1.0,
          "delta": -0.0406,
          "percent_delta": -0.039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.01,
          "after": 0.0,
          "delta": -0.01,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0915,
          "after": 0.0,
          "delta": -0.0915,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5476,
          "after": 0.0,
          "delta": -0.5476,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8786,
          "after": 1.0,
          "delta": 0.1214,
          "percent_delta": 0.1382,
          "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.8786,
          "after": 1.0,
          "delta": 0.1214,
          "percent_delta": 0.1382,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5476,
          "after": 0.0,
          "delta": -0.5476,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.4912,
          "after": 0.0,
          "delta": -0.4912,
          "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.4912,
          "after": 0.0,
          "delta": -0.4912,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.0166,
        "predicted_BB": 0.4299,
        "predicted_H": 0.8212,
        "predicted_HR": 0.1425,
        "predicted_RBI": 0.4069,
        "predicted_SO": 1.1005
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.179,
          "delta": 0.179,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0166,
          "delta": 0.0166,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4299,
          "delta": 0.4299,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8212,
          "delta": -0.1788,
          "percent_delta": -0.1788,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1425,
          "delta": 0.1425,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4069,
          "delta": 0.4069,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1005,
          "delta": 0.1005,
          "percent_delta": 0.1005,
          "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_BB",
          "before": 0.0,
          "after": 0.4299,
          "delta": 0.4299,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8212,
          "delta": -0.1788,
          "percent_delta": -0.1788,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 1.0,
          "delta": 0.821,
          "percent_delta": 4.5866,
          "direction": "boost",
          "projection_effect": "better",
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4299,
          "after": 1.0,
          "delta": 0.5701,
          "percent_delta": 1.3261,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8212,
          "after": 1.0,
          "delta": 0.1788,
          "percent_delta": 0.2177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1425,
          "after": 0.0,
          "delta": -0.1425,
          "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.4069,
          "after": 0.0,
          "delta": -0.4069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1005,
          "after": 1.0,
          "delta": -0.1005,
          "percent_delta": -0.0913,
          "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_2B",
          "before": 0.179,
          "after": 1.0,
          "delta": 0.821,
          "percent_delta": 4.5866,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4069,
          "after": 0.0,
          "delta": -0.4069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.209,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.292,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.371,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2361,
          "after": 0.209,
          "delta": -0.0271,
          "percent_delta": -0.1148,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2816,
          "after": 0.292,
          "delta": 0.0104,
          "percent_delta": 0.0369,
          "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.3402,
          "after": 0.371,
          "delta": 0.0308,
          "percent_delta": 0.0905,
          "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": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3402,
          "after": 0.371,
          "delta": 0.0308,
          "percent_delta": 0.0905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "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": {
          "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": 11,
      "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.2361,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2816,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3402,
        "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.209,
          "after": 0.2361,
          "delta": 0.0271,
          "percent_delta": 0.1297,
          "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.292,
          "after": 0.2816,
          "delta": -0.0104,
          "percent_delta": -0.0356,
          "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.371,
          "after": 0.3402,
          "delta": -0.0308,
          "percent_delta": -0.0831,
          "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.209,
          "after": 0.2361,
          "delta": 0.0271,
          "percent_delta": 0.1297,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3402,
          "delta": -0.0308,
          "percent_delta": -0.0831,
          "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.015,
        "after": 0.0,
        "delta": -0.015,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.71,
        "after": 4.0,
        "delta": -0.71,
        "percent_delta": -0.1507,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.2361,
        "delta": 0.0131,
        "percent_delta": 0.0587,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.306,
        "after": 0.0,
        "delta": -0.306,
        "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.09,
        "after": 1.0,
        "delta": 0.91,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.298,
        "after": 0.2816,
        "delta": -0.0164,
        "percent_delta": -0.055,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 0.58,
        "after": 2.0,
        "delta": 1.42,
        "percent_delta": 2.4483,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.343,
        "after": 0.3402,
        "delta": -0.0028,
        "percent_delta": -0.0082,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.851,
        "after": 0.0,
        "delta": -0.851,
        "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.58,
        "after": 2.0,
        "delta": 1.42,
        "percent_delta": 2.4483,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.851,
        "after": 0.0,
        "delta": -0.851,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.179-
predicted_3B0.015-
predicted_AB4.710-
predicted_AVG0.223-
predicted_BB0.306-
predicted_H1.050-
predicted_HR0.090-
predicted_OBP0.298-
predicted_R0.522-
predicted_RBI0.580-
predicted_SLG0.343-
predicted_SO0.851-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.159-0.020
predicted_3B0.013-0.002
predicted_AB4.407-0.303
predicted_AVG0.2410.018
predicted_BB0.280-0.026
predicted_H1.0540.004
predicted_HBP0.010-
predicted_HR0.0920.002
predicted_OBP0.3000.002
predicted_R0.502-0.020
predicted_RBI0.560-0.020
predicted_SLG0.3560.013
predicted_SO0.8750.024
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1590.000
predicted_3B0.0130.000
predicted_AB4.4070.000
predicted_AVG0.236-0.005
predicted_BB0.279-0.001
predicted_H1.041-0.013
predicted_HBP0.0100.000
predicted_HR0.091-0.001
predicted_OBP0.282-0.019
predicted_R0.491-0.011
predicted_RBI0.548-0.012
predicted_SLG0.340-0.016
predicted_SO0.8790.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.71), rates preserved: AVG=0.191 HR/AB=0.019

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1790.179
3B0.0170.017
BB0.4300.430
H0.821-0.179
HR0.1420.142
RBI0.4070.407
SO1.1010.101
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.821
3B0.000-0.017
AB4.0000.000
BB1.0000.570
H1.0000.179
HR0.000-0.142
R0.0000.000
RBI0.000-0.407
SO1.000-0.101
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.159
predicted_3B0.000-0.013
predicted_AB4.000-0.407
predicted_AVG0.209-0.027
predicted_BB0.000-0.279
predicted_H1.000-0.041
predicted_HR0.000-0.091
predicted_OBP0.2920.010
predicted_R0.000-0.491
predicted_RBI0.000-0.548
predicted_SLG0.3710.031
predicted_SO1.0000.121
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 134
Reference playing time: 4.710
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0005.0000.0000.0000.0005.0002.0001.0005.0000.23810.26090.23810.23810.00000.23810.04760.2381
last_100.2010-42.00014.0001.0000.0001.0006.0004.0001.00010.0000.33330.34090.42860.33330.02380.14290.02380.2381
season0.60134-524.000131.00024.0002.00016.00050.00070.00041.000114.0000.25000.30470.39500.25000.03050.09540.07820.2176
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1320
predicted_3B0.0100
predicted_AB4.0150
predicted_AVG0.2635
predicted_BB0.2470
predicted_H1.0580
predicted_HBP0.0100
predicted_HR0.0950
predicted_OBP0.3033
predicted_R0.4770
predicted_RBI0.5340
predicted_SLG0.3722
predicted_SO0.9060
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17900.13200.1585model_form_blend
predicted_3B0.01500.01000.0128model_form_blend
predicted_AB4.71004.01504.4074model_form_blend
predicted_AVG0.22300.26350.2406model_form_blend
predicted_BB0.30600.24700.2803model_form_blend
predicted_H1.05001.05801.0535model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.09000.09500.0922model_form_blend
predicted_OBP0.29800.30330.3003model_form_blend
predicted_R0.52200.47700.5024model_form_blend
predicted_RBI0.58000.53400.5600model_form_blend
predicted_SLG0.34300.37220.3557model_form_blend
predicted_SO0.85100.90600.8749model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date540
Season rows before report date540
Report year2026
Profile rows used134
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI2
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260927_HOU@OAK
game_typefull
mlbID514888
playerID514888
playerNameJose Altuve
pos2B
startedTrue
startingPosition2B
teamHOU
teamID11
game_date2026-09-27
sl_k_percent19.9
sl_bb_percent7.2
sl_woba0.308
sl_xwoba0.271
sl_xba0.224
sl_xslg0.325
sl_sweet_spot_percent32.0
sl_barrel_batted_rate4.1
sl_hard_hit_percent31.3
sl_exit_velocity_avg85.6
sl_launch_angle_avg10.6
sl_whiff_percent22.1
sl_swing_percent49.2
Lucas Spence (828599) · BATTER · CF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 49
All-history rows before 20260929: 49
System season_avg: 0.2180
Data season_avg (2026 season-to-date): 0.1739
Diff (system - data): 0.0441
System opponent_avg: 0.1250
System season_avg diverges from 2026 season-to-date by 0.0441. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1180.0000.000Hitting_2B0.1020.000-0.1020.000
predicted_3B0.0590.0000.000Hitting_3B0.0201.000-0.020-1.000
predicted_AB3.2353.0003.000Hitting_AB3.2862.000-0.2861.000
predicted_AVG0.2180.0000.333Hitting_AVG0.1740.500-0.174-0.500
predicted_BB0.4120.0000.000Hitting_BB0.3273.000-0.327-3.000
predicted_CS-0.0000.000BaseRunning_CS0.0820.000-0.0820.000
predicted_H0.7060.0001.000Hitting_H0.5711.000-0.571-1.000
predicted_HR0.2350.0000.000Hitting_HR0.0820.000-0.0820.000
predicted_OBP0.3060.0000.333Hitting_OBP0.2690.800-0.269-0.800
predicted_R0.5290.0001.000Hitting_R0.3671.000-0.367-1.000
predicted_RBI0.7060.0001.000Hitting_RBI0.3672.000-0.367-2.000
predicted_SLG0.5090.0000.333Hitting_SLG0.2921.500-0.292-1.500
predicted_SO1.2941.0002.000Hitting_SO1.3470.000-0.3471.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics3
Deboosted Metrics9
Better Metrics4
Worse Metrics8
Biggest Boostpredicted_SLG: 0.5090 -> 0.5355 (boost 0.0265, better)
Biggest Deboostpredicted_H: 0.7060 -> 0.0000 (deboost -0.7060, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_AB: 3.2350 -> 3.3111 (boost 0.0761, 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.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling84435predicted_SO: 1.2612 -> 2.0000 (boost 0.7388, worse)predicted_AB: 3.3111 -> 3.0000 (deboost -0.3111, worse)AB rounded to 3 (raw=3.31), rates preserved: AVG=0.195 HR/AB=0.078
6consistency_constraints11010predicted_R: 0.5458 -> 1.0000 (boost 0.4542, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_HR: 0.0000 -> 0.1546 (boost 0.1546, better)predicted_BB: 1.0000 -> 0.4201 (deboost -0.5799, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_SO: 1.5059 -> 2.0000 (boost 0.4941, worse)predicted_BB: 0.4201 -> 0.0000 (deboost -0.4201, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context41313predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.5355 -> 0.3910 (deboost -0.1445, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference50514-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3910 -> 0.5355 (boost 0.1445, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "828599",
  "player_name": "Lucas Spence",
  "position": "CF",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.118,
        "predicted_3B": 0.059,
        "predicted_AB": 3.235,
        "predicted_AVG": 0.218,
        "predicted_BB": 0.412,
        "predicted_H": 0.706,
        "predicted_HR": 0.235,
        "predicted_OBP": 0.306,
        "predicted_R": 0.529,
        "predicted_RBI": 0.706,
        "predicted_SLG": 0.509,
        "predicted_SO": 1.294
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1272,
        "predicted_3B": 0.0633,
        "predicted_AB": 3.3111,
        "predicted_AVG": 0.2274,
        "predicted_BB": 0.4202,
        "predicted_H": 0.7547,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.2599,
        "predicted_OBP": 0.3161,
        "predicted_R": 0.5582,
        "predicted_RBI": 0.7558,
        "predicted_SLG": 0.5387,
        "predicted_SO": 1.2559
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.118,
          "after": 0.1272,
          "delta": 0.0092,
          "percent_delta": 0.078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.059,
          "after": 0.0633,
          "delta": 0.0043,
          "percent_delta": 0.0729,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.235,
          "after": 3.3111,
          "delta": 0.0761,
          "percent_delta": 0.0235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.2274,
          "delta": 0.0094,
          "percent_delta": 0.0431,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.412,
          "after": 0.4202,
          "delta": 0.0082,
          "percent_delta": 0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.706,
          "after": 0.7547,
          "delta": 0.0487,
          "percent_delta": 0.069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.235,
          "after": 0.2599,
          "delta": 0.0249,
          "percent_delta": 0.106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3161,
          "delta": 0.0101,
          "percent_delta": 0.033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.529,
          "after": 0.5582,
          "delta": 0.0292,
          "percent_delta": 0.0552,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.706,
          "after": 0.7558,
          "delta": 0.0498,
          "percent_delta": 0.0705,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.509,
          "after": 0.5387,
          "delta": 0.0297,
          "percent_delta": 0.0583,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.294,
          "after": 1.2559,
          "delta": -0.0381,
          "percent_delta": -0.0294,
          "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.235,
          "after": 3.3111,
          "delta": 0.0761,
          "percent_delta": 0.0235,
          "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.1272,
        "predicted_3B": 0.0633,
        "predicted_AB": 3.3111,
        "predicted_AVG": 0.2251,
        "predicted_BB": 0.4184,
        "predicted_H": 0.7455,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.2579,
        "predicted_OBP": 0.3121,
        "predicted_R": 0.5458,
        "predicted_RBI": 0.739,
        "predicted_SLG": 0.5355,
        "predicted_SO": 1.2612
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1272,
          "after": 0.1272,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0633,
          "after": 0.0633,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3111,
          "after": 3.3111,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2274,
          "after": 0.2251,
          "delta": -0.0023,
          "percent_delta": -0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4202,
          "after": 0.4184,
          "delta": -0.0018,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7547,
          "after": 0.7455,
          "delta": -0.0092,
          "percent_delta": -0.0122,
          "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.2599,
          "after": 0.2579,
          "delta": -0.002,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3161,
          "after": 0.3121,
          "delta": -0.004,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5582,
          "after": 0.5458,
          "delta": -0.0124,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7558,
          "after": 0.739,
          "delta": -0.0168,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5387,
          "after": 0.5355,
          "delta": -0.0032,
          "percent_delta": -0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.2559,
          "after": 1.2612,
          "delta": 0.0053,
          "percent_delta": 0.0042,
          "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": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.31), rates preserved: AVG=0.195 HR/AB=0.078",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1272,
          "after": 0.0,
          "delta": -0.1272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0633,
          "after": 0.0,
          "delta": -0.0633,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.3111,
          "after": 3.0,
          "delta": -0.3111,
          "percent_delta": -0.094,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4184,
          "after": 1.0,
          "delta": 0.5816,
          "percent_delta": 1.3901,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7455,
          "after": 1.0,
          "delta": 0.2545,
          "percent_delta": 0.3414,
          "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.2579,
          "after": 0.0,
          "delta": -0.2579,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.739,
          "after": 1.0,
          "delta": 0.261,
          "percent_delta": 0.3532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2612,
          "after": 2.0,
          "delta": 0.7388,
          "percent_delta": 0.5858,
          "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_SO",
          "before": 1.2612,
          "after": 2.0,
          "delta": 0.7388,
          "percent_delta": 0.5858,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.3111,
          "after": 3.0,
          "delta": -0.3111,
          "percent_delta": -0.094,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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": 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": 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.5458,
          "after": 1.0,
          "delta": 0.4542,
          "percent_delta": 0.8322,
          "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.5458,
          "after": 1.0,
          "delta": 0.4542,
          "percent_delta": 0.8322,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1402,
        "predicted_3B": 0.0208,
        "predicted_BB": 0.4201,
        "predicted_H": 0.7034,
        "predicted_HR": 0.1546,
        "predicted_RBI": 0.5214,
        "predicted_SO": 1.5059
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1402,
          "delta": 0.1402,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0208,
          "delta": 0.0208,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4201,
          "delta": -0.5799,
          "percent_delta": -0.5799,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7034,
          "delta": -0.2966,
          "percent_delta": -0.2966,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1546,
          "delta": 0.1546,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5214,
          "delta": -0.4786,
          "percent_delta": -0.4786,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.5059,
          "delta": -0.4941,
          "percent_delta": -0.247,
          "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_HR",
          "before": 0.0,
          "after": 0.1546,
          "delta": 0.1546,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4201,
          "delta": -0.5799,
          "percent_delta": -0.5799,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1402,
          "after": 0.0,
          "delta": -0.1402,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4201,
          "after": 0.0,
          "delta": -0.4201,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7034,
          "after": 1.0,
          "delta": 0.2966,
          "percent_delta": 0.4217,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1546,
          "after": 0.0,
          "delta": -0.1546,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5214,
          "after": 1.0,
          "delta": 0.4786,
          "percent_delta": 0.9179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5059,
          "after": 2.0,
          "delta": 0.4941,
          "percent_delta": 0.3281,
          "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": 1.5059,
          "after": 2.0,
          "delta": 0.4941,
          "percent_delta": 0.3281,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4201,
          "after": 0.0,
          "delta": -0.4201,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.204,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.391,
        "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.2251,
          "after": 0.204,
          "delta": -0.0211,
          "percent_delta": -0.0937,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3121,
          "after": 0.296,
          "delta": -0.0161,
          "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": 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.5355,
          "after": 0.391,
          "delta": -0.1445,
          "percent_delta": -0.2698,
          "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": 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_SLG",
          "before": 0.5355,
          "after": 0.391,
          "delta": -0.1445,
          "percent_delta": -0.2698,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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": 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": 11,
      "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.2251,
        "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.3121,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5355,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.204,
          "after": 0.2251,
          "delta": 0.0211,
          "percent_delta": 0.1037,
          "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.296,
          "after": 0.3121,
          "delta": 0.0161,
          "percent_delta": 0.0543,
          "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.391,
          "after": 0.5355,
          "delta": 0.1445,
          "percent_delta": 0.3695,
          "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.391,
          "after": 0.5355,
          "delta": 0.1445,
          "percent_delta": 0.3695,
          "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.118,
        "after": 0.0,
        "delta": -0.118,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.059,
        "after": 0.0,
        "delta": -0.059,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.235,
        "after": 3.0,
        "delta": -0.235,
        "percent_delta": -0.0726,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.218,
        "after": 0.2251,
        "delta": 0.0071,
        "percent_delta": 0.0326,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.412,
        "after": 0.0,
        "delta": -0.412,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.706,
        "after": 0.0,
        "delta": -0.706,
        "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.306,
        "after": 0.3121,
        "delta": 0.0061,
        "percent_delta": 0.0199,
        "direction": "boost",
        "projection_effect": "better",
        "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.706,
        "after": 0.0,
        "delta": -0.706,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.509,
        "after": 0.5355,
        "delta": 0.0265,
        "percent_delta": 0.0521,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.294,
        "after": 1.0,
        "delta": -0.294,
        "percent_delta": -0.2272,
        "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_SLG",
        "before": 0.509,
        "after": 0.5355,
        "delta": 0.0265,
        "percent_delta": 0.0521,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.706,
        "after": 0.0,
        "delta": -0.706,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.118-
predicted_3B0.059-
predicted_AB3.235-
predicted_AVG0.218-
predicted_BB0.412-
predicted_H0.706-
predicted_HR0.235-
predicted_OBP0.306-
predicted_R0.529-
predicted_RBI0.706-
predicted_SLG0.509-
predicted_SO1.294-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1270.009
predicted_3B0.0630.004
predicted_AB3.3110.076
predicted_AVG0.2270.009
predicted_BB0.4200.008
predicted_H0.7550.049
predicted_HBP0.035-
predicted_HR0.2600.025
predicted_OBP0.3160.010
predicted_R0.5580.029
predicted_RBI0.7560.050
predicted_SLG0.5390.030
predicted_SO1.256-0.038
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1270.000
predicted_3B0.0630.000
predicted_AB3.3110.000
predicted_AVG0.225-0.002
predicted_BB0.418-0.002
predicted_H0.746-0.009
predicted_HBP0.0350.000
predicted_HR0.258-0.002
predicted_OBP0.312-0.004
predicted_R0.546-0.012
predicted_RBI0.739-0.017
predicted_SLG0.535-0.003
predicted_SO1.2610.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.31), rates preserved: AVG=0.195 HR/AB=0.078

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO2.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1400.140
3B0.0210.021
BB0.420-0.580
H0.703-0.297
HR0.1550.155
RBI0.521-0.479
SO1.506-0.494
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.140
3B0.000-0.021
AB3.0000.000
BB0.000-0.420
H1.0000.297
HR0.000-0.155
R1.0000.000
RBI1.0000.479
SO2.0000.494
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.127
predicted_3B0.000-0.063
predicted_AB3.000-0.311
predicted_AVG0.204-0.021
predicted_BB1.0000.582
predicted_H1.0000.254
predicted_HR0.000-0.258
predicted_OBP0.296-0.016
predicted_R1.0000.454
predicted_RBI1.0000.261
predicted_SLG0.391-0.144
predicted_SO2.0000.739
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 17
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0001.0001.0004.0009.0005.0004.0007.0000.33330.45451.16670.33330.22220.50000.22220.3889
last_100.2010-31.0007.0001.0001.0004.00011.0007.0005.00013.0000.22580.33330.70970.22580.12900.35480.16130.4194
season0.6017-55.00012.0002.0001.0004.00012.0009.0007.00022.0000.21820.31750.50910.21820.07270.21820.12730.4000
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1440
predicted_3B0.0710
predicted_AB3.4490
predicted_AVG0.2445
predicted_BB0.4350
predicted_H0.8430
predicted_HBP0.0350
predicted_HR0.3050
predicted_OBP0.3343
predicted_R0.6110
predicted_RBI0.8460
predicted_SLG0.5926
predicted_SO1.1870
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11800.14400.1272model_form_blend
predicted_3B0.05900.07100.0633model_form_blend
predicted_AB3.23503.44903.3111model_form_blend
predicted_AVG0.21800.24450.2274model_form_blend
predicted_BB0.41200.43500.4202model_form_blend
predicted_H0.70600.84300.7547model_form_blend
predicted_HBP-0.03500.0350form_only
predicted_HR0.23500.30500.2599model_form_blend
predicted_OBP0.30600.33430.3161model_form_blend
predicted_R0.52900.61100.5582model_form_blend
predicted_RBI0.70600.84600.7558model_form_blend
predicted_SLG0.50900.59260.5387model_form_blend
predicted_SO1.29401.18701.2559model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date49
Season rows before report date49
Report year2026
Profile rows used17
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B1
Hitting_AB2
Hitting_AVG0.5
Hitting_BB3
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260927_HOU@OAK
game_typefull
mlbID828599
playerID828599
playerNameLucas Spence
posOF
startedTrue
startingPositionCF
teamHOU
teamID11
game_date2026-09-27
sl_k_percent34.9
sl_bb_percent11.1
sl_woba0.355
sl_xwoba0.305
sl_xba0.197
sl_xslg0.389
sl_sweet_spot_percent39.4
sl_barrel_batted_rate12.1
sl_hard_hit_percent48.5
sl_exit_velocity_avg91.9
sl_launch_angle_avg10.6
sl_whiff_percent38.3
sl_swing_percent46.4
Isaac Paredes (670623) · BATTER · 3B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 624
All-history rows before 20260929: 624
System season_avg: 0.2580
Data season_avg (2026 season-to-date): 0.2609
Diff (system - data): -0.0029
System opponent_avg: 0.2400

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1750.0000.000Hitting_2B0.1890.000-0.1890.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB4.3503.0004.000Hitting_AB3.7163.000-0.7160.000
predicted_AVG0.2480.0000.250Hitting_AVG0.2610.000-0.2610.000
predicted_BB0.4611.0001.000Hitting_BB0.4791.0000.5210.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0800.0001.000Hitting_H0.9700.000-0.9700.000
predicted_HR0.3100.0000.000Hitting_HR0.1510.000-0.1510.000
predicted_OBP0.3570.2500.400Hitting_OBP0.3610.250-0.1110.000
predicted_R0.4421.0000.000Hitting_R0.4550.0000.5451.000
predicted_RBI0.6900.0001.000Hitting_RBI0.6390.000-0.6390.000
predicted_SLG0.4910.0000.250Hitting_SLG0.4370.000-0.4370.000
predicted_SO0.5712.0001.000Hitting_SO0.5830.0001.4172.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_SO: 0.5710 -> 2.0000 (boost 1.4290, worse)
Biggest Deboostpredicted_AB: 4.3500 -> 3.0000 (deboost -1.3500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_R: 0.4420 -> 0.4936 (boost 0.0516, better)predicted_AB: 4.3500 -> 4.0488 (deboost -0.3012, 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.
3team_form_snapshot10101-predicted_OBP: 0.3616 -> 0.3349 (deboost -0.0267, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_SO: 0.5664 -> 1.0000 (boost 0.4336, worse)predicted_BB: 0.4869 -> 0.0000 (deboost -0.4869, worse)AB rounded to 4 (raw=4.35), rates preserved: AVG=0.205 HR/AB=0.065
6consistency_constraints10101-predicted_R: 0.4826 -> 0.0000 (deboost -0.4826, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.5727 (boost 0.5727, better)predicted_RBI: 1.0000 -> 0.5524 (deboost -0.4476, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64233predicted_RBI: 0.5524 -> 1.0000 (boost 0.4476, better)predicted_HR: 0.1685 -> 0.0000 (deboost -0.1685, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference63324predicted_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
11current_json_final33030predicted_SLG: 0.3920 -> 0.5085 (boost 0.1165, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670623",
  "player_name": "Isaac Paredes",
  "position": "3B",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.175,
        "predicted_3B": 0.006,
        "predicted_AB": 4.35,
        "predicted_AVG": 0.248,
        "predicted_BB": 0.461,
        "predicted_H": 1.08,
        "predicted_HR": 0.31,
        "predicted_OBP": 0.357,
        "predicted_R": 0.442,
        "predicted_RBI": 0.69,
        "predicted_SLG": 0.491,
        "predicted_SO": 0.571
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1706,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0488,
        "predicted_AVG": 0.2589,
        "predicted_BB": 0.489,
        "predicted_H": 1.0446,
        "predicted_HBP": 0.073,
        "predicted_HR": 0.2842,
        "predicted_OBP": 0.3616,
        "predicted_R": 0.4936,
        "predicted_RBI": 0.6681,
        "predicted_SLG": 0.5065,
        "predicted_SO": 0.564
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.175,
          "after": 0.1706,
          "delta": -0.0044,
          "percent_delta": -0.0251,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.35,
          "after": 4.0488,
          "delta": -0.3012,
          "percent_delta": -0.0692,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2589,
          "delta": 0.0109,
          "percent_delta": 0.044,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.461,
          "after": 0.489,
          "delta": 0.028,
          "percent_delta": 0.0607,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.08,
          "after": 1.0446,
          "delta": -0.0354,
          "percent_delta": -0.0328,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.31,
          "after": 0.2842,
          "delta": -0.0258,
          "percent_delta": -0.0832,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.357,
          "after": 0.3616,
          "delta": 0.0046,
          "percent_delta": 0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.442,
          "after": 0.4936,
          "delta": 0.0516,
          "percent_delta": 0.1167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.69,
          "after": 0.6681,
          "delta": -0.0219,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.491,
          "after": 0.5065,
          "delta": 0.0155,
          "percent_delta": 0.0316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.571,
          "after": 0.564,
          "delta": -0.007,
          "percent_delta": -0.0123,
          "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.442,
          "after": 0.4936,
          "delta": 0.0516,
          "percent_delta": 0.1167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.35,
          "after": 4.0488,
          "delta": -0.3012,
          "percent_delta": -0.0692,
          "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": 154
      }
    },
    {
      "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.1706,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0488,
        "predicted_AVG": 0.2549,
        "predicted_BB": 0.4869,
        "predicted_H": 1.0319,
        "predicted_HBP": 0.073,
        "predicted_HR": 0.282,
        "predicted_OBP": 0.3349,
        "predicted_R": 0.4826,
        "predicted_RBI": 0.6533,
        "predicted_SLG": 0.5085,
        "predicted_SO": 0.5664
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1706,
          "after": 0.1706,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0488,
          "after": 4.0488,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2589,
          "after": 0.2549,
          "delta": -0.004,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.489,
          "after": 0.4869,
          "delta": -0.0021,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0446,
          "after": 1.0319,
          "delta": -0.0127,
          "percent_delta": -0.0122,
          "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.2842,
          "after": 0.282,
          "delta": -0.0022,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3616,
          "after": 0.3349,
          "delta": -0.0267,
          "percent_delta": -0.0738,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4936,
          "after": 0.4826,
          "delta": -0.011,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6681,
          "after": 0.6533,
          "delta": -0.0148,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5065,
          "after": 0.5085,
          "delta": 0.002,
          "percent_delta": 0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.564,
          "after": 0.5664,
          "delta": 0.0024,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3616,
          "after": 0.3349,
          "delta": -0.0267,
          "percent_delta": -0.0738,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.35), rates preserved: AVG=0.205 HR/AB=0.065",
      "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.1706,
          "after": 0.0,
          "delta": -0.1706,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0488,
          "after": 4.0,
          "delta": -0.0488,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4869,
          "after": 0.0,
          "delta": -0.4869,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0319,
          "after": 1.0,
          "delta": -0.0319,
          "percent_delta": -0.0309,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.282,
          "after": 0.0,
          "delta": -0.282,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6533,
          "after": 1.0,
          "delta": 0.3467,
          "percent_delta": 0.5307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5664,
          "after": 1.0,
          "delta": 0.4336,
          "percent_delta": 0.7655,
          "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.5664,
          "after": 1.0,
          "delta": 0.4336,
          "percent_delta": 0.7655,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4869,
          "after": 0.0,
          "delta": -0.4869,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.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": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.168,
        "predicted_3B": 0.0121,
        "predicted_BB": 0.5727,
        "predicted_H": 0.7597,
        "predicted_HR": 0.1685,
        "predicted_RBI": 0.5524,
        "predicted_SO": 0.7274
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.168,
          "delta": 0.168,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0121,
          "delta": 0.0121,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5727,
          "delta": 0.5727,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7597,
          "delta": -0.2403,
          "percent_delta": -0.2403,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1685,
          "delta": 0.1685,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5524,
          "delta": -0.4476,
          "percent_delta": -0.4476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7274,
          "delta": -0.2726,
          "percent_delta": -0.2726,
          "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": 0.5727,
          "delta": 0.5727,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5524,
          "delta": -0.4476,
          "percent_delta": -0.4476,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 1.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.0121,
          "after": 0.0,
          "delta": -0.0121,
          "percent_delta": -1.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_BB",
          "before": 0.5727,
          "after": 1.0,
          "delta": 0.4273,
          "percent_delta": 0.7461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7597,
          "after": 1.0,
          "delta": 0.2403,
          "percent_delta": 0.3163,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1685,
          "after": 0.0,
          "delta": -0.1685,
          "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.5524,
          "after": 1.0,
          "delta": 0.4476,
          "percent_delta": 0.8103,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7274,
          "after": 1.0,
          "delta": 0.2726,
          "percent_delta": 0.3748,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5524,
          "after": 1.0,
          "delta": 0.4476,
          "percent_delta": 0.8103,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1685,
          "after": 0.0,
          "delta": -0.1685,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.204,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2549,
          "after": 0.204,
          "delta": -0.0509,
          "percent_delta": -0.1997,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3349,
          "after": 0.316,
          "delta": -0.0189,
          "percent_delta": -0.0564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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.5085,
          "after": 0.392,
          "delta": -0.1165,
          "percent_delta": -0.2291,
          "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": 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": 10,
      "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": 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": 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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "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.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": 11,
      "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.2549,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3349,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5085,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.204,
          "after": 0.2549,
          "delta": 0.0509,
          "percent_delta": 0.2493,
          "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.316,
          "after": 0.3349,
          "delta": 0.0189,
          "percent_delta": 0.0597,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.5085,
          "delta": 0.1165,
          "percent_delta": 0.2971,
          "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.392,
          "after": 0.5085,
          "delta": 0.1165,
          "percent_delta": 0.2971,
          "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.175,
        "after": 0.0,
        "delta": -0.175,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.35,
        "after": 3.0,
        "delta": -1.35,
        "percent_delta": -0.3103,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.248,
        "after": 0.2549,
        "delta": 0.0069,
        "percent_delta": 0.0278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.461,
        "after": 1.0,
        "delta": 0.539,
        "percent_delta": 1.1692,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.08,
        "after": 0.0,
        "delta": -1.08,
        "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.357,
        "after": 0.3349,
        "delta": -0.0221,
        "percent_delta": -0.0619,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.442,
        "after": 1.0,
        "delta": 0.558,
        "percent_delta": 1.2624,
        "direction": "boost",
        "projection_effect": "better",
        "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.491,
        "after": 0.5085,
        "delta": 0.0175,
        "percent_delta": 0.0356,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.571,
        "after": 2.0,
        "delta": 1.429,
        "percent_delta": 2.5026,
        "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_SO",
        "before": 0.571,
        "after": 2.0,
        "delta": 1.429,
        "percent_delta": 2.5026,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.35,
        "after": 3.0,
        "delta": -1.35,
        "percent_delta": -0.3103,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.175-
predicted_3B0.006-
predicted_AB4.350-
predicted_AVG0.248-
predicted_BB0.461-
predicted_H1.080-
predicted_HR0.310-
predicted_OBP0.357-
predicted_R0.442-
predicted_RBI0.690-
predicted_SLG0.491-
predicted_SO0.571-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.171-0.004
predicted_3B0.005-0.001
predicted_AB4.049-0.301
predicted_AVG0.2590.011
predicted_BB0.4890.028
predicted_H1.045-0.035
predicted_HBP0.073-
predicted_HR0.284-0.026
predicted_OBP0.3620.005
predicted_R0.4940.052
predicted_RBI0.668-0.022
predicted_SLG0.5060.015
predicted_SO0.564-0.007
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1710.000
predicted_3B0.0050.000
predicted_AB4.0490.000
predicted_AVG0.255-0.004
predicted_BB0.487-0.002
predicted_H1.032-0.013
predicted_HBP0.0730.000
predicted_HR0.282-0.002
predicted_OBP0.335-0.027
predicted_R0.483-0.011
predicted_RBI0.653-0.015
predicted_SLG0.5080.002
predicted_SO0.5660.002
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.35), rates preserved: AVG=0.205 HR/AB=0.065

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1680.168
3B0.0120.012
BB0.5730.573
H0.760-0.240
HR0.1690.169
RBI0.552-0.448
SO0.727-0.273
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.168
3B0.000-0.012
AB4.0000.000
BB1.0000.427
H1.0000.240
HR0.000-0.169
R0.0000.000
RBI1.0000.448
SO1.0000.273
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.171
predicted_3B0.000-0.005
predicted_AB4.000-0.049
predicted_AVG0.204-0.051
predicted_BB0.000-0.487
predicted_H1.000-0.032
predicted_HR0.000-0.282
predicted_OBP0.316-0.019
predicted_R0.000-0.483
predicted_RBI1.0000.347
predicted_SLG0.392-0.116
predicted_SO1.0000.434
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 4.350
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0005.0001.0000.0002.0003.0004.0003.0003.0000.26320.34780.63160.26320.10530.15790.15790.1579
last_100.2010-36.00012.0001.0000.0004.0008.0007.0007.0004.0000.33330.43180.69440.33330.11110.22220.19440.1111
season0.60154-558.000144.00027.0001.00025.00094.00068.00071.00088.0000.25810.35730.44440.25810.04480.16850.12720.1577
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1650
predicted_3B0.0040
predicted_AB3.6610
predicted_AVG0.2730
predicted_BB0.5250
predicted_H0.9990
predicted_HBP0.0730
predicted_HR0.2510
predicted_OBP0.3675
predicted_R0.5600
predicted_RBI0.6400
predicted_SLG0.5264
predicted_SO0.5550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17500.16500.1706model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.35003.66104.0488model_form_blend
predicted_AVG0.24800.27300.2589model_form_blend
predicted_BB0.46100.52500.4890model_form_blend
predicted_H1.08000.99901.0446model_form_blend
predicted_HBP-0.07300.0730form_only
predicted_HR0.31000.25100.2842model_form_blend
predicted_OBP0.35700.36750.3616model_form_blend
predicted_R0.44200.56000.4936model_form_blend
predicted_RBI0.69000.64000.6681model_form_blend
predicted_SLG0.49100.52640.5065model_form_blend
predicted_SO0.57100.55500.5640model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date624
Season rows before report date624
Report year2026
Profile rows used154
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R1
RBI0
BB1
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260927_HOU@OAK
game_typefull
mlbID670623
playerID670623
playerNameIsaac Paredes
pos3B
startedTrue
startingPosition3B
teamHOU
teamID11
game_date2026-09-27
sl_k_percent13.4
sl_bb_percent10.8
sl_woba0.355
sl_xwoba0.323
sl_xba0.245
sl_xslg0.373
sl_sweet_spot_percent38.7
sl_barrel_batted_rate4.8
sl_hard_hit_percent29.3
sl_exit_velocity_avg86.0
sl_launch_angle_avg24.2
sl_whiff_percent14.7
sl_swing_percent43.4
Yainer Diaz (673237) · BATTER · C · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 338
All-history rows before 20260929: 338
System season_avg: 0.2850
Data season_avg (2026 season-to-date): 0.2838
Diff (system - data): 0.0012
System opponent_avg: 0.1250

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1741.0000.000Hitting_2B0.1631.0000.8370.000
predicted_3B0.0110.0000.000Hitting_3B0.0030.000-0.0030.000
predicted_AB5.0603.0004.000Hitting_AB3.8465.000-0.846-2.000
predicted_AVG0.2970.6670.250Hitting_AVG0.2840.4000.3830.267
predicted_BB0.1301.0000.000Hitting_BB0.1390.0000.8611.000
predicted_CS-0.0000.000BaseRunning_CS0.0240.000-0.0240.000
predicted_H1.5002.0001.000Hitting_H1.0922.0000.9080.000
predicted_HR0.1801.0000.000Hitting_HR0.1510.0000.8491.000
predicted_OBP0.3270.7500.250Hitting_OBP0.3110.4000.4390.350
predicted_R0.4131.0000.000Hitting_R0.4561.0000.5440.000
predicted_RBI0.7401.0000.000Hitting_RBI0.4881.0000.5120.000
predicted_SLG0.4942.0000.250Hitting_SLG0.4450.6001.5551.400
predicted_SO0.6091.0001.000Hitting_SO0.6041.0000.3960.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics7
Deboosted Metrics3
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_BB: 0.1300 -> 1.0000 (boost 0.8700, better)
Biggest Deboostpredicted_AB: 5.0600 -> 3.0000 (deboost -2.0600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_SLG: 0.4940 -> 0.5051 (boost 0.0111, better)predicted_AB: 5.0600 -> 4.5835 (deboost -0.4765, 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.
3team_form_snapshot20202-predicted_SLG: 0.5051 -> 0.4663 (deboost -0.0388, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.6339 -> 1.0000 (boost 0.3661, worse)predicted_AB: 4.5835 -> 4.0000 (deboost -0.5835, worse)AB rounded to 4 (raw=5.06), rates preserved: AVG=0.232 HR/AB=0.034
6consistency_constraints10101-predicted_R: 0.4064 -> 0.0000 (deboost -0.4064, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2649 (boost 0.2649, better)predicted_RBI: 1.0000 -> 0.4983 (deboost -0.5017, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_H: 0.8505 -> 1.0000 (boost 0.1495, better)predicted_RBI: 0.4983 -> 0.0000 (deboost -0.4983, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context41313predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AVG: 0.2957 -> 0.2230 (deboost -0.0727, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference65151predicted_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
11current_json_final33030predicted_AVG: 0.2230 -> 0.2957 (boost 0.0727, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "673237",
  "player_name": "Yainer Diaz",
  "position": "C",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "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": 5.06,
        "predicted_AVG": 0.297,
        "predicted_BB": 0.13,
        "predicted_H": 1.5,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.327,
        "predicted_R": 0.413,
        "predicted_RBI": 0.74,
        "predicted_SLG": 0.494,
        "predicted_SO": 0.609
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1996,
        "predicted_3B": 0.0307,
        "predicted_AB": 4.5835,
        "predicted_AVG": 0.3001,
        "predicted_BB": 0.1163,
        "predicted_H": 1.3722,
        "predicted_HBP": 0.022,
        "predicted_HR": 0.1749,
        "predicted_OBP": 0.3259,
        "predicted_R": 0.4156,
        "predicted_RBI": 0.6819,
        "predicted_SLG": 0.5051,
        "predicted_SO": 0.6312
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.1996,
          "delta": 0.0256,
          "percent_delta": 0.1471,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.011,
          "after": 0.0307,
          "delta": 0.0197,
          "percent_delta": 1.7909,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.06,
          "after": 4.5835,
          "delta": -0.4765,
          "percent_delta": -0.0942,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.297,
          "after": 0.3001,
          "delta": 0.0031,
          "percent_delta": 0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.13,
          "after": 0.1163,
          "delta": -0.0137,
          "percent_delta": -0.1054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.5,
          "after": 1.3722,
          "delta": -0.1278,
          "percent_delta": -0.0852,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1749,
          "delta": -0.0051,
          "percent_delta": -0.0283,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.327,
          "after": 0.3259,
          "delta": -0.0011,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.413,
          "after": 0.4156,
          "delta": 0.0026,
          "percent_delta": 0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.74,
          "after": 0.6819,
          "delta": -0.0581,
          "percent_delta": -0.0785,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.494,
          "after": 0.5051,
          "delta": 0.0111,
          "percent_delta": 0.0225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.609,
          "after": 0.6312,
          "delta": 0.0222,
          "percent_delta": 0.0365,
          "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.494,
          "after": 0.5051,
          "delta": 0.0111,
          "percent_delta": 0.0225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.06,
          "after": 4.5835,
          "delta": -0.4765,
          "percent_delta": -0.0942,
          "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.1996,
        "predicted_3B": 0.0307,
        "predicted_AB": 4.5835,
        "predicted_AVG": 0.2957,
        "predicted_BB": 0.1158,
        "predicted_H": 1.3555,
        "predicted_HBP": 0.022,
        "predicted_HR": 0.1736,
        "predicted_OBP": 0.3131,
        "predicted_R": 0.4064,
        "predicted_RBI": 0.6668,
        "predicted_SLG": 0.4663,
        "predicted_SO": 0.6339
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1996,
          "after": 0.1996,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0307,
          "after": 0.0307,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5835,
          "after": 4.5835,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3001,
          "after": 0.2957,
          "delta": -0.0044,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1163,
          "after": 0.1158,
          "delta": -0.0005,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3722,
          "after": 1.3555,
          "delta": -0.0167,
          "percent_delta": -0.0122,
          "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.1749,
          "after": 0.1736,
          "delta": -0.0013,
          "percent_delta": -0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3259,
          "after": 0.3131,
          "delta": -0.0128,
          "percent_delta": -0.0393,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4156,
          "after": 0.4064,
          "delta": -0.0092,
          "percent_delta": -0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6819,
          "after": 0.6668,
          "delta": -0.0151,
          "percent_delta": -0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5051,
          "after": 0.4663,
          "delta": -0.0388,
          "percent_delta": -0.0768,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6312,
          "after": 0.6339,
          "delta": 0.0027,
          "percent_delta": 0.0043,
          "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.5051,
          "after": 0.4663,
          "delta": -0.0388,
          "percent_delta": -0.0768,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.06), rates preserved: AVG=0.232 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1996,
          "after": 0.0,
          "delta": -0.1996,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0307,
          "after": 0.0,
          "delta": -0.0307,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.5835,
          "after": 4.0,
          "delta": -0.5835,
          "percent_delta": -0.1273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1158,
          "after": 0.0,
          "delta": -0.1158,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3555,
          "after": 1.0,
          "delta": -0.3555,
          "percent_delta": -0.2623,
          "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.1736,
          "after": 0.0,
          "delta": -0.1736,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6668,
          "after": 1.0,
          "delta": 0.3332,
          "percent_delta": 0.4997,
          "direction": "boost",
          "projection_effect": "better",
          "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_AB",
          "before": 4.5835,
          "after": 4.0,
          "delta": -0.5835,
          "percent_delta": -0.1273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.4064,
          "after": 0.0,
          "delta": -0.4064,
          "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.4064,
          "after": 0.0,
          "delta": -0.4064,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1764,
        "predicted_3B": 0.0153,
        "predicted_BB": 0.2649,
        "predicted_H": 0.8505,
        "predicted_HR": 0.1708,
        "predicted_RBI": 0.4983,
        "predicted_SO": 0.8757
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1764,
          "delta": 0.1764,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0153,
          "delta": 0.0153,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2649,
          "delta": 0.2649,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8505,
          "delta": -0.1495,
          "percent_delta": -0.1495,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1708,
          "delta": 0.1708,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4983,
          "delta": -0.5017,
          "percent_delta": -0.5017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8757,
          "delta": -0.1243,
          "percent_delta": -0.1243,
          "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": 0.2649,
          "delta": 0.2649,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4983,
          "delta": -0.5017,
          "percent_delta": -0.5017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 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.0153,
          "after": 0.0,
          "delta": -0.0153,
          "percent_delta": -1.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_BB",
          "before": 0.2649,
          "after": 0.0,
          "delta": -0.2649,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8505,
          "after": 1.0,
          "delta": 0.1495,
          "percent_delta": 0.1758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1708,
          "after": 0.0,
          "delta": -0.1708,
          "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.4983,
          "after": 0.0,
          "delta": -0.4983,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8757,
          "after": 1.0,
          "delta": 0.1243,
          "percent_delta": 0.1419,
          "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.8505,
          "after": 1.0,
          "delta": 0.1495,
          "percent_delta": 0.1758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4983,
          "after": 0.0,
          "delta": -0.4983,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.223,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.411,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2957,
          "after": 0.223,
          "delta": -0.0727,
          "percent_delta": -0.2459,
          "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.3131,
          "after": 0.279,
          "delta": -0.0341,
          "percent_delta": -0.1089,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4663,
          "after": 0.411,
          "delta": -0.0553,
          "percent_delta": -0.1186,
          "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": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2957,
          "after": 0.223,
          "delta": -0.0727,
          "percent_delta": -0.2459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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": 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": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "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": 11,
      "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.2957,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3131,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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.223,
          "after": 0.2957,
          "delta": 0.0727,
          "percent_delta": 0.3261,
          "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.279,
          "after": 0.3131,
          "delta": 0.0341,
          "percent_delta": 0.1222,
          "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.411,
          "after": 0.4663,
          "delta": 0.0553,
          "percent_delta": 0.1345,
          "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.223,
          "after": 0.2957,
          "delta": 0.0727,
          "percent_delta": 0.3261,
          "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": 1.0,
        "delta": 0.826,
        "percent_delta": 4.7471,
        "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": 5.06,
        "after": 3.0,
        "delta": -2.06,
        "percent_delta": -0.4071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.297,
        "after": 0.2957,
        "delta": -0.0013,
        "percent_delta": -0.0044,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.13,
        "after": 1.0,
        "delta": 0.87,
        "percent_delta": 6.6923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.5,
        "after": 2.0,
        "delta": 0.5,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.327,
        "after": 0.3131,
        "delta": -0.0139,
        "percent_delta": -0.0425,
        "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.74,
        "after": 1.0,
        "delta": 0.26,
        "percent_delta": 0.3514,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.494,
        "after": 0.4663,
        "delta": -0.0277,
        "percent_delta": -0.0561,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.609,
        "after": 1.0,
        "delta": 0.391,
        "percent_delta": 0.642,
        "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_BB",
        "before": 0.13,
        "after": 1.0,
        "delta": 0.87,
        "percent_delta": 6.6923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.06,
        "after": 3.0,
        "delta": -2.06,
        "percent_delta": -0.4071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.174-
predicted_3B0.011-
predicted_AB5.060-
predicted_AVG0.297-
predicted_BB0.130-
predicted_H1.500-
predicted_HR0.180-
predicted_OBP0.327-
predicted_R0.413-
predicted_RBI0.740-
predicted_SLG0.494-
predicted_SO0.609-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2000.026
predicted_3B0.0310.020
predicted_AB4.583-0.476
predicted_AVG0.3000.003
predicted_BB0.116-0.014
predicted_H1.372-0.128
predicted_HBP0.022-
predicted_HR0.175-0.005
predicted_OBP0.326-0.001
predicted_R0.4160.003
predicted_RBI0.682-0.058
predicted_SLG0.5050.011
predicted_SO0.6310.022
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2000.000
predicted_3B0.0310.000
predicted_AB4.5830.000
predicted_AVG0.296-0.004
predicted_BB0.116-0.001
predicted_H1.355-0.017
predicted_HBP0.0220.000
predicted_HR0.174-0.001
predicted_OBP0.313-0.013
predicted_R0.406-0.009
predicted_RBI0.667-0.015
predicted_SLG0.466-0.039
predicted_SO0.6340.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.06), rates preserved: AVG=0.232 HR/AB=0.034

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1760.176
3B0.0150.015
BB0.2650.265
H0.851-0.149
HR0.1710.171
RBI0.498-0.502
SO0.876-0.124
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.176
3B0.000-0.015
AB4.0000.000
BB0.000-0.265
H1.0000.149
HR0.000-0.171
R0.0000.000
RBI0.000-0.498
SO1.0000.124
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.200
predicted_3B0.000-0.031
predicted_AB4.000-0.583
predicted_AVG0.223-0.073
predicted_BB0.000-0.116
predicted_H1.000-0.355
predicted_HR0.000-0.174
predicted_OBP0.279-0.034
predicted_R0.000-0.406
predicted_RBI1.0000.333
predicted_SLG0.411-0.055
predicted_SO1.0000.366
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 92
Reference playing time: 5.060
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-23.0008.0002.0001.0001.0005.0002.0000.0004.0000.34780.34780.65220.34780.04350.21740.00000.1739
last_100.2010-41.00014.0003.0001.0002.0007.0004.0000.0006.0000.34150.34150.60980.34150.04880.17070.00000.1463
season0.6092-340.00097.00016.0001.00014.00044.00038.00012.00056.0000.28530.31370.46180.28530.04120.12940.03530.1647
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2340
predicted_3B0.0570
predicted_AB3.9450
predicted_AVG0.3043
predicted_BB0.0980
predicted_H1.2010
predicted_HBP0.0220
predicted_HR0.1680
predicted_OBP0.3245
predicted_R0.4190
predicted_RBI0.6040
predicted_SLG0.5200
predicted_SO0.6610
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17400.23400.1996model_form_blend
predicted_3B0.01100.05700.0307model_form_blend
predicted_AB5.06003.94504.5835model_form_blend
predicted_AVG0.29700.30430.3001model_form_blend
predicted_BB0.13000.09800.1163model_form_blend
predicted_H1.50001.20101.3722model_form_blend
predicted_HBP-0.02200.0220form_only
predicted_HR0.18000.16800.1749model_form_blend
predicted_OBP0.32700.32450.3259model_form_blend
predicted_R0.41300.41900.4156model_form_blend
predicted_RBI0.74000.60400.6819model_form_blend
predicted_SLG0.49400.52000.5051model_form_blend
predicted_SO0.60900.66100.6312model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date338
Season rows before report date338
Report year2026
Profile rows used92
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B1
3B0
HR1
R1
RBI1
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP1
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB3
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260927_HOU@OAK
game_typefull
mlbID673237
playerID673237
playerNameYainer Diaz
posC
startedTrue
startingPositionC
teamHOU
teamID11
game_date2026-09-27
sl_k_percent15.8
sl_bb_percent3.3
sl_woba0.334
sl_xwoba0.312
sl_xba0.272
sl_xslg0.416
sl_sweet_spot_percent29.4
sl_barrel_batted_rate6.9
sl_hard_hit_percent38.8
sl_exit_velocity_avg89.3
sl_launch_angle_avg7.5
sl_whiff_percent22.3
sl_swing_percent57.4
Christian Walker (572233) · BATTER · 1B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 602
All-history rows before 20260929: 602
System season_avg: 0.2280
Data season_avg (2026 season-to-date): 0.2352
Diff (system - data): -0.0072
System opponent_avg: 0.1430

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1690.0000.000Hitting_2B0.1840.000-0.1840.000
predicted_3B0.0060.0000.000Hitting_3B0.0070.000-0.0070.000
predicted_AB3.7404.0004.000Hitting_AB3.8213.0000.1791.000
predicted_AVG0.2500.0000.250Hitting_AVG0.2350.667-0.235-0.667
predicted_BB0.3310.0001.000Hitting_BB0.3412.000-0.341-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9400.0001.000Hitting_H0.8992.000-0.899-2.000
predicted_HR0.2800.0000.000Hitting_HR0.1931.000-0.193-1.000
predicted_OBP0.3340.0000.400Hitting_OBP0.3090.800-0.309-0.800
predicted_R0.4740.0001.000Hitting_R0.5103.000-0.510-3.000
predicted_RBI0.6200.0000.000Hitting_RBI0.6211.000-0.621-1.000
predicted_SLG0.5230.0000.250Hitting_SLG0.4381.667-0.438-1.667
predicted_SO0.9482.0001.000Hitting_SO0.9580.0001.0422.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_SO: 0.9480 -> 2.0000 (boost 1.0520, worse)
Biggest Deboostpredicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_R: 0.4740 -> 0.5548 (boost 0.0808, 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.
3team_form_snapshot10101-predicted_OBP: 0.3346 -> 0.3199 (deboost -0.0147, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_RBI: 0.6118 -> 1.0000 (boost 0.3882, better)predicted_BB: 0.3570 -> 0.0000 (deboost -0.3570, worse)AB rounded to 4 (raw=3.74), rates preserved: AVG=0.219 HR/AB=0.077
6consistency_constraints11010predicted_R: 0.5425 -> 1.0000 (boost 0.4575, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.4227 (boost 0.4227, better)predicted_RBI: 1.0000 -> 0.5061 (deboost -0.4939, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62433predicted_BB: 0.4227 -> 1.0000 (boost 0.5773, better)predicted_RBI: 0.5061 -> 0.0000 (deboost -0.5061, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context51414predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference41304predicted_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
11current_json_final33030predicted_SLG: 0.4050 -> 0.5353 (boost 0.1303, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "572233",
  "player_name": "Christian Walker",
  "position": "1B",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.169,
        "predicted_3B": 0.006,
        "predicted_AB": 3.74,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.331,
        "predicted_H": 0.94,
        "predicted_HR": 0.28,
        "predicted_OBP": 0.334,
        "predicted_R": 0.474,
        "predicted_RBI": 0.62,
        "predicted_SLG": 0.523,
        "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.1664,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7199,
        "predicted_AVG": 0.257,
        "predicted_BB": 0.3585,
        "predicted_H": 0.9588,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.2914,
        "predicted_OBP": 0.3346,
        "predicted_R": 0.5548,
        "predicted_RBI": 0.6257,
        "predicted_SLG": 0.5395,
        "predicted_SO": 0.9458
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.169,
          "after": 0.1664,
          "delta": -0.0026,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.74,
          "after": 3.7199,
          "delta": -0.0201,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.257,
          "delta": 0.007,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.331,
          "after": 0.3585,
          "delta": 0.0275,
          "percent_delta": 0.0831,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.94,
          "after": 0.9588,
          "delta": 0.0188,
          "percent_delta": 0.02,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.28,
          "after": 0.2914,
          "delta": 0.0114,
          "percent_delta": 0.0407,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.334,
          "after": 0.3346,
          "delta": 0.0006,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.474,
          "after": 0.5548,
          "delta": 0.0808,
          "percent_delta": 0.1705,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.62,
          "after": 0.6257,
          "delta": 0.0057,
          "percent_delta": 0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.523,
          "after": 0.5395,
          "delta": 0.0165,
          "percent_delta": 0.0315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.948,
          "after": 0.9458,
          "delta": -0.0022,
          "percent_delta": -0.0023,
          "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_R",
          "before": 0.474,
          "after": 0.5548,
          "delta": 0.0808,
          "percent_delta": 0.1705,
          "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": 154
      }
    },
    {
      "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.1664,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7199,
        "predicted_AVG": 0.2546,
        "predicted_BB": 0.357,
        "predicted_H": 0.9471,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.2892,
        "predicted_OBP": 0.3199,
        "predicted_R": 0.5425,
        "predicted_RBI": 0.6118,
        "predicted_SLG": 0.5353,
        "predicted_SO": 0.9498
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1664,
          "after": 0.1664,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7199,
          "after": 3.7199,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.257,
          "after": 0.2546,
          "delta": -0.0024,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3585,
          "after": 0.357,
          "delta": -0.0015,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9588,
          "after": 0.9471,
          "delta": -0.0117,
          "percent_delta": -0.0122,
          "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.2914,
          "after": 0.2892,
          "delta": -0.0022,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3346,
          "after": 0.3199,
          "delta": -0.0147,
          "percent_delta": -0.0439,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5548,
          "after": 0.5425,
          "delta": -0.0123,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6257,
          "after": 0.6118,
          "delta": -0.0139,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5395,
          "after": 0.5353,
          "delta": -0.0042,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9458,
          "after": 0.9498,
          "delta": 0.004,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3346,
          "after": 0.3199,
          "delta": -0.0147,
          "percent_delta": -0.0439,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.74), rates preserved: AVG=0.219 HR/AB=0.077",
      "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.1664,
          "after": 0.0,
          "delta": -0.1664,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7199,
          "after": 4.0,
          "delta": 0.2801,
          "percent_delta": 0.0753,
          "direction": "boost",
          "projection_effect": "better",
          "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": 0.9471,
          "after": 1.0,
          "delta": 0.0529,
          "percent_delta": 0.0559,
          "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.2892,
          "after": 0.0,
          "delta": -0.2892,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6118,
          "after": 1.0,
          "delta": 0.3882,
          "percent_delta": 0.6345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9498,
          "after": 1.0,
          "delta": 0.0502,
          "percent_delta": 0.0529,
          "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.6118,
          "after": 1.0,
          "delta": 0.3882,
          "percent_delta": 0.6345,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.357,
          "after": 0.0,
          "delta": -0.357,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.5425,
          "after": 1.0,
          "delta": 0.4575,
          "percent_delta": 0.8433,
          "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.5425,
          "after": 1.0,
          "delta": 0.4575,
          "percent_delta": 0.8433,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1591,
        "predicted_3B": 0.0116,
        "predicted_BB": 0.4227,
        "predicted_H": 0.6927,
        "predicted_HR": 0.1839,
        "predicted_RBI": 0.5061,
        "predicted_SO": 1.1273
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1591,
          "delta": 0.1591,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0116,
          "delta": 0.0116,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4227,
          "delta": 0.4227,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6927,
          "delta": -0.3073,
          "percent_delta": -0.3073,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1839,
          "delta": 0.1839,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5061,
          "delta": -0.4939,
          "percent_delta": -0.4939,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1273,
          "delta": 0.1273,
          "percent_delta": 0.1273,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4227,
          "delta": 0.4227,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5061,
          "delta": -0.4939,
          "percent_delta": -0.4939,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1591,
          "after": 0.0,
          "delta": -0.1591,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0116,
          "after": 0.0,
          "delta": -0.0116,
          "percent_delta": -1.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_BB",
          "before": 0.4227,
          "after": 1.0,
          "delta": 0.5773,
          "percent_delta": 1.3657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6927,
          "after": 1.0,
          "delta": 0.3073,
          "percent_delta": 0.4436,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1839,
          "after": 0.0,
          "delta": -0.1839,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5061,
          "after": 0.0,
          "delta": -0.5061,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1273,
          "after": 1.0,
          "delta": -0.1273,
          "percent_delta": -0.1129,
          "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_BB",
          "before": 0.4227,
          "after": 1.0,
          "delta": 0.5773,
          "percent_delta": 1.3657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5061,
          "after": 0.0,
          "delta": -0.5061,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.197,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.288,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2546,
          "after": 0.197,
          "delta": -0.0576,
          "percent_delta": -0.2262,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3199,
          "after": 0.288,
          "delta": -0.0319,
          "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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5353,
          "after": 0.405,
          "delta": -0.1303,
          "percent_delta": -0.2434,
          "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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "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": 10,
      "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": 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": 11,
      "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.2546,
        "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.3199,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5353,
        "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.197,
          "after": 0.2546,
          "delta": 0.0576,
          "percent_delta": 0.2924,
          "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.288,
          "after": 0.3199,
          "delta": 0.0319,
          "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_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.405,
          "after": 0.5353,
          "delta": 0.1303,
          "percent_delta": 0.3217,
          "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.405,
          "after": 0.5353,
          "delta": 0.1303,
          "percent_delta": 0.3217,
          "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.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.74,
        "after": 4.0,
        "delta": 0.26,
        "percent_delta": 0.0695,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2546,
        "delta": 0.0046,
        "percent_delta": 0.0184,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.331,
        "after": 0.0,
        "delta": -0.331,
        "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.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.334,
        "after": 0.3199,
        "delta": -0.0141,
        "percent_delta": -0.0422,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.474,
        "after": 0.0,
        "delta": -0.474,
        "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.523,
        "after": 0.5353,
        "delta": 0.0123,
        "percent_delta": 0.0235,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.948,
        "after": 2.0,
        "delta": 1.052,
        "percent_delta": 1.1097,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.948,
        "after": 2.0,
        "delta": 1.052,
        "percent_delta": 1.1097,
        "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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.169-
predicted_3B0.006-
predicted_AB3.740-
predicted_AVG0.250-
predicted_BB0.331-
predicted_H0.940-
predicted_HR0.280-
predicted_OBP0.334-
predicted_R0.474-
predicted_RBI0.620-
predicted_SLG0.523-
predicted_SO0.948-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.166-0.003
predicted_3B0.005-0.001
predicted_AB3.720-0.020
predicted_AVG0.2570.007
predicted_BB0.3580.027
predicted_H0.9590.019
predicted_HBP0.039-
predicted_HR0.2910.011
predicted_OBP0.3350.001
predicted_R0.5550.081
predicted_RBI0.6260.006
predicted_SLG0.5390.016
predicted_SO0.946-0.002
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1660.000
predicted_3B0.0050.000
predicted_AB3.7200.000
predicted_AVG0.255-0.002
predicted_BB0.357-0.002
predicted_H0.947-0.012
predicted_HBP0.0390.000
predicted_HR0.289-0.002
predicted_OBP0.320-0.015
predicted_R0.542-0.012
predicted_RBI0.612-0.014
predicted_SLG0.535-0.004
predicted_SO0.9500.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.74), rates preserved: AVG=0.219 HR/AB=0.077

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1590.159
3B0.0120.012
BB0.4230.423
H0.693-0.307
HR0.1840.184
RBI0.506-0.494
SO1.1270.127
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.159
3B0.000-0.012
AB4.0000.000
BB1.0000.577
H1.0000.307
HR0.000-0.184
R1.0000.000
RBI0.000-0.506
SO1.000-0.127
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.166
predicted_3B0.000-0.005
predicted_AB4.0000.280
predicted_AVG0.197-0.058
predicted_BB0.000-0.357
predicted_H1.0000.053
predicted_HR0.000-0.289
predicted_OBP0.288-0.032
predicted_R1.0000.458
predicted_RBI1.0000.388
predicted_SLG0.405-0.130
predicted_SO1.0000.050
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0007.0001.0000.0003.0004.0006.0003.0004.0000.38890.45450.94440.38890.16670.22220.16670.2222
last_100.2010-38.00010.0001.0000.0004.0007.0007.0004.00011.0000.26320.32560.60530.26320.10530.18420.10530.2895
season0.60154-567.000129.00026.0001.00029.00087.00073.00051.000146.0000.22750.30110.43030.22750.05120.15340.09000.2575
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1630
predicted_3B0.0040
predicted_AB3.6940
predicted_AVG0.2661
predicted_BB0.3940
predicted_H0.9830
predicted_HBP0.0390
predicted_HR0.3060
predicted_OBP0.3353
predicted_R0.6590
predicted_RBI0.6330
predicted_SLG0.5608
predicted_SO0.9430
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16900.16300.1664model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.74003.69403.7199model_form_blend
predicted_AVG0.25000.26610.2570model_form_blend
predicted_BB0.33100.39400.3585model_form_blend
predicted_H0.94000.98300.9588model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.28000.30600.2914model_form_blend
predicted_OBP0.33400.33530.3346model_form_blend
predicted_R0.47400.65900.5548model_form_blend
predicted_RBI0.62000.63300.6257model_form_blend
predicted_SLG0.52300.56080.5395model_form_blend
predicted_SO0.94800.94300.9458model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date602
Season rows before report date602
Report year2026
Profile rows used154
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB2
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB1
Hitting_R3
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260927_HOU@OAK
game_typefull
mlbID572233
playerID572233
playerNameChristian Walker
pos1B
startedTrue
startingPosition1B
teamHOU
teamID11
game_date2026-09-27
sl_k_percent23.1
sl_bb_percent8.0
sl_woba0.316
sl_xwoba0.305
sl_xba0.227
sl_xslg0.396
sl_sweet_spot_percent31.9
sl_barrel_batted_rate9.6
sl_hard_hit_percent40.7
sl_exit_velocity_avg89.0
sl_launch_angle_avg14.6
sl_whiff_percent29.1
sl_swing_percent50.4
Cam Smith (701358) · BATTER · RF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 547
All-history rows before 20260929: 547
System season_avg: 0.2100
Data season_avg (2026 season-to-date): 0.2218
Diff (system - data): -0.0118
System opponent_avg: 0.1740

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1150.0000.000Hitting_2B0.1350.000-0.1350.000
predicted_3B0.0410.0000.000Hitting_3B0.0440.000-0.0440.000
predicted_AB3.6703.0003.000Hitting_AB3.5454.000-0.545-1.000
predicted_AVG0.2030.0000.000Hitting_AVG0.2220.500-0.222-0.500
predicted_BB0.2910.0000.000Hitting_BB0.3001.000-0.300-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.7500.0000.000Hitting_H0.7862.000-0.786-2.000
predicted_HR0.1600.0000.000Hitting_HR0.1500.000-0.1500.000
predicted_OBP0.3100.0000.000Hitting_OBP0.2890.600-0.289-0.600
predicted_R0.4530.0001.000Hitting_R0.4791.000-0.479-1.000
predicted_RBI0.3800.0000.000Hitting_RBI0.4331.000-0.433-1.000
predicted_SLG0.3880.0000.000Hitting_SLG0.4120.500-0.412-0.500
predicted_SO1.0002.0001.000Hitting_SO1.0111.0000.9891.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics0
Worse Metrics10
Biggest Boostpredicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_H: 0.7500 -> 0.0000 (deboost -0.7500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53223predicted_BB: 0.2910 -> 0.3702 (boost 0.0792, better)predicted_AB: 3.6700 -> 3.5560 (deboost -0.1140, 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.
3team_form_snapshot10101-predicted_OBP: 0.3089 -> 0.2780 (deboost -0.0309, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_H: 0.7224 -> 1.0000 (boost 0.2776, better)predicted_AB: 3.5560 -> 3.0000 (deboost -0.5560, worse)AB rounded to 3 (raw=3.67), rates preserved: AVG=0.170 HR/AB=0.042
6consistency_constraints10101-predicted_R: 0.4949 -> 0.0000 (deboost -0.4949, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.3811 (boost 0.3811, better)predicted_H: 1.0000 -> 0.6325 (deboost -0.3675, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation71625predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 0.6325 -> 0.0000 (deboost -0.6325, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context31212predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21102predicted_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
11current_json_final11010predicted_AVG: 0.1900 -> 0.2031 (boost 0.0131, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701358",
  "player_name": "Cam Smith",
  "position": "RF",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.115,
        "predicted_3B": 0.041,
        "predicted_AB": 3.67,
        "predicted_AVG": 0.203,
        "predicted_BB": 0.291,
        "predicted_H": 0.75,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.31,
        "predicted_R": 0.453,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.388,
        "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.105,
        "predicted_3B": 0.0336,
        "predicted_AB": 3.556,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.3702,
        "predicted_H": 0.7313,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.1535,
        "predicted_OBP": 0.3089,
        "predicted_R": 0.5061,
        "predicted_RBI": 0.3669,
        "predicted_SLG": 0.3829,
        "predicted_SO": 1.0744
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.115,
          "after": 0.105,
          "delta": -0.01,
          "percent_delta": -0.087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.041,
          "after": 0.0336,
          "delta": -0.0074,
          "percent_delta": -0.1805,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.67,
          "after": 3.556,
          "delta": -0.114,
          "percent_delta": -0.0311,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.205,
          "delta": 0.002,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.291,
          "after": 0.3702,
          "delta": 0.0792,
          "percent_delta": 0.2722,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.75,
          "after": 0.7313,
          "delta": -0.0187,
          "percent_delta": -0.0249,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1535,
          "delta": -0.0065,
          "percent_delta": -0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.31,
          "after": 0.3089,
          "delta": -0.0011,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.453,
          "after": 0.5061,
          "delta": 0.0531,
          "percent_delta": 0.1172,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.3669,
          "delta": -0.0131,
          "percent_delta": -0.0345,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3829,
          "delta": -0.0051,
          "percent_delta": -0.0131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0744,
          "delta": 0.0744,
          "percent_delta": 0.0744,
          "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_BB",
          "before": 0.291,
          "after": 0.3702,
          "delta": 0.0792,
          "percent_delta": 0.2722,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.67,
          "after": 3.556,
          "delta": -0.114,
          "percent_delta": -0.0311,
          "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": 148
      }
    },
    {
      "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.105,
        "predicted_3B": 0.0336,
        "predicted_AB": 3.556,
        "predicted_AVG": 0.2031,
        "predicted_BB": 0.3686,
        "predicted_H": 0.7224,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.1523,
        "predicted_OBP": 0.278,
        "predicted_R": 0.4949,
        "predicted_RBI": 0.3588,
        "predicted_SLG": 0.3801,
        "predicted_SO": 1.0789
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.105,
          "after": 0.105,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0336,
          "after": 0.0336,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.556,
          "after": 3.556,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2031,
          "delta": -0.0019,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3702,
          "after": 0.3686,
          "delta": -0.0016,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7313,
          "after": 0.7224,
          "delta": -0.0089,
          "percent_delta": -0.0122,
          "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.1535,
          "after": 0.1523,
          "delta": -0.0012,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3089,
          "after": 0.278,
          "delta": -0.0309,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5061,
          "after": 0.4949,
          "delta": -0.0112,
          "percent_delta": -0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3669,
          "after": 0.3588,
          "delta": -0.0081,
          "percent_delta": -0.0221,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3829,
          "after": 0.3801,
          "delta": -0.0028,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0744,
          "after": 1.0789,
          "delta": 0.0045,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3089,
          "after": 0.278,
          "delta": -0.0309,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.67), rates preserved: AVG=0.170 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.105,
          "after": 0.0,
          "delta": -0.105,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0336,
          "after": 0.0,
          "delta": -0.0336,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.556,
          "after": 3.0,
          "delta": -0.556,
          "percent_delta": -0.1564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3686,
          "after": 0.0,
          "delta": -0.3686,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7224,
          "after": 1.0,
          "delta": 0.2776,
          "percent_delta": 0.3843,
          "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.1523,
          "after": 0.0,
          "delta": -0.1523,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3588,
          "after": 0.0,
          "delta": -0.3588,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0789,
          "after": 1.0,
          "delta": -0.0789,
          "percent_delta": -0.0731,
          "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.7224,
          "after": 1.0,
          "delta": 0.2776,
          "percent_delta": 0.3843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.556,
          "after": 3.0,
          "delta": -0.556,
          "percent_delta": -0.1564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.4949,
          "after": 0.0,
          "delta": -0.4949,
          "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.4949,
          "after": 0.0,
          "delta": -0.4949,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1357,
        "predicted_3B": 0.0248,
        "predicted_BB": 0.3811,
        "predicted_H": 0.6325,
        "predicted_HR": 0.147,
        "predicted_RBI": 0.3701,
        "predicted_SO": 1.1942
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1357,
          "delta": 0.1357,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0248,
          "delta": 0.0248,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3811,
          "delta": 0.3811,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6325,
          "delta": -0.3675,
          "percent_delta": -0.3675,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.147,
          "delta": 0.147,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3701,
          "delta": 0.3701,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1942,
          "delta": 0.1942,
          "percent_delta": 0.1942,
          "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_BB",
          "before": 0.0,
          "after": 0.3811,
          "delta": 0.3811,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6325,
          "delta": -0.3675,
          "percent_delta": -0.3675,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1357,
          "after": 0.0,
          "delta": -0.1357,
          "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": 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.3811,
          "after": 0.0,
          "delta": -0.3811,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6325,
          "after": 0.0,
          "delta": -0.6325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.147,
          "after": 0.0,
          "delta": -0.147,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.3701,
          "after": 0.0,
          "delta": -0.3701,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1942,
          "after": 1.0,
          "delta": -0.1942,
          "percent_delta": -0.1626,
          "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_R",
          "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": 0.6325,
          "after": 0.0,
          "delta": -0.6325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.19,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.378,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2031,
          "after": 0.19,
          "delta": -0.0131,
          "percent_delta": -0.0645,
          "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": 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_OBP",
          "before": 0.278,
          "after": 0.279,
          "delta": 0.001,
          "percent_delta": 0.0036,
          "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_SLG",
          "before": 0.3801,
          "after": 0.378,
          "delta": -0.0021,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 11,
      "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.2031,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.278,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3801,
        "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.19,
          "after": 0.2031,
          "delta": 0.0131,
          "percent_delta": 0.0692,
          "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.279,
          "after": 0.278,
          "delta": -0.001,
          "percent_delta": -0.0036,
          "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.378,
          "after": 0.3801,
          "delta": 0.0021,
          "percent_delta": 0.0055,
          "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_AVG",
          "before": 0.19,
          "after": 0.2031,
          "delta": 0.0131,
          "percent_delta": 0.0692,
          "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.115,
        "after": 0.0,
        "delta": -0.115,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.041,
        "after": 0.0,
        "delta": -0.041,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.67,
        "after": 3.0,
        "delta": -0.67,
        "percent_delta": -0.1826,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.203,
        "after": 0.2031,
        "delta": 0.0001,
        "percent_delta": 0.0005,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.291,
        "after": 0.0,
        "delta": -0.291,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "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.31,
        "after": 0.278,
        "delta": -0.032,
        "percent_delta": -0.1032,
        "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.38,
        "after": 0.0,
        "delta": -0.38,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.388,
        "after": 0.3801,
        "delta": -0.0079,
        "percent_delta": -0.0204,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 0,
      "worse_metrics": 10,
      "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": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.115-
predicted_3B0.041-
predicted_AB3.670-
predicted_AVG0.203-
predicted_BB0.291-
predicted_H0.750-
predicted_HR0.160-
predicted_OBP0.310-
predicted_R0.453-
predicted_RBI0.380-
predicted_SLG0.388-
predicted_SO1.000-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.105-0.010
predicted_3B0.034-0.007
predicted_AB3.556-0.114
predicted_AVG0.2050.002
predicted_BB0.3700.079
predicted_H0.731-0.019
predicted_HBP0.047-
predicted_HR0.153-0.007
predicted_OBP0.309-0.001
predicted_R0.5060.053
predicted_RBI0.367-0.013
predicted_SLG0.383-0.005
predicted_SO1.0740.074
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1050.000
predicted_3B0.0340.000
predicted_AB3.5560.000
predicted_AVG0.203-0.002
predicted_BB0.369-0.002
predicted_H0.722-0.009
predicted_HBP0.0470.000
predicted_HR0.152-0.001
predicted_OBP0.278-0.031
predicted_R0.495-0.011
predicted_RBI0.359-0.008
predicted_SLG0.380-0.003
predicted_SO1.0790.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.67), rates preserved: AVG=0.170 HR/AB=0.042

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1360.136
3B0.0250.025
BB0.3810.381
H0.632-0.368
HR0.1470.147
RBI0.3700.370
SO1.1940.194
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.136
3B0.000-0.025
AB3.0000.000
BB0.000-0.381
H0.000-0.632
HR0.000-0.147
R1.0001.000
RBI0.000-0.370
SO1.000-0.194
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.105
predicted_3B0.000-0.034
predicted_AB3.000-0.556
predicted_AVG0.190-0.013
predicted_BB0.000-0.369
predicted_H1.0000.278
predicted_HR0.000-0.152
predicted_OBP0.2790.001
predicted_R0.000-0.495
predicted_RBI0.000-0.359
predicted_SLG0.378-0.002
predicted_SO1.000-0.079
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 148
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0004.0000.0000.0001.0002.0005.0005.0007.0000.25000.42860.43750.25000.06250.12500.31250.4375
last_100.2010-34.0005.0001.0000.0001.0002.0005.0005.00015.0000.14710.27500.26470.14710.02940.05880.14710.4412
season0.60148-510.000107.00017.0006.00021.00055.00067.00043.000148.0000.20980.27790.39020.20980.04120.10780.08430.2902
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0920
predicted_3B0.0240
predicted_AB3.4080
predicted_AVG0.2075
predicted_BB0.4730
predicted_H0.7070
predicted_HBP0.0470
predicted_HR0.1450
predicted_OBP0.3074
predicted_R0.5750
predicted_RBI0.3500
predicted_SLG0.3762
predicted_SO1.1710
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11500.09200.1050model_form_blend
predicted_3B0.04100.02400.0336model_form_blend
predicted_AB3.67003.40803.5560model_form_blend
predicted_AVG0.20300.20750.2050model_form_blend
predicted_BB0.29100.47300.3702model_form_blend
predicted_H0.75000.70700.7313model_form_blend
predicted_HBP-0.04700.0470form_only
predicted_HR0.16000.14500.1535model_form_blend
predicted_OBP0.31000.30740.3089model_form_blend
predicted_R0.45300.57500.5061model_form_blend
predicted_RBI0.38000.35000.3669model_form_blend
predicted_SLG0.38800.37620.3829model_form_blend
predicted_SO1.00001.17101.0744model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date547
Season rows before report date547
Report year2026
Profile rows used148
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260927_HOU@OAK
game_typefull
mlbID701358
playerID701358
playerNameCam Smith
posRF
startedTrue
startingPositionRF
teamHOU
teamID11
game_date2026-09-27
sl_k_percent26.1
sl_bb_percent7.7
sl_woba0.293
sl_xwoba0.316
sl_xba0.235
sl_xslg0.42
sl_sweet_spot_percent31.3
sl_barrel_batted_rate11.2
sl_hard_hit_percent43.5
sl_exit_velocity_avg88.7
sl_launch_angle_avg12.3
sl_whiff_percent29.1
sl_swing_percent48.5
Taylor Trammell (666211) · BATTER · LF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 281
All-history rows before 20260929: 281
System season_avg: 0.1920
Data season_avg (2026 season-to-date): 0.2153
Diff (system - data): -0.0233
System opponent_avg: 0.3570
System season_avg diverges from 2026 season-to-date by -0.0233. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1110.0000.000Hitting_2B0.1490.000-0.1490.000
predicted_3B0.0220.0000.000Hitting_3B0.0250.000-0.0250.000
predicted_AB2.8333.0003.000Hitting_AB3.0753.000-0.0750.000
predicted_AVG0.1660.0000.000Hitting_AVG0.2150.000-0.2150.000
predicted_BB0.3110.0000.000Hitting_BB0.3811.000-0.381-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H0.3600.0000.000Hitting_H0.6620.000-0.6620.000
predicted_HR0.0700.0000.000Hitting_HR0.1000.000-0.1000.000
predicted_OBP0.2470.0000.000Hitting_OBP0.3130.250-0.313-0.250
predicted_R0.3110.0000.000Hitting_R0.4020.000-0.4020.000
predicted_RBI0.1600.0000.000Hitting_RBI0.3130.000-0.3130.000
predicted_SLG0.2730.0000.000Hitting_SLG0.3770.000-0.3770.000
predicted_SO1.0330.0001.000Hitting_SO1.0503.000-1.050-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 2.8330 -> 3.0000 (boost 0.1670, better)
Biggest Deboostpredicted_SO: 1.0330 -> 0.0000 (deboost -1.0330, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32112predicted_SO: 1.0330 -> 1.1470 (boost 0.1140, worse)predicted_AVG: 0.1660 -> 0.1571 (deboost -0.0089, 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.
3team_form_snapshot30303-predicted_AVG: 0.1571 -> 0.1333 (deboost -0.0238, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_AB: 2.9432 -> 3.0000 (boost 0.0568, better)predicted_H: 0.3924 -> 0.0000 (deboost -0.3924, worse)AB rounded to 3 (raw=2.94), rates preserved: AVG=0.115 HR/AB=0.025
6consistency_constraints10101-predicted_R: 0.2822 -> 0.0000 (deboost -0.2822, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine66051predicted_H: 0.0000 -> 0.6022 (boost 0.6022, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation60615-predicted_H: 0.6022 -> 0.0000 (deboost -0.6022, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context33030predicted_SLG: 0.2567 -> 0.3500 (boost 0.0933, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10110-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3500 -> 0.2567 (deboost -0.0933, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666211",
  "player_name": "Taylor Trammell",
  "position": "LF",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.111,
        "predicted_3B": 0.022,
        "predicted_AB": 2.833,
        "predicted_AVG": 0.166,
        "predicted_BB": 0.311,
        "predicted_H": 0.36,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.247,
        "predicted_R": 0.311,
        "predicted_RBI": 0.16,
        "predicted_SLG": 0.273,
        "predicted_SO": 1.033
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1051,
        "predicted_3B": 0.0186,
        "predicted_AB": 2.9432,
        "predicted_AVG": 0.1571,
        "predicted_BB": 0.3596,
        "predicted_H": 0.3972,
        "predicted_HBP": 0.022,
        "predicted_HR": 0.0742,
        "predicted_OBP": 0.2502,
        "predicted_R": 0.2886,
        "predicted_RBI": 0.1841,
        "predicted_SLG": 0.269,
        "predicted_SO": 1.147
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.111,
          "after": 0.1051,
          "delta": -0.0059,
          "percent_delta": -0.0532,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0186,
          "delta": -0.0034,
          "percent_delta": -0.1545,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.833,
          "after": 2.9432,
          "delta": 0.1102,
          "percent_delta": 0.0389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.166,
          "after": 0.1571,
          "delta": -0.0089,
          "percent_delta": -0.0536,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.311,
          "after": 0.3596,
          "delta": 0.0486,
          "percent_delta": 0.1563,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.3972,
          "delta": 0.0372,
          "percent_delta": 0.1033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0742,
          "delta": 0.0042,
          "percent_delta": 0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.247,
          "after": 0.2502,
          "delta": 0.0032,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.311,
          "after": 0.2886,
          "delta": -0.0224,
          "percent_delta": -0.072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.16,
          "after": 0.1841,
          "delta": 0.0241,
          "percent_delta": 0.1506,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.273,
          "after": 0.269,
          "delta": -0.004,
          "percent_delta": -0.0147,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.033,
          "after": 1.147,
          "delta": 0.114,
          "percent_delta": 0.1104,
          "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.033,
          "after": 1.147,
          "delta": 0.114,
          "percent_delta": 0.1104,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.166,
          "after": 0.1571,
          "delta": -0.0089,
          "percent_delta": -0.0536,
          "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.1051,
        "predicted_3B": 0.0186,
        "predicted_AB": 2.9432,
        "predicted_AVG": 0.1333,
        "predicted_BB": 0.3581,
        "predicted_H": 0.3924,
        "predicted_HBP": 0.022,
        "predicted_HR": 0.0736,
        "predicted_OBP": 0.2273,
        "predicted_R": 0.2822,
        "predicted_RBI": 0.18,
        "predicted_SLG": 0.2567,
        "predicted_SO": 1.1518
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1051,
          "after": 0.1051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0186,
          "after": 0.0186,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9432,
          "after": 2.9432,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1571,
          "after": 0.1333,
          "delta": -0.0238,
          "percent_delta": -0.1515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3596,
          "after": 0.3581,
          "delta": -0.0015,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3972,
          "after": 0.3924,
          "delta": -0.0048,
          "percent_delta": -0.0121,
          "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.0742,
          "after": 0.0736,
          "delta": -0.0006,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2502,
          "after": 0.2273,
          "delta": -0.0229,
          "percent_delta": -0.0915,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2886,
          "after": 0.2822,
          "delta": -0.0064,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1841,
          "after": 0.18,
          "delta": -0.0041,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.269,
          "after": 0.2567,
          "delta": -0.0123,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.147,
          "after": 1.1518,
          "delta": 0.0048,
          "percent_delta": 0.0042,
          "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.1571,
          "after": 0.1333,
          "delta": -0.0238,
          "percent_delta": -0.1515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.94), rates preserved: AVG=0.115 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.1051,
          "after": 0.0,
          "delta": -0.1051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0186,
          "after": 0.0,
          "delta": -0.0186,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9432,
          "after": 3.0,
          "delta": 0.0568,
          "percent_delta": 0.0193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3581,
          "after": 0.0,
          "delta": -0.3581,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3924,
          "after": 0.0,
          "delta": -0.3924,
          "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.0736,
          "after": 0.0,
          "delta": -0.0736,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.18,
          "after": 0.0,
          "delta": -0.18,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1518,
          "after": 1.0,
          "delta": -0.1518,
          "percent_delta": -0.1318,
          "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": 2.9432,
          "after": 3.0,
          "delta": 0.0568,
          "percent_delta": 0.0193,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.3924,
          "after": 0.0,
          "delta": -0.3924,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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": 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.2822,
          "after": 0.0,
          "delta": -0.2822,
          "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.2822,
          "after": 0.0,
          "delta": -0.2822,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1252,
        "predicted_3B": 0.019,
        "predicted_BB": 0.3808,
        "predicted_H": 0.6022,
        "predicted_HR": 0.1111,
        "predicted_RBI": 0.3366,
        "predicted_SO": 1.4557
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1252,
          "delta": 0.1252,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.019,
          "delta": 0.019,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3808,
          "delta": 0.3808,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6022,
          "delta": 0.6022,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1111,
          "delta": 0.1111,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3366,
          "delta": 0.3366,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4557,
          "delta": 0.4557,
          "percent_delta": 0.4557,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6022,
          "delta": 0.6022,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1252,
          "after": 0.0,
          "delta": -0.1252,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3808,
          "after": 0.0,
          "delta": -0.3808,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6022,
          "after": 0.0,
          "delta": -0.6022,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1111,
          "after": 0.0,
          "delta": -0.1111,
          "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.3366,
          "after": 0.0,
          "delta": -0.3366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4557,
          "after": 1.0,
          "delta": -0.4557,
          "percent_delta": -0.313,
          "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_H",
          "before": 0.6022,
          "after": 0.0,
          "delta": -0.6022,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.192,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.285,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.35,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1333,
          "after": 0.192,
          "delta": 0.0587,
          "percent_delta": 0.4404,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2273,
          "after": 0.285,
          "delta": 0.0577,
          "percent_delta": 0.2538,
          "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.2567,
          "after": 0.35,
          "delta": 0.0933,
          "percent_delta": 0.3635,
          "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.2567,
          "after": 0.35,
          "delta": 0.0933,
          "percent_delta": 0.3635,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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": 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": 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": 11,
      "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.1333,
        "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.2273,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2567,
        "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.192,
          "after": 0.1333,
          "delta": -0.0587,
          "percent_delta": -0.3057,
          "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.285,
          "after": 0.2273,
          "delta": -0.0577,
          "percent_delta": -0.2024,
          "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.35,
          "after": 0.2567,
          "delta": -0.0933,
          "percent_delta": -0.2666,
          "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.35,
          "after": 0.2567,
          "delta": -0.0933,
          "percent_delta": -0.2666,
          "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.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.833,
        "after": 3.0,
        "delta": 0.167,
        "percent_delta": 0.0589,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.166,
        "after": 0.1333,
        "delta": -0.0327,
        "percent_delta": -0.197,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.36,
        "after": 0.0,
        "delta": -0.36,
        "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.247,
        "after": 0.2273,
        "delta": -0.0197,
        "percent_delta": -0.0798,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.273,
        "after": 0.2567,
        "delta": -0.0163,
        "percent_delta": -0.0597,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.033,
        "after": 0.0,
        "delta": -1.033,
        "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.833,
        "after": 3.0,
        "delta": 0.167,
        "percent_delta": 0.0589,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.033,
        "after": 0.0,
        "delta": -1.033,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.111-
predicted_3B0.022-
predicted_AB2.833-
predicted_AVG0.166-
predicted_BB0.311-
predicted_H0.360-
predicted_HR0.070-
predicted_OBP0.247-
predicted_R0.311-
predicted_RBI0.160-
predicted_SLG0.273-
predicted_SO1.033-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.105-0.006
predicted_3B0.019-0.003
predicted_AB2.9430.110
predicted_AVG0.157-0.009
predicted_BB0.3600.049
predicted_H0.3970.037
predicted_HBP0.022-
predicted_HR0.0740.004
predicted_OBP0.2500.003
predicted_R0.289-0.022
predicted_RBI0.1840.024
predicted_SLG0.269-0.004
predicted_SO1.1470.114
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1050.000
predicted_3B0.0190.000
predicted_AB2.9430.000
predicted_AVG0.133-0.024
predicted_BB0.358-0.002
predicted_H0.392-0.005
predicted_HBP0.0220.000
predicted_HR0.074-0.001
predicted_OBP0.227-0.023
predicted_R0.282-0.006
predicted_RBI0.180-0.004
predicted_SLG0.257-0.012
predicted_SO1.1520.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.94), rates preserved: AVG=0.115 HR/AB=0.025

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1250.125
3B0.0190.019
BB0.3810.381
H0.6020.602
HR0.1110.111
RBI0.3370.337
SO1.4560.456
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.125
3B0.000-0.019
AB3.0000.000
BB0.000-0.381
H0.000-0.602
HR0.000-0.111
R0.0000.000
RBI0.000-0.337
SO1.000-0.456
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.105
predicted_3B0.000-0.019
predicted_AB3.0000.057
predicted_AVG0.1920.059
predicted_BB0.000-0.358
predicted_H0.000-0.392
predicted_HR0.000-0.074
predicted_OBP0.2850.058
predicted_R0.000-0.282
predicted_RBI0.000-0.180
predicted_SLG0.3500.093
predicted_SO1.000-0.152
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 90
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0000.0000.0000.0000.0000.0000.0003.00011.0000.00000.15000.00000.00000.00000.00000.17650.6471
last_100.2010-32.0003.0001.0000.0001.0002.0002.0007.00015.0000.09380.25640.21880.09380.03120.06250.21880.4688
season0.6090-255.00049.00010.0002.0008.00022.00028.00028.00093.0000.19220.27970.34120.19220.03140.08630.10980.3647
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0970
predicted_3B0.0140
predicted_AB3.0940
predicted_AVG0.1449
predicted_BB0.4260
predicted_H0.4480
predicted_HBP0.0220
predicted_HR0.0800
predicted_OBP0.2545
predicted_R0.2580
predicted_RBI0.2170
predicted_SLG0.2636
predicted_SO1.3030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11100.09700.1051model_form_blend
predicted_3B0.02200.01400.0186model_form_blend
predicted_AB2.83303.09402.9432model_form_blend
predicted_AVG0.16600.14490.1571model_form_blend
predicted_BB0.31100.42600.3596model_form_blend
predicted_H0.36000.44800.3972model_form_blend
predicted_HBP-0.02200.0220form_only
predicted_HR0.07000.08000.0742model_form_blend
predicted_OBP0.24700.25450.2502model_form_blend
predicted_R0.31100.25800.2886model_form_blend
predicted_RBI0.16000.21700.1841model_form_blend
predicted_SLG0.27300.26360.2690model_form_blend
predicted_SO1.03301.30301.1470model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date281
Season rows before report date281
Report year2026
Profile rows used90
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO3
Hitting_TB0
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260927_HOU@OAK
game_typefull
mlbID666211
playerID666211
playerNameTaylor Trammell
posLF
startedTrue
startingPositionLF
teamHOU
teamID11
game_date2026-09-27
sl_k_percent32.2
sl_bb_percent10.0
sl_woba0.28
sl_xwoba0.283
sl_xba0.186
sl_xslg0.36
sl_sweet_spot_percent28.2
sl_barrel_batted_rate12.3
sl_hard_hit_percent38.0
sl_exit_velocity_avg88.5
sl_launch_angle_avg15.6
sl_whiff_percent38.5
sl_swing_percent48.8
AJ Blubaugh (805123) · PITCHER · Starter · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 64
All-history rows before 20260929: 64

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.6560.000-0.6560.000
predicted_ER0.0000.0000.000Pitching_ER0.6091.000-0.609-1.000
predicted_H2.0002.0002.000Pitching_H1.1881.0000.8121.000
predicted_IP5.0005.0005.000Pitching_InningsPitched1.4020.2003.5984.800
predicted_SO4.0004.0004.000Pitching_SO1.4691.0002.5313.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "805123",
  "player_name": "AJ Blubaugh",
  "position": "Starter",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_R": 0.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H2.000-
predicted_HR0.000-
predicted_IP5.000-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 64
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0006.0004.0004.0003.0001.00010.80001.60001.20000.80000.80000.60000.2000
last_100.35109.20010.00010.0007.0007.0003.0009.31031.75861.03451.03450.72410.72410.3103
season0.206496.00039.00076.00042.00094.00013.0003.65621.22920.40620.79170.43750.97920.1354
Weighted Prediction From Real Data
MetricValue
predicted_BB1.1830
predicted_ER1.6530
predicted_ERA7.9946
predicted_H1.6780
predicted_HR0.3910
predicted_IP2.0000
predicted_SO1.4200
predicted_WHIP1.5373
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.18300.6680model_form_blend
predicted_ER0.00001.65300.9334model_form_blend
predicted_ERA-7.99467.9946form_only
predicted_H2.00001.67801.8182model_form_blend
predicted_HR0.00000.39100.2208model_form_blend
predicted_IP5.00002.00003.1000model_form_blend
predicted_SO4.00001.42002.5432model_form_blend
predicted_WHIP-1.53731.5373form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date64
Season rows before report date64
Report year2026
Profile rows used64
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H2
R0
ER0
BB0
SO4
HR0
BF17
Pitches79

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER1
Pitching_ERA3.66
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored2
Pitching_InningsPitched0.2
Pitching_Pitches15
Pitching_R1
Pitching_SO1
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260925_HOU@OAK
game_typefull
mlbID805123
playerID805123
playerNameAJ Blubaugh
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-25
sl_k_percent23.4
sl_bb_percent10.5
sl_woba0.306
sl_xwoba0.317
sl_sweet_spot_percent37.0
sl_barrel_batted_rate10.3
sl_hard_hit_percent37.0
sl_whiff_percent28.1
sl_swing_percent48.8
sl_avg_best_speed79.202534141
sl_avg_hyper_speed93.871060784
Logan VanWey (701121) · PITCHER · Setup Man · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 10
All-history rows before 20260929: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1001.000-0.100-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2000.000-0.2000.000
predicted_H0.0000.0000.000Pitching_H1.1000.000-1.1000.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2201.000-0.1200.100
predicted_SO1.0001.0001.000Pitching_SO0.9000.0000.1001.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "701121",
  "player_name": "Logan VanWey",
  "position": "Setup Man",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.333-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 10
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.2001.0006.0001.0004.0001.0001.35001.05000.15000.90000.15000.60000.1500
last_100.351012.2002.00011.0001.0009.0001.0001.42110.94740.15790.86840.07900.71050.0790
season0.201012.2002.00011.0001.0009.0001.0001.42110.94740.15790.86840.07900.71050.0790
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3860
predicted_ER0.5200
predicted_ERA3.5074
predicted_H1.2680
predicted_HR0.1850
predicted_IP1.1000
predicted_SO1.1160
predicted_WHIP1.2404
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.38600.1437model_form_blend
predicted_ER0.00000.52000.1936model_form_blend
predicted_ERA-3.50743.5074form_only
predicted_H0.00001.26800.4721model_form_blend
predicted_HR0.00000.18500.0689model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.11601.0432model_form_blend
predicted_WHIP-1.24041.2404form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date10
Season rows before report date10
Report year2026
Profile rows used10
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO1
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA1.42
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches16
Pitching_R0
Pitching_SO0
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260927_HOU@OAK
game_typefull
mlbID701121
playerID701121
playerNameLogan VanWey
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-27
sl_k_percent19.6
sl_bb_percent2.2
sl_woba0.259
sl_xwoba0.255
sl_sweet_spot_percent25.0
sl_barrel_batted_rate5.6
sl_hard_hit_percent44.4
sl_whiff_percent23.8
sl_swing_percent54.1
sl_avg_best_speed80.183161111
sl_avg_hyper_speed95.399543143
Bryan Abreu (650556) · PITCHER · Middle Reliever (High Leverage) · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 66
All-history rows before 20260929: 66

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.6211.0000.3790.000
predicted_ER6.0006.0006.000Pitching_ER0.3940.0005.6066.000
predicted_H6.0006.0006.000Pitching_H0.6671.0005.3335.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8471.1000.153-0.100
predicted_SO1.0001.0001.000Pitching_SO1.2120.000-0.2121.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "650556",
  "player_name": "Bryan Abreu",
  "position": "Middle Reliever (High Leverage)",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 6.0,
        "predicted_H": 6.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": 6.0,
        "predicted_H": 6.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 6.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": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 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": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER6.000-
predicted_H6.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 65
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1001.0004.0001.0004.0001.0002.07691.15380.23080.92310.23080.92310.2308
last_100.35109.0003.0008.0002.00011.0002.0003.00001.11110.33330.88890.22221.22220.2222
season0.206562.20026.00042.00041.00080.0009.0003.73401.32450.41490.67020.65431.27660.1436
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3310
predicted_ER0.3620
predicted_ERA3.2580
predicted_H0.8950
predicted_HR0.1930
predicted_IP1.0000
predicted_SO1.0530
predicted_WHIP1.2261
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.33100.6441model_form_blend
predicted_ER6.00000.36203.0008model_form_blend
predicted_ERA-3.25803.2580form_only
predicted_H6.00000.89503.2844model_form_blend
predicted_HR0.00000.19300.1027model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.05301.0282model_form_blend
predicted_WHIP-1.22611.2261form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date66
Season rows before report date66
Report year2026
Profile rows used65
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H6
R6
ER6
BB1
SO1
HR0
BF10
Pitches35

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA3.73
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches14
Pitching_R0
Pitching_SO0
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260924_HOU@OAK
game_typefull
mlbID650556
playerID650556
playerNameBryan Abreu
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-24
sl_k_percent29.9
sl_bb_percent15.3
sl_woba0.324
sl_xwoba0.312
sl_sweet_spot_percent34.5
sl_barrel_batted_rate6.4
sl_hard_hit_percent41.5
sl_whiff_percent33.8
sl_swing_percent42.2
sl_avg_best_speed81.696895072
sl_avg_hyper_speed94.178094015
Josh Hader (623352) · PITCHER · Closer · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 45
All-history rows before 20260929: 45

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3334.000-0.333-4.000
predicted_ER0.0000.0000.000Pitching_ER0.1111.000-0.111-1.000
predicted_H0.0000.0000.000Pitching_H0.4222.000-0.422-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9671.1000.033-0.100
predicted_SO1.0001.0001.000Pitching_SO1.2220.000-0.2221.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "623352",
  "player_name": "Josh Hader",
  "position": "Closer",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 44
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1002.0005.0004.0002.0000.0003.37501.68750.37500.93750.75000.37500.0000
last_100.351010.1002.0006.0004.0009.0000.0001.74190.96770.19350.58060.38710.87100.0000
season0.204444.2004.00016.00015.00055.0001.0000.80600.69400.08960.35820.33581.23130.0224
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4830
predicted_ER0.3450
predicted_ERA3.1092
predicted_H0.7980
predicted_HR0.0550
predicted_IP1.0000
predicted_SO0.7960
predicted_WHIP1.2813
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.48300.2421model_form_blend
predicted_ER0.00000.34500.1729model_form_blend
predicted_ERA-3.10923.1092form_only
predicted_H0.00000.79800.3999model_form_blend
predicted_HR0.00000.05500.0276model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.79600.8978model_form_blend
predicted_WHIP-1.28131.2813form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date45
Season rows before report date45
Report year2026
Profile rows used44
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB0
SO1
HR0
BF3
Pitches13

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs1
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB4
Pitching_Balk0
Pitching_Batters Faced9
Pitching_ER1
Pitching_ERA1.01
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches44
Pitching_R2
Pitching_SO0
Pitching_Strikes25
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260923_HOU@SEA
game_typefull
mlbID623352
playerID623352
playerNameJosh Hader
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-23
sl_k_percent32.9
sl_bb_percent9.0
sl_woba0.18
sl_xwoba0.215
sl_sweet_spot_percent22.7
sl_barrel_batted_rate6.2
sl_hard_hit_percent32.0
sl_whiff_percent34.2
sl_swing_percent54.0
sl_avg_best_speed74.979178776
sl_avg_hyper_speed92.557630722
Bennett Sousa (656986) · PITCHER · Middle Reliever (High Leverage) · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 35
All-history rows before 20260929: 35

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5140.000-0.5140.000
predicted_ER0.0000.0000.000Pitching_ER0.5713.000-0.571-3.000
predicted_H0.0000.0000.000Pitching_H1.0293.000-1.029-3.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.6770.000-0.4770.200
predicted_SO0.0000.0000.000Pitching_SO0.9140.000-0.9140.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "656986",
  "player_name": "Bennett Sousa",
  "position": "Middle Reliever (High Leverage)",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 33
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0002.0006.0002.0006.0002.0003.60001.60000.40001.20000.40001.20000.4000
last_100.35109.1002.0007.0005.00010.0002.0001.92861.28570.21430.75000.53571.07140.2143
season0.203330.00016.00031.00017.00032.0005.0004.80001.60000.53331.03330.56671.06670.1667
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3700
predicted_ER0.3650
predicted_ERA3.8641
predicted_H0.8490
predicted_HR0.1920
predicted_IP1.0000
predicted_SO0.8870
predicted_WHIP1.4332
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.37000.1705model_form_blend
predicted_ER0.00000.36500.1682model_form_blend
predicted_ERA-3.86413.8641form_only
predicted_H0.00000.84900.3913model_form_blend
predicted_HR0.00000.19200.0885model_form_blend
predicted_IP0.20001.00000.2000model_form_blend
predicted_SO0.00000.88700.4088model_form_blend
predicted_WHIP-1.43321.4332form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date35
Season rows before report date35
Report year2026
Profile rows used33
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H0
R0
ER0
BB0
SO0
HR0
BF2
Pitches8

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER3
Pitching_ERA6.00
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored2
Pitching_InningsPitched0.0
Pitching_Pitches5
Pitching_R3
Pitching_SO0
Pitching_Strikes4
Pitching_Wild Pitch0
Pitching_decisionBS
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260925_HOU@OAK
game_typefull
mlbID656986
playerID656986
playerNameBennett Sousa
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-25
sl_k_percent22.7
sl_bb_percent12.8
sl_woba0.371
sl_xwoba0.313
sl_sweet_spot_percent36.3
sl_barrel_batted_rate9.9
sl_hard_hit_percent36.3
sl_whiff_percent31.0
sl_swing_percent49.0
sl_avg_best_speed78.984713556
sl_avg_hyper_speed93.588781667

20260929_PHI@ATL

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 2, "home_runs": 3, "confidence": 0.505394185, "home_win_probability": 0.505394185, "away_win_probability": 0.494605815, "predicted_score_text": "PHI 2 - 3 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": "PHI", "original_runs": 2, "run_delta": -0.2542, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 31.0, "quality": 0.26826384166476536, "contact": 0.2813958434359402, "power": 0.3072547237169069, "discipline": 0.0115316975099643, "xwoba": 0.3271290322580645, "recent_xwoba": 0.3271290322580645, "barrel": 8.229032258064514, "ab_hard_contact": 0.26067051120449825, "ab_bat_speed": 70.96185123425192, "ab_strikeout_rate": 0.22546285632329924, "available_players": 9, "top_players": [{"player_id": "656941", "player_name": "Kyle Schwarber", "position": "DH", "weight": 4.0, "quality": 0.8611903303480604, "contact": 0.6128903524964534, "power": 1.4773367169266836, "discipline": 0.16583904521404533, "xwoba": 0.364, "recent_xwoba": 0.364, "barrel": 15.599999999999998, "ab_hard_contact": 0.9400676718670147, "ab_bat_speed": 74.73446461871461, "ab_strikeout_rate": 0.3297453703703704, "available": 1.0}, {"player_id": "547180", "player_name": "Bryce Harper", "position": "RF", "weight": 4.0, "quality": 0.8600973870185805, "contact": 0.9441152521186409, "power": 0.8869343487155141, "discipline": 0.6655871853724201, "xwoba": 0.379, "recent_xwoba": 0.379, "barrel": 10.3, "ab_hard_contact": 1.3649726885959967, "ab_bat_speed": 73.07423844380095, "ab_strikeout_rate": 0.21942580164056674, "available": 1.0}, {"player_id": "664761", "player_name": "Alec Bohm", "position": "1B", "weight": 4.0, "quality": 0.4202010613376923, "contact": 0.6278114193598914, "power": 0.20878395010342055, "discipline": 0.4382189984955942, "xwoba": 0.327, "recent_xwoba": 0.327, "barrel": 6.0, "ab_hard_contact": -0.03727337888396407, "ab_bat_speed": 70.50088214285714, "ab_strikeout_rate": 0.14550827423167847, "available": 1.0}, {"player_id": "656537", "player_name": "Derek Hill", "position": "CF", "weight": 3.0, "quality": -0.3007362259976865, "contact": -0.5891535999234255, "power": 0.15132715082699633, "discipline": -0.9116780996780998, "xwoba": 0.289, "recent_xwoba": 0.289, "barrel": 10.6, "ab_hard_contact": -0.020314126317219322, "ab_bat_speed": 67.617942251462, "ab_strikeout_rate": 0.2831196581196581, "available": 1.0}, {"player_id": "681082", "player_name": "Bryson Stott", "position": "2B", "weight": 3.0, "quality": 0.282674321282623, "contact": 0.4583050830047579, "power": 0.022682622758580517, "discipline": 0.5937387057387058, "xwoba": 0.33, "recent_xwoba": 0.33, "barrel": 5.9, "ab_hard_contact": 0.15346197898112204, "ab_bat_speed": 68.63926454687723, "ab_strikeout_rate": 0.18127428127428127, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "519242", "player_name": "Chris Sale", "quality": 0.7269316285853162, "contact": 0.9508654744182535, "command": 0.7383436041083099, "movement": 0.16692928936466406, "xwoba": 0.267, "whiff": 30.4, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "ATL", "original_runs": 3, "run_delta": -0.2796, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.280677317039673, "contact": 0.1794454221287158, "power": 0.35573204762616334, "discipline": -0.003313778418013502, "xwoba": 0.3186060606060606, "recent_xwoba": 0.3186060606060606, "barrel": 9.0, "ab_hard_contact": 0.42825134213365657, "ab_bat_speed": 71.65666436121488, "ab_strikeout_rate": 0.21554538014961533, "available_players": 9, "top_players": [{"player_id": "686948", "player_name": "Drake Baldwin", "position": "C", "weight": 4.0, "quality": 1.0678182439752475, "contact": 1.18555399223962, "power": 1.3546914539433441, "discipline": 0.06725666260822527, "xwoba": 0.37, "recent_xwoba": 0.37, "barrel": 12.9, "ab_hard_contact": 0.9963052693430715, "ab_bat_speed": 74.04242166604175, "ab_strikeout_rate": 0.21868489583333334, "available": 1.0}, {"player_id": "621566", "player_name": "Matt Olson", "position": "1B", "weight": 4.0, "quality": 0.9831920222601144, "contact": 0.8530622283351408, "power": 1.5412395960288499, "discipline": -0.037955266955266895, "xwoba": 0.351, "recent_xwoba": 0.351, "barrel": 14.2, "ab_hard_contact": 1.4596490634341435, "ab_bat_speed": 73.3893757057633, "ab_strikeout_rate": 0.24996825396825395, "available": 1.0}, {"player_id": "673490", "player_name": "Ha-Seong Kim", "position": "SS", "weight": 3.0, "quality": -0.7294261661999497, "contact": -1.8435385552458805, "power": -1.6260527359964378, "discipline": 0.3236363081363084, "xwoba": 0.222, "recent_xwoba": 0.222, "barrel": 2.2, "ab_hard_contact": -0.7336261485001982, "ab_bat_speed": 70.23906339031339, "ab_strikeout_rate": 0.24316239316239313, "available": 1.0}, {"player_id": "660670", "player_name": "Ronald Acuña Jr.", "position": "RF", "weight": 4.0, "quality": 0.7872057557578749, "contact": 0.7192714603376188, "power": 1.09478217504538, "discipline": 0.1870196144062125, "xwoba": 0.366, "recent_xwoba": 0.366, "barrel": 13.0, "ab_hard_contact": 0.697929215193315, "ab_bat_speed": 73.83432465277778, "ab_strikeout_rate": 0.22835051546391752, "available": 1.0}, {"player_id": "671739", "player_name": "Michael Harris II", "position": "CF", "weight": 4.0, "quality": 0.7026192143625903, "contact": 0.9402851721378466, "power": 0.9333557478304955, "discipline": -0.5114813519813519, "xwoba": 0.342, "recent_xwoba": 0.342, "barrel": 10.3, "ab_hard_contact": 0.8134006708956232, "ab_bat_speed": 73.34894278169014, "ab_strikeout_rate": 0.19970862470862472, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "666200", "player_name": "Jesús Luzardo", "quality": 0.7938970867043165, "contact": 1.019339391817539, "command": 0.6793436041083101, "movement": 0.38525174571323795, "xwoba": 0.261, "whiff": 31.9, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}}, "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.559, "recent_form_edge_home_minus_away": 0.406, "pitcher_matchup_edge_home_minus_away": 0.0494, "composite_home_edge": 0.6976, "existing_home_win_probability": 0.5075, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 0.6976}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.507466, "uncapped_away_win_probability": 0.492534, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.507466, "discount_factor": 0.7225, "published_confidence": 0.505394, "guardrail_confidence_cap": 0.53, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.7, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.505394, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 2, "home_runs": 3, "predicted_score_text": "PHI 2 - 3 ATL", "confidence": 0.505394185, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 2, "home_runs": 3, "score_text": "PHI 2 - 3 ATL", "winner": "ATL"}, "final_simulation_score": {"away_runs": 2, "home_runs": 3, "score_text": "PHI 2 - 3 ATL", "winner": "ATL"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0494, "recent_form_edge_home_minus_away": 0.406, "winner_direction": "home", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 2, "home_runs": 3, "winner": "ATL", "model_winner": "ATL", "simulation_winner": "ATL", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 2, "published_winner": "ATL", "published_winner_draw_share": 1.0, "draw_majority_team": "ATL", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 2, "home_runs": 3}, "simulation_score": {"away_runs": 2, "home_runs": 3}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.559, "winner": "ATL", "score_reviewed": {"away_runs": 2, "home_runs": 3, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "ATL", "display_confidence": 0.5054, "internal_signal_score": 0.6436, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5054, "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": "low_total_lean", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": 0.559, "winner_recent_form_edge": 0.336, "winner_pitcher_matchup_edge": 0.0494, "winner_simulation_draw_rate": 1.0, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 0.5, "total_runs_spread": {"min": 5, "median": 10, "max": 10, "range": 5}}, "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."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionPHI 2 - 3 ATLATL0.505enhanced_prediction.pre_simulation_targetTrue
Simulation drawPHI 2 - 3 ATLATL-organic_simulation_realized_targetTrue

The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.

Full Prediction Process

Optimization Roadmap Runtime Status

This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.

PriorityChangeRuntime statusEvidence
P1Empirical confidence blendappliedraw=0.5101; empirical=0.5427; weight=0.5000; final=0.5264
P1H2H margin as base featureavailablehome net=6; abs=6; home delta=0.0346; away delta=-0.0346
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=2.2500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=0.6790; recent edge=0.3360; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.2000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5054
9. Simulation reconciliationReconciles final shipped score with the simulation box score while retaining the pre-simulation target.simulation_reconciliationorganic_simulation_realized_target
10. Score evolution rendered7 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.5994.614-Base ML historical model prediction
2variance_applied55-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction230.5054Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4embedded_savant_run_environment23-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review23-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target23-Capped at max 12 realistic runs
7simulation_result23-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.7671708592395952,
  "base_low_score_probability": 0.4264240506329114,
  "low_score_signal_threshold": 0.5064240506329114,
  "low_score_signal_strength": 0.34074680860668377,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.1566800000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.0712000000000002,
    "combined": 1.7990797144320005
  },
  "prediction": "low_scoring",
  "expected_total_runs": 5,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.2,
  "low_score_model_expected_total_runs": 6.2,
  "final_simulation_total_runs": 5,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 586,
  "near_bucket_sample_size": 586,
  "medium_bucket_sample_size": 798,
  "wide_bucket_sample_size": 884,
  "global_sample_size": 1116,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5427,
  "bayesian_hit_rate": 0.5414,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5079,
  "raw_pick_probability_unclamped": 0.5079,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.5073,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5076,
  "score_implied_floor_pick_probability": 0.5071,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.507887,
  "uncapped_away_win_probability": 0.492113,
  "calibrated_pick_probability": 0.5075,
  "predicted_side": "home",
  "reliability": 0.970199,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.980629
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.5101,
  "sample_size": 586,
  "empirical_hit_rate": 0.5427,
  "empirical_weight": 0.5,
  "blended_confidence": 0.5264,
  "published_confidence": 0.505394,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": 6.0,
  "absolute_net_margin": 6.0,
  "home_average_margin": 1.2,
  "home_run_delta": 0.0346,
  "away_run_delta": -0.0346,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -5.0
    },
    {
      "game_id": null,
      "home_margin": 10.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": true,
  "home": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802469135802469,
    "runs_scored": 742,
    "runs_allowed": 626,
    "run_differential": 116,
    "run_differential_per_game": 0.7160493827160493,
    "available": true
  },
  "away": {
    "team": "PHI",
    "games": 162,
    "wins": 88,
    "losses": 74,
    "win_pct": 0.5432098765432098,
    "runs_scored": 713,
    "runs_allowed": 698,
    "run_differential": 15,
    "run_differential_per_game": 0.09259259259259259,
    "available": true
  },
  "run_differential_edge_per_game": 0.6235,
  "win_pct_edge": 0.037,
  "quality_edge": 0.559,
  "season_quality_edge": 0.679,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.679,
    "recent_quality_edge": 0.336,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": 0.559
  },
  "margin_adjustment": 0.2348,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": 0.2348,
    "cap": 1.4,
    "scale": 0.42,
    "quality_edge": 0.559,
    "season_quality_edge": 0.679,
    "recent_alignment": "aligned",
    "large_edge_supported_by_recent_form": false,
    "method": "standard_bounded_season_recent_adjustment"
  },
  "adjusted_score": {
    "away_runs": 1.727,
    "home_runs": 3.001,
    "home_win_probability": 0.6083
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 2,
      "away_runs": 2,
      "probability": 0.03663447650385173
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.03605874295736209
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.03534856298176649
    },
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.034793038364766285
    },
    {
      "home_runs": 2,
      "away_runs": 1,
      "probability": 0.031332353530374016
    }
  ],
  "home_distribution": {
    "0": 0.11184538300327683,
    "1": 0.1590955364660151,
    "2": 0.18825141918458108,
    "3": 0.18529293123710208,
    "4": 0.15171194410611147,
    "5": 0.10332871411405359,
    "6": 0.05854133272542454,
    "7": 0.02758954350536477,
    "8": 0.010816001865673063,
    "9": 0.003527193792397572
  },
  "away_distribution": {
    "0": 0.11747422505407185,
    "1": 0.1664388702411457,
    "2": 0.19460398578951227,
    "3": 0.18777315536254796,
    "4": 0.1495202721637699,
    "5": 0.09825427488601585,
    "6": 0.05328287281387508,
    "7": 0.023845619578403726,
    "8": 0.008806724110657731
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.53,
  "winner_flipped": false,
  "reasons": [
    "latest same-matchup result beat the predicted side",
    "predicted side recently lost this matchup by 5+ runs",
    "opponent already produced an 8+ run breakout in this matchup",
    "recent head-to-head is split and volatile",
    "a prior same-side pick already missed against the actual result",
    "a prior same-side pick missed by 5+ actual runs",
    "latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
  ],
  "signals": {
    "predicted_team": "ATL",
    "opponent_team": "PHI",
    "h2h_net_margin": 6,
    "opponent_breakout": true,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-13",
        "predicted_team_runs": 4,
        "opponent_runs": 9,
        "margin_for_predicted_team": -5,
        "winner": "PHI"
      },
      {
        "date": "2026-09-12",
        "predicted_team_runs": 12,
        "opponent_runs": 2,
        "margin_for_predicted_team": 10,
        "winner": "ATL"
      },
      {
        "date": "2026-09-11",
        "predicted_team_runs": 6,
        "opponent_runs": 5,
        "margin_for_predicted_team": 1,
        "winner": "ATL"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 7,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 1,
      "prior_predictions": [
        {
          "date": "20260913",
          "away": "PHI",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "ATL",
          "actual_winner": "PHI",
          "actual_margin": 5,
          "raw_pick_probability": 0.543039,
          "artifact": "20260913_PHI@ATL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260912",
          "away": "PHI",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "PHI",
          "actual_winner": "ATL",
          "actual_margin": 10,
          "raw_pick_probability": 0.505,
          "artifact": "20260912_PHI@ATL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260911",
          "away": "PHI",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "ATL",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.527156,
          "artifact": "20260911_PHI@ATL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260907",
          "away": "ATL",
          "home": "PHI",
          "game_number": 1,
          "predicted_team": "PHI",
          "actual_winner": "PHI",
          "actual_margin": 1,
          "raw_pick_probability": 0.53,
          "artifact": "20260907_ATL@PHI.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260906",
          "away": "ATL",
          "home": "PHI",
          "game_number": 1,
          "predicted_team": "PHI",
          "actual_winner": "ATL",
          "actual_margin": 1,
          "raw_pick_probability": 0.550646,
          "artifact": "20260906_ATL@PHI.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "ATL",
    "guardrail_opponent_team": "PHI",
    "output_pre_simulation_winner": "ATL",
    "output_opponent_team": "PHI",
    "simulation_score_winner": "ATL",
    "final_score_winner": "ATL",
    "pre_simulation_winner": "ATL",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 3,
      "score_text": "PHI 2 - 3 ATL",
      "winner": "ATL"
    },
    "final_simulation_score": {
      "away_runs": 2,
      "home_runs": 3,
      "score_text": "PHI 2 - 3 ATL",
      "winner": "ATL"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0494,
      "recent_form_edge_home_minus_away": 0.406,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 2,
      "home_runs": 3,
      "winner": "ATL",
      "model_winner": "ATL",
      "simulation_winner": "ATL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "ATL",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "ATL",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 2,
        "home_runs": 3
      },
      "simulation_score": {
        "away_runs": 2,
        "home_runs": 3
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.559,
      "winner": "ATL",
      "score_reviewed": {
        "away_runs": 2,
        "home_runs": 3,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "ATL",
      "games": 162,
      "wins": 94,
      "losses": 68,
      "win_pct": 0.5802469135802469,
      "runs_scored": 742,
      "runs_allowed": 626,
      "run_differential": 116,
      "run_differential_per_game": 0.7160493827160493,
      "available": true
    },
    "away": {
      "team": "PHI",
      "games": 162,
      "wins": 88,
      "losses": 74,
      "win_pct": 0.5432098765432098,
      "runs_scored": 713,
      "runs_allowed": 698,
      "run_differential": 15,
      "run_differential_per_game": 0.09259259259259259,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.559,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.5264,
  "final_confidence": 0.5075,
  "calibrated_pick_probability": 0.5075,
  "shrinkage_weight": 0.980629,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 586,
  "calibration_empirical_hit_rate": 0.5427,
  "calibration_bayesian_hit_rate": 0.5414,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.559,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 2,
      "home_runs": 3
    },
    "margin": 1,
    "probability_before": 0.507466,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.980629,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.507466,
    "aligned_pick_probability": 0.507466
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 27,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 2,
    "home_runs": 3,
    "score_text": "PHI 2 - 3 ATL",
    "winner": "ATL"
  },
  "final_simulation_score": {
    "away_runs": 2,
    "home_runs": 3,
    "score_text": "PHI 2 - 3 ATL",
    "winner": "ATL"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0494,
    "recent_form_edge_home_minus_away": 0.406,
    "winner_direction": "home",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 2,
    "home_runs": 3,
    "winner": "ATL",
    "model_winner": "ATL",
    "simulation_winner": "ATL",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 2,
      "published_winner": "ATL",
      "published_winner_draw_share": 1.0,
      "draw_majority_team": "ATL",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 2,
      "home_runs": 3
    },
    "simulation_score": {
      "away_runs": 2,
      "home_runs": 3
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.559,
    "winner": "ATL",
    "score_reviewed": {
      "away_runs": 2,
      "home_runs": 3,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 2,
  "home_runs": 3,
  "confidence": 0.505394185,
  "home_win_probability": 0.505394185,
  "away_win_probability": 0.494605815,
  "predicted_score_text": "PHI 2 - 3 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": "PHI",
      "original_runs": 2,
      "run_delta": -0.2542,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 31.0,
        "quality": 0.26826384166476536,
        "contact": 0.2813958434359402,
        "power": 0.3072547237169069,
        "discipline": 0.0115316975099643,
        "xwoba": 0.3271290322580645,
        "recent_xwoba": 0.3271290322580645,
        "barrel": 8.229032258064514,
        "ab_hard_contact": 0.26067051120449825,
        "ab_bat_speed": 70.96185123425192,
        "ab_strikeout_rate": 0.22546285632329924,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "656941",
            "player_name": "Kyle Schwarber",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.8611903303480604,
            "contact": 0.6128903524964534,
            "power": 1.4773367169266836,
            "discipline": 0.16583904521404533,
            "xwoba": 0.364,
            "recent_xwoba": 0.364,
            "barrel": 15.599999999999998,
            "ab_hard_contact": 0.9400676718670147,
            "ab_bat_speed": 74.73446461871461,
            "ab_strikeout_rate": 0.3297453703703704,
            "available": 1.0
          },
          {
            "player_id": "547180",
            "player_name": "Bryce Harper",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.8600973870185805,
            "contact": 0.9441152521186409,
            "power": 0.8869343487155141,
            "discipline": 0.6655871853724201,
            "xwoba": 0.379,
            "recent_xwoba": 0.379,
            "barrel": 10.3,
            "ab_hard_contact": 1.3649726885959967,
            "ab_bat_speed": 73.07423844380095,
            "ab_strikeout_rate": 0.21942580164056674,
            "available": 1.0
          },
          {
            "player_id": "664761",
            "player_name": "Alec Bohm",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.4202010613376923,
            "contact": 0.6278114193598914,
            "power": 0.20878395010342055,
            "discipline": 0.4382189984955942,
            "xwoba": 0.327,
            "recent_xwoba": 0.327,
            "barrel": 6.0,
            "ab_hard_contact": -0.03727337888396407,
            "ab_bat_speed": 70.50088214285714,
            "ab_strikeout_rate": 0.14550827423167847,
            "available": 1.0
          },
          {
            "player_id": "656537",
            "player_name": "Derek Hill",
            "position": "CF",
            "weight": 3.0,
            "quality": -0.3007362259976865,
            "contact": -0.5891535999234255,
            "power": 0.15132715082699633,
            "discipline": -0.9116780996780998,
            "xwoba": 0.289,
            "recent_xwoba": 0.289,
            "barrel": 10.6,
            "ab_hard_contact": -0.020314126317219322,
            "ab_bat_speed": 67.617942251462,
            "ab_strikeout_rate": 0.2831196581196581,
            "available": 1.0
          },
          {
            "player_id": "681082",
            "player_name": "Bryson Stott",
            "position": "2B",
            "weight": 3.0,
            "quality": 0.282674321282623,
            "contact": 0.4583050830047579,
            "power": 0.022682622758580517,
            "discipline": 0.5937387057387058,
            "xwoba": 0.33,
            "recent_xwoba": 0.33,
            "barrel": 5.9,
            "ab_hard_contact": 0.15346197898112204,
            "ab_bat_speed": 68.63926454687723,
            "ab_strikeout_rate": 0.18127428127428127,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "519242",
        "player_name": "Chris Sale",
        "quality": 0.7269316285853162,
        "contact": 0.9508654744182535,
        "command": 0.7383436041083099,
        "movement": 0.16692928936466406,
        "xwoba": 0.267,
        "whiff": 30.4,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "ATL",
      "original_runs": 3,
      "run_delta": -0.2796,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.280677317039673,
        "contact": 0.1794454221287158,
        "power": 0.35573204762616334,
        "discipline": -0.003313778418013502,
        "xwoba": 0.3186060606060606,
        "recent_xwoba": 0.3186060606060606,
        "barrel": 9.0,
        "ab_hard_contact": 0.42825134213365657,
        "ab_bat_speed": 71.65666436121488,
        "ab_strikeout_rate": 0.21554538014961533,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "686948",
            "player_name": "Drake Baldwin",
            "position": "C",
            "weight": 4.0,
            "quality": 1.0678182439752475,
            "contact": 1.18555399223962,
            "power": 1.3546914539433441,
            "discipline": 0.06725666260822527,
            "xwoba": 0.37,
            "recent_xwoba": 0.37,
            "barrel": 12.9,
            "ab_hard_contact": 0.9963052693430715,
            "ab_bat_speed": 74.04242166604175,
            "ab_strikeout_rate": 0.21868489583333334,
            "available": 1.0
          },
          {
            "player_id": "621566",
            "player_name": "Matt Olson",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.9831920222601144,
            "contact": 0.8530622283351408,
            "power": 1.5412395960288499,
            "discipline": -0.037955266955266895,
            "xwoba": 0.351,
            "recent_xwoba": 0.351,
            "barrel": 14.2,
            "ab_hard_contact": 1.4596490634341435,
            "ab_bat_speed": 73.3893757057633,
            "ab_strikeout_rate": 0.24996825396825395,
            "available": 1.0
          },
          {
            "player_id": "673490",
            "player_name": "Ha-Seong Kim",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.7294261661999497,
            "contact": -1.8435385552458805,
            "power": -1.6260527359964378,
            "discipline": 0.3236363081363084,
            "xwoba": 0.222,
            "recent_xwoba": 0.222,
            "barrel": 2.2,
            "ab_hard_contact": -0.7336261485001982,
            "ab_bat_speed": 70.23906339031339,
            "ab_strikeout_rate": 0.24316239316239313,
            "available": 1.0
          },
          {
            "player_id": "660670",
            "player_name": "Ronald Acuña Jr.",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.7872057557578749,
            "contact": 0.7192714603376188,
            "power": 1.09478217504538,
            "discipline": 0.1870196144062125,
            "xwoba": 0.366,
            "recent_xwoba": 0.366,
            "barrel": 13.0,
            "ab_hard_contact": 0.697929215193315,
            "ab_bat_speed": 73.83432465277778,
            "ab_strikeout_rate": 0.22835051546391752,
            "available": 1.0
          },
          {
            "player_id": "671739",
            "player_name": "Michael Harris II",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.7026192143625903,
            "contact": 0.9402851721378466,
            "power": 0.9333557478304955,
            "discipline": -0.5114813519813519,
            "xwoba": 0.342,
            "recent_xwoba": 0.342,
            "barrel": 10.3,
            "ab_hard_contact": 0.8134006708956232,
            "ab_bat_speed": 73.34894278169014,
            "ab_strikeout_rate": 0.19970862470862472,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "666200",
        "player_name": "Jesús Luzardo",
        "quality": 0.7938970867043165,
        "contact": 1.019339391817539,
        "command": 0.6793436041083101,
        "movement": 0.38525174571323795,
        "xwoba": 0.261,
        "whiff": 31.9,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    }
  },
  "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.559,
      "recent_form_edge_home_minus_away": 0.406,
      "pitcher_matchup_edge_home_minus_away": 0.0494,
      "composite_home_edge": 0.6976,
      "existing_home_win_probability": 0.5075,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 0.6976
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.507466,
  "uncapped_away_win_probability": 0.492534,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.507466,
    "discount_factor": 0.7225,
    "published_confidence": 0.505394,
    "guardrail_confidence_cap": 0.53,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.7,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.505394,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 2,
    "home_runs": 3,
    "predicted_score_text": "PHI 2 - 3 ATL",
    "confidence": 0.505394185,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 2,
      "home_runs": 3,
      "score_text": "PHI 2 - 3 ATL",
      "winner": "ATL"
    },
    "final_simulation_score": {
      "away_runs": 2,
      "home_runs": 3,
      "score_text": "PHI 2 - 3 ATL",
      "winner": "ATL"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0494,
      "recent_form_edge_home_minus_away": 0.406,
      "winner_direction": "home",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 2,
      "home_runs": 3,
      "winner": "ATL",
      "model_winner": "ATL",
      "simulation_winner": "ATL",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "ATL",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "ATL",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 2,
        "home_runs": 3
      },
      "simulation_score": {
        "away_runs": 2,
        "home_runs": 3
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.559,
      "winner": "ATL",
      "score_reviewed": {
        "away_runs": 2,
        "home_runs": 3,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "ATL",
    "display_confidence": 0.5054,
    "internal_signal_score": 0.6436,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5054,
    "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": "low_total_lean",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": 0.559,
      "winner_recent_form_edge": 0.336,
      "winner_pitcher_matchup_edge": 0.0494,
      "winner_simulation_draw_rate": 1.0,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 0.5,
      "total_runs_spread": {
        "min": 5,
        "median": 10,
        "max": 10,
        "range": 5
      }
    },
    "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."
  }
}

Savant Batter Quality

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.

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away PHITrue1.03741.0374190
Home ATLTrue1.03331.0333190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFBryce Harper-1.09681.2913neutral0.37900.27100.481010.3042.809012.8030.7021.4015.400.1143
1BAlec Bohm-1.04590.6121neutral0.32700.26500.4120643.8090.608.6016.60147.600.5143
LFBryan De La Cruz-0.9943-0.0756negative_batter_regression0.29900.24000.34605.1040.7088.803.302520.908.10-1.0286
DHKyle Schwarber-1.09601.2806neutral0.36400.23600.487015.6049.3092.3020.1033.1031.4015-0.1143
3BEdmundo Sosa-1.04470.5955neutral0.32800.27700.44407.2039.2087.8011.1027.5021.602.800.6000
CFDerek Hill-0.9911-0.1191negative_batter_regression0.28900.22500.386010.6033.8088.9014.1032.7031.906-0.8571
SSTrea Turner-0.9951-0.0657neutral0.29300.24200.3630639.3088.5011.1027.70216.90-0.1429
2BBryson Stott-1.03820.5098neutral0.33000.26700.40205.9037.7089.4014.1018.7016.4010.200.1143
CJ.T. Realmuto-1.03480.4635positive_batter_regression0.31700.24900.38705.704089.5011.8024.1021.407.901.2000

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CDrake Baldwin-1.10931.4576neutral0.37000.27900.505012.9050.6091.501124.4021.508.900.3429
LFMauricio Dubón-0.9974-0.0343neutral0.30400.26800.3750429.4086.5016.1015.3011.805.70-0.3714
RFRonald Acuña Jr.-1.09461.2607neutral0.36600.26100.49501343.5089.6015.70292211.300.5143
1BMatt Olson-1.08991.1980neutral0.35100.24700.503014.205292.5018.1025.4024.509.200
DHMike Yastrzemski-1.01620.2160neutral0.30900.23500.36806.804390.4016.2023.2024100.0857
CFMichael Harris II-1.07020.9360neutral0.34200.29000.477010.3047.6090.501024.6019.203.70-0.2000
2BOzzie Albies-0.9552-0.5967neutral0.27300.22100.33703.8027.7087.1017.8021.2015.406.70-0.7143
SSHa-Seong Kim-0.9432-0.7574positive_batter_regression0.22200.15700.20602.202585.9019.9020.2025.9010.901.2000
3BAustin Riley-1.02390.3191neutral0.29900.21300.396012.4044.3091.3018.5031.9031.907.600.2571
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0333,
    "raw_average_factor": 1.0333,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "C",
        "player_id": "686948",
        "player_name": "Drake Baldwin",
        "offense_factor": 1.1093,
        "quality_score": 1.4576,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "686948",
          "espn_rank": null
        },
        "metrics": {
          "pa": 570.0,
          "k_percent": 21.5,
          "bb_percent": 8.9,
          "woba": 0.358,
          "xwoba": 0.37,
          "xba": 0.279,
          "xslg": 0.505,
          "sweet_spot_percent": 37.5,
          "barrel_batted_rate": 12.9,
          "hard_hit_percent": 50.6,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 11.0,
          "whiff_percent": 24.4,
          "swing_percent": 51.2
        },
        "components": {
          "expected_quality": 1.6391,
          "regression_edge": 0.3429,
          "xwoba_edge": 2.0286,
          "xba_edge": 1.2286,
          "xslg_edge": 2.0286,
          "barrel_edge": 1.4,
          "hard_hit_edge": 1.8571,
          "exit_velocity_edge": 1.24,
          "sweet_spot_edge": 0.7,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "643289",
        "player_name": "Mauricio Dubón",
        "offense_factor": 0.9974,
        "quality_score": -0.0343,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "643289",
          "espn_rank": null
        },
        "metrics": {
          "pa": 574.0,
          "k_percent": 11.8,
          "bb_percent": 5.7,
          "woba": 0.317,
          "xwoba": 0.304,
          "xba": 0.268,
          "xslg": 0.375,
          "sweet_spot_percent": 36.5,
          "barrel_batted_rate": 4.0,
          "hard_hit_percent": 29.4,
          "exit_velocity_avg": 86.5,
          "launch_angle_avg": 16.1,
          "whiff_percent": 15.3,
          "swing_percent": 53.7
        },
        "components": {
          "expected_quality": 0.0206,
          "regression_edge": -0.3714,
          "xwoba_edge": 0.1429,
          "xba_edge": 0.9143,
          "xslg_edge": 0.1714,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -1.1714,
          "exit_velocity_edge": -0.76,
          "sweet_spot_edge": 0.5333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "660670",
        "player_name": "Ronald Acuña Jr.",
        "offense_factor": 1.0946,
        "quality_score": 1.2607,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "660670",
          "espn_rank": null
        },
        "metrics": {
          "pa": 429.0,
          "k_percent": 22.0,
          "bb_percent": 11.3,
          "woba": 0.348,
          "xwoba": 0.366,
          "xba": 0.261,
          "xslg": 0.495,
          "sweet_spot_percent": 34.7,
          "barrel_batted_rate": 13.0,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 15.7,
          "whiff_percent": 29.0,
          "swing_percent": 49.4
        },
        "components": {
          "expected_quality": 1.3822,
          "regression_edge": 0.5143,
          "xwoba_edge": 1.9143,
          "xba_edge": 0.7143,
          "xslg_edge": 1.8857,
          "barrel_edge": 1.4222,
          "hard_hit_edge": 0.8429,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": 0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "621566",
        "player_name": "Matt Olson",
        "offense_factor": 1.0899,
        "quality_score": 1.198,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "621566",
          "espn_rank": null
        },
        "metrics": {
          "pa": 646.0,
          "k_percent": 24.5,
          "bb_percent": 9.2,
          "woba": 0.351,
          "xwoba": 0.351,
          "xba": 0.247,
          "xslg": 0.503,
          "sweet_spot_percent": 32.0,
          "barrel_batted_rate": 14.2,
          "hard_hit_percent": 52.0,
          "exit_velocity_avg": 92.5,
          "launch_angle_avg": 18.1,
          "whiff_percent": 25.4,
          "swing_percent": 46.9
        },
        "components": {
          "expected_quality": 1.3931,
          "regression_edge": 0.0,
          "xwoba_edge": 1.4857,
          "xba_edge": 0.3143,
          "xslg_edge": 2.0,
          "barrel_edge": 1.6889,
          "hard_hit_edge": 2.0571,
          "exit_velocity_edge": 1.64,
          "sweet_spot_edge": -0.2167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "DH",
        "player_id": "573262",
        "player_name": "Mike Yastrzemski",
        "offense_factor": 1.0162,
        "quality_score": 0.216,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "573262",
          "espn_rank": null
        },
        "metrics": {
          "pa": 363.0,
          "k_percent": 24.0,
          "bb_percent": 10.0,
          "woba": 0.306,
          "xwoba": 0.309,
          "xba": 0.235,
          "xslg": 0.368,
          "sweet_spot_percent": 31.3,
          "barrel_batted_rate": 6.8,
          "hard_hit_percent": 43.0,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 16.2,
          "whiff_percent": 23.2,
          "swing_percent": 42.6
        },
        "components": {
          "expected_quality": 0.2372,
          "regression_edge": 0.0857,
          "xwoba_edge": 0.2857,
          "xba_edge": -0.0286,
          "xslg_edge": 0.0714,
          "barrel_edge": 0.0444,
          "hard_hit_edge": 0.7714,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.3333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "671739",
        "player_name": "Michael Harris II",
        "offense_factor": 1.0702,
        "quality_score": 0.936,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671739",
          "espn_rank": null
        },
        "metrics": {
          "pa": 573.0,
          "k_percent": 19.2,
          "bb_percent": 3.7,
          "woba": 0.349,
          "xwoba": 0.342,
          "xba": 0.29,
          "xslg": 0.477,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 10.3,
          "hard_hit_percent": 47.6,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 10.0,
          "whiff_percent": 24.6,
          "swing_percent": 56.4
        },
        "components": {
          "expected_quality": 1.1209,
          "regression_edge": -0.2,
          "xwoba_edge": 1.2286,
          "xba_edge": 1.5429,
          "xslg_edge": 1.6286,
          "barrel_edge": 0.8222,
          "hard_hit_edge": 1.4286,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "645277",
        "player_name": "Ozzie Albies",
        "offense_factor": 0.9552,
        "quality_score": -0.5967,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "645277",
          "espn_rank": null
        },
        "metrics": {
          "pa": 634.0,
          "k_percent": 15.4,
          "bb_percent": 6.7,
          "woba": 0.298,
          "xwoba": 0.273,
          "xba": 0.221,
          "xslg": 0.337,
          "sweet_spot_percent": 32.3,
          "barrel_batted_rate": 3.8,
          "hard_hit_percent": 27.7,
          "exit_velocity_avg": 87.1,
          "launch_angle_avg": 17.8,
          "whiff_percent": 21.2,
          "swing_percent": 56.1
        },
        "components": {
          "expected_quality": -0.5775,
          "regression_edge": -0.7143,
          "xwoba_edge": -0.7429,
          "xba_edge": -0.4286,
          "xslg_edge": -0.3714,
          "barrel_edge": -0.6222,
          "hard_hit_edge": -1.4143,
          "exit_velocity_edge": -0.52,
          "sweet_spot_edge": -0.1667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "673490",
        "player_name": "Ha-Seong Kim",
        "offense_factor": 0.9432,
        "quality_score": -0.7574,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "673490",
          "espn_rank": null
        },
        "metrics": {
          "pa": 122.0,
          "k_percent": 25.9,
          "bb_percent": 10.9,
          "woba": 0.18,
          "xwoba": 0.222,
          "xba": 0.157,
          "xslg": 0.206,
          "sweet_spot_percent": 21.7,
          "barrel_batted_rate": 2.2,
          "hard_hit_percent": 25.0,
          "exit_velocity_avg": 85.9,
          "launch_angle_avg": 19.9,
          "whiff_percent": 20.2,
          "swing_percent": 42.7
        },
        "components": {
          "expected_quality": -1.7835,
          "regression_edge": 1.2,
          "xwoba_edge": -2.2,
          "xba_edge": -2.2571,
          "xslg_edge": -2.2429,
          "barrel_edge": -0.9778,
          "hard_hit_edge": -1.8,
          "exit_velocity_edge": -1.0,
          "sweet_spot_edge": -1.9333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "663586",
        "player_name": "Austin Riley",
        "offense_factor": 1.0239,
        "quality_score": 0.3191,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663586",
          "espn_rank": null
        },
        "metrics": {
          "pa": 589.0,
          "k_percent": 31.9,
          "bb_percent": 7.6,
          "woba": 0.29,
          "xwoba": 0.299,
          "xba": 0.213,
          "xslg": 0.396,
          "sweet_spot_percent": 34.3,
          "barrel_batted_rate": 12.4,
          "hard_hit_percent": 44.3,
          "exit_velocity_avg": 91.3,
          "launch_angle_avg": 18.5,
          "whiff_percent": 31.9,
          "swing_percent": 48.8
        },
        "components": {
          "expected_quality": 0.3291,
          "regression_edge": 0.2571,
          "xwoba_edge": 0.0,
          "xba_edge": -0.6571,
          "xslg_edge": 0.4714,
          "barrel_edge": 1.2889,
          "hard_hit_edge": 0.9571,
          "exit_velocity_edge": 1.16,
          "sweet_spot_edge": 0.1667,
          "launch_angle_hr_bonus": 0.45
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0374,
    "raw_average_factor": 1.0374,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "547180",
        "player_name": "Bryce Harper",
        "offense_factor": 1.0968,
        "quality_score": 1.2913,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "547180",
          "espn_rank": null
        },
        "metrics": {
          "pa": 642.0,
          "k_percent": 21.4,
          "bb_percent": 15.4,
          "woba": 0.375,
          "xwoba": 0.379,
          "xba": 0.271,
          "xslg": 0.481,
          "sweet_spot_percent": 37.5,
          "barrel_batted_rate": 10.3,
          "hard_hit_percent": 42.8,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 12.8,
          "whiff_percent": 30.7,
          "swing_percent": 49.9
        },
        "components": {
          "expected_quality": 1.4829,
          "regression_edge": 0.1143,
          "xwoba_edge": 2.2857,
          "xba_edge": 1.0,
          "xslg_edge": 1.6857,
          "barrel_edge": 0.8222,
          "hard_hit_edge": 0.7429,
          "exit_velocity_edge": 0.64,
          "sweet_spot_edge": 0.7,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "664761",
        "player_name": "Alec Bohm",
        "offense_factor": 1.0459,
        "quality_score": 0.6121,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "664761",
          "espn_rank": null
        },
        "metrics": {
          "pa": 581.0,
          "k_percent": 14.0,
          "bb_percent": 7.6,
          "woba": 0.309,
          "xwoba": 0.327,
          "xba": 0.265,
          "xslg": 0.412,
          "sweet_spot_percent": 33.7,
          "barrel_batted_rate": 6.0,
          "hard_hit_percent": 43.8,
          "exit_velocity_avg": 90.6,
          "launch_angle_avg": 8.6,
          "whiff_percent": 16.6,
          "swing_percent": 46.0
        },
        "components": {
          "expected_quality": 0.628,
          "regression_edge": 0.5143,
          "xwoba_edge": 0.8,
          "xba_edge": 0.8286,
          "xslg_edge": 0.7,
          "barrel_edge": -0.1333,
          "hard_hit_edge": 0.8857,
          "exit_velocity_edge": 0.88,
          "sweet_spot_edge": 0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "650559",
        "player_name": "Bryan De La Cruz",
        "offense_factor": 0.9943,
        "quality_score": -0.0756,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "650559",
          "espn_rank": null
        },
        "metrics": {
          "pa": 70.0,
          "k_percent": 20.9,
          "bb_percent": 8.1,
          "woba": 0.335,
          "xwoba": 0.299,
          "xba": 0.24,
          "xslg": 0.346,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 5.1,
          "hard_hit_percent": 40.7,
          "exit_velocity_avg": 88.8,
          "launch_angle_avg": 3.3,
          "whiff_percent": 25.0,
          "swing_percent": 49.6
        },
        "components": {
          "expected_quality": -0.0279,
          "regression_edge": -1.0286,
          "xwoba_edge": 0.0,
          "xba_edge": 0.1143,
          "xslg_edge": -0.2429,
          "barrel_edge": -0.3333,
          "hard_hit_edge": 0.4429,
          "exit_velocity_edge": 0.16,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "656941",
        "player_name": "Kyle Schwarber",
        "offense_factor": 1.096,
        "quality_score": 1.2806,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "656941",
          "espn_rank": null
        },
        "metrics": {
          "pa": 648.0,
          "k_percent": 31.4,
          "bb_percent": 15.0,
          "woba": 0.368,
          "xwoba": 0.364,
          "xba": 0.236,
          "xslg": 0.487,
          "sweet_spot_percent": 37.3,
          "barrel_batted_rate": 15.6,
          "hard_hit_percent": 49.3,
          "exit_velocity_avg": 92.3,
          "launch_angle_avg": 20.1,
          "whiff_percent": 33.1,
          "swing_percent": 44.3
        },
        "components": {
          "expected_quality": 1.5076,
          "regression_edge": -0.1143,
          "xwoba_edge": 1.8571,
          "xba_edge": 0.0,
          "xslg_edge": 1.7714,
          "barrel_edge": 2.0,
          "hard_hit_edge": 1.6714,
          "exit_velocity_edge": 1.56,
          "sweet_spot_edge": 0.6667,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "3B",
        "player_id": "624641",
        "player_name": "Edmundo Sosa",
        "offense_factor": 1.0447,
        "quality_score": 0.5955,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "624641",
          "espn_rank": null
        },
        "metrics": {
          "pa": 231.0,
          "k_percent": 21.6,
          "bb_percent": 2.8,
          "woba": 0.307,
          "xwoba": 0.328,
          "xba": 0.277,
          "xslg": 0.444,
          "sweet_spot_percent": 33.7,
          "barrel_batted_rate": 7.2,
          "hard_hit_percent": 39.2,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 11.1,
          "whiff_percent": 27.5,
          "swing_percent": 61.2
        },
        "components": {
          "expected_quality": 0.5948,
          "regression_edge": 0.6,
          "xwoba_edge": 0.8286,
          "xba_edge": 1.1714,
          "xslg_edge": 1.1571,
          "barrel_edge": 0.1333,
          "hard_hit_edge": 0.2286,
          "exit_velocity_edge": -0.24,
          "sweet_spot_edge": 0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "656537",
        "player_name": "Derek Hill",
        "offense_factor": 0.9911,
        "quality_score": -0.1191,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "656537",
          "espn_rank": null
        },
        "metrics": {
          "pa": 193.0,
          "k_percent": 31.9,
          "bb_percent": 6.0,
          "woba": 0.319,
          "xwoba": 0.289,
          "xba": 0.225,
          "xslg": 0.386,
          "sweet_spot_percent": 36.1,
          "barrel_batted_rate": 10.6,
          "hard_hit_percent": 33.8,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 14.1,
          "whiff_percent": 32.7,
          "swing_percent": 51.9
        },
        "components": {
          "expected_quality": -0.0183,
          "regression_edge": -0.8571,
          "xwoba_edge": -0.2857,
          "xba_edge": -0.3143,
          "xslg_edge": 0.3286,
          "barrel_edge": 0.8889,
          "hard_hit_edge": -0.5429,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": 0.4667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "607208",
        "player_name": "Trea Turner",
        "offense_factor": 0.9951,
        "quality_score": -0.0657,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "607208",
          "espn_rank": null
        },
        "metrics": {
          "pa": 647.0,
          "k_percent": 21.0,
          "bb_percent": 6.9,
          "woba": 0.298,
          "xwoba": 0.293,
          "xba": 0.242,
          "xslg": 0.363,
          "sweet_spot_percent": 31.7,
          "barrel_batted_rate": 6.0,
          "hard_hit_percent": 39.3,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 11.1,
          "whiff_percent": 27.7,
          "swing_percent": 50.5
        },
        "components": {
          "expected_quality": -0.0532,
          "regression_edge": -0.1429,
          "xwoba_edge": -0.1714,
          "xba_edge": 0.1714,
          "xslg_edge": 0.0,
          "barrel_edge": -0.1333,
          "hard_hit_edge": 0.2429,
          "exit_velocity_edge": 0.04,
          "sweet_spot_edge": -0.2667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "681082",
        "player_name": "Bryson Stott",
        "offense_factor": 1.0382,
        "quality_score": 0.5098,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "681082",
          "espn_rank": null
        },
        "metrics": {
          "pa": 558.0,
          "k_percent": 16.4,
          "bb_percent": 10.2,
          "woba": 0.326,
          "xwoba": 0.33,
          "xba": 0.267,
          "xslg": 0.402,
          "sweet_spot_percent": 35.0,
          "barrel_batted_rate": 5.9,
          "hard_hit_percent": 37.7,
          "exit_velocity_avg": 89.4,
          "launch_angle_avg": 14.1,
          "whiff_percent": 18.7,
          "swing_percent": 41.8
        },
        "components": {
          "expected_quality": 0.5742,
          "regression_edge": 0.1143,
          "xwoba_edge": 0.8857,
          "xba_edge": 0.8857,
          "xslg_edge": 0.5571,
          "barrel_edge": -0.1556,
          "hard_hit_edge": 0.0143,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": 0.2833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "592663",
        "player_name": "J.T. Realmuto",
        "offense_factor": 1.0348,
        "quality_score": 0.4635,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "592663",
          "espn_rank": null
        },
        "metrics": {
          "pa": 423.0,
          "k_percent": 21.4,
          "bb_percent": 7.9,
          "woba": 0.275,
          "xwoba": 0.317,
          "xba": 0.249,
          "xslg": 0.387,
          "sweet_spot_percent": 35.6,
          "barrel_batted_rate": 5.7,
          "hard_hit_percent": 40.0,
          "exit_velocity_avg": 89.5,
          "launch_angle_avg": 11.8,
          "whiff_percent": 24.1,
          "swing_percent": 46.8
        },
        "components": {
          "expected_quality": 0.3436,
          "regression_edge": 1.2,
          "xwoba_edge": 0.5143,
          "xba_edge": 0.3714,
          "xslg_edge": 0.3429,
          "barrel_edge": -0.2,
          "hard_hit_edge": 0.3429,
          "exit_velocity_edge": 0.44,
          "sweet_spot_edge": 0.3833,
          "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"
}

Savant Pitcher Quality

Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away PHITrue-0.800110.93201.08510.95800.9063neutral0.26100.274030.307.1031.905.9033.20
Home ATLTrue-0.713810.93931.08000.91200.9277neutral0.26700.259030.904.8030.406.2035.10

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away PHITrueNone10690.572205000000000.0394
Home ATLTrueNone10188.69235700000000-0.0655
Run FactorValue
away_runs_vs_home_pitcher0.9638
home_runs_vs_away_pitcher0.9572
home_pitcher_starter_only_factor0.9393
away_pitcher_starter_only_factor0.9320
home_pitcher_workload_share0.7037
away_pitcher_workload_share0.7407
home_pitcher_quality_edge-0.0904
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "519242",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 601.0,
      "k_percent": 30.9,
      "bb_percent": 4.8,
      "woba": 0.259,
      "xwoba": 0.267,
      "sweet_spot_percent": 34.3,
      "barrel_batted_rate": 6.2,
      "hard_hit_percent": 35.1,
      "avg_best_speed": 76.8972,
      "avg_hyper_speed": 93.4361,
      "whiff_percent": 30.4,
      "swing_percent": 50.7
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6329,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.8393,
      "command_and_miss": 1.0457,
      "regression_edge": -0.2286,
      "xwoba_edge": 1.2857,
      "barrel_edge": 0.2222,
      "hard_hit_edge": 0.4,
      "whiff_edge": 0.7429,
      "bb_edge": 1.1,
      "pitch_design_score": -0.0655
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "519242",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 101,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 101,
        "pitch_usage": 0.0,
        "release_speed": 88.69431015805822,
        "release_spin_rate": 2357.280511373259,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 101,
          "pitch_usage": 0.0,
          "release_speed": 88.69431015805822,
          "release_spin_rate": 2357.280511373259,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.6943,
        "release_spin_rate": 2357.2805,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0655,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.4679,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.7138,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9393,
    "strikeout_factor": 1.08,
    "walk_factor": 0.912,
    "homer_factor": 0.9277,
    "woba_minus_xwoba": -0.008,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "519242",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "666200",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 720.0,
      "k_percent": 30.3,
      "bb_percent": 7.1,
      "woba": 0.274,
      "xwoba": 0.261,
      "sweet_spot_percent": 32.3,
      "barrel_batted_rate": 5.9,
      "hard_hit_percent": 33.2,
      "avg_best_speed": 76.4214,
      "avg_hyper_speed": 93.1543,
      "whiff_percent": 31.9,
      "swing_percent": 46.3
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6329,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.9078,
      "command_and_miss": 0.9671,
      "regression_edge": 0.3714,
      "xwoba_edge": 1.4571,
      "barrel_edge": 0.2889,
      "hard_hit_edge": 0.6714,
      "whiff_edge": 0.9571,
      "bb_edge": 0.525,
      "pitch_design_score": 0.0394
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "666200",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 106,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 106,
        "pitch_usage": 0.0,
        "release_speed": 90.56721551683269,
        "release_spin_rate": 2205.1938100088837,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 106,
          "pitch_usage": 0.0,
          "release_speed": 90.56721551683269,
          "release_spin_rate": 2205.1938100088837,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.5672,
        "release_spin_rate": 2205.1938,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0394,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.2812,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.8001,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.932,
    "strikeout_factor": 1.0851,
    "walk_factor": 0.958,
    "homer_factor": 0.9063,
    "woba_minus_xwoba": 0.013,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "666200",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9638,
    "home_runs_vs_away_pitcher": 0.9572,
    "home_pitcher_starter_only_factor": 0.9393,
    "away_pitcher_starter_only_factor": 0.932,
    "home_pitcher_workload_share": 0.7037,
    "away_pitcher_workload_share": 0.7407,
    "home_pitcher_quality_edge": -0.0904
  },
  "score_before": {
    "away_runs": 2.0,
    "home_runs": 3.0
  },
  "score_after": {
    "away_runs": 1.9276,
    "home_runs": 2.8715,
    "home_win_probability": 0.5786
  },
  "reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}

Team Form Snapshot

TeamLast-10 W-LWin %R/GRA/GRun DiffStreakOffenseDefense
Away PHI4-60.4003.204.80-161Wcoldaverage
Home ATL5-50.50043.9011Laverageaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away PHI88-740.543150.093True
Home ATL94-680.5801160.716True
Signal--0.6240.559applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-13PHI @ ATL9 - 4PHI5blowout
2026-09-12PHI @ ATL2 - 12ATL10blowout
2026-09-11PHI @ ATL5 - 6ATL1close
2026-09-07ATL @ PHI0 - 1PHI1close
2026-09-06ATL @ PHI5 - 4ATL1close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target PHI--2----
Game target ATL--3----
Player finalized PHI318414210
Player finalized ATL33841429
Player model fractional PHI31.197.033.850.943.762.638.61
Player model fractional ATL35.628.174.251.284.402.608.96
Simulation box PHI35821249
Simulation box ATL391530307

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.

Pitching Snapshot

TeamRolePitcherPre IPPre ERPre SOPre HPre BBWeighted ERAWeighted WHIPBox Sync
Away PHIStarterJesús Luzardo6.2037802.050.89True
Away PHICloserJhoan Duran1.1000402.800.92True
Home ATLStarterChris Sale6.1028532.510.94True
Home ATLSetup ManDylan Lee100116.671.64True
Home ATLCloserRaisel Iglesias100101.920.74True
Home ATLMiddle Reliever (High Leverage)Didier Fuentes0.2001103.501.32True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
homeATLpitcherStarterChris Saleneutral21111predicted_SO5.0000boostbetter
homeATLbatterSSHa-Seong Kimworse93627predicted_H2.6700boostbetter
awayPHIbatterRFBryce Harperworse1129110predicted_SO2.0750boostworse
awayPHIpitcherStarterJesús Luzardoneutral21111predicted_SO2.0000boostbetter
homeATLpitcherSetup ManDylan Leeworse10101predicted_SO-2.0000deboostworse
homeATLpitcherCloserRaisel Iglesiasworse10101predicted_SO-2.0000deboostworse
awayPHIbatterCJ.T. Realmutoworse114738predicted_2B1.8430boostbetter
awayPHIbatterCFDerek Hillworse114738predicted_H1.7500boostbetter
awayPHIbatterLFBryan De La Cruzworse1129110predicted_AB1.5000boostbetter
homeATLbatterCFMichael Harris IIworse1111029predicted_AB-1.5000deboostworse
awayPHIbatterSSTrea Turnerworse103746predicted_AB-1.4700deboostworse
homeATLbatterLFMauricio Dubónworse116556predicted_RBI1.4400boostbetter
homeATLbatter2BOzzie Albiesworse92718predicted_SO1.3480boostworse
awayPHIbatter3BEdmundo Sosaworse115647predicted_SO1.3410boostworse
homeATLbatterDHMike Yastrzemskiworse1129110predicted_AB1.3030boostbetter
homeATLbatterCDrake Baldwinworse114756predicted_H1.3000boostbetter
homeATLbatter3BAustin Rileyworse92736predicted_H1.2700boostbetter
homeATLbatter1BMatt Olsonbetter105564predicted_AB1.1550boostbetter
awayPHIpitcherCloserJhoan Duranneutral21111predicted_SO-1.0000deboostworse
homeATLpitcherMiddle Reliever (High Leverage)Didier Fuentesworse20202predicted_SO-1.0000deboostworse
awayPHIbatter1BAlec Bohmbetter115665predicted_HR0.9010boostbetter
homeATLbatterRFRonald Acuña Jr.worse104646predicted_H0.8700boostbetter
awayPHIbatterDHKyle Schwarberworse1111029predicted_RBI-0.7500deboostworse
awayPHIbatter2BBryson Stottworse1111029predicted_SO-0.6360deboostbetter

This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.

Away Team: PHI

Away Pitcher Deep Analysis

FieldValue
PitcherJesús Luzardo
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.8001
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0394
Avg Velo90.5672
Avg Spin2205.1938
HB Inches0
IVB Inches0
Release Extension0
Pre IP6.2000
Pre ER3
Pre H8
Pre BB0
Pre SO7
Season ERA2.8553
Season WHIP1.0742
Role Avg IP6.1610
Recent Avg IP7
Last Start IP9
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PHI",
    "games": 162,
    "wins": 88,
    "losses": 74,
    "win_pct": 0.5432,
    "runs_scored": 713.0,
    "runs_allowed": 698.0,
    "run_differential": 15.0,
    "run_differential_per_game": 0.0926,
    "avg_runs_scored": 4.4012,
    "avg_runs_allowed": 4.3086,
    "offense_index": 0.9791,
    "defense_index": 1.0433,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.2,
      "avg_runs_allowed": 4.8,
      "run_differential": -16.0
    },
    "available": true,
    "quality_score": 0.0131
  },
  "opponent": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.019,
    "defense_index": 1.1633,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1558
  },
  "edges": {
    "quality_edge": -0.1427,
    "offense_edge": -0.0209,
    "opponent_offense_edge": 0.019,
    "defense_strength": 0.0433,
    "opponent_defense_weakness": -0.1633,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9948,
    "run_prevention": 1.0058,
    "strikeout": 0.9942
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "666200",
    "profile": {
      "available": true,
      "pitcher_id": "666200",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 720.0,
        "k_percent": 30.3,
        "bb_percent": 7.1,
        "woba": 0.274,
        "xwoba": 0.261,
        "sweet_spot_percent": 32.3,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 33.2,
        "avg_best_speed": 76.4214,
        "avg_hyper_speed": 93.1543,
        "whiff_percent": 31.9,
        "swing_percent": 46.3
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9078,
        "command_and_miss": 0.9671,
        "regression_edge": 0.3714,
        "xwoba_edge": 1.4571,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 0.6714,
        "whiff_edge": 0.9571,
        "bb_edge": 0.525,
        "pitch_design_score": 0.0394
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "666200",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 106,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 106,
          "pitch_usage": 0.0,
          "release_speed": 90.56721551683269,
          "release_spin_rate": 2205.1938100088837,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 106,
            "pitch_usage": 0.0,
            "release_speed": 90.56721551683269,
            "release_spin_rate": 2205.1938100088837,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5672,
          "release_spin_rate": 2205.1938,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0394,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.2812,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.8001,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.932,
      "strikeout_factor": 1.0851,
      "walk_factor": 0.958,
      "homer_factor": 0.9063,
      "woba_minus_xwoba": 0.013,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "666200",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.932,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.932,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.958,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9063,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 8.0,
        "factor": 1.0851,
        "adjusted": 9
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 64.1,
    "ER": 13,
    "H": 39,
    "BB": 15,
    "SO": 78,
    "HR": 5,
    "ERA": 1.8186528497409324,
    "WHIP": 0.8393782383419688,
    "K9": 10.911917098445594,
    "HR9": 0.699481865284974,
    "games_pitched": 10,
    "quality_starts": 7,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-27T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "666200",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 106,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 106,
    "pitch_usage": 0.0,
    "release_speed": 90.56721551683269,
    "release_spin_rate": 2205.1938100088837,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 106,
      "pitch_usage": 0.0,
      "release_speed": 90.56721551683269,
      "release_spin_rate": 2205.1938100088837,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5672,
    "release_spin_rate": 2205.1938,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0394,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.2812,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 30.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8571,
    "prior_weight": 0.1429
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "666200",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 30,
  "reference_playing_time": 6.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 29.1,
        "ER": 3.0,
        "R": 5.0,
        "H": 14.0,
        "BB": 6.0,
        "SO": 36.0,
        "HR": 3.0,
        "BF": 109.0,
        "Pitches": 426.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 0.6,
        "R": 1.0,
        "H": 2.8,
        "BB": 1.2,
        "SO": 7.2,
        "HR": 0.6,
        "BF": 21.8,
        "Pitches": 85.2
      },
      "rates": {
        "ERA": 0.9205,
        "WHIP": 0.6818,
        "ER_per_IP": 0.10227,
        "H_per_IP": 0.47727,
        "BB_per_IP": 0.20455,
        "SO_per_IP": 1.22727,
        "HR_per_IP": 0.10227
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 64.1,
        "ER": 13.0,
        "R": 15.0,
        "H": 39.0,
        "BB": 15.0,
        "SO": 78.0,
        "HR": 5.0,
        "BF": 247.0,
        "Pitches": 938.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.3,
        "R": 1.5,
        "H": 3.9,
        "BB": 1.5,
        "SO": 7.8,
        "HR": 0.5,
        "BF": 24.7,
        "Pitches": 93.8
      },
      "rates": {
        "ERA": 1.8187,
        "WHIP": 0.8394,
        "ER_per_IP": 0.20207,
        "H_per_IP": 0.60622,
        "BB_per_IP": 0.23316,
        "SO_per_IP": 1.21244,
        "HR_per_IP": 0.07772
      }
    },
    "season": {
      "games": 30,
      "totals": {
        "IP": 179.2,
        "ER": 57.0,
        "R": 65.0,
        "H": 141.0,
        "BB": 52.0,
        "SO": 221.0,
        "HR": 15.0,
        "BF": 730.0,
        "Pitches": 2864.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.9,
        "R": 2.1667,
        "H": 4.7,
        "BB": 1.7333,
        "SO": 7.3667,
        "HR": 0.5,
        "BF": 24.3333,
        "Pitches": 95.4667
      },
      "rates": {
        "ERA": 2.8553,
        "WHIP": 1.0742,
        "ER_per_IP": 0.31725,
        "H_per_IP": 0.78479,
        "BB_per_IP": 0.28942,
        "SO_per_IP": 1.23006,
        "HR_per_IP": 0.08349
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.1,
    "predicted_ER": 1.411,
    "predicted_H": 3.972,
    "predicted_BB": 1.565,
    "predicted_SO": 7.32,
    "predicted_HR": 0.609,
    "predicted_ERA": 2.0497,
    "predicted_WHIP": 0.8937
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4104,
  "form_weight": 0.5896,
  "form_reliability": 0.8571,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 30.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8571,
    "prior_weight": 0.1429
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.2,
      "form": 6.1,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.411,
      "final": 1.6527,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 8.0,
      "form": 3.972,
      "final": 5.625,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.565,
      "final": 0.9228,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 7.32,
      "final": 6.3679,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.609,
      "final": 0.3591,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0497,
      "final": 2.0497,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8937,
      "final": 0.8937,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherJhoan Duran
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score1.2012
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo96.1402
Avg Spin1949.6171
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H4
Pre BB0
Pre SO0
Season ERA1.5169
Season WHIP0.9438
Role Avg IP0.9890
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PHI",
    "games": 162,
    "wins": 88,
    "losses": 74,
    "win_pct": 0.5432,
    "runs_scored": 713.0,
    "runs_allowed": 698.0,
    "run_differential": 15.0,
    "run_differential_per_game": 0.0926,
    "avg_runs_scored": 4.4012,
    "avg_runs_allowed": 4.3086,
    "offense_index": 0.9791,
    "defense_index": 1.0433,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.2,
      "avg_runs_allowed": 4.8,
      "run_differential": -16.0
    },
    "available": true,
    "quality_score": 0.0131
  },
  "opponent": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.019,
    "defense_index": 1.1633,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1558
  },
  "edges": {
    "quality_edge": -0.1427,
    "offense_edge": -0.0209,
    "opponent_offense_edge": 0.019,
    "defense_strength": 0.0433,
    "opponent_defense_weakness": -0.1633,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 0.9948,
    "run_prevention": 1.0058,
    "strikeout": 0.9942
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "661395",
    "profile": {
      "available": true,
      "pitcher_id": "661395",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 222.0,
        "k_percent": 35.6,
        "bb_percent": 4.2,
        "woba": 0.244,
        "xwoba": 0.222,
        "sweet_spot_percent": 23.9,
        "barrel_batted_rate": 3.7,
        "hard_hit_percent": 39.1,
        "avg_best_speed": 79.2504,
        "avg_hyper_speed": 94.1262,
        "whiff_percent": 35.7,
        "swing_percent": 52.6
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.5005,
        "command_and_miss": 1.6429,
        "regression_edge": 0.6286,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.7778,
        "hard_hit_edge": -0.1714,
        "whiff_edge": 1.5,
        "bb_edge": 1.25,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "661395",
        "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": 96.14017924380954,
          "release_spin_rate": 1949.617132771443,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 96.14017924380954,
            "release_spin_rate": 1949.617132771443,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 96.1402,
          "release_spin_rate": 1949.6171,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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": 1.2012,
      "sample_weight": 0.888,
      "run_prevention_factor": 0.8979,
      "strikeout_factor": 1.1218,
      "walk_factor": 0.9112,
      "homer_factor": 0.8842,
      "woba_minus_xwoba": 0.022,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "661395",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9093,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9093,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9211,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8972,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.1082,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 3,
    "H": 7,
    "BB": 1,
    "SO": 17,
    "HR": 1,
    "ERA": 2.7,
    "WHIP": 0.8,
    "K9": 15.3,
    "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-09-27T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "661395",
  "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": 96.14017924380954,
    "release_spin_rate": 1949.617132771443,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 96.14017924380954,
      "release_spin_rate": 1949.617132771443,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 96.1402,
    "release_spin_rate": 1949.6171,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.21,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7095,
    "prior_weight": 0.2905
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "661395",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 86.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.2,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 17.2
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.6,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 1.0,
        "SO": 17.0,
        "HR": 1.0,
        "BF": 38.0,
        "Pitches": 159.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.7,
        "BB": 0.1,
        "SO": 1.7,
        "HR": 0.1,
        "BF": 3.8,
        "Pitches": 15.9
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 0.8,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.7,
        "BB_per_IP": 0.1,
        "SO_per_IP": 1.7,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 60,
      "totals": {
        "IP": 59.1,
        "ER": 10.0,
        "R": 12.0,
        "H": 46.0,
        "BB": 10.0,
        "SO": 84.0,
        "HR": 2.0,
        "BF": 233.0,
        "Pitches": 939.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1667,
        "R": 0.2,
        "H": 0.7667,
        "BB": 0.1667,
        "SO": 1.4,
        "HR": 0.0333,
        "BF": 3.8833,
        "Pitches": 15.65
      },
      "rates": {
        "ERA": 1.5169,
        "WHIP": 0.9438,
        "ER_per_IP": 0.16854,
        "H_per_IP": 0.77528,
        "BB_per_IP": 0.16854,
        "SO_per_IP": 1.41573,
        "HR_per_IP": 0.03371
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.311,
    "predicted_H": 0.698,
    "predicted_BB": 0.223,
    "predicted_SO": 1.469,
    "predicted_HR": 0.073,
    "predicted_ERA": 2.8014,
    "predicted_WHIP": 0.9201
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4727,
  "form_weight": 0.5273,
  "form_reliability": 0.7095,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.21,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7095,
    "prior_weight": 0.2905
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.311,
      "final": 0.164,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 0.698,
      "final": 2.259,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.223,
      "final": 0.1176,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.469,
      "final": 1.2473,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.073,
      "final": 0.0385,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8014,
      "final": 2.8014,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9201,
      "final": 0.9201,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
Bryce Harper (547180) · BATTER · RF · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 657
All-history rows before 20260929: 657
System season_avg: 0.2690
Data season_avg (2026 season-to-date): 0.2817
Diff (system - data): -0.0127
System opponent_avg: 0.0950

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2000.0000.000Hitting_2B0.2120.000-0.2120.000
predicted_3B0.0190.0000.000Hitting_3B0.0200.000-0.0200.000
predicted_AB3.5815.0004.000Hitting_AB3.5945.0001.4060.000
predicted_AVG0.2690.0000.250Hitting_AVG0.2820.200-0.282-0.200
predicted_BB0.6690.0001.000Hitting_BB0.7370.000-0.7370.000
predicted_CS-0.0000.000BaseRunning_CS0.0410.000-0.0410.000
predicted_H0.9620.0001.000Hitting_H1.0121.000-1.012-1.000
predicted_HR0.1810.0000.000Hitting_HR0.1871.000-0.187-1.000
predicted_OBP0.3840.0000.400Hitting_OBP0.4010.200-0.401-0.200
predicted_R0.5810.0001.000Hitting_R0.6191.000-0.619-1.000
predicted_RBI0.5440.0001.000Hitting_RBI0.5801.000-0.580-1.000
predicted_SLG0.4870.0000.250Hitting_SLG0.5080.800-0.508-0.800
predicted_SO0.9253.0001.000Hitting_SO0.9211.0002.0792.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_SO: 0.9250 -> 3.0000 (boost 2.0750, worse)
Biggest Deboostpredicted_H: 0.9620 -> 0.0000 (deboost -0.9620, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 3.5810 -> 3.6554 (boost 0.0744, better)predicted_R: 0.5810 -> 0.5280 (deboost -0.0530, 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.
3team_form_snapshot20202-predicted_SLG: 0.4667 -> 0.4558 (deboost -0.0109, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling75243predicted_RBI: 0.5003 -> 1.0000 (boost 0.4997, better)predicted_2B: 0.1764 -> 0.0000 (deboost -0.1764, worse)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.247 HR/AB=0.047
6bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=21.0, weight=0.165, BvP AVG=0.095)
7consistency_constraints11010predicted_R: 0.5072 -> 1.0000 (boost 0.4928, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.4280 (boost 0.4280, better)predicted_RBI: 1.0000 -> 0.4979 (deboost -0.5021, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63342predicted_BB: 0.4280 -> 1.0000 (boost 0.5720, better)predicted_SO: 1.2734 -> 1.0000 (deboost -0.2734, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference52314predicted_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
12current_json_final33030predicted_SLG: 0.4040 -> 0.4558 (boost 0.0518, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "547180",
  "player_name": "Bryce Harper",
  "position": "RF",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "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.581,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.669,
        "predicted_H": 0.962,
        "predicted_HR": 0.181,
        "predicted_OBP": 0.384,
        "predicted_R": 0.581,
        "predicted_RBI": 0.544,
        "predicted_SLG": 0.487,
        "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.1764,
        "predicted_3B": 0.0159,
        "predicted_AB": 3.6554,
        "predicted_AVG": 0.2654,
        "predicted_BB": 0.62,
        "predicted_H": 0.969,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1753,
        "predicted_OBP": 0.37,
        "predicted_R": 0.528,
        "predicted_RBI": 0.5208,
        "predicted_SLG": 0.4667,
        "predicted_SO": 0.9132
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2,
          "after": 0.1764,
          "delta": -0.0236,
          "percent_delta": -0.118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0159,
          "delta": -0.0031,
          "percent_delta": -0.1632,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.581,
          "after": 3.6554,
          "delta": 0.0744,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2654,
          "delta": -0.0036,
          "percent_delta": -0.0134,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.669,
          "after": 0.62,
          "delta": -0.049,
          "percent_delta": -0.0732,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.962,
          "after": 0.969,
          "delta": 0.007,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.181,
          "after": 0.1753,
          "delta": -0.0057,
          "percent_delta": -0.0315,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.384,
          "after": 0.37,
          "delta": -0.014,
          "percent_delta": -0.0365,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.581,
          "after": 0.528,
          "delta": -0.053,
          "percent_delta": -0.0912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.544,
          "after": 0.5208,
          "delta": -0.0232,
          "percent_delta": -0.0426,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.487,
          "after": 0.4667,
          "delta": -0.0203,
          "percent_delta": -0.0417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.925,
          "after": 0.9132,
          "delta": -0.0118,
          "percent_delta": -0.0128,
          "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.581,
          "after": 3.6554,
          "delta": 0.0744,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.581,
          "after": 0.528,
          "delta": -0.053,
          "percent_delta": -0.0912,
          "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": 160
      }
    },
    {
      "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.0159,
        "predicted_AB": 3.6554,
        "predicted_AVG": 0.2588,
        "predicted_BB": 0.6168,
        "predicted_H": 0.9458,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1707,
        "predicted_OBP": 0.3658,
        "predicted_R": 0.5072,
        "predicted_RBI": 0.5003,
        "predicted_SLG": 0.4558,
        "predicted_SO": 0.9179
      },
      "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.0159,
          "after": 0.0159,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6554,
          "after": 3.6554,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2654,
          "after": 0.2588,
          "delta": -0.0066,
          "percent_delta": -0.0249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.62,
          "after": 0.6168,
          "delta": -0.0032,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.969,
          "after": 0.9458,
          "delta": -0.0232,
          "percent_delta": -0.0239,
          "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.1753,
          "after": 0.1707,
          "delta": -0.0046,
          "percent_delta": -0.0262,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.37,
          "after": 0.3658,
          "delta": -0.0042,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.528,
          "after": 0.5072,
          "delta": -0.0208,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5208,
          "after": 0.5003,
          "delta": -0.0205,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4667,
          "after": 0.4558,
          "delta": -0.0109,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9132,
          "after": 0.9179,
          "delta": 0.0047,
          "percent_delta": 0.0051,
          "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.4667,
          "after": 0.4558,
          "delta": -0.0109,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.247 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.1764,
          "after": 0.0,
          "delta": -0.1764,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0159,
          "after": 0.0,
          "delta": -0.0159,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6554,
          "after": 4.0,
          "delta": 0.3446,
          "percent_delta": 0.0943,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6168,
          "after": 1.0,
          "delta": 0.3832,
          "percent_delta": 0.6213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9458,
          "after": 1.0,
          "delta": 0.0542,
          "percent_delta": 0.0573,
          "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.1707,
          "after": 0.0,
          "delta": -0.1707,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5003,
          "after": 1.0,
          "delta": 0.4997,
          "percent_delta": 0.9988,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9179,
          "after": 1.0,
          "delta": 0.0821,
          "percent_delta": 0.0894,
          "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.5003,
          "after": 1.0,
          "delta": 0.4997,
          "percent_delta": 0.9988,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1764,
          "after": 0.0,
          "delta": -0.1764,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=21.0, weight=0.165, BvP AVG=0.095)",
      "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.8353,
        "bvp": 0.1647
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.5072,
          "after": 1.0,
          "delta": 0.4928,
          "percent_delta": 0.9716,
          "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.5072,
          "after": 1.0,
          "delta": 0.4928,
          "percent_delta": 0.9716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1556,
        "predicted_3B": 0.0157,
        "predicted_BB": 0.428,
        "predicted_H": 0.8997,
        "predicted_HR": 0.1556,
        "predicted_RBI": 0.4979,
        "predicted_SO": 1.2734
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1556,
          "delta": 0.1556,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0157,
          "delta": 0.0157,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.428,
          "delta": 0.428,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8997,
          "delta": -0.1003,
          "percent_delta": -0.1003,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1556,
          "delta": 0.1556,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4979,
          "delta": -0.5021,
          "percent_delta": -0.5021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2734,
          "delta": 0.2734,
          "percent_delta": 0.2734,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.428,
          "delta": 0.428,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4979,
          "delta": -0.5021,
          "percent_delta": -0.5021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1556,
          "after": 0.0,
          "delta": -0.1556,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0157,
          "after": 0.0,
          "delta": -0.0157,
          "percent_delta": -1.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_BB",
          "before": 0.428,
          "after": 1.0,
          "delta": 0.572,
          "percent_delta": 1.3364,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8997,
          "after": 1.0,
          "delta": 0.1003,
          "percent_delta": 0.1115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1556,
          "after": 0.0,
          "delta": -0.1556,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4979,
          "after": 1.0,
          "delta": 0.5021,
          "percent_delta": 1.0084,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2734,
          "after": 1.0,
          "delta": -0.2734,
          "percent_delta": -0.2147,
          "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.428,
          "after": 1.0,
          "delta": 0.572,
          "percent_delta": 1.3364,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2734,
          "after": 1.0,
          "delta": -0.2734,
          "percent_delta": -0.2147,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.234,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.404,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2588,
          "after": 0.234,
          "delta": -0.0248,
          "percent_delta": -0.0958,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3658,
          "after": 0.316,
          "delta": -0.0498,
          "percent_delta": -0.1361,
          "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.4558,
          "after": 0.404,
          "delta": -0.0518,
          "percent_delta": -0.1136,
          "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": 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": 11,
      "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "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": 12,
      "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.2588,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3658,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4558,
        "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.234,
          "after": 0.2588,
          "delta": 0.0248,
          "percent_delta": 0.1058,
          "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.316,
          "after": 0.3658,
          "delta": 0.0498,
          "percent_delta": 0.1575,
          "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.404,
          "after": 0.4558,
          "delta": 0.0518,
          "percent_delta": 0.1283,
          "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.404,
          "after": 0.4558,
          "delta": 0.0518,
          "percent_delta": 0.1283,
          "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": 3.581,
        "after": 5.0,
        "delta": 1.419,
        "percent_delta": 0.3963,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2588,
        "delta": -0.0102,
        "percent_delta": -0.0379,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.669,
        "after": 0.0,
        "delta": -0.669,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.962,
        "after": 0.0,
        "delta": -0.962,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.181,
        "after": 0.0,
        "delta": -0.181,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.384,
        "after": 0.3658,
        "delta": -0.0182,
        "percent_delta": -0.0474,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.581,
        "after": 0.0,
        "delta": -0.581,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.544,
        "after": 0.0,
        "delta": -0.544,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.487,
        "after": 0.4558,
        "delta": -0.0312,
        "percent_delta": -0.0641,
        "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_H",
        "before": 0.962,
        "after": 0.0,
        "delta": -0.962,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.200-
predicted_3B0.019-
predicted_AB3.581-
predicted_AVG0.269-
predicted_BB0.669-
predicted_H0.962-
predicted_HR0.181-
predicted_OBP0.384-
predicted_R0.581-
predicted_RBI0.544-
predicted_SLG0.487-
predicted_SO0.925-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.176-0.024
predicted_3B0.016-0.003
predicted_AB3.6550.074
predicted_AVG0.265-0.004
predicted_BB0.620-0.049
predicted_H0.9690.007
predicted_HBP0.005-
predicted_HR0.175-0.006
predicted_OBP0.370-0.014
predicted_R0.528-0.053
predicted_RBI0.521-0.023
predicted_SLG0.467-0.020
predicted_SO0.913-0.012
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1760.000
predicted_3B0.0160.000
predicted_AB3.6550.000
predicted_AVG0.259-0.007
predicted_BB0.617-0.003
predicted_H0.946-0.023
predicted_HBP0.0050.000
predicted_HR0.171-0.005
predicted_OBP0.366-0.004
predicted_R0.507-0.021
predicted_RBI0.500-0.021
predicted_SLG0.456-0.011
predicted_SO0.9180.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.66), rates preserved: AVG=0.247 HR/AB=0.047

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=21.0, weight=0.165, BvP AVG=0.095)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1560.156
3B0.0160.016
BB0.4280.428
H0.900-0.100
HR0.1560.156
RBI0.498-0.502
SO1.2730.273
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.156
3B0.000-0.016
AB4.0000.000
BB1.0000.572
H1.0000.100
HR0.000-0.156
R1.0000.000
RBI1.0000.502
SO1.000-0.273
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.176
predicted_3B0.000-0.016
predicted_AB4.0000.345
predicted_AVG0.234-0.025
predicted_BB0.000-0.617
predicted_H1.0000.054
predicted_HR0.000-0.171
predicted_OBP0.316-0.050
predicted_R1.0000.493
predicted_RBI1.0000.500
predicted_SLG0.404-0.052
predicted_SO1.0000.082
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO3.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 160
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0000.0000.0001.0002.0001.0002.0004.0000.25000.31820.40000.25000.05000.10000.10000.2000
last_100.2010-40.00010.0001.0000.0001.0004.0003.0004.0009.0000.25000.31110.35000.25000.02500.10000.10000.2250
season0.60160-573.000154.00032.0003.00029.00087.00093.000107.000148.0000.26880.38030.48690.26880.05060.15180.18670.2583
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1460
predicted_3B0.0120
predicted_AB3.7510
predicted_AVG0.2607
predicted_BB0.5570
predicted_H0.9780
predicted_HBP0.0050
predicted_HR0.1680
predicted_OBP0.3520
predicted_R0.4600
predicted_RBI0.4910
predicted_SLG0.4407
predicted_SO0.8980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.14600.1764model_form_blend
predicted_3B0.01900.01200.0159model_form_blend
predicted_AB3.58103.75103.6554model_form_blend
predicted_AVG0.26900.26070.2654model_form_blend
predicted_BB0.66900.55700.6200model_form_blend
predicted_H0.96200.97800.9690model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.18100.16800.1753model_form_blend
predicted_OBP0.38400.35200.3700model_form_blend
predicted_R0.58100.46000.5280model_form_blend
predicted_RBI0.54400.49100.5208model_form_blend
predicted_SLG0.48700.44070.4667model_form_blend
predicted_SO0.92500.89800.9132model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date657
Season rows before report date657
Report year2026
Profile rows used160
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO3
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260927_TB@PHI
game_typefull
mlbID547180
playerID547180
playerNameBryce Harper
pos1B
startedTrue
startingPositionRF
teamPHI
teamID21
game_date2026-09-27
sl_k_percent21.4
sl_bb_percent15.4
sl_woba0.375
sl_xwoba0.379
sl_xba0.271
sl_xslg0.481
sl_sweet_spot_percent37.5
sl_barrel_batted_rate10.3
sl_hard_hit_percent42.8
sl_exit_velocity_avg90.0
sl_launch_angle_avg12.8
sl_whiff_percent30.7
sl_swing_percent49.9
Alec Bohm (664761) · BATTER · 1B · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 602
All-history rows before 20260929: 602
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2547
Diff (system - data): -0.0057
System opponent_avg: 0.3040

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1910.0000.000Hitting_2B0.2080.000-0.2080.000
predicted_3B0.0070.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.7303.0004.000Hitting_AB3.8092.000-0.8091.000
predicted_AVG0.2490.3330.250Hitting_AVG0.2550.0000.0790.333
predicted_BB0.3161.0000.000Hitting_BB0.3192.0000.681-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9281.0001.000Hitting_H0.9700.0000.0301.000
predicted_HR0.0991.0000.000Hitting_HR0.1000.0000.9001.000
predicted_OBP0.3070.5000.250Hitting_OBP0.3210.5000.1790.000
predicted_R0.3821.0000.000Hitting_R0.4150.0000.5851.000
predicted_RBI0.5721.0001.000Hitting_RBI0.6080.0000.3921.000
predicted_SLG0.3831.3330.250Hitting_SLG0.3920.0000.9411.333
predicted_SO0.5790.0001.000Hitting_SO0.5910.000-0.5910.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_HR: 0.0990 -> 1.0000 (boost 0.9010, better)
Biggest Deboostpredicted_AB: 3.7300 -> 3.0000 (deboost -0.7300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_H: 0.9280 -> 0.8529 (deboost -0.0751, 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.
3team_form_snapshot30303-predicted_OBP: 0.2989 -> 0.2911 (deboost -0.0078, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_SO: 0.5745 -> 1.0000 (boost 0.4255, worse)predicted_RBI: 0.4853 -> 0.0000 (deboost -0.4853, worse)AB rounded to 4 (raw=3.73), rates preserved: AVG=0.213 HR/AB=0.022
6bvp_blend00000--Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.304)
7consistency_constraints10101-predicted_R: 0.3393 -> 0.0000 (deboost -0.3393, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5193 (boost 0.5193, better)predicted_SO: 1.0000 -> 0.7134 (deboost -0.2866, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63324predicted_RBI: 0.5193 -> 1.0000 (boost 0.4807, better)predicted_BB: 0.2498 -> 0.0000 (deboost -0.2498, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3379 -> 0.4000 (boost 0.0621, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference64251predicted_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
12current_json_final30303-predicted_SLG: 0.4000 -> 0.3379 (deboost -0.0621, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664761",
  "player_name": "Alec Bohm",
  "position": "1B",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.191,
        "predicted_3B": 0.007,
        "predicted_AB": 3.73,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.316,
        "predicted_H": 0.928,
        "predicted_HR": 0.099,
        "predicted_OBP": 0.307,
        "predicted_R": 0.382,
        "predicted_RBI": 0.572,
        "predicted_SLG": 0.383,
        "predicted_SO": 0.579
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1661,
        "predicted_3B": 0.0057,
        "predicted_AB": 3.7016,
        "predicted_AVG": 0.2303,
        "predicted_BB": 0.3474,
        "predicted_H": 0.8529,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.0824,
        "predicted_OBP": 0.2989,
        "predicted_R": 0.3532,
        "predicted_RBI": 0.5052,
        "predicted_SLG": 0.3447,
        "predicted_SO": 0.5716
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.191,
          "after": 0.1661,
          "delta": -0.0249,
          "percent_delta": -0.1304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0057,
          "delta": -0.0013,
          "percent_delta": -0.1857,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.73,
          "after": 3.7016,
          "delta": -0.0284,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.249,
          "after": 0.2303,
          "delta": -0.0187,
          "percent_delta": -0.0751,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.316,
          "after": 0.3474,
          "delta": 0.0314,
          "percent_delta": 0.0994,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.928,
          "after": 0.8529,
          "delta": -0.0751,
          "percent_delta": -0.0809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.099,
          "after": 0.0824,
          "delta": -0.0166,
          "percent_delta": -0.1677,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.2989,
          "delta": -0.0081,
          "percent_delta": -0.0264,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.382,
          "after": 0.3532,
          "delta": -0.0288,
          "percent_delta": -0.0754,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.572,
          "after": 0.5052,
          "delta": -0.0668,
          "percent_delta": -0.1168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.383,
          "after": 0.3447,
          "delta": -0.0383,
          "percent_delta": -0.1,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.579,
          "after": 0.5716,
          "delta": -0.0074,
          "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_H",
          "before": 0.928,
          "after": 0.8529,
          "delta": -0.0751,
          "percent_delta": -0.0809,
          "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": 152
      }
    },
    {
      "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.1661,
        "predicted_3B": 0.0057,
        "predicted_AB": 3.7016,
        "predicted_AVG": 0.2249,
        "predicted_BB": 0.3456,
        "predicted_H": 0.8325,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.0803,
        "predicted_OBP": 0.2911,
        "predicted_R": 0.3393,
        "predicted_RBI": 0.4853,
        "predicted_SLG": 0.3379,
        "predicted_SO": 0.5745
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1661,
          "after": 0.1661,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0057,
          "after": 0.0057,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7016,
          "after": 3.7016,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2303,
          "after": 0.2249,
          "delta": -0.0054,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3474,
          "after": 0.3456,
          "delta": -0.0018,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8529,
          "after": 0.8325,
          "delta": -0.0204,
          "percent_delta": -0.0239,
          "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.0824,
          "after": 0.0803,
          "delta": -0.0021,
          "percent_delta": -0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2989,
          "after": 0.2911,
          "delta": -0.0078,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3532,
          "after": 0.3393,
          "delta": -0.0139,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5052,
          "after": 0.4853,
          "delta": -0.0199,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3447,
          "after": 0.3379,
          "delta": -0.0068,
          "percent_delta": -0.0197,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5716,
          "after": 0.5745,
          "delta": 0.0029,
          "percent_delta": 0.0051,
          "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.2989,
          "after": 0.2911,
          "delta": -0.0078,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.213 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1661,
          "after": 0.0,
          "delta": -0.1661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0057,
          "after": 0.0,
          "delta": -0.0057,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7016,
          "after": 4.0,
          "delta": 0.2984,
          "percent_delta": 0.0806,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3456,
          "after": 0.0,
          "delta": -0.3456,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8325,
          "after": 1.0,
          "delta": 0.1675,
          "percent_delta": 0.2012,
          "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.0803,
          "after": 0.0,
          "delta": -0.0803,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4853,
          "after": 0.0,
          "delta": -0.4853,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5745,
          "after": 1.0,
          "delta": 0.4255,
          "percent_delta": 0.7406,
          "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.5745,
          "after": 1.0,
          "delta": 0.4255,
          "percent_delta": 0.7406,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4853,
          "after": 0.0,
          "delta": -0.4853,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.304)",
      "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.8264,
        "bvp": 0.1736
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.3393,
          "after": 0.0,
          "delta": -0.3393,
          "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.3393,
          "after": 0.0,
          "delta": -0.3393,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1749,
        "predicted_3B": 0.0092,
        "predicted_BB": 0.2498,
        "predicted_H": 0.9086,
        "predicted_HR": 0.1173,
        "predicted_RBI": 0.5193,
        "predicted_SO": 0.7134
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1749,
          "delta": 0.1749,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0092,
          "delta": 0.0092,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2498,
          "delta": 0.2498,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9086,
          "delta": -0.0914,
          "percent_delta": -0.0914,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1173,
          "delta": 0.1173,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5193,
          "delta": 0.5193,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7134,
          "delta": -0.2866,
          "percent_delta": -0.2866,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5193,
          "delta": 0.5193,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7134,
          "delta": -0.2866,
          "percent_delta": -0.2866,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1749,
          "after": 0.0,
          "delta": -0.1749,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0092,
          "after": 0.0,
          "delta": -0.0092,
          "percent_delta": -1.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_BB",
          "before": 0.2498,
          "after": 0.0,
          "delta": -0.2498,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9086,
          "after": 1.0,
          "delta": 0.0914,
          "percent_delta": 0.1006,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1173,
          "after": 0.0,
          "delta": -0.1173,
          "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.5193,
          "after": 1.0,
          "delta": 0.4807,
          "percent_delta": 0.9257,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7134,
          "after": 1.0,
          "delta": 0.2866,
          "percent_delta": 0.4017,
          "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.5193,
          "after": 1.0,
          "delta": 0.4807,
          "percent_delta": 0.9257,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2498,
          "after": 0.0,
          "delta": -0.2498,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.304,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.4,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2911,
          "after": 0.304,
          "delta": 0.0129,
          "percent_delta": 0.0443,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3379,
          "after": 0.4,
          "delta": 0.0621,
          "percent_delta": 0.1838,
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3379,
          "after": 0.4,
          "delta": 0.0621,
          "percent_delta": 0.1838,
          "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": 11,
      "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": 12,
      "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_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2911,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3379,
        "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.2249,
          "delta": -0.0251,
          "percent_delta": -0.1004,
          "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.304,
          "after": 0.2911,
          "delta": -0.0129,
          "percent_delta": -0.0424,
          "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.4,
          "after": 0.3379,
          "delta": -0.0621,
          "percent_delta": -0.1552,
          "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.4,
          "after": 0.3379,
          "delta": -0.0621,
          "percent_delta": -0.1552,
          "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.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.73,
        "after": 3.0,
        "delta": -0.73,
        "percent_delta": -0.1957,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.249,
        "after": 0.2249,
        "delta": -0.0241,
        "percent_delta": -0.0968,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.316,
        "after": 1.0,
        "delta": 0.684,
        "percent_delta": 2.1646,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.928,
        "after": 1.0,
        "delta": 0.072,
        "percent_delta": 0.0776,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.099,
        "after": 1.0,
        "delta": 0.901,
        "percent_delta": 9.101,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.307,
        "after": 0.2911,
        "delta": -0.0159,
        "percent_delta": -0.0518,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.382,
        "after": 1.0,
        "delta": 0.618,
        "percent_delta": 1.6178,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.572,
        "after": 1.0,
        "delta": 0.428,
        "percent_delta": 0.7483,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.383,
        "after": 0.3379,
        "delta": -0.0451,
        "percent_delta": -0.1178,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.579,
        "after": 0.0,
        "delta": -0.579,
        "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_HR",
        "before": 0.099,
        "after": 1.0,
        "delta": 0.901,
        "percent_delta": 9.101,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.73,
        "after": 3.0,
        "delta": -0.73,
        "percent_delta": -0.1957,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.191-
predicted_3B0.007-
predicted_AB3.730-
predicted_AVG0.249-
predicted_BB0.316-
predicted_H0.928-
predicted_HR0.099-
predicted_OBP0.307-
predicted_R0.382-
predicted_RBI0.572-
predicted_SLG0.383-
predicted_SO0.579-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.166-0.025
predicted_3B0.006-0.001
predicted_AB3.702-0.028
predicted_AVG0.230-0.019
predicted_BB0.3470.031
predicted_H0.853-0.075
predicted_HBP0.035-
predicted_HR0.082-0.017
predicted_OBP0.299-0.008
predicted_R0.353-0.029
predicted_RBI0.505-0.067
predicted_SLG0.345-0.038
predicted_SO0.572-0.007
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1660.000
predicted_3B0.0060.000
predicted_AB3.7020.000
predicted_AVG0.225-0.005
predicted_BB0.346-0.002
predicted_H0.833-0.020
predicted_HBP0.0350.000
predicted_HR0.080-0.002
predicted_OBP0.291-0.008
predicted_R0.339-0.014
predicted_RBI0.485-0.020
predicted_SLG0.338-0.007
predicted_SO0.5750.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.73), rates preserved: AVG=0.213 HR/AB=0.022

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.304)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1750.175
3B0.0090.009
BB0.2500.250
H0.909-0.091
HR0.1170.117
RBI0.5190.519
SO0.713-0.287
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.175
3B0.000-0.009
AB4.0000.000
BB0.000-0.250
H1.0000.091
HR0.000-0.117
R0.0000.000
RBI1.0000.481
SO1.0000.287
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.166
predicted_3B0.000-0.006
predicted_AB4.0000.298
predicted_AVG0.2500.025
predicted_BB0.000-0.346
predicted_H1.0000.167
predicted_HR0.000-0.080
predicted_OBP0.3040.013
predicted_R0.000-0.339
predicted_RBI0.000-0.485
predicted_SLG0.4000.062
predicted_SO1.0000.425
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 152
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0001.0000.0000.0000.0000.0001.0003.0003.0000.05880.20000.05880.05880.00000.00000.17650.1765
last_100.2010-37.0008.0001.0000.0000.0004.0002.0004.0004.0000.21620.29270.24320.21620.00000.10810.10810.1081
season0.60152-567.000141.00029.0001.00015.00087.00058.00048.00088.0000.24870.31530.38270.24870.02650.15340.08470.1552
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1340
predicted_3B0.0040
predicted_AB3.6650
predicted_AVG0.2062
predicted_BB0.3880
predicted_H0.7560
predicted_HBP0.0350
predicted_HR0.0610
predicted_OBP0.2885
predicted_R0.3160
predicted_RBI0.4190
predicted_SLG0.2954
predicted_SO0.5620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19100.13400.1661model_form_blend
predicted_3B0.00700.00400.0057model_form_blend
predicted_AB3.73003.66503.7016model_form_blend
predicted_AVG0.24900.20620.2303model_form_blend
predicted_BB0.31600.38800.3474model_form_blend
predicted_H0.92800.75600.8529model_form_blend
predicted_HBP-0.03500.0350form_only
predicted_HR0.09900.06100.0824model_form_blend
predicted_OBP0.30700.28850.2989model_form_blend
predicted_R0.38200.31600.3532model_form_blend
predicted_RBI0.57200.41900.5052model_form_blend
predicted_SLG0.38300.29540.3447model_form_blend
predicted_SO0.57900.56200.5716model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date602
Season rows before report date602
Report year2026
Profile rows used152
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR1
R1
RBI1
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260927_TB@PHI
game_typefull
mlbID664761
playerID664761
playerNameAlec Bohm
pos3B
startedTrue
startingPosition1B
teamPHI
teamID21
game_date2026-09-27
sl_k_percent14.0
sl_bb_percent7.6
sl_woba0.309
sl_xwoba0.327
sl_xba0.265
sl_xslg0.412
sl_sweet_spot_percent33.7
sl_barrel_batted_rate6.0
sl_hard_hit_percent43.8
sl_exit_velocity_avg90.6
sl_launch_angle_avg8.6
sl_whiff_percent16.6
sl_swing_percent46.0
Bryan De La Cruz (650559) · BATTER · LF · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 79
All-history rows before 20260929: 79
System season_avg: 0.2800
Data season_avg (2026 season-to-date): 0.2857
Diff (system - data): -0.0057
System opponent_avg: 0.1560

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1330.0000.000Hitting_2B0.1390.000-0.1390.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5004.0003.000Hitting_AB2.6582.0001.3422.000
predicted_AVG0.2800.0000.333Hitting_AVG0.2860.000-0.2860.000
predicted_BB0.2330.0000.000Hitting_BB0.2152.000-0.215-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7000.0001.000Hitting_H0.7590.000-0.7590.000
predicted_HR0.0670.0000.000Hitting_HR0.0760.000-0.0760.000
predicted_OBP0.3410.0000.333Hitting_OBP0.3510.500-0.351-0.500
predicted_R0.3330.0000.000Hitting_R0.4300.000-0.4300.000
predicted_RBI0.4000.0000.000Hitting_RBI0.5060.000-0.5060.000
predicted_SLG0.4130.0000.333Hitting_SLG0.4240.000-0.4240.000
predicted_SO0.6001.0001.000Hitting_SO0.6711.0000.3290.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_H: 0.7000 -> 0.0000 (deboost -0.7000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 2.5000 -> 2.6262 (boost 0.1262, better)predicted_SLG: 0.4130 -> 0.3868 (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.
3team_form_snapshot30303-predicted_SLG: 0.3868 -> 0.3769 (deboost -0.0099, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_SO: 0.6227 -> 1.0000 (boost 0.3773, worse)predicted_RBI: 0.3526 -> 0.0000 (deboost -0.3526, worse)AB rounded to 3 (raw=2.63), rates preserved: AVG=0.240 HR/AB=0.024
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
7consistency_constraints10101-predicted_R: 0.3206 -> 0.0000 (deboost -0.3206, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4648 (boost 0.4648, better)predicted_H: 1.0000 -> 0.7646 (deboost -0.2354, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_H: 0.7646 -> 1.0000 (boost 0.2354, better)predicted_RBI: 0.4648 -> 0.0000 (deboost -0.4648, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context31212predicted_SLG: 0.3769 -> 0.3910 (boost 0.0141, better)predicted_OBP: 0.3228 -> 0.2960 (deboost -0.0268, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference21111predicted_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
12current_json_final32121predicted_OBP: 0.2960 -> 0.3228 (boost 0.0268, better)predicted_SLG: 0.3910 -> 0.3769 (deboost -0.0141, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "650559",
  "player_name": "Bryan De La Cruz",
  "position": "LF",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.133,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.28,
        "predicted_BB": 0.233,
        "predicted_H": 0.7,
        "predicted_HR": 0.067,
        "predicted_OBP": 0.341,
        "predicted_R": 0.333,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.413,
        "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.1401,
        "predicted_3B": 0.0011,
        "predicted_AB": 2.6262,
        "predicted_AVG": 0.2594,
        "predicted_BB": 0.2779,
        "predicted_H": 0.6768,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.064,
        "predicted_OBP": 0.3321,
        "predicted_R": 0.3337,
        "predicted_RBI": 0.3671,
        "predicted_SLG": 0.3868,
        "predicted_SO": 0.6195
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.133,
          "after": 0.1401,
          "delta": 0.0071,
          "percent_delta": 0.0534,
          "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.5,
          "after": 2.6262,
          "delta": 0.1262,
          "percent_delta": 0.0505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.28,
          "after": 0.2594,
          "delta": -0.0206,
          "percent_delta": -0.0736,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.233,
          "after": 0.2779,
          "delta": 0.0449,
          "percent_delta": 0.1927,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 0.6768,
          "delta": -0.0232,
          "percent_delta": -0.0331,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.067,
          "after": 0.064,
          "delta": -0.003,
          "percent_delta": -0.0448,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.341,
          "after": 0.3321,
          "delta": -0.0089,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.333,
          "after": 0.3337,
          "delta": 0.0007,
          "percent_delta": 0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.3671,
          "delta": -0.0329,
          "percent_delta": -0.0823,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.413,
          "after": 0.3868,
          "delta": -0.0262,
          "percent_delta": -0.0634,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6,
          "after": 0.6195,
          "delta": 0.0195,
          "percent_delta": 0.0325,
          "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.6262,
          "delta": 0.1262,
          "percent_delta": 0.0505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.413,
          "after": 0.3868,
          "delta": -0.0262,
          "percent_delta": -0.0634,
          "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": 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.1401,
        "predicted_3B": 0.0011,
        "predicted_AB": 2.6262,
        "predicted_AVG": 0.2516,
        "predicted_BB": 0.2765,
        "predicted_H": 0.6606,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.0623,
        "predicted_OBP": 0.3228,
        "predicted_R": 0.3206,
        "predicted_RBI": 0.3526,
        "predicted_SLG": 0.3769,
        "predicted_SO": 0.6227
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1401,
          "after": 0.1401,
          "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.6262,
          "after": 2.6262,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2594,
          "after": 0.2516,
          "delta": -0.0078,
          "percent_delta": -0.0301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2779,
          "after": 0.2765,
          "delta": -0.0014,
          "percent_delta": -0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6768,
          "after": 0.6606,
          "delta": -0.0162,
          "percent_delta": -0.0239,
          "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.064,
          "after": 0.0623,
          "delta": -0.0017,
          "percent_delta": -0.0266,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3321,
          "after": 0.3228,
          "delta": -0.0093,
          "percent_delta": -0.028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3337,
          "after": 0.3206,
          "delta": -0.0131,
          "percent_delta": -0.0393,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3671,
          "after": 0.3526,
          "delta": -0.0145,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3868,
          "after": 0.3769,
          "delta": -0.0099,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6195,
          "after": 0.6227,
          "delta": 0.0032,
          "percent_delta": 0.0052,
          "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.3868,
          "after": 0.3769,
          "delta": -0.0099,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.63), 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.1401,
          "after": 0.0,
          "delta": -0.1401,
          "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.6262,
          "after": 3.0,
          "delta": 0.3738,
          "percent_delta": 0.1423,
          "direction": "boost",
          "projection_effect": "better",
          "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.6606,
          "after": 1.0,
          "delta": 0.3394,
          "percent_delta": 0.5138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.04,
          "after": 0.0,
          "delta": -0.04,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0623,
          "after": 0.0,
          "delta": -0.0623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3526,
          "after": 0.0,
          "delta": -0.3526,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6227,
          "after": 1.0,
          "delta": 0.3773,
          "percent_delta": 0.6059,
          "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.6227,
          "after": 1.0,
          "delta": 0.3773,
          "percent_delta": 0.6059,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3526,
          "after": 0.0,
          "delta": -0.3526,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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": 7,
      "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.3206,
          "after": 0.0,
          "delta": -0.3206,
          "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.3206,
          "after": 0.0,
          "delta": -0.3206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1639,
        "predicted_3B": 0.0101,
        "predicted_BB": 0.2398,
        "predicted_H": 0.7646,
        "predicted_HR": 0.1037,
        "predicted_RBI": 0.4648,
        "predicted_SO": 0.9189
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1639,
          "delta": 0.1639,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0101,
          "delta": 0.0101,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2398,
          "delta": 0.2398,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7646,
          "delta": -0.2354,
          "percent_delta": -0.2354,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1037,
          "delta": 0.1037,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4648,
          "delta": 0.4648,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9189,
          "delta": -0.0811,
          "percent_delta": -0.0811,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4648,
          "delta": 0.4648,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7646,
          "delta": -0.2354,
          "percent_delta": -0.2354,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1639,
          "after": 0.0,
          "delta": -0.1639,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0101,
          "after": 0.0,
          "delta": -0.0101,
          "percent_delta": -1.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_BB",
          "before": 0.2398,
          "after": 0.0,
          "delta": -0.2398,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7646,
          "after": 1.0,
          "delta": 0.2354,
          "percent_delta": 0.3079,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1037,
          "after": 0.0,
          "delta": -0.1037,
          "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.4648,
          "after": 0.0,
          "delta": -0.4648,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9189,
          "after": 1.0,
          "delta": 0.0811,
          "percent_delta": 0.0883,
          "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.7646,
          "after": 1.0,
          "delta": 0.2354,
          "percent_delta": 0.3079,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4648,
          "after": 0.0,
          "delta": -0.4648,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.237,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.391,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2516,
          "after": 0.237,
          "delta": -0.0146,
          "percent_delta": -0.058,
          "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.3228,
          "after": 0.296,
          "delta": -0.0268,
          "percent_delta": -0.083,
          "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.3769,
          "after": 0.391,
          "delta": 0.0141,
          "percent_delta": 0.0374,
          "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.3769,
          "after": 0.391,
          "delta": 0.0141,
          "percent_delta": 0.0374,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3228,
          "after": 0.296,
          "delta": -0.0268,
          "percent_delta": -0.083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 12,
      "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.2516,
        "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.3228,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3769,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.237,
          "after": 0.2516,
          "delta": 0.0146,
          "percent_delta": 0.0614,
          "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.296,
          "after": 0.3228,
          "delta": 0.0268,
          "percent_delta": 0.0907,
          "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.391,
          "after": 0.3769,
          "delta": -0.0141,
          "percent_delta": -0.0359,
          "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.296,
          "after": 0.3228,
          "delta": 0.0268,
          "percent_delta": 0.0907,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.391,
          "after": 0.3769,
          "delta": -0.0141,
          "percent_delta": -0.0359,
          "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.133,
        "after": 0.0,
        "delta": -0.133,
        "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.28,
        "after": 0.2516,
        "delta": -0.0284,
        "percent_delta": -0.1014,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.233,
        "after": 0.0,
        "delta": -0.233,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "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.341,
        "after": 0.3228,
        "delta": -0.0182,
        "percent_delta": -0.0534,
        "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.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.413,
        "after": 0.3769,
        "delta": -0.0361,
        "percent_delta": -0.0874,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.6,
        "after": 1.0,
        "delta": 0.4,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_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.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.133-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.280-
predicted_BB0.233-
predicted_H0.700-
predicted_HR0.067-
predicted_OBP0.341-
predicted_R0.333-
predicted_RBI0.400-
predicted_SLG0.413-
predicted_SO0.600-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1400.007
predicted_3B0.0010.001
predicted_AB2.6260.126
predicted_AVG0.259-0.021
predicted_BB0.2780.045
predicted_H0.677-0.023
predicted_HBP0.040-
predicted_HR0.064-0.003
predicted_OBP0.332-0.009
predicted_R0.3340.001
predicted_RBI0.367-0.033
predicted_SLG0.387-0.026
predicted_SO0.6200.020
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1400.000
predicted_3B0.0010.000
predicted_AB2.6260.000
predicted_AVG0.252-0.008
predicted_BB0.277-0.001
predicted_H0.661-0.016
predicted_HBP0.0400.000
predicted_HR0.062-0.002
predicted_OBP0.323-0.009
predicted_R0.321-0.013
predicted_RBI0.353-0.014
predicted_SLG0.377-0.010
predicted_SO0.6230.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.63), rates preserved: AVG=0.240 HR/AB=0.024

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1640.164
3B0.0100.010
BB0.2400.240
H0.765-0.235
HR0.1040.104
RBI0.4650.465
SO0.919-0.081
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.164
3B0.000-0.010
AB3.0000.000
BB0.000-0.240
H1.0000.235
HR0.000-0.104
R0.0000.000
RBI0.000-0.465
SO1.0000.081
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.140
predicted_3B0.000-0.001
predicted_AB3.0000.374
predicted_AVG0.237-0.015
predicted_BB0.000-0.277
predicted_H1.0000.339
predicted_HR0.000-0.062
predicted_OBP0.296-0.027
predicted_R0.000-0.321
predicted_RBI0.000-0.353
predicted_SLG0.3910.014
predicted_SO1.0000.377
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 30
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0001.0001.0000.0000.0000.0000.0003.0003.0000.07690.25000.15380.07690.00000.00000.23080.2308
last_100.2010-24.0004.0001.0000.0000.0001.0004.0005.0005.0000.16670.31030.20830.16670.00000.04170.20830.2083
season0.6030-75.00021.0004.0000.0002.00012.00010.0007.00018.0000.28000.34880.41330.28000.02670.16000.09330.2400
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1520
predicted_3B0.0030
predicted_AB2.8370
predicted_AVG0.2249
predicted_BB0.3530
predicted_H0.6380
predicted_HBP0.0400
predicted_HR0.0590
predicted_OBP0.3172
predicted_R0.3350
predicted_RBI0.3120
predicted_SLG0.3429
predicted_SO0.6520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13300.15200.1401model_form_blend
predicted_3B0.00000.00300.0011model_form_blend
predicted_AB2.50002.83702.6262model_form_blend
predicted_AVG0.28000.22490.2594model_form_blend
predicted_BB0.23300.35300.2779model_form_blend
predicted_H0.70000.63800.6768model_form_blend
predicted_HBP-0.04000.0400form_only
predicted_HR0.06700.05900.0640model_form_blend
predicted_OBP0.34100.31720.3321model_form_blend
predicted_R0.33300.33500.3337model_form_blend
predicted_RBI0.40000.31200.3671model_form_blend
predicted_SLG0.41300.34290.3868model_form_blend
predicted_SO0.60000.65200.6195model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date79
Season rows before report date79
Report year2026
Profile rows used30
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260926_TB@PHI
game_typefull
mlbID650559
playerID650559
playerNameBryan De La Cruz
posRF
startedTrue
startingPositionRF
teamPHI
teamID21
game_date2026-09-26
sl_k_percent20.9
sl_bb_percent8.1
sl_woba0.335
sl_xwoba0.299
sl_xba0.24
sl_xslg0.346
sl_sweet_spot_percent32.2
sl_barrel_batted_rate5.1
sl_hard_hit_percent40.7
sl_exit_velocity_avg88.8
sl_launch_angle_avg3.3
sl_whiff_percent25.0
sl_swing_percent49.6
Kyle Schwarber (656941) · BATTER · DH · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 667
All-history rows before 20260929: 667
System season_avg: 0.2310
Data season_avg (2026 season-to-date): 0.2438
Diff (system - data): -0.0128
System opponent_avg: 0.2000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1300.0000.000Hitting_2B0.1351.000-0.135-1.000
predicted_3B0.0060.0000.000Hitting_3B0.0070.000-0.0070.000
predicted_AB4.3305.0004.000Hitting_AB3.8314.0001.1691.000
predicted_AVG0.2750.2000.250Hitting_AVG0.2440.500-0.044-0.300
predicted_BB0.6620.0001.000Hitting_BB0.6611.000-0.661-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.1901.0001.000Hitting_H0.9342.0000.066-1.000
predicted_HR0.1900.0001.000Hitting_HR0.3120.000-0.3120.000
predicted_OBP0.3740.2000.400Hitting_OBP0.3580.600-0.158-0.400
predicted_R0.6100.0001.000Hitting_R0.6401.000-0.640-1.000
predicted_RBI0.7500.0001.000Hitting_RBI0.6902.000-0.690-2.000
predicted_SLG0.4620.2001.000Hitting_SLG0.5270.750-0.327-0.550
predicted_SO1.4291.0002.000Hitting_SO1.4691.000-0.4690.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 4.3300 -> 5.0000 (boost 0.6700, better)
Biggest Deboostpredicted_RBI: 0.7500 -> 0.0000 (deboost -0.7500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend60615-predicted_AB: 4.3300 -> 4.0292 (deboost -0.3008, 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.
3team_form_snapshot20202-predicted_SLG: 0.4407 -> 0.4193 (deboost -0.0214, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62433predicted_RBI: 0.6094 -> 1.0000 (boost 0.3906, better)predicted_SO: 1.2985 -> 1.0000 (deboost -0.2985, better)AB rounded to 4 (raw=4.33), rates preserved: AVG=0.217 HR/AB=0.040
6bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.5578 -> 1.0000 (boost 0.4422, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_SO: 1.0000 -> 1.6170 (boost 0.6170, worse)predicted_RBI: 1.0000 -> 0.5816 (deboost -0.4184, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation65142predicted_HR: 0.2427 -> 1.0000 (boost 0.7573, better)predicted_2B: 0.1268 -> 0.0000 (deboost -0.1268, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context61524predicted_SLG: 0.4193 -> 0.4600 (boost 0.0407, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference31212predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_OBP: 0.3050 -> 0.3575 (boost 0.0525, better)predicted_SLG: 0.4600 -> 0.4193 (deboost -0.0407, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "656941",
  "player_name": "Kyle Schwarber",
  "position": "DH",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.13,
        "predicted_3B": 0.006,
        "predicted_AB": 4.33,
        "predicted_AVG": 0.275,
        "predicted_BB": 0.662,
        "predicted_H": 1.19,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.374,
        "predicted_R": 0.61,
        "predicted_RBI": 0.75,
        "predicted_SLG": 0.462,
        "predicted_SO": 1.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.1698,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0292,
        "predicted_AVG": 0.2487,
        "predicted_BB": 0.7084,
        "predicted_H": 1.0118,
        "predicted_HBP": 0.111,
        "predicted_HR": 0.1786,
        "predicted_OBP": 0.3699,
        "predicted_R": 0.5807,
        "predicted_RBI": 0.6344,
        "predicted_SLG": 0.4407,
        "predicted_SO": 1.2919
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.13,
          "after": 0.1698,
          "delta": 0.0398,
          "percent_delta": 0.3062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.33,
          "after": 4.0292,
          "delta": -0.3008,
          "percent_delta": -0.0695,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.2487,
          "delta": -0.0263,
          "percent_delta": -0.0956,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.662,
          "after": 0.7084,
          "delta": 0.0464,
          "percent_delta": 0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.19,
          "after": 1.0118,
          "delta": -0.1782,
          "percent_delta": -0.1497,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.1786,
          "delta": -0.0114,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.374,
          "after": 0.3699,
          "delta": -0.0041,
          "percent_delta": -0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.61,
          "after": 0.5807,
          "delta": -0.0293,
          "percent_delta": -0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.75,
          "after": 0.6344,
          "delta": -0.1156,
          "percent_delta": -0.1541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.462,
          "after": 0.4407,
          "delta": -0.0213,
          "percent_delta": -0.0461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.429,
          "after": 1.2919,
          "delta": -0.1371,
          "percent_delta": -0.0959,
          "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.33,
          "after": 4.0292,
          "delta": -0.3008,
          "percent_delta": -0.0695,
          "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": 154
      }
    },
    {
      "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.1698,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.0292,
        "predicted_AVG": 0.2451,
        "predicted_BB": 0.7048,
        "predicted_H": 0.9876,
        "predicted_HBP": 0.111,
        "predicted_HR": 0.174,
        "predicted_OBP": 0.3575,
        "predicted_R": 0.5578,
        "predicted_RBI": 0.6094,
        "predicted_SLG": 0.4193,
        "predicted_SO": 1.2985
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1698,
          "after": 0.1698,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0292,
          "after": 4.0292,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2487,
          "after": 0.2451,
          "delta": -0.0036,
          "percent_delta": -0.0145,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.7084,
          "after": 0.7048,
          "delta": -0.0036,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0118,
          "after": 0.9876,
          "delta": -0.0242,
          "percent_delta": -0.0239,
          "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.1786,
          "after": 0.174,
          "delta": -0.0046,
          "percent_delta": -0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3699,
          "after": 0.3575,
          "delta": -0.0124,
          "percent_delta": -0.0335,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5807,
          "after": 0.5578,
          "delta": -0.0229,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6344,
          "after": 0.6094,
          "delta": -0.025,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4407,
          "after": 0.4193,
          "delta": -0.0214,
          "percent_delta": -0.0486,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2919,
          "after": 1.2985,
          "delta": 0.0066,
          "percent_delta": 0.0051,
          "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.4407,
          "after": 0.4193,
          "delta": -0.0214,
          "percent_delta": -0.0486,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.33), rates preserved: AVG=0.217 HR/AB=0.040",
      "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.1698,
          "after": 0.0,
          "delta": -0.1698,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0292,
          "after": 4.0,
          "delta": -0.0292,
          "percent_delta": -0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.7048,
          "after": 1.0,
          "delta": 0.2952,
          "percent_delta": 0.4188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9876,
          "after": 1.0,
          "delta": 0.0124,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.174,
          "after": 0.0,
          "delta": -0.174,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6094,
          "after": 1.0,
          "delta": 0.3906,
          "percent_delta": 0.641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2985,
          "after": 1.0,
          "delta": -0.2985,
          "percent_delta": -0.2299,
          "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.6094,
          "after": 1.0,
          "delta": 0.3906,
          "percent_delta": 0.641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2985,
          "after": 1.0,
          "delta": -0.2985,
          "percent_delta": -0.2299,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=25.0, weight=0.182, 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.8182,
        "bvp": 0.1818
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.5578,
          "after": 1.0,
          "delta": 0.4422,
          "percent_delta": 0.7928,
          "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.5578,
          "after": 1.0,
          "delta": 0.4422,
          "percent_delta": 0.7928,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1268,
        "predicted_3B": 0.0132,
        "predicted_BB": 0.3979,
        "predicted_H": 0.8487,
        "predicted_HR": 0.2427,
        "predicted_RBI": 0.5816,
        "predicted_SO": 1.617
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1268,
          "delta": 0.1268,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0132,
          "delta": 0.0132,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3979,
          "delta": 0.3979,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8487,
          "delta": -0.1513,
          "percent_delta": -0.1513,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2427,
          "delta": 0.2427,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5816,
          "delta": -0.4184,
          "percent_delta": -0.4184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.617,
          "delta": 0.617,
          "percent_delta": 0.617,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.617,
          "delta": 0.617,
          "percent_delta": 0.617,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5816,
          "delta": -0.4184,
          "percent_delta": -0.4184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1268,
          "after": 0.0,
          "delta": -0.1268,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0132,
          "after": 0.0,
          "delta": -0.0132,
          "percent_delta": -1.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_BB",
          "before": 0.3979,
          "after": 1.0,
          "delta": 0.6021,
          "percent_delta": 1.5132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8487,
          "after": 1.0,
          "delta": 0.1513,
          "percent_delta": 0.1783,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2427,
          "after": 1.0,
          "delta": 0.7573,
          "percent_delta": 3.1203,
          "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.5816,
          "after": 1.0,
          "delta": 0.4184,
          "percent_delta": 0.7194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.617,
          "after": 2.0,
          "delta": 0.383,
          "percent_delta": 0.2369,
          "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_HR",
          "before": 0.2427,
          "after": 1.0,
          "delta": 0.7573,
          "percent_delta": 3.1203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1268,
          "after": 0.0,
          "delta": -0.1268,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.226,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.46,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2451,
          "after": 0.226,
          "delta": -0.0191,
          "percent_delta": -0.0779,
          "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_H",
          "before": 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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3575,
          "after": 0.305,
          "delta": -0.0525,
          "percent_delta": -0.1469,
          "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.4193,
          "after": 0.46,
          "delta": 0.0407,
          "percent_delta": 0.0971,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4193,
          "after": 0.46,
          "delta": 0.0407,
          "percent_delta": 0.0971,
          "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": 11,
      "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": 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_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_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": 12,
      "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.2451,
        "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.3575,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4193,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.226,
          "after": 0.2451,
          "delta": 0.0191,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.3575,
          "delta": 0.0525,
          "percent_delta": 0.1721,
          "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.46,
          "after": 0.4193,
          "delta": -0.0407,
          "percent_delta": -0.0885,
          "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.305,
          "after": 0.3575,
          "delta": 0.0525,
          "percent_delta": 0.1721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.46,
          "after": 0.4193,
          "delta": -0.0407,
          "percent_delta": -0.0885,
          "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.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.33,
        "after": 5.0,
        "delta": 0.67,
        "percent_delta": 0.1547,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.275,
        "after": 0.2451,
        "delta": -0.0299,
        "percent_delta": -0.1087,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.662,
        "after": 0.0,
        "delta": -0.662,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.19,
        "after": 1.0,
        "delta": -0.19,
        "percent_delta": -0.1597,
        "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.374,
        "after": 0.3575,
        "delta": -0.0165,
        "percent_delta": -0.0441,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "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.462,
        "after": 0.4193,
        "delta": -0.0427,
        "percent_delta": -0.0924,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.429,
        "after": 1.0,
        "delta": -0.429,
        "percent_delta": -0.3002,
        "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": 4.33,
        "after": 5.0,
        "delta": 0.67,
        "percent_delta": 0.1547,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.130-
predicted_3B0.006-
predicted_AB4.330-
predicted_AVG0.275-
predicted_BB0.662-
predicted_H1.190-
predicted_HR0.190-
predicted_OBP0.374-
predicted_R0.610-
predicted_RBI0.750-
predicted_SLG0.462-
predicted_SO1.429-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1700.040
predicted_3B0.005-0.001
predicted_AB4.029-0.301
predicted_AVG0.249-0.026
predicted_BB0.7080.046
predicted_H1.012-0.178
predicted_HBP0.111-
predicted_HR0.179-0.011
predicted_OBP0.370-0.004
predicted_R0.581-0.029
predicted_RBI0.634-0.116
predicted_SLG0.441-0.021
predicted_SO1.292-0.137
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1700.000
predicted_3B0.0050.000
predicted_AB4.0290.000
predicted_AVG0.245-0.004
predicted_BB0.705-0.004
predicted_H0.988-0.024
predicted_HBP0.1110.000
predicted_HR0.174-0.005
predicted_OBP0.357-0.012
predicted_R0.558-0.023
predicted_RBI0.609-0.025
predicted_SLG0.419-0.021
predicted_SO1.2980.007
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.33), rates preserved: AVG=0.217 HR/AB=0.040

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.200)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1270.127
3B0.0130.013
BB0.3980.398
H0.849-0.151
HR0.2430.243
RBI0.582-0.418
SO1.6170.617
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.127
3B0.000-0.013
AB4.0000.000
BB1.0000.602
H1.0000.151
HR1.0000.757
R1.0000.000
RBI1.0000.418
SO2.0000.383
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.170
predicted_3B0.000-0.005
predicted_AB4.000-0.029
predicted_AVG0.226-0.019
predicted_BB0.000-0.705
predicted_H1.0000.012
predicted_HR0.000-0.174
predicted_OBP0.305-0.052
predicted_R1.0000.442
predicted_RBI1.0000.391
predicted_SLG0.4600.041
predicted_SO1.000-0.298
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 4.330
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0002.0000.0000.0002.0002.0004.0003.0000.22220.39130.33330.22220.00000.11110.22220.1667
last_100.2010-33.0005.0003.0000.0000.0002.0005.00011.0008.0000.15150.39130.24240.15150.00000.06060.33330.2424
season0.60154-579.000134.00020.0001.00044.00096.00094.000102.000220.0000.23140.35110.49740.23140.07600.16580.17620.3800
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2210
predicted_3B0.0040
predicted_AB3.6430
predicted_AVG0.2150
predicted_BB0.7680
predicted_H0.7830
predicted_HBP0.1110
predicted_HR0.1640
predicted_OBP0.3646
predicted_R0.5430
predicted_RBI0.4860
predicted_SLG0.4133
predicted_SO1.1160
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13000.22100.1698model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.33003.64304.0292model_form_blend
predicted_AVG0.27500.21500.2487model_form_blend
predicted_BB0.66200.76800.7084model_form_blend
predicted_H1.19000.78301.0118model_form_blend
predicted_HBP-0.11100.1110form_only
predicted_HR0.19000.16400.1786model_form_blend
predicted_OBP0.37400.36460.3699model_form_blend
predicted_R0.61000.54300.5807model_form_blend
predicted_RBI0.75000.48600.6344model_form_blend
predicted_SLG0.46200.41330.4407model_form_blend
predicted_SO1.42901.11601.2919model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date667
Season rows before report date667
Report year2026
Profile rows used154
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB3
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260927_TB@PHI
game_typefull
mlbID656941
playerID656941
playerNameKyle Schwarber
posDH
startedTrue
startingPositionDH
teamPHI
teamID21
game_date2026-09-27
sl_k_percent31.4
sl_bb_percent15.0
sl_woba0.368
sl_xwoba0.364
sl_xba0.236
sl_xslg0.487
sl_sweet_spot_percent37.3
sl_barrel_batted_rate15.6
sl_hard_hit_percent49.3
sl_exit_velocity_avg92.3
sl_launch_angle_avg20.1
sl_whiff_percent33.1
sl_swing_percent44.3
Edmundo Sosa (624641) · BATTER · 3B · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 240
All-history rows before 20260929: 240
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2338
Diff (system - data): 0.0132
System opponent_avg: 0.1900

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1340.0000.000Hitting_2B0.1381.000-0.138-1.000
predicted_3B0.0240.0000.000Hitting_3B0.0330.000-0.0330.000
predicted_AB2.8174.0003.000Hitting_AB3.2084.0000.7920.000
predicted_AVG0.2470.0000.333Hitting_AVG0.2340.500-0.234-0.500
predicted_BB0.0730.0000.000Hitting_BB0.1080.000-0.1080.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6950.0001.000Hitting_H0.7502.000-0.750-2.000
predicted_HR0.1100.0000.000Hitting_HR0.0921.000-0.092-1.000
predicted_OBP0.2660.0000.333Hitting_OBP0.2740.500-0.274-0.500
predicted_R0.3540.0000.000Hitting_R0.3792.000-0.379-2.000
predicted_RBI0.5370.0000.000Hitting_RBI0.5831.000-0.583-1.000
predicted_SLG0.4290.0000.333Hitting_SLG0.3831.500-0.383-1.500
predicted_SO0.6592.0001.000Hitting_SO0.7131.0001.2881.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_SO: 0.6590 -> 2.0000 (boost 1.3410, worse)
Biggest Deboostpredicted_H: 0.6950 -> 0.0000 (deboost -0.6950, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_SLG: 0.4290 -> 0.4989 (boost 0.0699, 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.
3team_form_snapshot30303-predicted_SLG: 0.4989 -> 0.4872 (deboost -0.0117, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_RBI: 0.4961 -> 1.0000 (boost 0.5039, better)predicted_2B: 0.1741 -> 0.0000 (deboost -0.1741, worse)AB rounded to 3 (raw=2.82), rates preserved: AVG=0.246 HR/AB=0.050
6bvp_blend00000--Sample-size BvP blend (BvP AB=21.0, weight=0.165, BvP AVG=0.190)
7consistency_constraints10101-predicted_R: 0.4051 -> 0.0000 (deboost -0.4051, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_2B: 0.0000 -> 0.1447 (boost 0.1447, better)predicted_RBI: 1.0000 -> 0.4977 (deboost -0.5023, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation51414predicted_H: 0.8152 -> 1.0000 (boost 0.1848, better)predicted_RBI: 0.4977 -> 0.0000 (deboost -0.4977, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context31212predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.4872 -> 0.4010 (deboost -0.0862, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference42213predicted_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
12current_json_final22020predicted_SLG: 0.4010 -> 0.4872 (boost 0.0862, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "624641",
  "player_name": "Edmundo Sosa",
  "position": "3B",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.134,
        "predicted_3B": 0.024,
        "predicted_AB": 2.817,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.073,
        "predicted_H": 0.695,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.266,
        "predicted_R": 0.354,
        "predicted_RBI": 0.537,
        "predicted_SLG": 0.429,
        "predicted_SO": 0.659
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1741,
        "predicted_3B": 0.0198,
        "predicted_AB": 2.7923,
        "predicted_AVG": 0.2672,
        "predicted_BB": 0.0671,
        "predicted_H": 0.7452,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1435,
        "predicted_OBP": 0.2885,
        "predicted_R": 0.4217,
        "predicted_RBI": 0.5165,
        "predicted_SLG": 0.4989,
        "predicted_SO": 0.6774
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.134,
          "after": 0.1741,
          "delta": 0.0401,
          "percent_delta": 0.2993,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0198,
          "delta": -0.0042,
          "percent_delta": -0.175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.817,
          "after": 2.7923,
          "delta": -0.0247,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2672,
          "delta": 0.0202,
          "percent_delta": 0.0818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.073,
          "after": 0.0671,
          "delta": -0.0059,
          "percent_delta": -0.0808,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.695,
          "after": 0.7452,
          "delta": 0.0502,
          "percent_delta": 0.0722,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1435,
          "delta": 0.0335,
          "percent_delta": 0.3045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.266,
          "after": 0.2885,
          "delta": 0.0225,
          "percent_delta": 0.0846,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.354,
          "after": 0.4217,
          "delta": 0.0677,
          "percent_delta": 0.1912,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.537,
          "after": 0.5165,
          "delta": -0.0205,
          "percent_delta": -0.0382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4989,
          "delta": 0.0699,
          "percent_delta": 0.1629,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.659,
          "after": 0.6774,
          "delta": 0.0184,
          "percent_delta": 0.0279,
          "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_SLG",
          "before": 0.429,
          "after": 0.4989,
          "delta": 0.0699,
          "percent_delta": 0.1629,
          "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": 82
      }
    },
    {
      "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.1741,
        "predicted_3B": 0.0198,
        "predicted_AB": 2.7923,
        "predicted_AVG": 0.2605,
        "predicted_BB": 0.0668,
        "predicted_H": 0.7274,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1398,
        "predicted_OBP": 0.2778,
        "predicted_R": 0.4051,
        "predicted_RBI": 0.4961,
        "predicted_SLG": 0.4872,
        "predicted_SO": 0.6809
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1741,
          "after": 0.1741,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0198,
          "after": 0.0198,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7923,
          "after": 2.7923,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2672,
          "after": 0.2605,
          "delta": -0.0067,
          "percent_delta": -0.0251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0671,
          "after": 0.0668,
          "delta": -0.0003,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7452,
          "after": 0.7274,
          "delta": -0.0178,
          "percent_delta": -0.0239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.041,
          "after": 0.041,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1435,
          "after": 0.1398,
          "delta": -0.0037,
          "percent_delta": -0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2885,
          "after": 0.2778,
          "delta": -0.0107,
          "percent_delta": -0.0371,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4217,
          "after": 0.4051,
          "delta": -0.0166,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5165,
          "after": 0.4961,
          "delta": -0.0204,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4989,
          "after": 0.4872,
          "delta": -0.0117,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6774,
          "after": 0.6809,
          "delta": 0.0035,
          "percent_delta": 0.0052,
          "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.4989,
          "after": 0.4872,
          "delta": -0.0117,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.82), rates preserved: AVG=0.246 HR/AB=0.050",
      "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.1741,
          "after": 0.0,
          "delta": -0.1741,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0198,
          "after": 0.0,
          "delta": -0.0198,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7923,
          "after": 3.0,
          "delta": 0.2077,
          "percent_delta": 0.0744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0668,
          "after": 0.0,
          "delta": -0.0668,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7274,
          "after": 1.0,
          "delta": 0.2726,
          "percent_delta": 0.3748,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.041,
          "after": 0.0,
          "delta": -0.041,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1398,
          "after": 0.0,
          "delta": -0.1398,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4961,
          "after": 1.0,
          "delta": 0.5039,
          "percent_delta": 1.0157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6809,
          "after": 1.0,
          "delta": 0.3191,
          "percent_delta": 0.4686,
          "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.4961,
          "after": 1.0,
          "delta": 0.5039,
          "percent_delta": 1.0157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1741,
          "after": 0.0,
          "delta": -0.1741,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=21.0, weight=0.165, BvP AVG=0.190)",
      "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": 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": 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": 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.8353,
        "bvp": 0.1647
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.4051,
          "after": 0.0,
          "delta": -0.4051,
          "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.4051,
          "after": 0.0,
          "delta": -0.4051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1447,
        "predicted_3B": 0.014,
        "predicted_BB": 0.1346,
        "predicted_H": 0.8152,
        "predicted_HR": 0.1221,
        "predicted_RBI": 0.4977,
        "predicted_SO": 0.9987
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1447,
          "delta": 0.1447,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.014,
          "delta": 0.014,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1346,
          "delta": 0.1346,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8152,
          "delta": -0.1848,
          "percent_delta": -0.1848,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1221,
          "delta": 0.1221,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4977,
          "delta": -0.5023,
          "percent_delta": -0.5023,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9987,
          "delta": -0.0013,
          "percent_delta": -0.0013,
          "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": 0.1447,
          "delta": 0.1447,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4977,
          "delta": -0.5023,
          "percent_delta": -0.5023,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1447,
          "after": 0.0,
          "delta": -0.1447,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1346,
          "after": 0.0,
          "delta": -0.1346,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8152,
          "after": 1.0,
          "delta": 0.1848,
          "percent_delta": 0.2267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1221,
          "after": 0.0,
          "delta": -0.1221,
          "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.4977,
          "after": 0.0,
          "delta": -0.4977,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9987,
          "after": 1.0,
          "delta": 0.0013,
          "percent_delta": 0.0013,
          "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.8152,
          "after": 1.0,
          "delta": 0.1848,
          "percent_delta": 0.2267,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4977,
          "after": 0.0,
          "delta": -0.4977,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.241,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.276,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.401,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2605,
          "after": 0.241,
          "delta": -0.0195,
          "percent_delta": -0.0749,
          "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.2778,
          "after": 0.276,
          "delta": -0.0018,
          "percent_delta": -0.0065,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4872,
          "after": 0.401,
          "delta": -0.0862,
          "percent_delta": -0.1769,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4872,
          "after": 0.401,
          "delta": -0.0862,
          "percent_delta": -0.1769,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 12,
      "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.2605,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2778,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4872,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.2605,
          "delta": 0.0195,
          "percent_delta": 0.0809,
          "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.276,
          "after": 0.2778,
          "delta": 0.0018,
          "percent_delta": 0.0064,
          "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.401,
          "after": 0.4872,
          "delta": 0.0862,
          "percent_delta": 0.215,
          "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": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.4872,
          "delta": 0.0862,
          "percent_delta": 0.215,
          "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.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.817,
        "after": 4.0,
        "delta": 1.183,
        "percent_delta": 0.42,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.247,
        "after": 0.2605,
        "delta": 0.0135,
        "percent_delta": 0.0547,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.073,
        "after": 0.0,
        "delta": -0.073,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.695,
        "after": 0.0,
        "delta": -0.695,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.266,
        "after": 0.2778,
        "delta": 0.0118,
        "percent_delta": 0.0444,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.354,
        "after": 0.0,
        "delta": -0.354,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.537,
        "after": 0.0,
        "delta": -0.537,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.429,
        "after": 0.4872,
        "delta": 0.0582,
        "percent_delta": 0.1357,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.659,
        "after": 2.0,
        "delta": 1.341,
        "percent_delta": 2.0349,
        "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_SO",
        "before": 0.659,
        "after": 2.0,
        "delta": 1.341,
        "percent_delta": 2.0349,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.695,
        "after": 0.0,
        "delta": -0.695,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.134-
predicted_3B0.024-
predicted_AB2.817-
predicted_AVG0.247-
predicted_BB0.073-
predicted_H0.695-
predicted_HR0.110-
predicted_OBP0.266-
predicted_R0.354-
predicted_RBI0.537-
predicted_SLG0.429-
predicted_SO0.659-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1740.040
predicted_3B0.020-0.004
predicted_AB2.792-0.025
predicted_AVG0.2670.020
predicted_BB0.067-0.006
predicted_H0.7450.050
predicted_HBP0.041-
predicted_HR0.1430.033
predicted_OBP0.2880.022
predicted_R0.4220.068
predicted_RBI0.516-0.021
predicted_SLG0.4990.070
predicted_SO0.6770.018
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1740.000
predicted_3B0.0200.000
predicted_AB2.7920.000
predicted_AVG0.261-0.007
predicted_BB0.067-0.000
predicted_H0.727-0.018
predicted_HBP0.0410.000
predicted_HR0.140-0.004
predicted_OBP0.278-0.011
predicted_R0.405-0.017
predicted_RBI0.496-0.020
predicted_SLG0.487-0.012
predicted_SO0.6810.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.82), rates preserved: AVG=0.246 HR/AB=0.050

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=21.0, weight=0.165, BvP AVG=0.190)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1450.145
3B0.0140.014
BB0.1350.135
H0.815-0.185
HR0.1220.122
RBI0.498-0.502
SO0.999-0.001
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.145
3B0.000-0.014
AB3.0000.000
BB0.000-0.135
H1.0000.185
HR0.000-0.122
R0.0000.000
RBI0.000-0.498
SO1.0000.001
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.174
predicted_3B0.000-0.020
predicted_AB3.0000.208
predicted_AVG0.241-0.020
predicted_BB0.000-0.067
predicted_H1.0000.273
predicted_HR0.000-0.140
predicted_OBP0.276-0.002
predicted_R0.000-0.405
predicted_RBI1.0000.504
predicted_SLG0.401-0.086
predicted_SO1.0000.319
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 82
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0005.0002.0000.0002.0002.0004.0000.0004.0000.38460.38461.00000.38460.15380.15380.00000.3077
last_100.2010-21.0008.0003.0000.0002.0004.0006.0000.0006.0000.38100.38100.80950.38100.09520.19050.00000.2857
season0.6082-231.00057.00011.0002.0009.00044.00029.0006.00054.0000.24680.28050.42860.24670.03900.19050.02600.2338
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2300
predicted_3B0.0140
predicted_AB2.7580
predicted_AVG0.2954
predicted_BB0.0590
predicted_H0.8150
predicted_HBP0.0410
predicted_HR0.1900
predicted_OBP0.3197
predicted_R0.5160
predicted_RBI0.4880
predicted_SLG0.5961
predicted_SO0.7030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13400.23000.1741model_form_blend
predicted_3B0.02400.01400.0198model_form_blend
predicted_AB2.81702.75802.7923model_form_blend
predicted_AVG0.24700.29540.2672model_form_blend
predicted_BB0.07300.05900.0671model_form_blend
predicted_H0.69500.81500.7452model_form_blend
predicted_HBP-0.04100.0410form_only
predicted_HR0.11000.19000.1435model_form_blend
predicted_OBP0.26600.31970.2885model_form_blend
predicted_R0.35400.51600.4217model_form_blend
predicted_RBI0.53700.48800.5165model_form_blend
predicted_SLG0.42900.59610.4989model_form_blend
predicted_SO0.65900.70300.6774model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date240
Season rows before report date240
Report year2026
Profile rows used82
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB6
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260927_TB@PHI
game_typefull
mlbID624641
playerID624641
playerNameEdmundo Sosa
posLF
startedTrue
startingPosition3B
teamPHI
teamID21
game_date2026-09-27
sl_k_percent21.6
sl_bb_percent2.8
sl_woba0.307
sl_xwoba0.328
sl_xba0.277
sl_xslg0.444
sl_sweet_spot_percent33.7
sl_barrel_batted_rate7.2
sl_hard_hit_percent39.2
sl_exit_velocity_avg87.8
sl_launch_angle_avg11.1
sl_whiff_percent27.5
sl_swing_percent61.2
Derek Hill (656537) · BATTER · CF · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 142
All-history rows before 20260929: 142
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2620
Diff (system - data): -0.0210
System opponent_avg: 0.2720
System season_avg diverges from 2026 season-to-date by -0.0210. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0630.0000.000Hitting_2B0.0850.000-0.0850.000
predicted_3B0.0130.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB2.5003.0003.000Hitting_AB2.6340.0000.3663.000
predicted_AVG0.2830.6670.333Hitting_AVG0.262-0.405-
predicted_BB0.1131.0000.000Hitting_BB0.1130.0000.8871.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2502.0001.000Hitting_H0.6900.0001.3102.000
predicted_HR0.0800.0000.000Hitting_HR0.1130.000-0.1130.000
predicted_OBP0.2830.7500.333Hitting_OBP0.292-0.458-
predicted_R0.3520.0000.000Hitting_R0.3380.000-0.3380.000
predicted_RBI0.2000.0001.000Hitting_RBI0.4230.000-0.4230.000
predicted_SLG0.4480.6670.333Hitting_SLG0.444-0.223-
predicted_SO0.8671.0001.000Hitting_SO1.0140.000-0.0141.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_H: 0.2500 -> 2.0000 (boost 1.7500, better)
Biggest Deboostpredicted_R: 0.3520 -> 0.0000 (deboost -0.3520, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63342predicted_H: 0.2500 -> 0.3648 (boost 0.1148, better)predicted_SO: 0.8670 -> 0.7897 (deboost -0.0773, 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.
3team_form_snapshot30303-predicted_SLG: 0.4548 -> 0.3195 (deboost -0.1353, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_AB: 2.4818 -> 3.0000 (boost 0.5182, better)predicted_H: 0.3561 -> 0.0000 (deboost -0.3561, worse)AB rounded to 3 (raw=2.50), rates preserved: AVG=0.136 HR/AB=0.045
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
7consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3266 -> 0.0000 (deboost -0.3266, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5520 (boost 0.5520, better)predicted_H: 1.0000 -> 0.8309 (deboost -0.1691, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62433predicted_RBI: 0.5520 -> 1.0000 (boost 0.4480, better)predicted_SO: 1.2812 -> 1.0000 (deboost -0.2812, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3195 -> 0.4400 (boost 0.1205, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference22020predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4400 -> 0.3195 (deboost -0.1205, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "656537",
  "player_name": "Derek Hill",
  "position": "CF",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.063,
        "predicted_3B": 0.013,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.283,
        "predicted_BB": 0.113,
        "predicted_H": 0.25,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.283,
        "predicted_R": 0.352,
        "predicted_RBI": 0.2,
        "predicted_SLG": 0.448,
        "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.0642,
        "predicted_3B": 0.0188,
        "predicted_AB": 2.4818,
        "predicted_AVG": 0.2549,
        "predicted_BB": 0.1072,
        "predicted_H": 0.3648,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1147,
        "predicted_OBP": 0.2674,
        "predicted_R": 0.34,
        "predicted_RBI": 0.2744,
        "predicted_SLG": 0.4548,
        "predicted_SO": 0.7897
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.063,
          "after": 0.0642,
          "delta": 0.0012,
          "percent_delta": 0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0188,
          "delta": 0.0058,
          "percent_delta": 0.4462,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.4818,
          "delta": -0.0182,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.283,
          "after": 0.2549,
          "delta": -0.0281,
          "percent_delta": -0.0993,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.113,
          "after": 0.1072,
          "delta": -0.0058,
          "percent_delta": -0.0513,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.25,
          "after": 0.3648,
          "delta": 0.1148,
          "percent_delta": 0.4592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.1147,
          "delta": 0.0347,
          "percent_delta": 0.4337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.2674,
          "delta": -0.0156,
          "percent_delta": -0.0551,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.352,
          "after": 0.34,
          "delta": -0.012,
          "percent_delta": -0.0341,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2,
          "after": 0.2744,
          "delta": 0.0744,
          "percent_delta": 0.372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.448,
          "after": 0.4548,
          "delta": 0.0068,
          "percent_delta": 0.0152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.867,
          "after": 0.7897,
          "delta": -0.0773,
          "percent_delta": -0.0892,
          "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.25,
          "after": 0.3648,
          "delta": 0.1148,
          "percent_delta": 0.4592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.867,
          "after": 0.7897,
          "delta": -0.0773,
          "percent_delta": -0.0892,
          "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": 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.0642,
        "predicted_3B": 0.0188,
        "predicted_AB": 2.4818,
        "predicted_AVG": 0.1435,
        "predicted_BB": 0.1067,
        "predicted_H": 0.3561,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1117,
        "predicted_OBP": 0.1788,
        "predicted_R": 0.3266,
        "predicted_RBI": 0.2636,
        "predicted_SLG": 0.3195,
        "predicted_SO": 0.7937
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0642,
          "after": 0.0642,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0188,
          "after": 0.0188,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.4818,
          "after": 2.4818,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2549,
          "after": 0.1435,
          "delta": -0.1114,
          "percent_delta": -0.437,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1072,
          "after": 0.1067,
          "delta": -0.0005,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3648,
          "after": 0.3561,
          "delta": -0.0087,
          "percent_delta": -0.0238,
          "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.1147,
          "after": 0.1117,
          "delta": -0.003,
          "percent_delta": -0.0262,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2674,
          "after": 0.1788,
          "delta": -0.0886,
          "percent_delta": -0.3313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.34,
          "after": 0.3266,
          "delta": -0.0134,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2744,
          "after": 0.2636,
          "delta": -0.0108,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4548,
          "after": 0.3195,
          "delta": -0.1353,
          "percent_delta": -0.2975,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7897,
          "after": 0.7937,
          "delta": 0.004,
          "percent_delta": 0.0051,
          "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.4548,
          "after": 0.3195,
          "delta": -0.1353,
          "percent_delta": -0.2975,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.136 HR/AB=0.045",
      "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.0642,
          "after": 0.0,
          "delta": -0.0642,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0188,
          "after": 0.0,
          "delta": -0.0188,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.4818,
          "after": 3.0,
          "delta": 0.5182,
          "percent_delta": 0.2088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1067,
          "after": 0.0,
          "delta": -0.1067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3561,
          "after": 0.0,
          "delta": -0.3561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.1117,
          "after": 0.0,
          "delta": -0.1117,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2636,
          "after": 0.0,
          "delta": -0.2636,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7937,
          "after": 1.0,
          "delta": 0.2063,
          "percent_delta": 0.2599,
          "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": 2.4818,
          "after": 3.0,
          "delta": 0.5182,
          "percent_delta": 0.2088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.3561,
          "after": 0.0,
          "delta": -0.3561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.3266,
          "after": 0.0,
          "delta": -0.3266,
          "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.3266,
          "after": 0.0,
          "delta": -0.3266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1619,
        "predicted_3B": 0.0123,
        "predicted_BB": 0.1763,
        "predicted_H": 0.8309,
        "predicted_HR": 0.1547,
        "predicted_RBI": 0.552,
        "predicted_SO": 1.2812
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1619,
          "delta": 0.1619,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0123,
          "delta": 0.0123,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1763,
          "delta": 0.1763,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8309,
          "delta": -0.1691,
          "percent_delta": -0.1691,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1547,
          "delta": 0.1547,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.552,
          "delta": 0.552,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2812,
          "delta": 0.2812,
          "percent_delta": 0.2812,
          "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_RBI",
          "before": 0.0,
          "after": 0.552,
          "delta": 0.552,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8309,
          "delta": -0.1691,
          "percent_delta": -0.1691,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1619,
          "after": 0.0,
          "delta": -0.1619,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0123,
          "after": 0.0,
          "delta": -0.0123,
          "percent_delta": -1.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_BB",
          "before": 0.1763,
          "after": 0.0,
          "delta": -0.1763,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8309,
          "after": 1.0,
          "delta": 0.1691,
          "percent_delta": 0.2035,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1547,
          "after": 0.0,
          "delta": -0.1547,
          "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.552,
          "after": 1.0,
          "delta": 0.448,
          "percent_delta": 0.8116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2812,
          "after": 1.0,
          "delta": -0.2812,
          "percent_delta": -0.2195,
          "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.552,
          "after": 1.0,
          "delta": 0.448,
          "percent_delta": 0.8116,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2812,
          "after": 1.0,
          "delta": -0.2812,
          "percent_delta": -0.2195,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.44,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1435,
          "after": 0.247,
          "delta": 0.1035,
          "percent_delta": 0.7213,
          "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.1788,
          "after": 0.29,
          "delta": 0.1112,
          "percent_delta": 0.6219,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3195,
          "after": 0.44,
          "delta": 0.1205,
          "percent_delta": 0.3772,
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3195,
          "after": 0.44,
          "delta": 0.1205,
          "percent_delta": 0.3772,
          "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": 11,
      "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": 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": 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_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": 12,
      "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.1435,
        "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.1788,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3195,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.247,
          "after": 0.1435,
          "delta": -0.1035,
          "percent_delta": -0.4191,
          "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.29,
          "after": 0.1788,
          "delta": -0.1112,
          "percent_delta": -0.3836,
          "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.44,
          "after": 0.3195,
          "delta": -0.1205,
          "percent_delta": -0.2738,
          "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.44,
          "after": 0.3195,
          "delta": -0.1205,
          "percent_delta": -0.2738,
          "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.063,
        "after": 0.0,
        "delta": -0.063,
        "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.5,
        "after": 3.0,
        "delta": 0.5,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.283,
        "after": 0.1435,
        "delta": -0.1395,
        "percent_delta": -0.4929,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.113,
        "after": 1.0,
        "delta": 0.887,
        "percent_delta": 7.8496,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.25,
        "after": 2.0,
        "delta": 1.75,
        "percent_delta": 7.0,
        "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.283,
        "after": 0.1788,
        "delta": -0.1042,
        "percent_delta": -0.3682,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.352,
        "after": 0.0,
        "delta": -0.352,
        "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.448,
        "after": 0.3195,
        "delta": -0.1285,
        "percent_delta": -0.2868,
        "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": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.25,
        "after": 2.0,
        "delta": 1.75,
        "percent_delta": 7.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.352,
        "after": 0.0,
        "delta": -0.352,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.063-
predicted_3B0.013-
predicted_AB2.500-
predicted_AVG0.283-
predicted_BB0.113-
predicted_H0.250-
predicted_HR0.080-
predicted_OBP0.283-
predicted_R0.352-
predicted_RBI0.200-
predicted_SLG0.448-
predicted_SO0.867-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0640.001
predicted_3B0.0190.006
predicted_AB2.482-0.018
predicted_AVG0.255-0.028
predicted_BB0.107-0.006
predicted_H0.3650.115
predicted_HBP0.003-
predicted_HR0.1150.035
predicted_OBP0.267-0.016
predicted_R0.340-0.012
predicted_RBI0.2740.074
predicted_SLG0.4550.007
predicted_SO0.790-0.077
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0640.000
predicted_3B0.0190.000
predicted_AB2.4820.000
predicted_AVG0.143-0.111
predicted_BB0.107-0.001
predicted_H0.356-0.009
predicted_HBP0.0030.000
predicted_HR0.112-0.003
predicted_OBP0.179-0.089
predicted_R0.327-0.013
predicted_RBI0.264-0.011
predicted_SLG0.320-0.135
predicted_SO0.7940.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.50), rates preserved: AVG=0.136 HR/AB=0.045

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0001.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1620.162
3B0.0120.012
BB0.1760.176
H0.831-0.169
HR0.1550.155
RBI0.5520.552
SO1.2810.281
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.162
3B0.000-0.012
AB3.0000.000
BB0.000-0.176
H1.0000.169
HR0.000-0.155
R0.0000.000
RBI1.0000.448
SO1.000-0.281
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.064
predicted_3B0.000-0.019
predicted_AB3.0000.518
predicted_AVG0.2470.104
predicted_BB0.000-0.107
predicted_H1.0000.644
predicted_HR0.000-0.112
predicted_OBP0.2900.111
predicted_R0.000-0.327
predicted_RBI0.000-0.264
predicted_SLG0.4400.120
predicted_SO1.0000.206
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 84
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-10.0001.0000.0000.0001.0001.0001.0000.0002.0000.10000.10000.40000.10000.10000.10000.00000.2000
last_100.2010-22.0005.0001.0001.0002.0005.0003.0001.0004.0000.22730.26090.63640.22730.09090.22730.04540.1818
season0.6084-199.00048.0005.0001.00011.00031.00028.0009.00069.0000.24120.27400.44220.24120.05530.15580.04520.3467
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0660
predicted_3B0.0270
predicted_AB2.4560
predicted_AVG0.2150
predicted_BB0.0990
predicted_H0.5280
predicted_HBP0.0030
predicted_HR0.1640
predicted_OBP0.2453
predicted_R0.3230
predicted_RBI0.3800
predicted_SLG0.4644
predicted_SO0.6800
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06300.06600.0642model_form_blend
predicted_3B0.01300.02700.0188model_form_blend
predicted_AB2.50002.45602.4818model_form_blend
predicted_AVG0.28300.21500.2549model_form_blend
predicted_BB0.11300.09900.1072model_form_blend
predicted_H0.25000.52800.3648model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.08000.16400.1147model_form_blend
predicted_OBP0.28300.24530.2674model_form_blend
predicted_R0.35200.32300.3400model_form_blend
predicted_RBI0.20000.38000.2744model_form_blend
predicted_SLG0.44800.46440.4548model_form_blend
predicted_SO0.86700.68000.7897model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date142
Season rows before report date142
Report year2026
Profile rows used84
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B0
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260927_TB@PHI
game_typeshort
mlbID656537
playerID656537
playerNameDerek Hill
posCF
startedFalse
startingPositionRF
teamPHI
teamID21
game_date2026-09-27
sl_k_percent31.9
sl_bb_percent6.0
sl_woba0.319
sl_xwoba0.289
sl_xba0.225
sl_xslg0.386
sl_sweet_spot_percent36.1
sl_barrel_batted_rate10.6
sl_hard_hit_percent33.8
sl_exit_velocity_avg88.9
sl_launch_angle_avg14.1
sl_whiff_percent32.7
sl_swing_percent51.9
Trea Turner (607208) · BATTER · SS · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 663
All-history rows before 20260929: 663
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2432
Diff (system - data): -0.0002
System opponent_avg: 0.2800

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1880.0001.000Hitting_2B0.1870.000-0.1870.000
predicted_3B0.0060.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB5.4704.0004.000Hitting_AB4.2415.000-0.241-1.000
predicted_AVG0.2420.2500.250Hitting_AVG0.2430.4000.007-0.150
predicted_BB0.3051.0000.000Hitting_BB0.3000.0000.7001.000
predicted_CS-0.0000.000BaseRunning_CS0.0290.000-0.0290.000
predicted_H1.3301.0001.000Hitting_H1.0322.000-0.032-1.000
predicted_HR0.1000.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.3120.4000.250Hitting_OBP0.2950.4000.1050.000
predicted_R0.6491.0001.000Hitting_R0.6951.0000.3050.000
predicted_RBI0.3701.0000.000Hitting_RBI0.4100.0000.5901.000
predicted_SLG0.3760.2500.500Hitting_SLG0.3880.400-0.138-0.150
predicted_SO0.9350.0001.000Hitting_SO0.9591.000-0.959-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_BB: 0.3050 -> 1.0000 (boost 0.6950, better)
Biggest Deboostpredicted_AB: 5.4700 -> 4.0000 (deboost -1.4700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 5.4700 -> 4.9139 (deboost -0.5561, 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.
3team_form_snapshot30303-predicted_SLG: 0.3675 -> 0.3355 (deboost -0.0320, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.9323 -> 1.0000 (boost 0.0677, worse)predicted_AB: 4.9139 -> 4.0000 (deboost -0.9139, worse)AB rounded to 4 (raw=5.47), rates preserved: AVG=0.206 HR/AB=0.016
6bvp_blend00000--Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.280)
7consistency_constraints11010predicted_R: 0.5755 -> 1.0000 (boost 0.4245, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_RBI: 0.0000 -> 0.3610 (boost 0.3610, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation51423predicted_2B: 0.2146 -> 1.0000 (boost 0.7854, better)predicted_RBI: 0.3610 -> 0.0000 (deboost -0.3610, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3355 -> 0.3990 (boost 0.0635, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference32130predicted_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
12current_json_final30303-predicted_SLG: 0.3990 -> 0.3355 (deboost -0.0635, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "607208",
  "player_name": "Trea Turner",
  "position": "SS",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.188,
        "predicted_3B": 0.006,
        "predicted_AB": 5.47,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.305,
        "predicted_H": 1.33,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.312,
        "predicted_R": 0.649,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.376,
        "predicted_SO": 0.935
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1902,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.9139,
        "predicted_AVG": 0.2468,
        "predicted_BB": 0.3072,
        "predicted_H": 1.2131,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0904,
        "predicted_OBP": 0.3086,
        "predicted_R": 0.5991,
        "predicted_RBI": 0.3223,
        "predicted_SLG": 0.3675,
        "predicted_SO": 0.9276
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.188,
          "after": 0.1902,
          "delta": 0.0022,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.47,
          "after": 4.9139,
          "delta": -0.5561,
          "percent_delta": -0.1017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.2468,
          "delta": 0.0048,
          "percent_delta": 0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.305,
          "after": 0.3072,
          "delta": 0.0022,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.33,
          "after": 1.2131,
          "delta": -0.1169,
          "percent_delta": -0.0879,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.0904,
          "delta": -0.0096,
          "percent_delta": -0.096,
          "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.649,
          "after": 0.5991,
          "delta": -0.0499,
          "percent_delta": -0.0769,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3223,
          "delta": -0.0477,
          "percent_delta": -0.1289,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.3675,
          "delta": -0.0085,
          "percent_delta": -0.0226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.935,
          "after": 0.9276,
          "delta": -0.0074,
          "percent_delta": -0.0079,
          "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.47,
          "after": 4.9139,
          "delta": -0.5561,
          "percent_delta": -0.1017,
          "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": 154
      }
    },
    {
      "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.1902,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.9139,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.3056,
        "predicted_H": 1.1841,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.088,
        "predicted_OBP": 0.2854,
        "predicted_R": 0.5755,
        "predicted_RBI": 0.3096,
        "predicted_SLG": 0.3355,
        "predicted_SO": 0.9323
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1902,
          "after": 0.1902,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.9139,
          "after": 4.9139,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2468,
          "after": 0.241,
          "delta": -0.0058,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3072,
          "after": 0.3056,
          "delta": -0.0016,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2131,
          "after": 1.1841,
          "delta": -0.029,
          "percent_delta": -0.0239,
          "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.0904,
          "after": 0.088,
          "delta": -0.0024,
          "percent_delta": -0.0265,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3086,
          "after": 0.2854,
          "delta": -0.0232,
          "percent_delta": -0.0752,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5991,
          "after": 0.5755,
          "delta": -0.0236,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3223,
          "after": 0.3096,
          "delta": -0.0127,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3675,
          "after": 0.3355,
          "delta": -0.032,
          "percent_delta": -0.0871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9276,
          "after": 0.9323,
          "delta": 0.0047,
          "percent_delta": 0.0051,
          "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.3675,
          "after": 0.3355,
          "delta": -0.032,
          "percent_delta": -0.0871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.47), rates preserved: AVG=0.206 HR/AB=0.016",
      "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.1902,
          "after": 0.0,
          "delta": -0.1902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.9139,
          "after": 4.0,
          "delta": -0.9139,
          "percent_delta": -0.186,
          "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": 1.1841,
          "after": 1.0,
          "delta": -0.1841,
          "percent_delta": -0.1555,
          "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.088,
          "after": 0.0,
          "delta": -0.088,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3096,
          "after": 0.0,
          "delta": -0.3096,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9323,
          "after": 1.0,
          "delta": 0.0677,
          "percent_delta": 0.0726,
          "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.9323,
          "after": 1.0,
          "delta": 0.0677,
          "percent_delta": 0.0726,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.9139,
          "after": 4.0,
          "delta": -0.9139,
          "percent_delta": -0.186,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.280)",
      "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.8182,
        "bvp": 0.1818
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.5755,
          "after": 1.0,
          "delta": 0.4245,
          "percent_delta": 0.7376,
          "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.5755,
          "after": 1.0,
          "delta": 0.4245,
          "percent_delta": 0.7376,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.2146,
        "predicted_3B": 0.0097,
        "predicted_BB": 0.2488,
        "predicted_H": 0.9983,
        "predicted_HR": 0.122,
        "predicted_RBI": 0.361,
        "predicted_SO": 1.0832
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2146,
          "delta": 0.2146,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0097,
          "delta": 0.0097,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2488,
          "delta": 0.2488,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9983,
          "delta": -0.0017,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.122,
          "delta": 0.122,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.361,
          "delta": 0.361,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0832,
          "delta": 0.0832,
          "percent_delta": 0.0832,
          "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_RBI",
          "before": 0.0,
          "after": 0.361,
          "delta": 0.361,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2146,
          "after": 1.0,
          "delta": 0.7854,
          "percent_delta": 3.6598,
          "direction": "boost",
          "projection_effect": "better",
          "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": 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.2488,
          "after": 0.0,
          "delta": -0.2488,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9983,
          "after": 1.0,
          "delta": 0.0017,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.122,
          "after": 0.0,
          "delta": -0.122,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.361,
          "after": 0.0,
          "delta": -0.361,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0832,
          "after": 1.0,
          "delta": -0.0832,
          "percent_delta": -0.0768,
          "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_2B",
          "before": 0.2146,
          "after": 1.0,
          "delta": 0.7854,
          "percent_delta": 3.6598,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.361,
          "after": 0.0,
          "delta": -0.361,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.249,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.399,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.249,
          "delta": 0.008,
          "percent_delta": 0.0332,
          "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.2854,
          "after": 0.299,
          "delta": 0.0136,
          "percent_delta": 0.0477,
          "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.3355,
          "after": 0.399,
          "delta": 0.0635,
          "percent_delta": 0.1893,
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3355,
          "after": 0.399,
          "delta": 0.0635,
          "percent_delta": 0.1893,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 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": 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": 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": 12,
      "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.241,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2854,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3355,
        "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.249,
          "after": 0.241,
          "delta": -0.008,
          "percent_delta": -0.0322,
          "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.299,
          "after": 0.2854,
          "delta": -0.0136,
          "percent_delta": -0.0454,
          "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.399,
          "after": 0.3355,
          "delta": -0.0635,
          "percent_delta": -0.1591,
          "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.399,
          "after": 0.3355,
          "delta": -0.0635,
          "percent_delta": -0.1591,
          "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.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.47,
        "after": 4.0,
        "delta": -1.47,
        "percent_delta": -0.2687,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.242,
        "after": 0.241,
        "delta": -0.001,
        "percent_delta": -0.0041,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.33,
        "after": 1.0,
        "delta": -0.33,
        "percent_delta": -0.2481,
        "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.312,
        "after": 0.2854,
        "delta": -0.0266,
        "percent_delta": -0.0853,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.649,
        "after": 1.0,
        "delta": 0.351,
        "percent_delta": 0.5408,
        "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.376,
        "after": 0.3355,
        "delta": -0.0405,
        "percent_delta": -0.1077,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.935,
        "after": 0.0,
        "delta": -0.935,
        "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.305,
        "after": 1.0,
        "delta": 0.695,
        "percent_delta": 2.2787,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.47,
        "after": 4.0,
        "delta": -1.47,
        "percent_delta": -0.2687,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.188-
predicted_3B0.006-
predicted_AB5.470-
predicted_AVG0.242-
predicted_BB0.305-
predicted_H1.330-
predicted_HR0.100-
predicted_OBP0.312-
predicted_R0.649-
predicted_RBI0.370-
predicted_SLG0.376-
predicted_SO0.935-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1900.002
predicted_3B0.005-0.001
predicted_AB4.914-0.556
predicted_AVG0.2470.005
predicted_BB0.3070.002
predicted_H1.213-0.117
predicted_HBP0.013-
predicted_HR0.090-0.010
predicted_OBP0.309-0.003
predicted_R0.599-0.050
predicted_RBI0.322-0.048
predicted_SLG0.367-0.009
predicted_SO0.928-0.007
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1900.000
predicted_3B0.0050.000
predicted_AB4.9140.000
predicted_AVG0.241-0.006
predicted_BB0.306-0.002
predicted_H1.184-0.029
predicted_HBP0.0130.000
predicted_HR0.088-0.002
predicted_OBP0.285-0.023
predicted_R0.576-0.024
predicted_RBI0.310-0.013
predicted_SLG0.336-0.032
predicted_SO0.9320.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.47), rates preserved: AVG=0.206 HR/AB=0.016

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.280)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.2150.215
3B0.0100.010
BB0.2490.249
H0.998-0.002
HR0.1220.122
RBI0.3610.361
SO1.0830.083
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.785
3B0.000-0.010
AB4.0000.000
BB0.000-0.249
H1.0000.002
HR0.000-0.122
R1.0000.000
RBI0.000-0.361
SO1.000-0.083
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.190
predicted_3B0.000-0.005
predicted_AB4.000-0.914
predicted_AVG0.2490.008
predicted_BB0.000-0.306
predicted_H1.000-0.184
predicted_HR0.000-0.088
predicted_OBP0.2990.014
predicted_R1.0000.424
predicted_RBI0.000-0.310
predicted_SLG0.3990.064
predicted_SO1.0000.068
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 5.470
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-23.0006.0001.0000.0000.0000.0001.0000.0005.0000.26090.26090.30430.26090.00000.00000.00000.2174
last_100.2010-40.00011.0002.0000.0000.0001.0005.0006.0008.0000.27500.36960.32500.27500.00000.02500.15000.2000
season0.60154-641.000156.00029.0001.00019.00058.000100.00047.000144.0000.24340.29680.38070.24340.02960.09050.07330.2246
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1930
predicted_3B0.0040
predicted_AB4.2000
predicted_AVG0.2530
predicted_BB0.3100
predicted_H1.0630
predicted_HBP0.0130
predicted_HR0.0780
predicted_OBP0.3042
predicted_R0.5350
predicted_RBI0.2610
predicted_SLG0.3565
predicted_SO0.9180
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18800.19300.1902model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB5.47004.20004.9139model_form_blend
predicted_AVG0.24200.25300.2468model_form_blend
predicted_BB0.30500.31000.3072model_form_blend
predicted_H1.33001.06301.2131model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.10000.07800.0904model_form_blend
predicted_OBP0.31200.30420.3086model_form_blend
predicted_R0.64900.53500.5991model_form_blend
predicted_RBI0.37000.26100.3223model_form_blend
predicted_SLG0.37600.35650.3675model_form_blend
predicted_SO0.93500.91800.9276model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date663
Season rows before report date663
Report year2026
Profile rows used154
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H1
2B0
3B0
HR0
R1
RBI1
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260927_TB@PHI
game_typefull
mlbID607208
playerID607208
playerNameTrea Turner
posSS
startedTrue
startingPositionSS
teamPHI
teamID21
game_date2026-09-27
sl_k_percent21.0
sl_bb_percent6.9
sl_woba0.298
sl_xwoba0.293
sl_xba0.242
sl_xslg0.363
sl_sweet_spot_percent31.7
sl_barrel_batted_rate6.0
sl_hard_hit_percent39.3
sl_exit_velocity_avg88.5
sl_launch_angle_avg11.1
sl_whiff_percent27.7
sl_swing_percent50.5
Bryson Stott (681082) · BATTER · 2B · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 574
All-history rows before 20260929: 574
System season_avg: 0.2560
Data season_avg (2026 season-to-date): 0.2598
Diff (system - data): -0.0038
System opponent_avg: 0.1790

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2340.0000.000Hitting_2B0.2212.000-0.221-2.000
predicted_3B0.0320.0000.000Hitting_3B0.0370.000-0.0370.000
predicted_AB3.4554.0003.000Hitting_AB3.5613.0000.4391.000
predicted_AVG0.3370.2500.333Hitting_AVG0.2601.000-0.010-0.750
predicted_BB0.4030.0000.000Hitting_BB0.4221.000-0.422-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1501.0001.000Hitting_H0.9253.0000.075-2.000
predicted_HR0.0500.0000.000Hitting_HR0.0730.000-0.0730.000
predicted_OBP0.4230.2500.333Hitting_OBP0.3401.000-0.090-0.750
predicted_R0.4550.0001.000Hitting_R0.4901.000-0.490-1.000
predicted_RBI0.3700.0000.000Hitting_RBI0.4741.000-0.474-1.000
predicted_SB-0.0000.000BaseRunning_SB0.1901.000-0.190-1.000
predicted_SLG0.5110.2500.333Hitting_SLG0.4041.667-0.154-1.417
predicted_SO0.6360.0001.000Hitting_SO0.6290.000-0.6290.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 3.4550 -> 4.0000 (boost 0.5450, better)
Biggest Deboostpredicted_SO: 0.6360 -> 0.0000 (deboost -0.6360, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_2B: 0.2340 -> 0.3657 (boost 0.1317, better)predicted_SO: 0.6360 -> 0.5736 (deboost -0.0624, 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.
3team_form_snapshot30303-predicted_SLG: 0.5199 -> 0.4832 (deboost -0.0367, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.5765 -> 1.0000 (boost 0.4235, worse)predicted_BB: 0.4500 -> 0.0000 (deboost -0.4500, worse)AB rounded to 3 (raw=3.46), rates preserved: AVG=0.305 HR/AB=0.013
6consistency_constraints10101-predicted_R: 0.4450 -> 0.0000 (deboost -0.4450, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4363 (boost 0.4363, better)predicted_SO: 1.0000 -> 0.7788 (deboost -0.2212, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation73425predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.4363 -> 0.0000 (deboost -0.4363, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21120predicted_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
11current_json_final33030predicted_SLG: 0.3820 -> 0.4832 (boost 0.1012, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "681082",
  "player_name": "Bryson Stott",
  "position": "2B",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.234,
        "predicted_3B": 0.032,
        "predicted_AB": 3.455,
        "predicted_AVG": 0.337,
        "predicted_BB": 0.403,
        "predicted_H": 1.15,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.423,
        "predicted_R": 0.455,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.511,
        "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.3657,
        "predicted_3B": 0.0263,
        "predicted_AB": 3.4362,
        "predicted_AVG": 0.3322,
        "predicted_BB": 0.4523,
        "predicted_H": 1.1334,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0465,
        "predicted_OBP": 0.4176,
        "predicted_R": 0.4633,
        "predicted_RBI": 0.3656,
        "predicted_SLG": 0.5199,
        "predicted_SO": 0.5736
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.234,
          "after": 0.3657,
          "delta": 0.1317,
          "percent_delta": 0.5628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.032,
          "after": 0.0263,
          "delta": -0.0057,
          "percent_delta": -0.1781,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.455,
          "after": 3.4362,
          "delta": -0.0188,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.337,
          "after": 0.3322,
          "delta": -0.0048,
          "percent_delta": -0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.403,
          "after": 0.4523,
          "delta": 0.0493,
          "percent_delta": 0.1223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.15,
          "after": 1.1334,
          "delta": -0.0166,
          "percent_delta": -0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0465,
          "delta": -0.0035,
          "percent_delta": -0.07,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.423,
          "after": 0.4176,
          "delta": -0.0054,
          "percent_delta": -0.0128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.455,
          "after": 0.4633,
          "delta": 0.0083,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3656,
          "delta": -0.0044,
          "percent_delta": -0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.511,
          "after": 0.5199,
          "delta": 0.0089,
          "percent_delta": 0.0174,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.636,
          "after": 0.5736,
          "delta": -0.0624,
          "percent_delta": -0.0981,
          "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.234,
          "after": 0.3657,
          "delta": 0.1317,
          "percent_delta": 0.5628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.636,
          "after": 0.5736,
          "delta": -0.0624,
          "percent_delta": -0.0981,
          "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": 154
      }
    },
    {
      "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.3657,
        "predicted_3B": 0.0263,
        "predicted_AB": 3.4362,
        "predicted_AVG": 0.322,
        "predicted_BB": 0.45,
        "predicted_H": 1.1063,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.0453,
        "predicted_OBP": 0.4005,
        "predicted_R": 0.445,
        "predicted_RBI": 0.3512,
        "predicted_SLG": 0.4832,
        "predicted_SO": 0.5765
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.3657,
          "after": 0.3657,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0263,
          "after": 0.0263,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4362,
          "after": 3.4362,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3322,
          "after": 0.322,
          "delta": -0.0102,
          "percent_delta": -0.0307,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4523,
          "after": 0.45,
          "delta": -0.0023,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1334,
          "after": 1.1063,
          "delta": -0.0271,
          "percent_delta": -0.0239,
          "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.0465,
          "after": 0.0453,
          "delta": -0.0012,
          "percent_delta": -0.0258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4176,
          "after": 0.4005,
          "delta": -0.0171,
          "percent_delta": -0.0409,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4633,
          "after": 0.445,
          "delta": -0.0183,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3656,
          "after": 0.3512,
          "delta": -0.0144,
          "percent_delta": -0.0394,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5199,
          "after": 0.4832,
          "delta": -0.0367,
          "percent_delta": -0.0706,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5736,
          "after": 0.5765,
          "delta": 0.0029,
          "percent_delta": 0.0051,
          "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.5199,
          "after": 0.4832,
          "delta": -0.0367,
          "percent_delta": -0.0706,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.46), rates preserved: AVG=0.305 HR/AB=0.013",
      "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.3657,
          "after": 0.0,
          "delta": -0.3657,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0263,
          "after": 0.0,
          "delta": -0.0263,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4362,
          "after": 3.0,
          "delta": -0.4362,
          "percent_delta": -0.1269,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.45,
          "after": 0.0,
          "delta": -0.45,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1063,
          "after": 1.0,
          "delta": -0.1063,
          "percent_delta": -0.0961,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.0453,
          "after": 0.0,
          "delta": -0.0453,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3512,
          "after": 0.0,
          "delta": -0.3512,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5765,
          "after": 1.0,
          "delta": 0.4235,
          "percent_delta": 0.7346,
          "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.5765,
          "after": 1.0,
          "delta": 0.4235,
          "percent_delta": 0.7346,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.45,
          "after": 0.0,
          "delta": -0.45,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.445,
          "after": 0.0,
          "delta": -0.445,
          "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.445,
          "after": 0.0,
          "delta": -0.445,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1687,
        "predicted_3B": 0.0213,
        "predicted_BB": 0.263,
        "predicted_H": 0.846,
        "predicted_HR": 0.0809,
        "predicted_RBI": 0.4363,
        "predicted_SO": 0.7788
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1687,
          "delta": 0.1687,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0213,
          "delta": 0.0213,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.263,
          "delta": 0.263,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.846,
          "delta": -0.154,
          "percent_delta": -0.154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0809,
          "delta": 0.0809,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4363,
          "delta": 0.4363,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7788,
          "delta": -0.2212,
          "percent_delta": -0.2212,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4363,
          "delta": 0.4363,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7788,
          "delta": -0.2212,
          "percent_delta": -0.2212,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1687,
          "after": 0.0,
          "delta": -0.1687,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0213,
          "after": 0.0,
          "delta": -0.0213,
          "percent_delta": -1.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_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": 0.846,
          "after": 1.0,
          "delta": 0.154,
          "percent_delta": 0.182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0809,
          "after": 0.0,
          "delta": -0.0809,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.4363,
          "after": 0.0,
          "delta": -0.4363,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7788,
          "after": 1.0,
          "delta": 0.2212,
          "percent_delta": 0.284,
          "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_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": 0.4363,
          "after": 0.0,
          "delta": -0.4363,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.248,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.382,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.322,
          "after": 0.248,
          "delta": -0.074,
          "percent_delta": -0.2298,
          "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.4005,
          "after": 0.308,
          "delta": -0.0925,
          "percent_delta": -0.231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_SLG",
          "before": 0.4832,
          "after": 0.382,
          "delta": -0.1012,
          "percent_delta": -0.2094,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "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": 10,
      "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": 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": 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": 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": 11,
      "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.322,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.4005,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4832,
        "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.248,
          "after": 0.322,
          "delta": 0.074,
          "percent_delta": 0.2982,
          "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.308,
          "after": 0.4005,
          "delta": 0.0925,
          "percent_delta": 0.3002,
          "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.382,
          "after": 0.4832,
          "delta": 0.1012,
          "percent_delta": 0.265,
          "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.382,
          "after": 0.4832,
          "delta": 0.1012,
          "percent_delta": 0.265,
          "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.234,
        "after": 0.0,
        "delta": -0.234,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.455,
        "after": 4.0,
        "delta": 0.545,
        "percent_delta": 0.1577,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.337,
        "after": 0.322,
        "delta": -0.015,
        "percent_delta": -0.0445,
        "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": 1.15,
        "after": 1.0,
        "delta": -0.15,
        "percent_delta": -0.1304,
        "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.423,
        "after": 0.4005,
        "delta": -0.0225,
        "percent_delta": -0.0532,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.455,
        "after": 0.0,
        "delta": -0.455,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.511,
        "after": 0.4832,
        "delta": -0.0278,
        "percent_delta": -0.0544,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.636,
        "after": 0.0,
        "delta": -0.636,
        "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": 3.455,
        "after": 4.0,
        "delta": 0.545,
        "percent_delta": 0.1577,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.636,
        "after": 0.0,
        "delta": -0.636,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.234-
predicted_3B0.032-
predicted_AB3.455-
predicted_AVG0.337-
predicted_BB0.403-
predicted_H1.150-
predicted_HR0.050-
predicted_OBP0.423-
predicted_R0.455-
predicted_RBI0.370-
predicted_SLG0.511-
predicted_SO0.636-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.3660.132
predicted_3B0.026-0.006
predicted_AB3.436-0.019
predicted_AVG0.332-0.005
predicted_BB0.4520.049
predicted_H1.133-0.017
predicted_HBP0.012-
predicted_HR0.046-0.004
predicted_OBP0.418-0.005
predicted_R0.4630.008
predicted_RBI0.366-0.004
predicted_SLG0.5200.009
predicted_SO0.574-0.062
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.3660.000
predicted_3B0.0260.000
predicted_AB3.4360.000
predicted_AVG0.322-0.010
predicted_BB0.450-0.002
predicted_H1.106-0.027
predicted_HBP0.0120.000
predicted_HR0.045-0.001
predicted_OBP0.401-0.017
predicted_R0.445-0.018
predicted_RBI0.351-0.014
predicted_SLG0.483-0.037
predicted_SO0.5770.003
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.46), rates preserved: AVG=0.305 HR/AB=0.013

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1690.169
3B0.0210.021
BB0.2630.263
H0.846-0.154
HR0.0810.081
RBI0.4360.436
SO0.779-0.221
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.169
3B0.000-0.021
AB3.0000.000
BB0.000-0.263
H1.0000.154
HR0.000-0.081
R1.0001.000
RBI0.000-0.436
SO1.0000.221
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.366
predicted_3B0.000-0.026
predicted_AB3.000-0.436
predicted_AVG0.248-0.074
predicted_BB0.000-0.450
predicted_H1.000-0.106
predicted_HR0.000-0.045
predicted_OBP0.308-0.093
predicted_R0.000-0.445
predicted_RBI0.000-0.351
predicted_SLG0.382-0.101
predicted_SO1.0000.423
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0008.0006.0000.0000.0001.0002.0004.0001.0000.50000.60000.87500.50000.00000.06250.25000.0625
last_100.2010-34.00013.0008.0000.0000.0003.0006.0006.0003.0000.38240.47500.61760.38240.00000.08820.17650.0882
season0.60154-532.000136.00036.0005.00010.00066.00070.00062.00098.0000.25560.33500.39850.25560.01880.12410.11650.1842
Weighted Prediction From Real Data
MetricValue
predicted_2B0.5360
predicted_3B0.0190
predicted_AB3.4120
predicted_AVG0.3260
predicted_BB0.5160
predicted_H1.1120
predicted_HBP0.0120
predicted_HR0.0420
predicted_OBP0.4107
predicted_R0.4740
predicted_RBI0.3600
predicted_SLG0.5314
predicted_SO0.4930
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23400.53600.3657model_form_blend
predicted_3B0.03200.01900.0263model_form_blend
predicted_AB3.45503.41203.4362model_form_blend
predicted_AVG0.33700.32600.3322model_form_blend
predicted_BB0.40300.51600.4523model_form_blend
predicted_H1.15001.11201.1334model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.05000.04200.0465model_form_blend
predicted_OBP0.42300.41070.4176model_form_blend
predicted_R0.45500.47400.4633model_form_blend
predicted_RBI0.37000.36000.3656model_form_blend
predicted_SLG0.51100.53140.5199model_form_blend
predicted_SO0.63600.49300.5736model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date574
Season rows before report date574
Report year2026
Profile rows used154
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B2
Hitting_3B0
Hitting_AB3
Hitting_AVG1.0
Hitting_BB1
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260927_TB@PHI
game_typefull
mlbID681082
playerID681082
playerNameBryson Stott
pos2B
startedTrue
startingPosition2B
teamPHI
teamID21
game_date2026-09-27
sl_k_percent16.4
sl_bb_percent10.2
sl_woba0.326
sl_xwoba0.33
sl_xba0.267
sl_xslg0.402
sl_sweet_spot_percent35.0
sl_barrel_batted_rate5.9
sl_hard_hit_percent37.7
sl_exit_velocity_avg89.4
sl_launch_angle_avg14.1
sl_whiff_percent18.7
sl_swing_percent41.8
J.T. Realmuto (592663) · BATTER · C · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 439
All-history rows before 20260929: 439
System season_avg: 0.2050
Data season_avg (2026 season-to-date): 0.2207
Diff (system - data): -0.0157
System opponent_avg: 0.1110
System season_avg diverges from 2026 season-to-date by -0.0157. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1572.0000.000Hitting_2B0.1751.0001.8251.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6903.0003.000Hitting_AB3.4994.000-0.499-1.000
predicted_AVG0.1790.6670.000Hitting_AVG0.2210.2500.4460.417
predicted_BB0.3061.0000.000Hitting_BB0.3170.0000.6831.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6602.0000.000Hitting_H0.7721.0001.2281.000
predicted_HR0.0800.0000.000Hitting_HR0.1030.000-0.1030.000
predicted_OBP0.2370.7500.000Hitting_OBP0.2970.2500.4530.500
predicted_R0.4300.0000.000Hitting_R0.4781.000-0.478-1.000
predicted_RBI0.4300.0000.000Hitting_RBI0.4811.000-0.481-1.000
predicted_SLG0.2911.3330.000Hitting_SLG0.3590.5000.9750.833
predicted_SO0.8261.0001.000Hitting_SO0.8361.0000.1640.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_2B: 0.1570 -> 2.0000 (boost 1.8430, better)
Biggest Deboostpredicted_AB: 3.6900 -> 3.0000 (deboost -0.6900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 3.6900 -> 3.5560 (deboost -0.1340, 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.
3team_form_snapshot10101-predicted_SLG: 0.2716 -> 0.2645 (deboost -0.0071, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.8263 -> 1.0000 (boost 0.1737, worse)predicted_H: 0.5772 -> 0.0000 (deboost -0.5772, worse)AB rounded to 3 (raw=3.69), rates preserved: AVG=0.149 HR/AB=0.019
6bvp_blend00000--Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.111)
7consistency_constraints10101-predicted_R: 0.3773 -> 0.0000 (deboost -0.3773, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65160predicted_H: 0.0000 -> 0.6794 (boost 0.6794, better)predicted_SO: 1.0000 -> 0.9184 (deboost -0.0816, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61506predicted_SO: 0.9184 -> 1.0000 (boost 0.0816, worse)predicted_H: 0.6794 -> 0.0000 (deboost -0.6794, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.2645 -> 0.3450 (boost 0.0805, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3450 -> 0.2645 (deboost -0.0805, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "592663",
  "player_name": "J.T. Realmuto",
  "position": "C",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.0,
        "predicted_AB": 3.69,
        "predicted_AVG": 0.179,
        "predicted_BB": 0.306,
        "predicted_H": 0.66,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.237,
        "predicted_R": 0.43,
        "predicted_RBI": 0.43,
        "predicted_SLG": 0.291,
        "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.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.556,
        "predicted_AVG": 0.1657,
        "predicted_BB": 0.3121,
        "predicted_H": 0.5913,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.0705,
        "predicted_OBP": 0.2334,
        "predicted_R": 0.3928,
        "predicted_RBI": 0.408,
        "predicted_SLG": 0.2716,
        "predicted_SO": 0.8221
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.1566,
          "delta": -0.0004,
          "percent_delta": -0.0025,
          "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.69,
          "after": 3.556,
          "delta": -0.134,
          "percent_delta": -0.0363,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.179,
          "after": 0.1657,
          "delta": -0.0133,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.306,
          "after": 0.3121,
          "delta": 0.0061,
          "percent_delta": 0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.66,
          "after": 0.5913,
          "delta": -0.0687,
          "percent_delta": -0.1041,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0705,
          "delta": -0.0095,
          "percent_delta": -0.1188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.237,
          "after": 0.2334,
          "delta": -0.0036,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.43,
          "after": 0.3928,
          "delta": -0.0372,
          "percent_delta": -0.0865,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.43,
          "after": 0.408,
          "delta": -0.022,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.291,
          "after": 0.2716,
          "delta": -0.0194,
          "percent_delta": -0.0667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.826,
          "after": 0.8221,
          "delta": -0.0039,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.69,
          "after": 3.556,
          "delta": -0.134,
          "percent_delta": -0.0363,
          "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": 121
      }
    },
    {
      "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.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.556,
        "predicted_AVG": 0.1623,
        "predicted_BB": 0.3105,
        "predicted_H": 0.5772,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.0687,
        "predicted_OBP": 0.2296,
        "predicted_R": 0.3773,
        "predicted_RBI": 0.3919,
        "predicted_SLG": 0.2645,
        "predicted_SO": 0.8263
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1566,
          "after": 0.1566,
          "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.556,
          "after": 3.556,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1657,
          "after": 0.1623,
          "delta": -0.0034,
          "percent_delta": -0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3121,
          "after": 0.3105,
          "delta": -0.0016,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5913,
          "after": 0.5772,
          "delta": -0.0141,
          "percent_delta": -0.0238,
          "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.0705,
          "after": 0.0687,
          "delta": -0.0018,
          "percent_delta": -0.0255,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2334,
          "after": 0.2296,
          "delta": -0.0038,
          "percent_delta": -0.0163,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3928,
          "after": 0.3773,
          "delta": -0.0155,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.408,
          "after": 0.3919,
          "delta": -0.0161,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2716,
          "after": 0.2645,
          "delta": -0.0071,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8221,
          "after": 0.8263,
          "delta": 0.0042,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2716,
          "after": 0.2645,
          "delta": -0.0071,
          "percent_delta": -0.0261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.69), rates preserved: AVG=0.149 HR/AB=0.019",
      "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.1566,
          "after": 0.0,
          "delta": -0.1566,
          "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.556,
          "after": 3.0,
          "delta": -0.556,
          "percent_delta": -0.1564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3105,
          "after": 0.0,
          "delta": -0.3105,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5772,
          "after": 0.0,
          "delta": -0.5772,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.0687,
          "after": 0.0,
          "delta": -0.0687,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3919,
          "after": 0.0,
          "delta": -0.3919,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8263,
          "after": 1.0,
          "delta": 0.1737,
          "percent_delta": 0.2102,
          "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.8263,
          "after": 1.0,
          "delta": 0.1737,
          "percent_delta": 0.2102,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.5772,
          "after": 0.0,
          "delta": -0.5772,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.111)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.85,
        "bvp": 0.15
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.3773,
          "after": 0.0,
          "delta": -0.3773,
          "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.3773,
          "after": 0.0,
          "delta": -0.3773,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1345,
        "predicted_3B": 0.0087,
        "predicted_BB": 0.2272,
        "predicted_H": 0.6794,
        "predicted_HR": 0.0901,
        "predicted_RBI": 0.3683,
        "predicted_SO": 0.9184
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1345,
          "delta": 0.1345,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0087,
          "delta": 0.0087,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2272,
          "delta": 0.2272,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6794,
          "delta": 0.6794,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0901,
          "delta": 0.0901,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3683,
          "delta": 0.3683,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9184,
          "delta": -0.0816,
          "percent_delta": -0.0816,
          "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_H",
          "before": 0.0,
          "after": 0.6794,
          "delta": 0.6794,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9184,
          "delta": -0.0816,
          "percent_delta": -0.0816,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1345,
          "after": 0.0,
          "delta": -0.1345,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2272,
          "after": 0.0,
          "delta": -0.2272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6794,
          "after": 0.0,
          "delta": -0.6794,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0901,
          "after": 0.0,
          "delta": -0.0901,
          "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.3683,
          "after": 0.0,
          "delta": -0.3683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9184,
          "after": 1.0,
          "delta": 0.0816,
          "percent_delta": 0.0889,
          "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.9184,
          "after": 1.0,
          "delta": 0.0816,
          "percent_delta": 0.0889,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6794,
          "after": 0.0,
          "delta": -0.6794,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.213,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.345,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1623,
          "after": 0.213,
          "delta": 0.0507,
          "percent_delta": 0.3124,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2296,
          "after": 0.271,
          "delta": 0.0414,
          "percent_delta": 0.1803,
          "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.2645,
          "after": 0.345,
          "delta": 0.0805,
          "percent_delta": 0.3043,
          "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.2645,
          "after": 0.345,
          "delta": 0.0805,
          "percent_delta": 0.3043,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 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": 2.0,
          "delta": 2.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": 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_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": 12,
      "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.1623,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2645,
        "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": 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.213,
          "after": 0.1623,
          "delta": -0.0507,
          "percent_delta": -0.238,
          "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.271,
          "after": 0.2296,
          "delta": -0.0414,
          "percent_delta": -0.1528,
          "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.345,
          "after": 0.2645,
          "delta": -0.0805,
          "percent_delta": -0.2333,
          "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.345,
          "after": 0.2645,
          "delta": -0.0805,
          "percent_delta": -0.2333,
          "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.157,
        "after": 2.0,
        "delta": 1.843,
        "percent_delta": 11.7389,
        "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.69,
        "after": 3.0,
        "delta": -0.69,
        "percent_delta": -0.187,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.179,
        "after": 0.1623,
        "delta": -0.0167,
        "percent_delta": -0.0933,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.306,
        "after": 1.0,
        "delta": 0.694,
        "percent_delta": 2.268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.66,
        "after": 2.0,
        "delta": 1.34,
        "percent_delta": 2.0303,
        "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.237,
        "after": 0.2296,
        "delta": -0.0074,
        "percent_delta": -0.0312,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.43,
        "after": 0.0,
        "delta": -0.43,
        "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.291,
        "after": 0.2645,
        "delta": -0.0265,
        "percent_delta": -0.0911,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.157,
        "after": 2.0,
        "delta": 1.843,
        "percent_delta": 11.7389,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.69,
        "after": 3.0,
        "delta": -0.69,
        "percent_delta": -0.187,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.157-
predicted_3B0.000-
predicted_AB3.690-
predicted_AVG0.179-
predicted_BB0.306-
predicted_H0.660-
predicted_HR0.080-
predicted_OBP0.237-
predicted_R0.430-
predicted_RBI0.430-
predicted_SLG0.291-
predicted_SO0.826-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.157-0.000
predicted_3B0.0000.000
predicted_AB3.556-0.134
predicted_AVG0.166-0.013
predicted_BB0.3120.006
predicted_H0.591-0.069
predicted_HBP0.043-
predicted_HR0.070-0.010
predicted_OBP0.233-0.004
predicted_R0.393-0.037
predicted_RBI0.408-0.022
predicted_SLG0.272-0.019
predicted_SO0.822-0.004
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1570.000
predicted_3B0.0000.000
predicted_AB3.5560.000
predicted_AVG0.162-0.003
predicted_BB0.310-0.002
predicted_H0.577-0.014
predicted_HBP0.0430.000
predicted_HR0.069-0.002
predicted_OBP0.230-0.004
predicted_R0.377-0.015
predicted_RBI0.392-0.016
predicted_SLG0.265-0.007
predicted_SO0.8260.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.69), rates preserved: AVG=0.149 HR/AB=0.019

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.111)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1350.135
3B0.0090.009
BB0.2270.227
H0.6790.679
HR0.0900.090
RBI0.3680.368
SO0.918-0.082
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.135
3B0.000-0.009
AB3.0000.000
BB0.000-0.227
H0.000-0.679
HR0.000-0.090
R0.0000.000
RBI0.000-0.368
SO1.0000.082
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.157
predicted_3B0.000-0.000
predicted_AB3.000-0.556
predicted_AVG0.2130.051
predicted_BB0.000-0.310
predicted_H0.000-0.577
predicted_HR0.000-0.069
predicted_OBP0.2710.041
predicted_R0.000-0.377
predicted_RBI0.000-0.392
predicted_SLG0.3450.080
predicted_SO1.0000.174
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B2.0002.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H2.0002.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 121
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0001.0001.0000.0000.0002.0001.0001.0003.0000.06250.11760.12500.06250.00000.12500.06250.1875
last_100.2010-33.0001.0001.0000.0000.0002.0002.0005.00010.0000.03030.15790.06060.03030.00000.06060.15150.3030
season0.60121-414.00085.00019.0000.00011.00051.00052.00037.000100.0000.20530.28110.33090.20530.02660.12320.08940.2415
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1560
predicted_3B0.0010
predicted_AB3.3800
predicted_AVG0.1482
predicted_BB0.3200
predicted_H0.5010
predicted_HBP0.0430
predicted_HR0.0580
predicted_OBP0.2287
predicted_R0.3440
predicted_RBI0.3790
predicted_SLG0.2461
predicted_SO0.8170
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.15600.1566model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.69003.38003.5560model_form_blend
predicted_AVG0.17900.14820.1657model_form_blend
predicted_BB0.30600.32000.3121model_form_blend
predicted_H0.66000.50100.5913model_form_blend
predicted_HBP-0.04300.0430form_only
predicted_HR0.08000.05800.0705model_form_blend
predicted_OBP0.23700.22870.2334model_form_blend
predicted_R0.43000.34400.3928model_form_blend
predicted_RBI0.43000.37900.4080model_form_blend
predicted_SLG0.29100.24610.2716model_form_blend
predicted_SO0.82600.81700.8221model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date439
Season rows before report date439
Report year2026
Profile rows used121
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B2
3B0
HR0
R0
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260927_TB@PHI
game_typefull
mlbID592663
playerID592663
playerNameJ.T. Realmuto
posC
startedTrue
startingPositionC
teamPHI
teamID21
game_date2026-09-27
sl_k_percent21.4
sl_bb_percent7.9
sl_woba0.275
sl_xwoba0.317
sl_xba0.249
sl_xslg0.387
sl_sweet_spot_percent35.6
sl_barrel_batted_rate5.7
sl_hard_hit_percent40.0
sl_exit_velocity_avg89.5
sl_launch_angle_avg11.8
sl_whiff_percent24.1
sl_swing_percent46.8
Jesús Luzardo (666200) · PITCHER · Starter · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 30
All-history rows before 20260929: 30

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.7330.000-1.7330.000
predicted_ER3.0002.0003.000Pitching_ER1.9000.0000.1002.000
predicted_H8.0008.0008.000Pitching_H4.7000.0003.3008.000
predicted_IP6.2006.2006.200Pitching_InningsPitched5.8331.0000.3675.200
predicted_SO7.0007.0007.000Pitching_SO7.3670.000-0.3677.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_SO: 5.0000 -> 7.0000 (boost 2.0000, better)
Biggest Deboostpredicted_IP: 6.6667 -> 6.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail21111predicted_SO: 5.0000 -> 7.0000 (boost 2.0000, better)predicted_IP: 6.6667 -> 6.2000 (deboost -0.4667, worse)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "666200",
  "player_name": "Jesús Luzardo",
  "position": "Starter",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 8.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.6667,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 8.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.2,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.6667,
          "after": 6.2,
          "delta": -0.4667,
          "percent_delta": -0.07,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 7.0,
          "delta": 2.0,
          "percent_delta": 0.4,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 7.0,
          "delta": 2.0,
          "percent_delta": 0.4,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 6.6667,
          "after": 6.2,
          "delta": -0.4667,
          "percent_delta": -0.07,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 8.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.2,
        "predicted_R": 2.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.2,
          "after": 6.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 8.0,
        "after": 8.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "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.6667,
        "after": 6.2,
        "delta": -0.4667,
        "percent_delta": -0.07,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 7.0,
        "delta": 2.0,
        "percent_delta": 0.4,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 7.0,
        "delta": 2.0,
        "percent_delta": 0.4,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 6.6667,
        "after": 6.2,
        "delta": -0.4667,
        "percent_delta": -0.07,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER2.000-
predicted_H8.000-
predicted_HR0.000-
predicted_IP6.667-
predicted_SO5.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER2.0000.000
predicted_H8.0000.000
predicted_HR0.0000.000
predicted_IP6.200-0.467
predicted_SO7.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 30
Reference playing time: 6.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45529.1003.00014.0006.00036.0003.0000.92050.68180.10230.47730.20461.22730.1023
last_100.351064.10013.00039.00015.00078.0005.0001.81870.83940.20210.60620.23321.21240.0777
season0.2030179.20057.000141.00052.000221.00015.0002.85531.07420.31720.78480.28941.23010.0835
Weighted Prediction From Real Data
MetricValue
predicted_BB1.5650
predicted_ER1.4110
predicted_ERA2.0497
predicted_H3.9720
predicted_HR0.6090
predicted_IP6.1000
predicted_SO7.3200
predicted_WHIP0.8937
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.56500.9228model_form_blend
predicted_ER2.00001.41101.6527model_form_blend
predicted_ERA-2.04972.0497form_only
predicted_H8.00003.97205.6250model_form_blend
predicted_HR0.00000.60900.3591model_form_blend
predicted_IP6.20006.10006.1000model_form_blend
predicted_SO5.00007.32006.3679model_form_blend
predicted_WHIP-0.89370.8937form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date30
Season rows before report date30
Report year2026
Profile rows used30
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.2
H8
R2
ER2
BB0
SO7
HR0
BF28
Pitches108

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.86
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches4
Pitching_R0
Pitching_SO0
Pitching_Strikes3
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260927_TB@PHI
game_typefull
mlbID666200
playerID666200
playerNameJesús Luzardo
posP
startedFalse
startingPositionP
teamPHI
teamID21
game_date2026-09-27
sl_k_percent30.3
sl_bb_percent7.1
sl_woba0.274
sl_xwoba0.261
sl_sweet_spot_percent32.3
sl_barrel_batted_rate5.9
sl_hard_hit_percent33.2
sl_whiff_percent31.9
sl_swing_percent46.3
sl_avg_best_speed76.421373899
sl_avg_hyper_speed93.154302408
Jhoan Duran (661395) · PITCHER · Closer · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 62
All-history rows before 20260929: 62

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1610.000-0.1610.000
predicted_ER0.0001.0000.000Pitching_ER0.1940.0000.8061.000
predicted_H4.0007.0004.000Pitching_H0.7900.0006.2107.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.9421.0000.1580.100
predicted_SO0.0000.0000.000Pitching_SO1.3552.000-1.355-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final21111predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "661395",
  "player_name": "Jhoan Duran",
  "position": "Closer",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 4.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": 4.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": 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.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "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": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 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.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "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": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 60
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0001.0002.0001.0009.0000.0001.80000.60000.20000.40000.20001.80000.0000
last_100.351010.0003.0007.0001.00017.0001.0002.70000.80000.30000.70000.10001.70000.1000
season0.206059.10010.00046.00010.00084.0002.0001.51690.94380.16850.77530.16851.41570.0337
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2230
predicted_ER0.3110
predicted_ERA2.8014
predicted_H0.6980
predicted_HR0.0730
predicted_IP1.0000
predicted_SO1.4690
predicted_WHIP0.9201
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.22300.1176model_form_blend
predicted_ER0.00000.31100.1640model_form_blend
predicted_ERA-2.80142.8014form_only
predicted_H4.00000.69802.2590model_form_blend
predicted_HR0.00000.07300.0385model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.46901.2473model_form_blend
predicted_WHIP-0.92010.9201form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date62
Season rows before report date62
Report year2026
Profile rows used60
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H7
R1
ER1
BB0
SO0
HR0
BF11
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA1.82
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO2
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260927_TB@PHI
game_typefull
mlbID661395
playerID661395
playerNameJhoan Duran
posP
startedFalse
startingPositionP
teamPHI
teamID21
game_date2026-09-27
sl_k_percent35.6
sl_bb_percent4.2
sl_woba0.244
sl_xwoba0.222
sl_sweet_spot_percent23.9
sl_barrel_batted_rate3.7
sl_hard_hit_percent39.1
sl_whiff_percent35.7
sl_swing_percent52.6
sl_avg_best_speed79.250384627
sl_avg_hyper_speed94.12616194

Home Team: ATL

Home Pitcher Deep Analysis

FieldValue
PitcherChris Sale
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7138
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0655
Avg Velo88.6943
Avg Spin2357.2805
HB Inches0
IVB Inches0
Release Extension0
Pre IP6.1000
Pre ER2
Pre H5
Pre BB3
Pre SO8
Season ERA2.1578
Season WHIP0.9836
Role Avg IP6.0250
Recent Avg IP6.7330
Last Start IP5.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.019,
    "defense_index": 1.1633,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1558
  },
  "opponent": {
    "team": "PHI",
    "games": 162,
    "wins": 88,
    "losses": 74,
    "win_pct": 0.5432,
    "runs_scored": 713.0,
    "runs_allowed": 698.0,
    "run_differential": 15.0,
    "run_differential_per_game": 0.0926,
    "avg_runs_scored": 4.4012,
    "avg_runs_allowed": 4.3086,
    "offense_index": 0.9791,
    "defense_index": 1.0433,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.2,
      "avg_runs_allowed": 4.8,
      "run_differential": -16.0
    },
    "available": true,
    "quality_score": 0.0131
  },
  "edges": {
    "quality_edge": 0.1427,
    "offense_edge": 0.019,
    "opponent_offense_edge": -0.0209,
    "defense_strength": 0.1633,
    "opponent_defense_weakness": -0.0433,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0114,
    "run_prevention": 0.9732,
    "strikeout": 1.006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "519242",
    "profile": {
      "available": true,
      "pitcher_id": "519242",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 601.0,
        "k_percent": 30.9,
        "bb_percent": 4.8,
        "woba": 0.259,
        "xwoba": 0.267,
        "sweet_spot_percent": 34.3,
        "barrel_batted_rate": 6.2,
        "hard_hit_percent": 35.1,
        "avg_best_speed": 76.8972,
        "avg_hyper_speed": 93.4361,
        "whiff_percent": 30.4,
        "swing_percent": 50.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8393,
        "command_and_miss": 1.0457,
        "regression_edge": -0.2286,
        "xwoba_edge": 1.2857,
        "barrel_edge": 0.2222,
        "hard_hit_edge": 0.4,
        "whiff_edge": 0.7429,
        "bb_edge": 1.1,
        "pitch_design_score": -0.0655
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "519242",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 101,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 101,
          "pitch_usage": 0.0,
          "release_speed": 88.69431015805822,
          "release_spin_rate": 2357.280511373259,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 101,
            "pitch_usage": 0.0,
            "release_speed": 88.69431015805822,
            "release_spin_rate": 2357.280511373259,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6943,
          "release_spin_rate": 2357.2805,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0655,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.4679,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.7138,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9393,
      "strikeout_factor": 1.08,
      "walk_factor": 0.912,
      "homer_factor": 0.9277,
      "woba_minus_xwoba": -0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "519242",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9393,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9393,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.912,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9277,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 8.0,
        "factor": 1.08,
        "adjusted": 9
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 64.2,
    "ER": 15,
    "H": 45,
    "BB": 6,
    "SO": 83,
    "HR": 2,
    "ERA": 2.087628865979381,
    "WHIP": 0.788659793814433,
    "K9": 11.551546391752577,
    "HR9": 0.2783505154639175,
    "games_pitched": 10,
    "quality_starts": 9,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-23T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "519242",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 101,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 101,
    "pitch_usage": 0.0,
    "release_speed": 88.69431015805822,
    "release_spin_rate": 2357.280511373259,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 101,
      "pitch_usage": 0.0,
      "release_speed": 88.69431015805822,
      "release_spin_rate": 2357.280511373259,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6943,
    "release_spin_rate": 2357.2805,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0655,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.4679,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 27.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8438,
    "prior_weight": 0.1562
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "519242",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 27,
  "reference_playing_time": 6.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 33.2,
        "ER": 8.0,
        "R": 8.0,
        "H": 26.0,
        "BB": 3.0,
        "SO": 40.0,
        "HR": 2.0,
        "BF": 131.0,
        "Pitches": 497.0
      },
      "per_game": {
        "IP": 6.2,
        "ER": 1.6,
        "R": 1.6,
        "H": 5.2,
        "BB": 0.6,
        "SO": 8.0,
        "HR": 0.4,
        "BF": 26.2,
        "Pitches": 99.4
      },
      "rates": {
        "ERA": 2.1386,
        "WHIP": 0.8614,
        "ER_per_IP": 0.23762,
        "H_per_IP": 0.77228,
        "BB_per_IP": 0.08911,
        "SO_per_IP": 1.18812,
        "HR_per_IP": 0.05941
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 64.2,
        "ER": 15.0,
        "R": 15.0,
        "H": 45.0,
        "BB": 6.0,
        "SO": 83.0,
        "HR": 2.0,
        "BF": 245.0,
        "Pitches": 989.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.5,
        "R": 1.5,
        "H": 4.5,
        "BB": 0.6,
        "SO": 8.3,
        "HR": 0.2,
        "BF": 24.5,
        "Pitches": 98.9
      },
      "rates": {
        "ERA": 2.0876,
        "WHIP": 0.7887,
        "ER_per_IP": 0.23196,
        "H_per_IP": 0.69588,
        "BB_per_IP": 0.09278,
        "SO_per_IP": 1.28351,
        "HR_per_IP": 0.03093
      }
    },
    "season": {
      "games": 27,
      "totals": {
        "IP": 162.2,
        "ER": 39.0,
        "R": 44.0,
        "H": 129.0,
        "BB": 31.0,
        "SO": 200.0,
        "HR": 10.0,
        "BF": 648.0,
        "Pitches": 2574.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.4444,
        "R": 1.6296,
        "H": 4.7778,
        "BB": 1.1481,
        "SO": 7.4074,
        "HR": 0.3704,
        "BF": 24.0,
        "Pitches": 95.3333
      },
      "rates": {
        "ERA": 2.1578,
        "WHIP": 0.9836,
        "ER_per_IP": 0.23975,
        "H_per_IP": 0.79303,
        "BB_per_IP": 0.19057,
        "SO_per_IP": 1.22951,
        "HR_per_IP": 0.06148
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.1,
    "predicted_ER": 1.789,
    "predicted_H": 5.036,
    "predicted_BB": 0.977,
    "predicted_SO": 7.581,
    "predicted_HR": 0.418,
    "predicted_ERA": 2.5137,
    "predicted_WHIP": 0.9389
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.416,
  "form_weight": 0.584,
  "form_reliability": 0.8438,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 27.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8438,
    "prior_weight": 0.1562
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.1,
      "form": 6.1,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.789,
      "final": 1.8768,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.036,
      "final": 5.021,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 0.977,
      "final": 1.8186,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 7.581,
      "final": 5.6753,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.418,
      "final": 0.6601,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.5137,
      "final": 2.5137,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9389,
      "final": 0.9389,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherDylan Lee
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.8719
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1899
Avg Velo86.4723
Avg Spin2144.4657
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB1
Pre SO0
Season ERA2.8209
Season WHIP0.9104
Role Avg IP0.9570
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.019,
    "defense_index": 1.1633,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1558
  },
  "opponent": {
    "team": "PHI",
    "games": 162,
    "wins": 88,
    "losses": 74,
    "win_pct": 0.5432,
    "runs_scored": 713.0,
    "runs_allowed": 698.0,
    "run_differential": 15.0,
    "run_differential_per_game": 0.0926,
    "avg_runs_scored": 4.4012,
    "avg_runs_allowed": 4.3086,
    "offense_index": 0.9791,
    "defense_index": 1.0433,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.2,
      "avg_runs_allowed": 4.8,
      "run_differential": -16.0
    },
    "available": true,
    "quality_score": 0.0131
  },
  "edges": {
    "quality_edge": 0.1427,
    "offense_edge": 0.019,
    "opponent_offense_edge": -0.0209,
    "defense_strength": 0.1633,
    "opponent_defense_weakness": -0.0433,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0114,
    "run_prevention": 0.9732,
    "strikeout": 1.006
  },
  "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": 247.0,
        "k_percent": 29.4,
        "bb_percent": 6.5,
        "woba": 0.248,
        "xwoba": 0.252,
        "sweet_spot_percent": 35.7,
        "barrel_batted_rate": 5.4,
        "hard_hit_percent": 32.7,
        "avg_best_speed": 77.001,
        "avg_hyper_speed": 93.1922,
        "whiff_percent": 35.7,
        "swing_percent": 52.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0991,
        "command_and_miss": 1.1293,
        "regression_edge": -0.1143,
        "xwoba_edge": 1.7143,
        "barrel_edge": 0.4,
        "hard_hit_edge": 0.7429,
        "whiff_edge": 1.5,
        "bb_edge": 0.675,
        "pitch_design_score": -0.1899
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669276",
        "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.47228713726975,
          "release_spin_rate": 2144.465666280228,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.47228713726975,
            "release_spin_rate": 2144.465666280228,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4723,
          "release_spin_rate": 2144.4657,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1899,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.3567,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.8719,
      "sample_weight": 0.988,
      "run_prevention_factor": 0.9259,
      "strikeout_factor": 1.1005,
      "walk_factor": 0.9466,
      "homer_factor": 0.8882,
      "woba_minus_xwoba": -0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "669276",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9268,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9268,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9472,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8895,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0993,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 7,
    "H": 13,
    "BB": 2,
    "SO": 4,
    "HR": 0,
    "ERA": 7.560000000000001,
    "WHIP": 1.8000000000000003,
    "K9": 4.32,
    "HR9": 0.0,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669276",
  "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.47228713726975,
    "release_spin_rate": 2144.465666280228,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.47228713726975,
      "release_spin_rate": 2144.465666280228,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4723,
    "release_spin_rate": 2144.4657,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1899,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.3567,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.787,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7339,
    "prior_weight": 0.2661
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "669276",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 70,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 5.0,
        "R": 5.0,
        "H": 8.0,
        "BB": 2.0,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 23.0,
        "Pitches": 77.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.6,
        "BB": 0.4,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 2.0,
        "ER_per_IP": 1.0,
        "H_per_IP": 1.6,
        "BB_per_IP": 0.4,
        "SO_per_IP": 0.4,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 8.0,
        "R": 8.0,
        "H": 15.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 42.0,
        "Pitches": 154.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.5,
        "BB": 0.2,
        "SO": 0.5,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 8.0,
        "WHIP": 1.8889,
        "ER_per_IP": 0.88889,
        "H_per_IP": 1.66667,
        "BB_per_IP": 0.22222,
        "SO_per_IP": 0.55556,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 70,
      "totals": {
        "IP": 67.0,
        "ER": 21.0,
        "R": 23.0,
        "H": 45.0,
        "BB": 16.0,
        "SO": 77.0,
        "HR": 3.0,
        "BF": 258.0,
        "Pitches": 1043.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3286,
        "H": 0.6429,
        "BB": 0.2286,
        "SO": 1.1,
        "HR": 0.0429,
        "BF": 3.6857,
        "Pitches": 14.9
      },
      "rates": {
        "ERA": 2.8209,
        "WHIP": 0.9104,
        "ER_per_IP": 0.31343,
        "H_per_IP": 0.67164,
        "BB_per_IP": 0.23881,
        "SO_per_IP": 1.14925,
        "HR_per_IP": 0.04478
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.741,
    "predicted_H": 1.317,
    "predicted_BB": 0.325,
    "predicted_SO": 0.692,
    "predicted_HR": 0.046,
    "predicted_ERA": 6.6696,
    "predicted_WHIP": 1.6421
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4624,
  "form_weight": 0.5376,
  "form_reliability": 0.7339,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.787,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7339,
    "prior_weight": 0.2661
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.741,
      "final": 0.3983,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.317,
      "final": 1.1704,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.325,
      "final": 0.6371,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.692,
      "final": 1.2969,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.046,
      "final": 0.0247,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.6696,
      "final": 6.6696,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.6421,
      "final": 1.6421,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherRaisel Iglesias
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2922
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0860
Avg Velo91.4006
Avg Spin2203.4840
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO0
Season ERA2.5500
Season WHIP1.0833
Role Avg IP1.0170
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.019,
    "defense_index": 1.1633,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1558
  },
  "opponent": {
    "team": "PHI",
    "games": 162,
    "wins": 88,
    "losses": 74,
    "win_pct": 0.5432,
    "runs_scored": 713.0,
    "runs_allowed": 698.0,
    "run_differential": 15.0,
    "run_differential_per_game": 0.0926,
    "avg_runs_scored": 4.4012,
    "avg_runs_allowed": 4.3086,
    "offense_index": 0.9791,
    "defense_index": 1.0433,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.2,
      "avg_runs_allowed": 4.8,
      "run_differential": -16.0
    },
    "available": true,
    "quality_score": 0.0131
  },
  "edges": {
    "quality_edge": 0.1427,
    "offense_edge": 0.019,
    "opponent_offense_edge": -0.0209,
    "defense_strength": 0.1633,
    "opponent_defense_weakness": -0.0433,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0114,
    "run_prevention": 0.9732,
    "strikeout": 1.006
  },
  "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": 221.0,
        "k_percent": 26.8,
        "bb_percent": 7.1,
        "woba": 0.274,
        "xwoba": 0.289,
        "sweet_spot_percent": 35.0,
        "barrel_batted_rate": 9.6,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 77.1554,
        "avg_hyper_speed": 93.6867,
        "whiff_percent": 30.0,
        "swing_percent": 52.4
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.3541,
        "command_and_miss": 0.6471,
        "regression_edge": -0.4286,
        "xwoba_edge": 0.6571,
        "barrel_edge": -0.5333,
        "hard_hit_edge": 0.0429,
        "whiff_edge": 0.6857,
        "bb_edge": 0.525,
        "pitch_design_score": 0.086
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "628452",
        "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.40058104726758,
          "release_spin_rate": 2203.483991219297,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.40058104726758,
            "release_spin_rate": 2203.483991219297,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4006,
          "release_spin_rate": 2203.484,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.086,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.6146,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2922,
      "sample_weight": 0.884,
      "run_prevention_factor": 0.9752,
      "strikeout_factor": 1.048,
      "walk_factor": 0.9629,
      "homer_factor": 1.0188,
      "woba_minus_xwoba": -0.015,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "628452",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9781,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9781,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9672,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0166,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0424,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "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": 4,
    "BB": 1,
    "SO": 12,
    "HR": 1,
    "ERA": 0.9,
    "WHIP": 0.5,
    "K9": 10.8,
    "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-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "628452",
  "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.40058104726758,
    "release_spin_rate": 2203.483991219297,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.40058104726758,
      "release_spin_rate": 2203.483991219297,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4006,
    "release_spin_rate": 2203.484,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.086,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.6146,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.347,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7118,
    "prior_weight": 0.2882
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "628452",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 59,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 63.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.0,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 12.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.2,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 1.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 12.0,
        "HR": 1.0,
        "BF": 35.0,
        "Pitches": 137.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.4,
        "BB": 0.1,
        "SO": 1.2,
        "HR": 0.1,
        "BF": 3.5,
        "Pitches": 13.7
      },
      "rates": {
        "ERA": 0.9,
        "WHIP": 0.5,
        "ER_per_IP": 0.1,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.1,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 59,
      "totals": {
        "IP": 60.0,
        "ER": 17.0,
        "R": 21.0,
        "H": 48.0,
        "BB": 17.0,
        "SO": 64.0,
        "HR": 6.0,
        "BF": 239.0,
        "Pitches": 911.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2881,
        "R": 0.3559,
        "H": 0.8136,
        "BB": 0.2881,
        "SO": 1.0847,
        "HR": 0.1017,
        "BF": 4.0508,
        "Pitches": 15.4407
      },
      "rates": {
        "ERA": 2.55,
        "WHIP": 1.0833,
        "ER_per_IP": 0.28333,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.28333,
        "SO_per_IP": 1.06667,
        "HR_per_IP": 0.1
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.213,
    "predicted_H": 0.561,
    "predicted_BB": 0.174,
    "predicted_SO": 1.169,
    "predicted_HR": 0.082,
    "predicted_ERA": 1.9176,
    "predicted_WHIP": 0.7357
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4718,
  "form_weight": 0.5282,
  "form_reliability": 0.7118,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.347,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7118,
    "prior_weight": 0.2882
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.213,
      "final": 0.1125,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.561,
      "final": 0.7681,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.174,
      "final": 0.0919,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.169,
      "final": 1.561,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.082,
      "final": 0.0433,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9176,
      "final": 1.9176,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.7357,
      "final": 0.7357,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
FieldValue
PitcherDidier Fuentes
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6105
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2116
Avg Velo93.6432
Avg Spin2181.8888
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA2.4771
Season WHIP1.1009
Role Avg IP1.2440
Recent Avg IP1.4000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 162,
    "wins": 94,
    "losses": 68,
    "win_pct": 0.5802,
    "runs_scored": 742.0,
    "runs_allowed": 626.0,
    "run_differential": 116.0,
    "run_differential_per_game": 0.716,
    "avg_runs_scored": 4.5802,
    "avg_runs_allowed": 3.8642,
    "offense_index": 1.019,
    "defense_index": 1.1633,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.0,
      "avg_runs_allowed": 3.9,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.1558
  },
  "opponent": {
    "team": "PHI",
    "games": 162,
    "wins": 88,
    "losses": 74,
    "win_pct": 0.5432,
    "runs_scored": 713.0,
    "runs_allowed": 698.0,
    "run_differential": 15.0,
    "run_differential_per_game": 0.0926,
    "avg_runs_scored": 4.4012,
    "avg_runs_allowed": 4.3086,
    "offense_index": 0.9791,
    "defense_index": 1.0433,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.2,
      "avg_runs_allowed": 4.8,
      "run_differential": -16.0
    },
    "available": true,
    "quality_score": 0.0131
  },
  "edges": {
    "quality_edge": 0.1427,
    "offense_edge": 0.019,
    "opponent_offense_edge": -0.0209,
    "defense_strength": 0.1633,
    "opponent_defense_weakness": -0.0433,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0114,
    "run_prevention": 0.9732,
    "strikeout": 1.006
  },
  "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": 264.0,
        "k_percent": 31.0,
        "bb_percent": 7.1,
        "woba": 0.269,
        "xwoba": 0.275,
        "sweet_spot_percent": 36.3,
        "barrel_batted_rate": 6.6,
        "hard_hit_percent": 34.6,
        "avg_best_speed": 77.5089,
        "avg_hyper_speed": 93.3514,
        "whiff_percent": 30.4,
        "swing_percent": 52.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6329,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6555,
        "command_and_miss": 0.9371,
        "regression_edge": -0.1714,
        "xwoba_edge": 1.0571,
        "barrel_edge": 0.1333,
        "hard_hit_edge": 0.4714,
        "whiff_edge": 0.7429,
        "bb_edge": 0.525,
        "pitch_design_score": 0.2116
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "800311",
        "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.64318613230246,
          "release_spin_rate": 2181.8888248980625,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.64318613230246,
            "release_spin_rate": 2181.8888248980625,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6432,
          "release_spin_rate": 2181.8888,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2116,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.5116,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6105,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9481,
      "strikeout_factor": 1.0806,
      "walk_factor": 0.958,
      "homer_factor": 0.9388,
      "woba_minus_xwoba": -0.006,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "800311",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9481,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9481,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.958,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9388,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0806,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "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.0,
    "ER": 4,
    "H": 12,
    "BB": 3,
    "SO": 17,
    "HR": 2,
    "ERA": 2.5714285714285716,
    "WHIP": 1.0714285714285714,
    "K9": 10.928571428571429,
    "HR9": 1.2857142857142858,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "800311",
  "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.64318613230246,
    "release_spin_rate": 2181.8888248980625,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.64318613230246,
      "release_spin_rate": 2181.8888248980625,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6432,
    "release_spin_rate": 2181.8888,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2116,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.5116,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.953,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7494,
    "prior_weight": 0.2506
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "800311",
  "report_date": "20260929",
  "season_year": 2026,
  "rows_used": 57,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 7.0,
        "ER": 3.0,
        "R": 4.0,
        "H": 9.0,
        "BB": 2.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 30.0,
        "Pitches": 139.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.6,
        "R": 0.8,
        "H": 1.8,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 6.0,
        "Pitches": 27.8
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.5714,
        "ER_per_IP": 0.42857,
        "H_per_IP": 1.28571,
        "BB_per_IP": 0.28571,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.14286
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 14.0,
        "ER": 4.0,
        "R": 5.0,
        "H": 12.0,
        "BB": 3.0,
        "SO": 17.0,
        "HR": 2.0,
        "BF": 55.0,
        "Pitches": 236.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4,
        "R": 0.5,
        "H": 1.2,
        "BB": 0.3,
        "SO": 1.7,
        "HR": 0.2,
        "BF": 5.5,
        "Pitches": 23.6
      },
      "rates": {
        "ERA": 2.5714,
        "WHIP": 1.0714,
        "ER_per_IP": 0.28571,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 1.21429,
        "HR_per_IP": 0.14286
      }
    },
    "season": {
      "games": 57,
      "totals": {
        "IP": 72.2,
        "ER": 20.0,
        "R": 21.0,
        "H": 60.0,
        "BB": 20.0,
        "SO": 91.0,
        "HR": 6.0,
        "BF": 294.0,
        "Pitches": 1221.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3509,
        "R": 0.3684,
        "H": 1.0526,
        "BB": 0.3509,
        "SO": 1.5965,
        "HR": 0.1053,
        "BF": 5.1579,
        "Pitches": 21.4211
      },
      "rates": {
        "ERA": 2.4771,
        "WHIP": 1.1009,
        "ER_per_IP": 0.27523,
        "H_per_IP": 0.82569,
        "BB_per_IP": 0.27523,
        "SO_per_IP": 1.25229,
        "HR_per_IP": 0.08257
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.454,
    "predicted_H": 1.2,
    "predicted_BB": 0.337,
    "predicted_SO": 1.257,
    "predicted_HR": 0.158,
    "predicted_ERA": 3.5032,
    "predicted_WHIP": 1.3175
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4559,
  "form_weight": 0.5441,
  "form_reliability": 0.7494,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.953,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7494,
    "prior_weight": 0.2506
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.454,
      "final": 0.247,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.2,
      "final": 1.1088,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.337,
      "final": 0.1834,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.257,
      "final": 1.5957,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.158,
      "final": 0.086,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.5032,
      "final": 3.5032,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3175,
      "final": 1.3175,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "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."
}
Drake Baldwin (686948) · BATTER · C · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 582
All-history rows before 20260929: 582
System season_avg: 0.2850
Data season_avg (2026 season-to-date): 0.2841
Diff (system - data): 0.0009
System opponent_avg: 0.1710

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1461.0000.000Hitting_2B0.1410.0000.8591.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB5.9305.0004.000Hitting_AB3.9795.0001.0210.000
predicted_AVG0.2860.6000.250Hitting_AVG0.2840.6000.3160.000
predicted_BB0.4010.0001.000Hitting_BB0.4210.000-0.4210.000
predicted_CS-0.0000.000BaseRunning_CS0.0050.000-0.0050.000
predicted_H1.7003.0001.000Hitting_H1.1313.0001.8690.000
predicted_HR0.2800.0000.000Hitting_HR0.1821.000-0.182-1.000
predicted_OBP0.3590.6000.400Hitting_OBP0.3610.6000.2390.000
predicted_R0.6131.0001.000Hitting_R0.6271.0000.3730.000
predicted_RBI0.7900.0001.000Hitting_RBI0.6102.000-0.610-2.000
predicted_SLG0.4800.8000.250Hitting_SLG0.4571.2000.343-0.400
predicted_SO0.9420.0001.000Hitting_SO0.9540.000-0.9540.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_H: 1.7000 -> 3.0000 (boost 1.3000, better)
Biggest Deboostpredicted_SO: 0.9420 -> 0.0000 (deboost -0.9420, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_AVG: 0.2860 -> 0.2941 (boost 0.0081, better)predicted_AB: 5.9300 -> 5.1130 (deboost -0.8170, 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.
3team_form_snapshot20202-predicted_OBP: 0.3644 -> 0.3432 (deboost -0.0212, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81708predicted_SO: 0.8974 -> 1.0000 (boost 0.1026, worse)predicted_AB: 5.1130 -> 4.0000 (deboost -1.1130, worse)AB rounded to 4 (raw=5.93), rates preserved: AVG=0.239 HR/AB=0.041
6consistency_constraints11010predicted_R: 0.6094 -> 1.0000 (boost 0.3906, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine66051predicted_RBI: 0.0000 -> 0.5930 (boost 0.5930, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62433predicted_BB: 0.3188 -> 1.0000 (boost 0.6812, better)predicted_HR: 0.1772 -> 0.0000 (deboost -0.1772, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50505-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference43140predicted_H: 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
11current_json_final33030predicted_AVG: 0.2600 -> 0.2949 (boost 0.0349, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.146,
        "predicted_3B": 0.0,
        "predicted_AB": 5.93,
        "predicted_AVG": 0.286,
        "predicted_BB": 0.401,
        "predicted_H": 1.7,
        "predicted_HR": 0.28,
        "predicted_OBP": 0.359,
        "predicted_R": 0.613,
        "predicted_RBI": 0.79,
        "predicted_SLG": 0.48,
        "predicted_SO": 0.942
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.163,
        "predicted_3B": 0.0004,
        "predicted_AB": 5.113,
        "predicted_AVG": 0.2941,
        "predicted_BB": 0.3744,
        "predicted_H": 1.4972,
        "predicted_HBP": 0.095,
        "predicted_HR": 0.2394,
        "predicted_OBP": 0.3644,
        "predicted_R": 0.6008,
        "predicted_RBI": 0.667,
        "predicted_SLG": 0.4838,
        "predicted_SO": 0.9019
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.146,
          "after": 0.163,
          "delta": 0.017,
          "percent_delta": 0.1164,
          "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.93,
          "after": 5.113,
          "delta": -0.817,
          "percent_delta": -0.1378,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.286,
          "after": 0.2941,
          "delta": 0.0081,
          "percent_delta": 0.0283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.401,
          "after": 0.3744,
          "delta": -0.0266,
          "percent_delta": -0.0663,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.7,
          "after": 1.4972,
          "delta": -0.2028,
          "percent_delta": -0.1193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.28,
          "after": 0.2394,
          "delta": -0.0406,
          "percent_delta": -0.145,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.359,
          "after": 0.3644,
          "delta": 0.0054,
          "percent_delta": 0.015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.613,
          "after": 0.6008,
          "delta": -0.0122,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.79,
          "after": 0.667,
          "delta": -0.123,
          "percent_delta": -0.1557,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.48,
          "after": 0.4838,
          "delta": 0.0038,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.942,
          "after": 0.9019,
          "delta": -0.0401,
          "percent_delta": -0.0426,
          "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.286,
          "after": 0.2941,
          "delta": 0.0081,
          "percent_delta": 0.0283,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.93,
          "after": 5.113,
          "delta": -0.817,
          "percent_delta": -0.1378,
          "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": 137
      }
    },
    {
      "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.163,
        "predicted_3B": 0.0004,
        "predicted_AB": 5.113,
        "predicted_AVG": 0.2949,
        "predicted_BB": 0.3763,
        "predicted_H": 1.5078,
        "predicted_HBP": 0.095,
        "predicted_HR": 0.2406,
        "predicted_OBP": 0.3432,
        "predicted_R": 0.6094,
        "predicted_RBI": 0.6765,
        "predicted_SLG": 0.4681,
        "predicted_SO": 0.8974
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.163,
          "after": 0.163,
          "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": 5.113,
          "after": 5.113,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2941,
          "after": 0.2949,
          "delta": 0.0008,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3744,
          "after": 0.3763,
          "delta": 0.0019,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.4972,
          "after": 1.5078,
          "delta": 0.0106,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.095,
          "after": 0.095,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2394,
          "after": 0.2406,
          "delta": 0.0012,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3644,
          "after": 0.3432,
          "delta": -0.0212,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6008,
          "after": 0.6094,
          "delta": 0.0086,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.667,
          "after": 0.6765,
          "delta": 0.0095,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4838,
          "after": 0.4681,
          "delta": -0.0157,
          "percent_delta": -0.0325,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9019,
          "after": 0.8974,
          "delta": -0.0045,
          "percent_delta": -0.005,
          "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.3644,
          "after": 0.3432,
          "delta": -0.0212,
          "percent_delta": -0.0582,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.93), rates preserved: AVG=0.239 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "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.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.113,
          "after": 4.0,
          "delta": -1.113,
          "percent_delta": -0.2177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3763,
          "after": 0.0,
          "delta": -0.3763,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.5078,
          "after": 1.0,
          "delta": -0.5078,
          "percent_delta": -0.3368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.095,
          "after": 0.0,
          "delta": -0.095,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2406,
          "after": 0.0,
          "delta": -0.2406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6765,
          "after": 0.0,
          "delta": -0.6765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8974,
          "after": 1.0,
          "delta": 0.1026,
          "percent_delta": 0.1143,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.8974,
          "after": 1.0,
          "delta": 0.1026,
          "percent_delta": 0.1143,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.113,
          "after": 4.0,
          "delta": -1.113,
          "percent_delta": -0.2177,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "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.6094,
          "after": 1.0,
          "delta": 0.3906,
          "percent_delta": 0.641,
          "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.6094,
          "after": 1.0,
          "delta": 0.3906,
          "percent_delta": 0.641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1595,
        "predicted_3B": 0.0101,
        "predicted_BB": 0.3188,
        "predicted_H": 1.0626,
        "predicted_HR": 0.1772,
        "predicted_RBI": 0.593,
        "predicted_SO": 1.1757
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1595,
          "delta": 0.1595,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0101,
          "delta": 0.0101,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3188,
          "delta": 0.3188,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0626,
          "delta": 0.0626,
          "percent_delta": 0.0626,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1772,
          "delta": 0.1772,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.593,
          "delta": 0.593,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1757,
          "delta": 0.1757,
          "percent_delta": 0.1757,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.593,
          "delta": 0.593,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1595,
          "after": 0.0,
          "delta": -0.1595,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0101,
          "after": 0.0,
          "delta": -0.0101,
          "percent_delta": -1.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_BB",
          "before": 0.3188,
          "after": 1.0,
          "delta": 0.6812,
          "percent_delta": 2.1368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0626,
          "after": 1.0,
          "delta": -0.0626,
          "percent_delta": -0.0589,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1772,
          "after": 0.0,
          "delta": -0.1772,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.593,
          "after": 1.0,
          "delta": 0.407,
          "percent_delta": 0.6863,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1757,
          "after": 1.0,
          "delta": -0.1757,
          "percent_delta": -0.1494,
          "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_BB",
          "before": 0.3188,
          "after": 1.0,
          "delta": 0.6812,
          "percent_delta": 2.1368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1772,
          "after": 0.0,
          "delta": -0.1772,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "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.26,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.434,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2949,
          "after": 0.26,
          "delta": -0.0349,
          "percent_delta": -0.1183,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3432,
          "after": 0.319,
          "delta": -0.0242,
          "percent_delta": -0.0705,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4681,
          "after": 0.434,
          "delta": -0.0341,
          "percent_delta": -0.0728,
          "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": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "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": 10,
      "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": 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": 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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": 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": 11,
      "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.2949,
        "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.3432,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4681,
        "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": 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.26,
          "after": 0.2949,
          "delta": 0.0349,
          "percent_delta": 0.1342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3432,
          "delta": 0.0242,
          "percent_delta": 0.076,
          "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.434,
          "after": 0.4681,
          "delta": 0.0341,
          "percent_delta": 0.0786,
          "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.26,
          "after": 0.2949,
          "delta": 0.0349,
          "percent_delta": 0.1342,
          "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.146,
        "after": 1.0,
        "delta": 0.854,
        "percent_delta": 5.8493,
        "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.93,
        "after": 5.0,
        "delta": -0.93,
        "percent_delta": -0.1568,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.286,
        "after": 0.2949,
        "delta": 0.0089,
        "percent_delta": 0.0311,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.401,
        "after": 0.0,
        "delta": -0.401,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.7,
        "after": 3.0,
        "delta": 1.3,
        "percent_delta": 0.7647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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.359,
        "after": 0.3432,
        "delta": -0.0158,
        "percent_delta": -0.044,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.79,
        "after": 0.0,
        "delta": -0.79,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.48,
        "after": 0.4681,
        "delta": -0.0119,
        "percent_delta": -0.0248,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.942,
        "after": 0.0,
        "delta": -0.942,
        "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": 1.7,
        "after": 3.0,
        "delta": 1.3,
        "percent_delta": 0.7647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.942,
        "after": 0.0,
        "delta": -0.942,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.146-
predicted_3B0.000-
predicted_AB5.930-
predicted_AVG0.286-
predicted_BB0.401-
predicted_H1.700-
predicted_HR0.280-
predicted_OBP0.359-
predicted_R0.613-
predicted_RBI0.790-
predicted_SLG0.480-
predicted_SO0.942-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1630.017
predicted_3B0.0000.000
predicted_AB5.113-0.817
predicted_AVG0.2940.008
predicted_BB0.374-0.027
predicted_H1.497-0.203
predicted_HBP0.095-
predicted_HR0.239-0.041
predicted_OBP0.3640.005
predicted_R0.601-0.012
predicted_RBI0.667-0.123
predicted_SLG0.4840.004
predicted_SO0.902-0.040
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1630.000
predicted_3B0.0000.000
predicted_AB5.1130.000
predicted_AVG0.2950.001
predicted_BB0.3760.002
predicted_H1.5080.011
predicted_HBP0.0950.000
predicted_HR0.2410.001
predicted_OBP0.343-0.021
predicted_R0.6090.009
predicted_RBI0.6760.009
predicted_SLG0.468-0.016
predicted_SO0.897-0.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.93), rates preserved: AVG=0.239 HR/AB=0.041

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1600.160
3B0.0100.010
BB0.3190.319
H1.0630.063
HR0.1770.177
RBI0.5930.593
SO1.1760.176
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.160
3B0.000-0.010
AB4.0000.000
BB1.0000.681
H1.000-0.063
HR0.000-0.177
R1.0000.000
RBI1.0000.407
SO1.000-0.176
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.163
predicted_3B0.000-0.000
predicted_AB4.000-1.113
predicted_AVG0.260-0.035
predicted_BB0.000-0.376
predicted_H1.000-0.508
predicted_HR0.000-0.241
predicted_OBP0.319-0.024
predicted_R1.0000.391
predicted_RBI0.000-0.676
predicted_SLG0.434-0.034
predicted_SO1.0000.103
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H3.0002.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 137
Reference playing time: 5.930
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0007.0001.0000.0001.0002.0002.0001.0003.0000.33330.39130.52380.33330.04760.09520.04760.1429
last_100.2010-43.00015.0003.0000.0002.0004.0007.0003.0008.0000.34880.40430.55810.34880.04650.09300.06980.1860
season0.60137-541.000154.00020.0000.00025.00079.00084.00055.000129.0000.28470.35910.46030.28470.04620.14600.10170.2384
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1850
predicted_3B0.0010
predicted_AB4.0570
predicted_AVG0.3045
predicted_BB0.3400
predicted_H1.2350
predicted_HBP0.0950
predicted_HR0.1870
predicted_OBP0.3713
predicted_R0.5850
predicted_RBI0.5080
predicted_SLG0.4886
predicted_SO0.8500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14600.18500.1630model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB5.93004.05705.1130model_form_blend
predicted_AVG0.28600.30450.2941model_form_blend
predicted_BB0.40100.34000.3744model_form_blend
predicted_H1.70001.23501.4972model_form_blend
predicted_HBP-0.09500.0950form_only
predicted_HR0.28000.18700.2394model_form_blend
predicted_OBP0.35900.37130.3644model_form_blend
predicted_R0.61300.58500.6008model_form_blend
predicted_RBI0.79000.50800.6670model_form_blend
predicted_SLG0.48000.48860.4838model_form_blend
predicted_SO0.94200.85000.9019model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date582
Season rows before report date582
Report year2026
Profile rows used137
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H3
2B1
3B0
HR0
R1
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.6
Hitting_BB0
Hitting_GIDP0
Hitting_H3
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB6
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20260926_ATL@MIA
game_typefull
mlbID686948
playerID686948
playerNameDrake Baldwin
posC
startedTrue
startingPositionC
teamATL
teamID2
game_date2026-09-26
sl_k_percent21.5
sl_bb_percent8.9
sl_woba0.358
sl_xwoba0.37
sl_xba0.279
sl_xslg0.505
sl_sweet_spot_percent37.5
sl_barrel_batted_rate12.9
sl_hard_hit_percent50.6
sl_exit_velocity_avg91.5
sl_launch_angle_avg11.0
sl_whiff_percent24.4
sl_swing_percent51.2
Mauricio Dubón (643289) · BATTER · LF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 589
All-history rows before 20260929: 589
System season_avg: 0.2780
Data season_avg (2026 season-to-date): 0.2785
Diff (system - data): -0.0005
System opponent_avg: 0.4280

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1841.0001.000Hitting_2B0.1920.0000.8081.000
predicted_3B0.0200.0000.000Hitting_3B0.0220.000-0.0220.000
predicted_AB4.4404.0004.000Hitting_AB3.8224.0000.1780.000
predicted_AVG0.2710.5000.250Hitting_AVG0.2790.5000.2210.000
predicted_BB0.2300.0000.000Hitting_BB0.2460.000-0.2460.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.2002.0001.000Hitting_H1.0652.0000.9350.000
predicted_HR0.1100.0000.000Hitting_HR0.0811.000-0.081-1.000
predicted_OBP0.3370.5000.250Hitting_OBP0.3260.5000.1740.000
predicted_R0.4341.0000.000Hitting_R0.4501.0000.5500.000
predicted_RBI0.5602.0000.000Hitting_RBI0.5132.0001.4870.000
predicted_SLG0.4290.7500.500Hitting_SLG0.4041.2500.346-0.500
predicted_SO0.4801.0001.000Hitting_SO0.4820.0000.5181.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.5600 -> 2.0000 (boost 1.4400, better)
Biggest Deboostpredicted_AB: 4.4400 -> 4.0000 (deboost -0.4400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AVG: 0.2710 -> 0.2877 (boost 0.0167, better)predicted_AB: 4.4400 -> 4.1486 (deboost -0.2914, 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.
3team_form_snapshot20202-predicted_SLG: 0.4411 -> 0.4218 (deboost -0.0193, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling70716-predicted_RBI: 0.5362 -> 0.0000 (deboost -0.5362, worse)AB rounded to 4 (raw=4.44), rates preserved: AVG=0.253 HR/AB=0.025
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.444)
7consistency_constraints10101-predicted_R: 0.4610 -> 0.0000 (deboost -0.4610, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_SO: 0.0000 -> 0.5679 (boost 0.5679, worse)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation52314predicted_2B: 0.1959 -> 1.0000 (boost 0.8041, better)predicted_RBI: 0.4814 -> 0.0000 (deboost -0.4814, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context50514-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference55041predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_AVG: 0.2710 -> 0.2877 (boost 0.0167, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.184,
        "predicted_3B": 0.02,
        "predicted_AB": 4.44,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.23,
        "predicted_H": 1.2,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.337,
        "predicted_R": 0.434,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.429,
        "predicted_SO": 0.48
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1779,
        "predicted_3B": 0.0248,
        "predicted_AB": 4.1486,
        "predicted_AVG": 0.2877,
        "predicted_BB": 0.2261,
        "predicted_H": 1.1852,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1091,
        "predicted_OBP": 0.3425,
        "predicted_R": 0.4545,
        "predicted_RBI": 0.5286,
        "predicted_SLG": 0.4411,
        "predicted_SO": 0.466
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.184,
          "after": 0.1779,
          "delta": -0.0061,
          "percent_delta": -0.0332,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.0248,
          "delta": 0.0048,
          "percent_delta": 0.24,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.44,
          "after": 4.1486,
          "delta": -0.2914,
          "percent_delta": -0.0656,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.2877,
          "delta": 0.0167,
          "percent_delta": 0.0616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.23,
          "after": 0.2261,
          "delta": -0.0039,
          "percent_delta": -0.017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2,
          "after": 1.1852,
          "delta": -0.0148,
          "percent_delta": -0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1091,
          "delta": -0.0009,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.337,
          "after": 0.3425,
          "delta": 0.0055,
          "percent_delta": 0.0163,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.434,
          "after": 0.4545,
          "delta": 0.0205,
          "percent_delta": 0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.56,
          "after": 0.5286,
          "delta": -0.0314,
          "percent_delta": -0.0561,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.429,
          "after": 0.4411,
          "delta": 0.0121,
          "percent_delta": 0.0282,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.48,
          "after": 0.466,
          "delta": -0.014,
          "percent_delta": -0.0292,
          "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.271,
          "after": 0.2877,
          "delta": 0.0167,
          "percent_delta": 0.0616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.44,
          "after": 4.1486,
          "delta": -0.2914,
          "percent_delta": -0.0656,
          "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": 152
      }
    },
    {
      "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.1779,
        "predicted_3B": 0.0248,
        "predicted_AB": 4.1486,
        "predicted_AVG": 0.2877,
        "predicted_BB": 0.2272,
        "predicted_H": 1.1936,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1097,
        "predicted_OBP": 0.3247,
        "predicted_R": 0.461,
        "predicted_RBI": 0.5362,
        "predicted_SLG": 0.4218,
        "predicted_SO": 0.4637
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1779,
          "after": 0.1779,
          "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.1486,
          "after": 4.1486,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2877,
          "after": 0.2877,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2261,
          "after": 0.2272,
          "delta": 0.0011,
          "percent_delta": 0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1852,
          "after": 1.1936,
          "delta": 0.0084,
          "percent_delta": 0.0071,
          "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.1091,
          "after": 0.1097,
          "delta": 0.0006,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3425,
          "after": 0.3247,
          "delta": -0.0178,
          "percent_delta": -0.052,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4545,
          "after": 0.461,
          "delta": 0.0065,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5286,
          "after": 0.5362,
          "delta": 0.0076,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4411,
          "after": 0.4218,
          "delta": -0.0193,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.466,
          "after": 0.4637,
          "delta": -0.0023,
          "percent_delta": -0.0049,
          "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.4411,
          "after": 0.4218,
          "delta": -0.0193,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.44), rates preserved: AVG=0.253 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1779,
          "after": 0.0,
          "delta": -0.1779,
          "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.1486,
          "after": 4.0,
          "delta": -0.1486,
          "percent_delta": -0.0358,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2272,
          "after": 0.0,
          "delta": -0.2272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1936,
          "after": 1.0,
          "delta": -0.1936,
          "percent_delta": -0.1622,
          "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.1097,
          "after": 0.0,
          "delta": -0.1097,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5362,
          "after": 0.0,
          "delta": -0.5362,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4637,
          "after": 0.0,
          "delta": -0.4637,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5362,
          "after": 0.0,
          "delta": -0.5362,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.444)",
      "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": 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": 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.9077,
        "bvp": 0.0923
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.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": 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.461,
          "after": 0.0,
          "delta": -0.461,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1959,
        "predicted_3B": 0.0146,
        "predicted_BB": 0.2323,
        "predicted_H": 1.0118,
        "predicted_HR": 0.0963,
        "predicted_RBI": 0.4814,
        "predicted_SO": 0.5679
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1959,
          "delta": 0.1959,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0146,
          "delta": 0.0146,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2323,
          "delta": 0.2323,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0118,
          "delta": 0.0118,
          "percent_delta": 0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0963,
          "delta": 0.0963,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4814,
          "delta": 0.4814,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5679,
          "delta": 0.5679,
          "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_SO",
          "before": 0.0,
          "after": 0.5679,
          "delta": 0.5679,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1959,
          "after": 1.0,
          "delta": 0.8041,
          "percent_delta": 4.1046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0146,
          "after": 0.0,
          "delta": -0.0146,
          "percent_delta": -1.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_BB",
          "before": 0.2323,
          "after": 0.0,
          "delta": -0.2323,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0118,
          "after": 1.0,
          "delta": -0.0118,
          "percent_delta": -0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0963,
          "after": 0.0,
          "delta": -0.0963,
          "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.4814,
          "after": 0.0,
          "delta": -0.4814,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5679,
          "after": 1.0,
          "delta": 0.4321,
          "percent_delta": 0.7609,
          "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_2B",
          "before": 0.1959,
          "after": 1.0,
          "delta": 0.8041,
          "percent_delta": 4.1046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4814,
          "after": 0.0,
          "delta": -0.4814,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.271,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.408,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "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.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.271,
          "delta": -0.0167,
          "percent_delta": -0.058,
          "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.3247,
          "after": 0.319,
          "delta": -0.0057,
          "percent_delta": -0.0176,
          "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.4218,
          "after": 0.408,
          "delta": -0.0138,
          "percent_delta": -0.0327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "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_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 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_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": 12,
      "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.2877,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3247,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4218,
        "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.271,
          "after": 0.2877,
          "delta": 0.0167,
          "percent_delta": 0.0617,
          "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.319,
          "after": 0.3247,
          "delta": 0.0057,
          "percent_delta": 0.0179,
          "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.408,
          "after": 0.4218,
          "delta": 0.0138,
          "percent_delta": 0.0339,
          "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.271,
          "after": 0.2877,
          "delta": 0.0167,
          "percent_delta": 0.0617,
          "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.184,
        "after": 1.0,
        "delta": 0.816,
        "percent_delta": 4.4348,
        "direction": "boost",
        "projection_effect": "better",
        "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.44,
        "after": 4.0,
        "delta": -0.44,
        "percent_delta": -0.0991,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.271,
        "after": 0.2877,
        "delta": 0.0167,
        "percent_delta": 0.0616,
        "direction": "boost",
        "projection_effect": "better",
        "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": 1.2,
        "after": 2.0,
        "delta": 0.8,
        "percent_delta": 0.6667,
        "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.337,
        "after": 0.3247,
        "delta": -0.0123,
        "percent_delta": -0.0365,
        "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.56,
        "after": 2.0,
        "delta": 1.44,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.429,
        "after": 0.4218,
        "delta": -0.0072,
        "percent_delta": -0.0168,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.48,
        "after": 1.0,
        "delta": 0.52,
        "percent_delta": 1.0833,
        "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.56,
        "after": 2.0,
        "delta": 1.44,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.44,
        "after": 4.0,
        "delta": -0.44,
        "percent_delta": -0.0991,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.184-
predicted_3B0.020-
predicted_AB4.440-
predicted_AVG0.271-
predicted_BB0.230-
predicted_H1.200-
predicted_HR0.110-
predicted_OBP0.337-
predicted_R0.434-
predicted_RBI0.560-
predicted_SLG0.429-
predicted_SO0.480-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.178-0.006
predicted_3B0.0250.005
predicted_AB4.149-0.291
predicted_AVG0.2880.017
predicted_BB0.226-0.004
predicted_H1.185-0.015
predicted_HBP0.017-
predicted_HR0.109-0.001
predicted_OBP0.3430.006
predicted_R0.4550.021
predicted_RBI0.529-0.031
predicted_SLG0.4410.012
predicted_SO0.466-0.014
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1780.000
predicted_3B0.0250.000
predicted_AB4.1490.000
predicted_AVG0.2880.000
predicted_BB0.2270.001
predicted_H1.1940.008
predicted_HBP0.0170.000
predicted_HR0.1100.001
predicted_OBP0.325-0.018
predicted_R0.4610.007
predicted_RBI0.5360.008
predicted_SLG0.422-0.019
predicted_SO0.464-0.002
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.44), rates preserved: AVG=0.253 HR/AB=0.025

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO0.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.444)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO0.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO0.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1960.196
3B0.0150.015
BB0.2320.232
H1.0120.012
HR0.0960.096
RBI0.4810.481
SO0.5680.568
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.804
3B0.000-0.015
AB4.0000.000
BB0.000-0.232
H1.000-0.012
HR0.000-0.096
R0.0000.000
RBI0.000-0.481
SO1.0000.432
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.178
predicted_3B0.000-0.025
predicted_AB4.000-0.149
predicted_AVG0.271-0.017
predicted_BB0.000-0.227
predicted_H1.000-0.194
predicted_HR0.000-0.110
predicted_OBP0.319-0.006
predicted_R0.000-0.461
predicted_RBI0.000-0.536
predicted_SLG0.408-0.014
predicted_SO0.000-0.464
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI2.0002.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 152
Reference playing time: 4.440
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0007.0000.0000.0001.0003.0003.0001.0001.0000.36840.40000.52630.36840.05260.15790.05260.0526
last_100.2010-39.00014.0003.0001.0001.0004.0005.0002.0005.0000.35900.39020.56410.35900.02560.10260.05130.1282
season0.60152-565.000157.00028.0003.00012.00073.00066.00035.00073.0000.27790.32290.40180.27790.02120.12920.06190.1292
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1700
predicted_3B0.0310
predicted_AB3.7720
predicted_AVG0.3092
predicted_BB0.2210
predicted_H1.1660
predicted_HBP0.0170
predicted_HR0.1080
predicted_OBP0.3496
predicted_R0.4810
predicted_RBI0.4880
predicted_SLG0.4567
predicted_SO0.4480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18400.17000.1779model_form_blend
predicted_3B0.02000.03100.0248model_form_blend
predicted_AB4.44003.77204.1486model_form_blend
predicted_AVG0.27100.30920.2877model_form_blend
predicted_BB0.23000.22100.2261model_form_blend
predicted_H1.20001.16601.1852model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.11000.10800.1091model_form_blend
predicted_OBP0.33700.34960.3425model_form_blend
predicted_R0.43400.48100.4545model_form_blend
predicted_RBI0.56000.48800.5286model_form_blend
predicted_SLG0.42900.45670.4411model_form_blend
predicted_SO0.48000.44800.4660model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date589
Season rows before report date589
Report year2026
Profile rows used152
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B1
3B0
HR0
R1
RBI2
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF-3B
gameID20260927_ATL@MIA
game_typefull
mlbID643289
playerID643289
playerNameMauricio Dubón
posLF
startedTrue
startingPositionLF
teamATL
teamID2
game_date2026-09-27
sl_k_percent11.8
sl_bb_percent5.7
sl_woba0.317
sl_xwoba0.304
sl_xba0.268
sl_xslg0.375
sl_sweet_spot_percent36.5
sl_barrel_batted_rate4.0
sl_hard_hit_percent29.4
sl_exit_velocity_avg86.5
sl_launch_angle_avg16.1
sl_whiff_percent15.3
sl_swing_percent53.7
Ronald Acuña Jr. (660670) · BATTER · RF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 441
All-history rows before 20260929: 441
System season_avg: 0.2570
Data season_avg (2026 season-to-date): 0.2579
Diff (system - data): -0.0009
System opponent_avg: 0.2350

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1700.0000.000Hitting_2B0.1810.000-0.1810.000
predicted_3B0.0090.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB5.2305.0004.000Hitting_AB3.8785.0001.1220.000
predicted_AVG0.2160.4000.250Hitting_AVG0.2580.0000.1420.400
predicted_BB0.4910.0001.000Hitting_BB0.5280.000-0.5280.000
predicted_CS-0.0000.000BaseRunning_CS0.0770.000-0.0770.000
predicted_H1.1302.0001.000Hitting_H1.0000.0001.0002.000
predicted_HR0.2000.0000.000Hitting_HR0.1880.000-0.1880.000
predicted_OBP0.3010.4000.400Hitting_OBP0.3510.0000.0490.400
predicted_R0.5751.0001.000Hitting_R0.5800.0000.4201.000
predicted_RBI0.6101.0001.000Hitting_RBI0.5150.0000.4851.000
predicted_SLG0.4180.4000.250Hitting_SLG0.4550.000-0.0550.400
predicted_SO0.9621.0001.000Hitting_SO0.9821.0000.0180.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_H: 1.1300 -> 2.0000 (boost 0.8700, better)
Biggest Deboostpredicted_BB: 0.4910 -> 0.0000 (deboost -0.4910, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_AVG: 0.2160 -> 0.2240 (boost 0.0080, better)predicted_AB: 5.2300 -> 4.6088 (deboost -0.6212, 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.
3team_form_snapshot20202-predicted_SLG: 0.4118 -> 0.3819 (deboost -0.0299, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.9111 -> 1.0000 (boost 0.0889, worse)predicted_AB: 4.6088 -> 4.0000 (deboost -0.6088, worse)AB rounded to 4 (raw=5.23), rates preserved: AVG=0.186 HR/AB=0.036
6bvp_blend00000--Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.235)
7consistency_constraints11010predicted_R: 0.5429 -> 1.0000 (boost 0.4571, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4879 (boost 0.4879, better)predicted_H: 1.0000 -> 0.9193 (deboost -0.0807, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63342predicted_BB: 0.4140 -> 1.0000 (boost 0.5860, better)predicted_HR: 0.1627 -> 0.0000 (deboost -0.1627, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53232predicted_SLG: 0.3819 -> 0.4070 (boost 0.0251, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4070 -> 0.3819 (deboost -0.0251, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.17,
        "predicted_3B": 0.009,
        "predicted_AB": 5.23,
        "predicted_AVG": 0.216,
        "predicted_BB": 0.491,
        "predicted_H": 1.13,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.301,
        "predicted_R": 0.575,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.418,
        "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.1501,
        "predicted_3B": 0.0077,
        "predicted_AB": 4.6088,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.453,
        "predicted_H": 1.0258,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.1862,
        "predicted_OBP": 0.3049,
        "predicted_R": 0.5352,
        "predicted_RBI": 0.5478,
        "predicted_SLG": 0.4118,
        "predicted_SO": 0.9157
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.17,
          "after": 0.1501,
          "delta": -0.0199,
          "percent_delta": -0.1171,
          "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": 5.23,
          "after": 4.6088,
          "delta": -0.6212,
          "percent_delta": -0.1188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.216,
          "after": 0.224,
          "delta": 0.008,
          "percent_delta": 0.037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.491,
          "after": 0.453,
          "delta": -0.038,
          "percent_delta": -0.0774,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.13,
          "after": 1.0258,
          "delta": -0.1042,
          "percent_delta": -0.0922,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2,
          "after": 0.1862,
          "delta": -0.0138,
          "percent_delta": -0.069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.3049,
          "delta": 0.0039,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.575,
          "after": 0.5352,
          "delta": -0.0398,
          "percent_delta": -0.0692,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 0.5478,
          "delta": -0.0622,
          "percent_delta": -0.102,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4118,
          "delta": -0.0062,
          "percent_delta": -0.0148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.962,
          "after": 0.9157,
          "delta": -0.0463,
          "percent_delta": -0.0481,
          "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_AVG",
          "before": 0.216,
          "after": 0.224,
          "delta": 0.008,
          "percent_delta": 0.037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.23,
          "after": 4.6088,
          "delta": -0.6212,
          "percent_delta": -0.1188,
          "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.1501,
        "predicted_3B": 0.0077,
        "predicted_AB": 4.6088,
        "predicted_AVG": 0.2242,
        "predicted_BB": 0.4553,
        "predicted_H": 1.0331,
        "predicted_HBP": 0.028,
        "predicted_HR": 0.1871,
        "predicted_OBP": 0.2939,
        "predicted_R": 0.5429,
        "predicted_RBI": 0.5556,
        "predicted_SLG": 0.3819,
        "predicted_SO": 0.9111
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1501,
          "after": 0.1501,
          "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": 4.6088,
          "after": 4.6088,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.2242,
          "delta": 0.0002,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.453,
          "after": 0.4553,
          "delta": 0.0023,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0258,
          "after": 1.0331,
          "delta": 0.0073,
          "percent_delta": 0.0071,
          "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.1862,
          "after": 0.1871,
          "delta": 0.0009,
          "percent_delta": 0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3049,
          "after": 0.2939,
          "delta": -0.011,
          "percent_delta": -0.0361,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5352,
          "after": 0.5429,
          "delta": 0.0077,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5478,
          "after": 0.5556,
          "delta": 0.0078,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4118,
          "after": 0.3819,
          "delta": -0.0299,
          "percent_delta": -0.0726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9157,
          "after": 0.9111,
          "delta": -0.0046,
          "percent_delta": -0.005,
          "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.4118,
          "after": 0.3819,
          "delta": -0.0299,
          "percent_delta": -0.0726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.23), rates preserved: AVG=0.186 HR/AB=0.036",
      "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.1501,
          "after": 0.0,
          "delta": -0.1501,
          "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": 4.6088,
          "after": 4.0,
          "delta": -0.6088,
          "percent_delta": -0.1321,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4553,
          "after": 0.0,
          "delta": -0.4553,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0331,
          "after": 1.0,
          "delta": -0.0331,
          "percent_delta": -0.032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.1871,
          "after": 0.0,
          "delta": -0.1871,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5556,
          "after": 0.0,
          "delta": -0.5556,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9111,
          "after": 1.0,
          "delta": 0.0889,
          "percent_delta": 0.0976,
          "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.9111,
          "after": 1.0,
          "delta": 0.0889,
          "percent_delta": 0.0976,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.6088,
          "after": 4.0,
          "delta": -0.6088,
          "percent_delta": -0.1321,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.235)",
      "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.8553,
        "bvp": 0.1447
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.5429,
          "after": 1.0,
          "delta": 0.4571,
          "percent_delta": 0.842,
          "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.5429,
          "after": 1.0,
          "delta": 0.4571,
          "percent_delta": 0.842,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1615,
        "predicted_3B": 0.011,
        "predicted_BB": 0.414,
        "predicted_H": 0.9193,
        "predicted_HR": 0.1627,
        "predicted_RBI": 0.4879,
        "predicted_SO": 1.0767
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1615,
          "delta": 0.1615,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.011,
          "delta": 0.011,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.414,
          "delta": 0.414,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9193,
          "delta": -0.0807,
          "percent_delta": -0.0807,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1627,
          "delta": 0.1627,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4879,
          "delta": 0.4879,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0767,
          "delta": 0.0767,
          "percent_delta": 0.0767,
          "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_RBI",
          "before": 0.0,
          "after": 0.4879,
          "delta": 0.4879,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9193,
          "delta": -0.0807,
          "percent_delta": -0.0807,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1615,
          "after": 0.0,
          "delta": -0.1615,
          "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": 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.414,
          "after": 1.0,
          "delta": 0.586,
          "percent_delta": 1.4155,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9193,
          "after": 1.0,
          "delta": 0.0807,
          "percent_delta": 0.0878,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1627,
          "after": 0.0,
          "delta": -0.1627,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4879,
          "after": 1.0,
          "delta": 0.5121,
          "percent_delta": 1.0496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0767,
          "after": 1.0,
          "delta": -0.0767,
          "percent_delta": -0.0712,
          "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.414,
          "after": 1.0,
          "delta": 0.586,
          "percent_delta": 1.4155,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1627,
          "after": 0.0,
          "delta": -0.1627,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.407,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2242,
          "after": 0.235,
          "delta": 0.0108,
          "percent_delta": 0.0482,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2939,
          "after": 0.314,
          "delta": 0.0201,
          "percent_delta": 0.0684,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3819,
          "after": 0.407,
          "delta": 0.0251,
          "percent_delta": 0.0657,
          "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": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3819,
          "after": 0.407,
          "delta": 0.0251,
          "percent_delta": 0.0657,
          "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": 11,
      "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": 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": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "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": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "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.2242,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2939,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3819,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.235,
          "after": 0.2242,
          "delta": -0.0108,
          "percent_delta": -0.0462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.314,
          "after": 0.2939,
          "delta": -0.0201,
          "percent_delta": -0.064,
          "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.407,
          "after": 0.3819,
          "delta": -0.0251,
          "percent_delta": -0.0617,
          "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.3819,
          "delta": -0.0251,
          "percent_delta": -0.0617,
          "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.17,
        "after": 0.0,
        "delta": -0.17,
        "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": 5.23,
        "after": 5.0,
        "delta": -0.23,
        "percent_delta": -0.044,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.216,
        "after": 0.2242,
        "delta": 0.0082,
        "percent_delta": 0.038,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.491,
        "after": 0.0,
        "delta": -0.491,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.13,
        "after": 2.0,
        "delta": 0.87,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "better",
        "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.301,
        "after": 0.2939,
        "delta": -0.0071,
        "percent_delta": -0.0236,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.575,
        "after": 1.0,
        "delta": 0.425,
        "percent_delta": 0.7391,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.418,
        "after": 0.3819,
        "delta": -0.0361,
        "percent_delta": -0.0864,
        "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": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.13,
        "after": 2.0,
        "delta": 0.87,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.491,
        "after": 0.0,
        "delta": -0.491,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.170-
predicted_3B0.009-
predicted_AB5.230-
predicted_AVG0.216-
predicted_BB0.491-
predicted_H1.130-
predicted_HR0.200-
predicted_OBP0.301-
predicted_R0.575-
predicted_RBI0.610-
predicted_SLG0.418-
predicted_SO0.962-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.150-0.020
predicted_3B0.008-0.001
predicted_AB4.609-0.621
predicted_AVG0.2240.008
predicted_BB0.453-0.038
predicted_H1.026-0.104
predicted_HBP0.028-
predicted_HR0.186-0.014
predicted_OBP0.3050.004
predicted_R0.535-0.040
predicted_RBI0.548-0.062
predicted_SLG0.412-0.006
predicted_SO0.916-0.046
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1500.000
predicted_3B0.0080.000
predicted_AB4.6090.000
predicted_AVG0.2240.000
predicted_BB0.4550.002
predicted_H1.0330.007
predicted_HBP0.0280.000
predicted_HR0.1870.001
predicted_OBP0.294-0.011
predicted_R0.5430.008
predicted_RBI0.5560.008
predicted_SLG0.382-0.030
predicted_SO0.911-0.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.23), rates preserved: AVG=0.186 HR/AB=0.036

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.235)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1620.162
3B0.0110.011
BB0.4140.414
H0.919-0.081
HR0.1630.163
RBI0.4880.488
SO1.0770.077
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.162
3B0.000-0.011
AB4.0000.000
BB1.0000.586
H1.0000.081
HR0.000-0.163
R1.0000.000
RBI1.0000.512
SO1.000-0.077
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.150
predicted_3B0.000-0.008
predicted_AB4.000-0.609
predicted_AVG0.2350.011
predicted_BB0.000-0.455
predicted_H1.000-0.033
predicted_HR0.000-0.187
predicted_OBP0.3140.020
predicted_R1.0000.457
predicted_RBI0.000-0.556
predicted_SLG0.4070.025
predicted_SO1.0000.089
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 106
Reference playing time: 5.230
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0003.0000.0000.0000.0000.0001.0001.0003.0000.16670.21050.16670.16670.00000.00000.05560.1667
last_100.2010-39.0009.0001.0000.0003.0008.0005.0004.0008.0000.23080.30230.48720.23080.07690.20510.10260.2051
season0.60106-405.000104.00018.0001.00020.00055.00061.00052.000102.0000.25680.34620.45430.25680.04940.13580.12840.2519
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1240
predicted_3B0.0060
predicted_AB3.7930
predicted_AVG0.2345
predicted_BB0.4030
predicted_H0.8890
predicted_HBP0.0280
predicted_HR0.1680
predicted_OBP0.3100
predicted_R0.4830
predicted_RBI0.4660
predicted_SLG0.4036
predicted_SO0.8550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17000.12400.1501model_form_blend
predicted_3B0.00900.00600.0077model_form_blend
predicted_AB5.23003.79304.6088model_form_blend
predicted_AVG0.21600.23450.2240model_form_blend
predicted_BB0.49100.40300.4530model_form_blend
predicted_H1.13000.88901.0258model_form_blend
predicted_HBP-0.02800.0280form_only
predicted_HR0.20000.16800.1862model_form_blend
predicted_OBP0.30100.31000.3049model_form_blend
predicted_R0.57500.48300.5352model_form_blend
predicted_RBI0.61000.46600.5478model_form_blend
predicted_SLG0.41800.40360.4118model_form_blend
predicted_SO0.96200.85500.9157model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date441
Season rows before report date441
Report year2026
Profile rows used106
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B0
3B0
HR0
R1
RBI1
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260926_ATL@MIA
game_typefull
mlbID660670
playerID660670
playerNameRonald Acuña Jr.
posRF
startedTrue
startingPositionRF
teamATL
teamID2
game_date2026-09-26
sl_k_percent22.0
sl_bb_percent11.3
sl_woba0.348
sl_xwoba0.366
sl_xba0.261
sl_xslg0.495
sl_sweet_spot_percent34.7
sl_barrel_batted_rate13.0
sl_hard_hit_percent43.5
sl_exit_velocity_avg89.6
sl_launch_angle_avg15.7
sl_whiff_percent29.0
sl_swing_percent49.4
Matt Olson (621566) · BATTER · 1B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 665
All-history rows before 20260929: 665
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2539
Diff (system - data): -0.0039
System opponent_avg: 0.2000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2111.0000.000Hitting_2B0.2290.0000.7711.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8455.0004.000Hitting_AB3.8982.0001.1023.000
predicted_AVG0.2430.4000.250Hitting_AVG0.2540.0000.1460.400
predicted_BB0.3910.0000.000Hitting_BB0.4300.000-0.4300.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9302.0001.000Hitting_H0.9890.0001.0112.000
predicted_HR0.2100.0001.000Hitting_HR0.2650.000-0.2650.000
predicted_OBP0.2810.4000.250Hitting_OBP0.3290.0000.0710.400
predicted_R0.6090.0001.000Hitting_R0.6570.000-0.6570.000
predicted_RBI0.6500.0001.000Hitting_RBI0.5920.000-0.5920.000
predicted_SLG0.4490.6001.000Hitting_SLG0.5160.0000.0840.600
predicted_SO1.0500.0001.000Hitting_SO1.0901.000-1.090-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_AB: 3.8450 -> 5.0000 (boost 1.1550, better)
Biggest Deboostpredicted_SO: 1.0500 -> 0.0000 (deboost -1.0500, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41322predicted_SLG: 0.4490 -> 0.4608 (boost 0.0118, better)predicted_SO: 1.0500 -> 0.9397 (deboost -0.1103, 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.
3team_form_snapshot22020predicted_OBP: 0.2848 -> 0.3076 (boost 0.0228, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_RBI: 0.6642 -> 1.0000 (boost 0.3358, better)predicted_BB: 0.3485 -> 0.0000 (deboost -0.3485, worse)AB rounded to 4 (raw=3.85), rates preserved: AVG=0.225 HR/AB=0.057
6bvp_blend00000--Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.5507 -> 1.0000 (boost 0.4493, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2942 (boost 0.2942, better)predicted_RBI: 1.0000 -> 0.5536 (deboost -0.4464, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63342predicted_HR: 0.2079 -> 1.0000 (boost 0.7921, better)predicted_BB: 0.2942 -> 0.0000 (deboost -0.2942, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context30303-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference63342predicted_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
12current_json_final22020predicted_SLG: 0.4560 -> 0.4699 (boost 0.0139, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.211,
        "predicted_3B": 0.0,
        "predicted_AB": 3.845,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.391,
        "predicted_H": 0.93,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.281,
        "predicted_R": 0.609,
        "predicted_RBI": 0.65,
        "predicted_SLG": 0.449,
        "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.2005,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.778,
        "predicted_AVG": 0.2426,
        "predicted_BB": 0.3468,
        "predicted_H": 0.9142,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.2166,
        "predicted_OBP": 0.2848,
        "predicted_R": 0.5429,
        "predicted_RBI": 0.6548,
        "predicted_SLG": 0.4608,
        "predicted_SO": 0.9397
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.2005,
          "delta": -0.0105,
          "percent_delta": -0.0498,
          "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.845,
          "after": 3.778,
          "delta": -0.067,
          "percent_delta": -0.0174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.243,
          "after": 0.2426,
          "delta": -0.0004,
          "percent_delta": -0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.391,
          "after": 0.3468,
          "delta": -0.0442,
          "percent_delta": -0.113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.93,
          "after": 0.9142,
          "delta": -0.0158,
          "percent_delta": -0.017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.2166,
          "delta": 0.0066,
          "percent_delta": 0.0314,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2848,
          "delta": 0.0038,
          "percent_delta": 0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.609,
          "after": 0.5429,
          "delta": -0.0661,
          "percent_delta": -0.1085,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.65,
          "after": 0.6548,
          "delta": 0.0048,
          "percent_delta": 0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.449,
          "after": 0.4608,
          "delta": 0.0118,
          "percent_delta": 0.0263,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.05,
          "after": 0.9397,
          "delta": -0.1103,
          "percent_delta": -0.105,
          "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_SLG",
          "before": 0.449,
          "after": 0.4608,
          "delta": 0.0118,
          "percent_delta": 0.0263,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.05,
          "after": 0.9397,
          "delta": -0.1103,
          "percent_delta": -0.105,
          "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": 161
      }
    },
    {
      "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.2005,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.778,
        "predicted_AVG": 0.2437,
        "predicted_BB": 0.3485,
        "predicted_H": 0.9207,
        "predicted_HBP": 0.012,
        "predicted_HR": 0.2177,
        "predicted_OBP": 0.3076,
        "predicted_R": 0.5507,
        "predicted_RBI": 0.6642,
        "predicted_SLG": 0.4699,
        "predicted_SO": 0.935
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2005,
          "after": 0.2005,
          "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.778,
          "after": 3.778,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2426,
          "after": 0.2437,
          "delta": 0.0011,
          "percent_delta": 0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3468,
          "after": 0.3485,
          "delta": 0.0017,
          "percent_delta": 0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9142,
          "after": 0.9207,
          "delta": 0.0065,
          "percent_delta": 0.0071,
          "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.2166,
          "after": 0.2177,
          "delta": 0.0011,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2848,
          "after": 0.3076,
          "delta": 0.0228,
          "percent_delta": 0.0801,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5429,
          "after": 0.5507,
          "delta": 0.0078,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6548,
          "after": 0.6642,
          "delta": 0.0094,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4608,
          "after": 0.4699,
          "delta": 0.0091,
          "percent_delta": 0.0197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9397,
          "after": 0.935,
          "delta": -0.0047,
          "percent_delta": -0.005,
          "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.2848,
          "after": 0.3076,
          "delta": 0.0228,
          "percent_delta": 0.0801,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.225 HR/AB=0.057",
      "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.2005,
          "after": 0.0,
          "delta": -0.2005,
          "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.778,
          "after": 4.0,
          "delta": 0.222,
          "percent_delta": 0.0588,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3485,
          "after": 0.0,
          "delta": -0.3485,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9207,
          "after": 1.0,
          "delta": 0.0793,
          "percent_delta": 0.0861,
          "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.2177,
          "after": 0.0,
          "delta": -0.2177,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6642,
          "after": 1.0,
          "delta": 0.3358,
          "percent_delta": 0.5056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.935,
          "after": 1.0,
          "delta": 0.065,
          "percent_delta": 0.0695,
          "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.6642,
          "after": 1.0,
          "delta": 0.3358,
          "percent_delta": 0.5056,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3485,
          "after": 0.0,
          "delta": -0.3485,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=30.0, weight=0.200, 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.8,
        "bvp": 0.2
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.5507,
          "after": 1.0,
          "delta": 0.4493,
          "percent_delta": 0.8159,
          "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.5507,
          "after": 1.0,
          "delta": 0.4493,
          "percent_delta": 0.8159,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1663,
        "predicted_3B": 0.008,
        "predicted_BB": 0.2942,
        "predicted_H": 0.903,
        "predicted_HR": 0.2079,
        "predicted_RBI": 0.5536,
        "predicted_SO": 1.2601
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1663,
          "delta": 0.1663,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.008,
          "delta": 0.008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2942,
          "delta": 0.2942,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.903,
          "delta": -0.097,
          "percent_delta": -0.097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2079,
          "delta": 0.2079,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5536,
          "delta": -0.4464,
          "percent_delta": -0.4464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2601,
          "delta": 0.2601,
          "percent_delta": 0.2601,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2942,
          "delta": 0.2942,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5536,
          "delta": -0.4464,
          "percent_delta": -0.4464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1663,
          "after": 0.0,
          "delta": -0.1663,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0,
          "delta": -0.008,
          "percent_delta": -1.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_BB",
          "before": 0.2942,
          "after": 0.0,
          "delta": -0.2942,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.903,
          "after": 1.0,
          "delta": 0.097,
          "percent_delta": 0.1074,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2079,
          "after": 1.0,
          "delta": 0.7921,
          "percent_delta": 3.81,
          "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.5536,
          "after": 1.0,
          "delta": 0.4464,
          "percent_delta": 0.8064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2601,
          "after": 1.0,
          "delta": -0.2601,
          "percent_delta": -0.2064,
          "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_HR",
          "before": 0.2079,
          "after": 1.0,
          "delta": 0.7921,
          "percent_delta": 3.81,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2942,
          "after": 0.0,
          "delta": -0.2942,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.241,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.302,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.456,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2437,
          "after": 0.241,
          "delta": -0.0027,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3076,
          "after": 0.302,
          "delta": -0.0056,
          "percent_delta": -0.0182,
          "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.4699,
          "after": 0.456,
          "delta": -0.0139,
          "percent_delta": -0.0296,
          "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_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "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_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": 12,
      "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.2437,
        "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.3076,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4699,
        "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": 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.241,
          "after": 0.2437,
          "delta": 0.0027,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.302,
          "after": 0.3076,
          "delta": 0.0056,
          "percent_delta": 0.0185,
          "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.456,
          "after": 0.4699,
          "delta": 0.0139,
          "percent_delta": 0.0304,
          "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.456,
          "after": 0.4699,
          "delta": 0.0139,
          "percent_delta": 0.0304,
          "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.211,
        "after": 1.0,
        "delta": 0.789,
        "percent_delta": 3.7393,
        "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.845,
        "after": 5.0,
        "delta": 1.155,
        "percent_delta": 0.3004,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.243,
        "after": 0.2437,
        "delta": 0.0007,
        "percent_delta": 0.0029,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.391,
        "after": 0.0,
        "delta": -0.391,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.93,
        "after": 2.0,
        "delta": 1.07,
        "percent_delta": 1.1505,
        "direction": "boost",
        "projection_effect": "better",
        "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.281,
        "after": 0.3076,
        "delta": 0.0266,
        "percent_delta": 0.0947,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.609,
        "after": 0.0,
        "delta": -0.609,
        "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.449,
        "after": 0.4699,
        "delta": 0.0209,
        "percent_delta": 0.0465,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.05,
        "after": 0.0,
        "delta": -1.05,
        "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": 3.845,
        "after": 5.0,
        "delta": 1.155,
        "percent_delta": 0.3004,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.05,
        "after": 0.0,
        "delta": -1.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.211-
predicted_3B0.000-
predicted_AB3.845-
predicted_AVG0.243-
predicted_BB0.391-
predicted_H0.930-
predicted_HR0.210-
predicted_OBP0.281-
predicted_R0.609-
predicted_RBI0.650-
predicted_SLG0.449-
predicted_SO1.050-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.201-0.010
predicted_3B0.0000.000
predicted_AB3.778-0.067
predicted_AVG0.243-0.000
predicted_BB0.347-0.044
predicted_H0.914-0.016
predicted_HBP0.012-
predicted_HR0.2170.007
predicted_OBP0.2850.004
predicted_R0.543-0.066
predicted_RBI0.6550.005
predicted_SLG0.4610.012
predicted_SO0.940-0.110
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2010.000
predicted_3B0.0000.000
predicted_AB3.7780.000
predicted_AVG0.2440.001
predicted_BB0.3480.002
predicted_H0.9210.006
predicted_HBP0.0120.000
predicted_HR0.2180.001
predicted_OBP0.3080.023
predicted_R0.5510.008
predicted_RBI0.6640.009
predicted_SLG0.4700.009
predicted_SO0.935-0.005
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.85), rates preserved: AVG=0.225 HR/AB=0.057

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.200)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1660.166
3B0.0080.008
BB0.2940.294
H0.903-0.097
HR0.2080.208
RBI0.554-0.446
SO1.2600.260
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.166
3B0.000-0.008
AB4.0000.000
BB0.000-0.294
H1.0000.097
HR1.0000.792
R1.0000.000
RBI1.0000.446
SO1.000-0.260
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.201
predicted_3B0.000-0.000
predicted_AB4.0000.222
predicted_AVG0.241-0.003
predicted_BB0.000-0.348
predicted_H1.0000.079
predicted_HR0.000-0.218
predicted_OBP0.302-0.006
predicted_R1.0000.449
predicted_RBI1.0000.336
predicted_SLG0.456-0.014
predicted_SO1.0000.065
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.000-1.000
PA5.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 161
Reference playing time: 3.845
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0003.0001.0000.0001.0004.0001.0001.0002.0000.18750.21050.43750.18750.06250.25000.06250.1250
last_100.2010-37.00010.0001.0000.0002.0008.0003.0001.0005.0000.27030.27500.45950.27030.05410.21620.02700.1351
season0.60161-619.000155.00034.0000.00040.00091.00098.00063.000169.0000.25040.31980.49920.25040.06460.14700.10180.2730
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1870
predicted_3B0.0010
predicted_AB3.6920
predicted_AVG0.2421
predicted_BB0.2900
predicted_H0.8940
predicted_HBP0.0120
predicted_HR0.2250
predicted_OBP0.2897
predicted_R0.4580
predicted_RBI0.6610
predicted_SLG0.4759
predicted_SO0.7980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21100.18700.2005model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.84503.69203.7780model_form_blend
predicted_AVG0.24300.24210.2426model_form_blend
predicted_BB0.39100.29000.3468model_form_blend
predicted_H0.93000.89400.9142model_form_blend
predicted_HBP-0.01200.0120form_only
predicted_HR0.21000.22500.2166model_form_blend
predicted_OBP0.28100.28970.2848model_form_blend
predicted_R0.60900.45800.5429model_form_blend
predicted_RBI0.65000.66100.6548model_form_blend
predicted_SLG0.44900.47590.4608model_form_blend
predicted_SO1.05000.79800.9397model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date665
Season rows before report date665
Report year2026
Profile rows used161
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B1
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260927_ATL@MIA
game_typefull
mlbID621566
playerID621566
playerNameMatt Olson
pos1B
startedTrue
startingPosition1B
teamATL
teamID2
game_date2026-09-27
sl_k_percent24.5
sl_bb_percent9.2
sl_woba0.351
sl_xwoba0.351
sl_xba0.247
sl_xslg0.503
sl_sweet_spot_percent32.0
sl_barrel_batted_rate14.2
sl_hard_hit_percent52.0
sl_exit_velocity_avg92.5
sl_launch_angle_avg18.1
sl_whiff_percent25.4
sl_swing_percent46.9
Mike Yastrzemski (573262) · BATTER · DH · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 382
All-history rows before 20260929: 382
System season_avg: 0.2250
Data season_avg (2026 season-to-date): 0.2235
Diff (system - data): 0.0015
System opponent_avg: 0.0680

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1360.0000.000Hitting_2B0.1520.000-0.1520.000
predicted_3B0.0080.0000.000Hitting_3B0.0050.000-0.0050.000
predicted_AB2.6974.0003.000Hitting_AB2.9404.0001.0600.000
predicted_AVG0.2250.0000.333Hitting_AVG0.2240.000-0.2240.000
predicted_BB0.2880.0000.000Hitting_BB0.3640.000-0.3640.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6060.0001.000Hitting_H0.6570.000-0.6570.000
predicted_HR0.0910.0000.000Hitting_HR0.0810.000-0.0810.000
predicted_OBP0.2990.0000.333Hitting_OBP0.3140.000-0.3140.000
predicted_R0.3640.0000.000Hitting_R0.4060.000-0.4060.000
predicted_RBI0.3030.0000.000Hitting_RBI0.3170.000-0.3170.000
predicted_SLG0.3820.0000.333Hitting_SLG0.3620.000-0.3620.000
predicted_SO0.7201.0001.000Hitting_SO0.7621.0000.2380.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_AB: 2.6970 -> 4.0000 (boost 1.3030, better)
Biggest Deboostpredicted_H: 0.6060 -> 0.0000 (deboost -0.6060, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 2.6970 -> 2.7945 (boost 0.0975, better)predicted_SLG: 0.3820 -> 0.3545 (deboost -0.0275, 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.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.5813 -> 1.0000 (boost 0.4187, better)predicted_RBI: 0.3195 -> 0.0000 (deboost -0.3195, worse)AB rounded to 3 (raw=2.79), rates preserved: AVG=0.195 HR/AB=0.033
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.3635 -> 0.0000 (deboost -0.3635, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3830 (boost 0.3830, better)predicted_H: 1.0000 -> 0.7331 (deboost -0.2669, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_H: 0.7331 -> 1.0000 (boost 0.2669, better)predicted_RBI: 0.3830 -> 0.0000 (deboost -0.3830, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context22020predicted_SLG: 0.3552 -> 0.3700 (boost 0.0148, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference21111predicted_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
12current_json_final20202-predicted_SLG: 0.3700 -> 0.3552 (deboost -0.0148, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.136,
        "predicted_3B": 0.008,
        "predicted_AB": 2.697,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.288,
        "predicted_H": 0.606,
        "predicted_HR": 0.091,
        "predicted_OBP": 0.299,
        "predicted_R": 0.364,
        "predicted_RBI": 0.303,
        "predicted_SLG": 0.382,
        "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.1171,
        "predicted_3B": 0.0067,
        "predicted_AB": 2.7945,
        "predicted_AVG": 0.2075,
        "predicted_BB": 0.291,
        "predicted_H": 0.5772,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0931,
        "predicted_OBP": 0.283,
        "predicted_R": 0.3584,
        "predicted_RBI": 0.315,
        "predicted_SLG": 0.3545,
        "predicted_SO": 0.738
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.1171,
          "delta": -0.0189,
          "percent_delta": -0.139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.697,
          "after": 2.7945,
          "delta": 0.0975,
          "percent_delta": 0.0362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2075,
          "delta": -0.0175,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.288,
          "after": 0.291,
          "delta": 0.003,
          "percent_delta": 0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.606,
          "after": 0.5772,
          "delta": -0.0288,
          "percent_delta": -0.0475,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.091,
          "after": 0.0931,
          "delta": 0.0021,
          "percent_delta": 0.0231,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.283,
          "delta": -0.016,
          "percent_delta": -0.0535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.364,
          "after": 0.3584,
          "delta": -0.0056,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.303,
          "after": 0.315,
          "delta": 0.012,
          "percent_delta": 0.0396,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.382,
          "after": 0.3545,
          "delta": -0.0275,
          "percent_delta": -0.072,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.72,
          "after": 0.738,
          "delta": 0.018,
          "percent_delta": 0.025,
          "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.697,
          "after": 2.7945,
          "delta": 0.0975,
          "percent_delta": 0.0362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.382,
          "after": 0.3545,
          "delta": -0.0275,
          "percent_delta": -0.072,
          "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": 132
      }
    },
    {
      "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.0067,
        "predicted_AB": 2.7945,
        "predicted_AVG": 0.208,
        "predicted_BB": 0.2925,
        "predicted_H": 0.5813,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0936,
        "predicted_OBP": 0.283,
        "predicted_R": 0.3635,
        "predicted_RBI": 0.3195,
        "predicted_SLG": 0.3552,
        "predicted_SO": 0.7343
      },
      "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.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7945,
          "after": 2.7945,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2075,
          "after": 0.208,
          "delta": 0.0005,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.291,
          "after": 0.2925,
          "delta": 0.0015,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5772,
          "after": 0.5813,
          "delta": 0.0041,
          "percent_delta": 0.0071,
          "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.0931,
          "after": 0.0936,
          "delta": 0.0005,
          "percent_delta": 0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.283,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3584,
          "after": 0.3635,
          "delta": 0.0051,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.315,
          "after": 0.3195,
          "delta": 0.0045,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3545,
          "after": 0.3552,
          "delta": 0.0007,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.738,
          "after": 0.7343,
          "delta": -0.0037,
          "percent_delta": -0.005,
          "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": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.79), rates preserved: AVG=0.195 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.1171,
          "after": 0.0,
          "delta": -0.1171,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.7945,
          "after": 3.0,
          "delta": 0.2055,
          "percent_delta": 0.0735,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2925,
          "after": 0.0,
          "delta": -0.2925,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5813,
          "after": 1.0,
          "delta": 0.4187,
          "percent_delta": 0.7203,
          "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.0936,
          "after": 0.0,
          "delta": -0.0936,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3195,
          "after": 0.0,
          "delta": -0.3195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7343,
          "after": 1.0,
          "delta": 0.2657,
          "percent_delta": 0.3618,
          "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.5813,
          "after": 1.0,
          "delta": 0.4187,
          "percent_delta": 0.7203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3195,
          "after": 0.0,
          "delta": -0.3195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 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": 7,
      "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.3635,
          "after": 0.0,
          "delta": -0.3635,
          "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.3635,
          "after": 0.0,
          "delta": -0.3635,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1372,
        "predicted_3B": 0.0119,
        "predicted_BB": 0.2675,
        "predicted_H": 0.7331,
        "predicted_HR": 0.1091,
        "predicted_RBI": 0.383,
        "predicted_SO": 1.0637
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1372,
          "delta": 0.1372,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0119,
          "delta": 0.0119,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2675,
          "delta": 0.2675,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7331,
          "delta": -0.2669,
          "percent_delta": -0.2669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1091,
          "delta": 0.1091,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.383,
          "delta": 0.383,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0637,
          "delta": 0.0637,
          "percent_delta": 0.0637,
          "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_RBI",
          "before": 0.0,
          "after": 0.383,
          "delta": 0.383,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7331,
          "delta": -0.2669,
          "percent_delta": -0.2669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1372,
          "after": 0.0,
          "delta": -0.1372,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2675,
          "after": 0.0,
          "delta": -0.2675,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7331,
          "after": 1.0,
          "delta": 0.2669,
          "percent_delta": 0.3641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1091,
          "after": 0.0,
          "delta": -0.1091,
          "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.383,
          "after": 0.0,
          "delta": -0.383,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0637,
          "after": 1.0,
          "delta": -0.0637,
          "percent_delta": -0.0599,
          "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.7331,
          "after": 1.0,
          "delta": 0.2669,
          "percent_delta": 0.3641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.383,
          "after": 0.0,
          "delta": -0.383,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.37,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.208,
          "after": 0.222,
          "delta": 0.014,
          "percent_delta": 0.0673,
          "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.283,
          "after": 0.286,
          "delta": 0.003,
          "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_SLG",
          "before": 0.3552,
          "after": 0.37,
          "delta": 0.0148,
          "percent_delta": 0.0417,
          "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.3552,
          "after": 0.37,
          "delta": 0.0148,
          "percent_delta": 0.0417,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 12,
      "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.208,
        "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.283,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3552,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.222,
          "after": 0.208,
          "delta": -0.014,
          "percent_delta": -0.063,
          "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.286,
          "after": 0.283,
          "delta": -0.003,
          "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_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.37,
          "after": 0.3552,
          "delta": -0.0148,
          "percent_delta": -0.0401,
          "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.37,
          "after": 0.3552,
          "delta": -0.0148,
          "percent_delta": -0.0401,
          "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.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.697,
        "after": 4.0,
        "delta": 1.303,
        "percent_delta": 0.4831,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.225,
        "after": 0.208,
        "delta": -0.017,
        "percent_delta": -0.0756,
        "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.606,
        "after": 0.0,
        "delta": -0.606,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.091,
        "after": 0.0,
        "delta": -0.091,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.299,
        "after": 0.283,
        "delta": -0.016,
        "percent_delta": -0.0535,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.364,
        "after": 0.0,
        "delta": -0.364,
        "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.382,
        "after": 0.3552,
        "delta": -0.0268,
        "percent_delta": -0.0702,
        "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": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.697,
        "after": 4.0,
        "delta": 1.303,
        "percent_delta": 0.4831,
        "direction": "boost",
        "projection_effect": "better",
        "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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.136-
predicted_3B0.008-
predicted_AB2.697-
predicted_AVG0.225-
predicted_BB0.288-
predicted_H0.606-
predicted_HR0.091-
predicted_OBP0.299-
predicted_R0.364-
predicted_RBI0.303-
predicted_SLG0.382-
predicted_SO0.720-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.117-0.019
predicted_3B0.007-0.001
predicted_AB2.7950.098
predicted_AVG0.207-0.018
predicted_BB0.2910.003
predicted_H0.577-0.029
predicted_HBP0.016-
predicted_HR0.0930.002
predicted_OBP0.283-0.016
predicted_R0.358-0.006
predicted_RBI0.3150.012
predicted_SLG0.354-0.028
predicted_SO0.7380.018
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1170.000
predicted_3B0.0070.000
predicted_AB2.7950.000
predicted_AVG0.2080.001
predicted_BB0.2920.002
predicted_H0.5810.004
predicted_HBP0.0160.000
predicted_HR0.0940.001
predicted_OBP0.2830.000
predicted_R0.3630.005
predicted_RBI0.3200.005
predicted_SLG0.3550.001
predicted_SO0.734-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.79), rates preserved: AVG=0.195 HR/AB=0.033

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1370.137
3B0.0120.012
BB0.2680.268
H0.733-0.267
HR0.1090.109
RBI0.3830.383
SO1.0640.064
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.137
3B0.000-0.012
AB3.0000.000
BB0.000-0.268
H1.0000.267
HR0.000-0.109
R0.0000.000
RBI0.000-0.383
SO1.000-0.064
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.117
predicted_3B0.000-0.007
predicted_AB3.0000.205
predicted_AVG0.2220.014
predicted_BB0.000-0.292
predicted_H1.0000.419
predicted_HR0.000-0.094
predicted_OBP0.2860.003
predicted_R0.000-0.363
predicted_RBI0.000-0.320
predicted_SLG0.3700.015
predicted_SO1.0000.266
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 132
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0001.0000.0000.0000.0001.0001.0002.0004.0000.06670.17650.06670.06670.00000.06670.13330.2667
last_100.2010-32.0005.0000.0000.0002.0005.0004.0002.0008.0000.15620.20590.34380.15620.06250.15620.06250.2500
season0.60132-356.00080.00018.0001.00012.00040.00048.00038.00095.0000.22470.30330.38200.22470.03370.11240.10670.2668
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0920
predicted_3B0.0050
predicted_AB2.9240
predicted_AVG0.1842
predicted_BB0.2950
predicted_H0.5390
predicted_HBP0.0160
predicted_HR0.0960
predicted_OBP0.2617
predicted_R0.3510
predicted_RBI0.3310
predicted_SLG0.3180
predicted_SO0.7620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13600.09200.1171model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB2.69702.92402.7945model_form_blend
predicted_AVG0.22500.18420.2075model_form_blend
predicted_BB0.28800.29500.2910model_form_blend
predicted_H0.60600.53900.5772model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.09100.09600.0931model_form_blend
predicted_OBP0.29900.26170.2830model_form_blend
predicted_R0.36400.35100.3584model_form_blend
predicted_RBI0.30300.33100.3150model_form_blend
predicted_SLG0.38200.31800.3545model_form_blend
predicted_SO0.72000.76200.7380model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date382
Season rows before report date382
Report year2026
Profile rows used132
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH-LF
gameID20260927_ATL@MIA
game_typefull
mlbID573262
playerID573262
playerNameMike Yastrzemski
posLF
startedTrue
startingPositionDH
teamATL
teamID2
game_date2026-09-27
sl_k_percent24.0
sl_bb_percent10.0
sl_woba0.306
sl_xwoba0.309
sl_xba0.235
sl_xslg0.368
sl_sweet_spot_percent31.3
sl_barrel_batted_rate6.8
sl_hard_hit_percent43.0
sl_exit_velocity_avg90.4
sl_launch_angle_avg16.2
sl_whiff_percent23.2
sl_swing_percent42.6
Michael Harris II (671739) · BATTER · CF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 595
All-history rows before 20260929: 595
System season_avg: 0.2970
Data season_avg (2026 season-to-date): 0.2967
Diff (system - data): 0.0003
System opponent_avg: 0.2500

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2340.0000.000Hitting_2B0.2372.000-0.237-2.000
predicted_3B0.0060.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB5.5004.0004.000Hitting_AB4.0275.000-0.027-1.000
predicted_AVG0.3460.2500.250Hitting_AVG0.2970.800-0.047-0.550
predicted_BB0.1360.0000.000Hitting_BB0.1450.000-0.1450.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.9001.0001.000Hitting_H1.1954.000-0.195-3.000
predicted_HR0.1700.0000.000Hitting_HR0.1780.000-0.1780.000
predicted_OBP0.3520.2500.250Hitting_OBP0.3220.800-0.072-0.550
predicted_R0.5190.0001.000Hitting_R0.5513.000-0.551-3.000
predicted_RBI0.6800.0001.000Hitting_RBI0.5981.000-0.598-1.000
predicted_SLG0.5230.2500.250Hitting_SLG0.4921.200-0.242-0.950
predicted_SO0.7730.0001.000Hitting_SO0.8181.000-0.818-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_OBP: 0.3520 -> 0.3585 (boost 0.0065, better)
Biggest Deboostpredicted_AB: 5.5000 -> 4.0000 (deboost -1.5000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_2B: 0.2340 -> 0.2907 (boost 0.0567, better)predicted_AB: 5.5000 -> 4.8144 (deboost -0.6856, 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.
3team_form_snapshot21111predicted_OBP: 0.3504 -> 0.3585 (boost 0.0081, better)predicted_SLG: 0.5195 -> 0.4973 (deboost -0.0222, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.7201 -> 1.0000 (boost 0.2799, worse)predicted_AB: 4.8144 -> 4.0000 (deboost -0.8144, worse)AB rounded to 4 (raw=5.50), rates preserved: AVG=0.280 HR/AB=0.027
6bvp_blend00000--Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.250)
7consistency_constraints11010predicted_R: 0.5636 -> 1.0000 (boost 0.4364, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine66051predicted_RBI: 0.0000 -> 0.5625 (boost 0.5625, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_RBI: 0.5625 -> 1.0000 (boost 0.4375, better)predicted_2B: 0.1899 -> 0.0000 (deboost -0.1899, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context40404-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference20211-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_AVG: 0.2750 -> 0.3407 (boost 0.0657, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.234,
        "predicted_3B": 0.006,
        "predicted_AB": 5.5,
        "predicted_AVG": 0.346,
        "predicted_BB": 0.136,
        "predicted_H": 1.9,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.352,
        "predicted_R": 0.519,
        "predicted_RBI": 0.68,
        "predicted_SLG": 0.523,
        "predicted_SO": 0.773
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.2907,
        "predicted_3B": 0.0056,
        "predicted_AB": 4.8144,
        "predicted_AVG": 0.3369,
        "predicted_BB": 0.1334,
        "predicted_H": 1.6286,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1499,
        "predicted_OBP": 0.3504,
        "predicted_R": 0.5557,
        "predicted_RBI": 0.6019,
        "predicted_SLG": 0.5195,
        "predicted_SO": 0.7237
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.234,
          "after": 0.2907,
          "delta": 0.0567,
          "percent_delta": 0.2423,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0056,
          "delta": -0.0004,
          "percent_delta": -0.0667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.5,
          "after": 4.8144,
          "delta": -0.6856,
          "percent_delta": -0.1247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.346,
          "after": 0.3369,
          "delta": -0.0091,
          "percent_delta": -0.0263,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.136,
          "after": 0.1334,
          "delta": -0.0026,
          "percent_delta": -0.0191,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.9,
          "after": 1.6286,
          "delta": -0.2714,
          "percent_delta": -0.1428,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1499,
          "delta": -0.0201,
          "percent_delta": -0.1182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.352,
          "after": 0.3504,
          "delta": -0.0016,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.519,
          "after": 0.5557,
          "delta": 0.0367,
          "percent_delta": 0.0707,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.68,
          "after": 0.6019,
          "delta": -0.0781,
          "percent_delta": -0.1149,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.523,
          "after": 0.5195,
          "delta": -0.0035,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.773,
          "after": 0.7237,
          "delta": -0.0493,
          "percent_delta": -0.0638,
          "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_2B",
          "before": 0.234,
          "after": 0.2907,
          "delta": 0.0567,
          "percent_delta": 0.2423,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.5,
          "after": 4.8144,
          "delta": -0.6856,
          "percent_delta": -0.1247,
          "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": 154
      }
    },
    {
      "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.2907,
        "predicted_3B": 0.0056,
        "predicted_AB": 4.8144,
        "predicted_AVG": 0.3407,
        "predicted_BB": 0.1341,
        "predicted_H": 1.6402,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1507,
        "predicted_OBP": 0.3585,
        "predicted_R": 0.5636,
        "predicted_RBI": 0.6105,
        "predicted_SLG": 0.4973,
        "predicted_SO": 0.7201
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2907,
          "after": 0.2907,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0056,
          "after": 0.0056,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.8144,
          "after": 4.8144,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3369,
          "after": 0.3407,
          "delta": 0.0038,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1334,
          "after": 0.1341,
          "delta": 0.0007,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.6286,
          "after": 1.6402,
          "delta": 0.0116,
          "percent_delta": 0.0071,
          "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.1499,
          "after": 0.1507,
          "delta": 0.0008,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3504,
          "after": 0.3585,
          "delta": 0.0081,
          "percent_delta": 0.0231,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5557,
          "after": 0.5636,
          "delta": 0.0079,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6019,
          "after": 0.6105,
          "delta": 0.0086,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5195,
          "after": 0.4973,
          "delta": -0.0222,
          "percent_delta": -0.0427,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7237,
          "after": 0.7201,
          "delta": -0.0036,
          "percent_delta": -0.005,
          "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.3504,
          "after": 0.3585,
          "delta": 0.0081,
          "percent_delta": 0.0231,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5195,
          "after": 0.4973,
          "delta": -0.0222,
          "percent_delta": -0.0427,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.50), rates preserved: AVG=0.280 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.2907,
          "after": 0.0,
          "delta": -0.2907,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0056,
          "after": 0.0,
          "delta": -0.0056,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.8144,
          "after": 4.0,
          "delta": -0.8144,
          "percent_delta": -0.1692,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1341,
          "after": 0.0,
          "delta": -0.1341,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.6402,
          "after": 1.0,
          "delta": -0.6402,
          "percent_delta": -0.3903,
          "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.1507,
          "after": 0.0,
          "delta": -0.1507,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6105,
          "after": 0.0,
          "delta": -0.6105,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7201,
          "after": 1.0,
          "delta": 0.2799,
          "percent_delta": 0.3887,
          "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.7201,
          "after": 1.0,
          "delta": 0.2799,
          "percent_delta": 0.3887,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.8144,
          "after": 4.0,
          "delta": -0.8144,
          "percent_delta": -0.1692,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, 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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.8609,
        "bvp": 0.1391
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.5636,
          "after": 1.0,
          "delta": 0.4364,
          "percent_delta": 0.7743,
          "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.5636,
          "after": 1.0,
          "delta": 0.4364,
          "percent_delta": 0.7743,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1899,
        "predicted_3B": 0.0112,
        "predicted_BB": 0.1424,
        "predicted_H": 1.0508,
        "predicted_HR": 0.155,
        "predicted_RBI": 0.5625,
        "predicted_SO": 1.1163
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1899,
          "delta": 0.1899,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0112,
          "delta": 0.0112,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1424,
          "delta": 0.1424,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0508,
          "delta": 0.0508,
          "percent_delta": 0.0508,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.155,
          "delta": 0.155,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5625,
          "delta": 0.5625,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1163,
          "delta": 0.1163,
          "percent_delta": 0.1163,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5625,
          "delta": 0.5625,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1899,
          "after": 0.0,
          "delta": -0.1899,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0112,
          "after": 0.0,
          "delta": -0.0112,
          "percent_delta": -1.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_BB",
          "before": 0.1424,
          "after": 0.0,
          "delta": -0.1424,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0508,
          "after": 1.0,
          "delta": -0.0508,
          "percent_delta": -0.0483,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.155,
          "after": 0.0,
          "delta": -0.155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5625,
          "after": 1.0,
          "delta": 0.4375,
          "percent_delta": 0.7778,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1163,
          "after": 1.0,
          "delta": -0.1163,
          "percent_delta": -0.1042,
          "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.5625,
          "after": 1.0,
          "delta": 0.4375,
          "percent_delta": 0.7778,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1899,
          "after": 0.0,
          "delta": -0.1899,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.275,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.453,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.3407,
          "after": 0.275,
          "delta": -0.0657,
          "percent_delta": -0.1928,
          "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.3585,
          "after": 0.307,
          "delta": -0.0515,
          "percent_delta": -0.1437,
          "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4973,
          "after": 0.453,
          "delta": -0.0443,
          "percent_delta": -0.0891,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "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": 11,
      "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "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": 12,
      "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.3407,
        "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.3585,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4973,
        "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.275,
          "after": 0.3407,
          "delta": 0.0657,
          "percent_delta": 0.2388,
          "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.307,
          "after": 0.3585,
          "delta": 0.0515,
          "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.453,
          "after": 0.4973,
          "delta": 0.0443,
          "percent_delta": 0.0977,
          "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.275,
          "after": 0.3407,
          "delta": 0.0657,
          "percent_delta": 0.2388,
          "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.234,
        "after": 0.0,
        "delta": -0.234,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.5,
        "after": 4.0,
        "delta": -1.5,
        "percent_delta": -0.2727,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.346,
        "after": 0.3407,
        "delta": -0.0053,
        "percent_delta": -0.0153,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.136,
        "after": 0.0,
        "delta": -0.136,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.9,
        "after": 1.0,
        "delta": -0.9,
        "percent_delta": -0.4737,
        "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.352,
        "after": 0.3585,
        "delta": 0.0065,
        "percent_delta": 0.0185,
        "direction": "boost",
        "projection_effect": "better",
        "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.68,
        "after": 0.0,
        "delta": -0.68,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.523,
        "after": 0.4973,
        "delta": -0.0257,
        "percent_delta": -0.0491,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.773,
        "after": 0.0,
        "delta": -0.773,
        "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_OBP",
        "before": 0.352,
        "after": 0.3585,
        "delta": 0.0065,
        "percent_delta": 0.0185,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.5,
        "after": 4.0,
        "delta": -1.5,
        "percent_delta": -0.2727,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.234-
predicted_3B0.006-
predicted_AB5.500-
predicted_AVG0.346-
predicted_BB0.136-
predicted_H1.900-
predicted_HR0.170-
predicted_OBP0.352-
predicted_R0.519-
predicted_RBI0.680-
predicted_SLG0.523-
predicted_SO0.773-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2910.057
predicted_3B0.006-0.000
predicted_AB4.814-0.686
predicted_AVG0.337-0.009
predicted_BB0.133-0.003
predicted_H1.629-0.271
predicted_HBP0.009-
predicted_HR0.150-0.020
predicted_OBP0.350-0.002
predicted_R0.5560.037
predicted_RBI0.602-0.078
predicted_SLG0.519-0.004
predicted_SO0.724-0.049
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.2910.000
predicted_3B0.0060.000
predicted_AB4.8140.000
predicted_AVG0.3410.004
predicted_BB0.1340.001
predicted_H1.6400.012
predicted_HBP0.0090.000
predicted_HR0.1510.001
predicted_OBP0.3580.008
predicted_R0.5640.008
predicted_RBI0.6110.009
predicted_SLG0.497-0.022
predicted_SO0.720-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.50), rates preserved: AVG=0.280 HR/AB=0.027

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.250)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1900.190
3B0.0110.011
BB0.1420.142
H1.0510.051
HR0.1550.155
RBI0.5620.562
SO1.1160.116
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.190
3B0.000-0.011
AB4.0000.000
BB0.000-0.142
H1.000-0.051
HR0.000-0.155
R1.0000.000
RBI1.0000.438
SO1.000-0.116
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.291
predicted_3B0.000-0.006
predicted_AB4.000-0.814
predicted_AVG0.275-0.066
predicted_BB0.000-0.134
predicted_H1.000-0.640
predicted_HR0.000-0.151
predicted_OBP0.307-0.051
predicted_R1.0000.436
predicted_RBI0.000-0.611
predicted_SLG0.453-0.044
predicted_SO1.0000.280
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 5.500
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0009.0004.0000.0000.0002.0004.0000.0002.0000.42860.42860.61900.42860.00000.09520.00000.0952
last_100.2010-40.00013.0004.0000.0001.0004.0007.0002.0005.0000.32500.35710.50000.32500.02500.10000.05000.1250
season0.60154-589.000175.00036.0001.00026.00087.00080.00021.000119.0000.29710.32200.49410.29710.04410.14770.03570.2020
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3640
predicted_3B0.0050
predicted_AB3.9290
predicted_AVG0.3252
predicted_BB0.1300
predicted_H1.2780
predicted_HBP0.0090
predicted_HR0.1240
predicted_OBP0.3483
predicted_R0.6030
predicted_RBI0.5010
predicted_SLG0.5150
predicted_SO0.6600
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23400.36400.2907model_form_blend
predicted_3B0.00600.00500.0056model_form_blend
predicted_AB5.50003.92904.8144model_form_blend
predicted_AVG0.34600.32520.3369model_form_blend
predicted_BB0.13600.13000.1334model_form_blend
predicted_H1.90001.27801.6286model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.17000.12400.1499model_form_blend
predicted_OBP0.35200.34830.3504model_form_blend
predicted_R0.51900.60300.5557model_form_blend
predicted_RBI0.68000.50100.6019model_form_blend
predicted_SLG0.52300.51500.5195model_form_blend
predicted_SO0.77300.66000.7237model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date595
Season rows before report date595
Report year2026
Profile rows used154
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B2
Hitting_3B0
Hitting_AB5
Hitting_AVG0.8
Hitting_BB0
Hitting_GIDP0
Hitting_H4
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R3
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB6
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260926_ATL@MIA
game_typefull
mlbID671739
playerID671739
playerNameMichael Harris II
posCF
startedTrue
startingPositionCF
teamATL
teamID2
game_date2026-09-26
sl_k_percent19.2
sl_bb_percent3.7
sl_woba0.349
sl_xwoba0.342
sl_xba0.29
sl_xslg0.477
sl_sweet_spot_percent31.9
sl_barrel_batted_rate10.3
sl_hard_hit_percent47.6
sl_exit_velocity_avg90.5
sl_launch_angle_avg10.0
sl_whiff_percent24.6
sl_swing_percent56.4
Ozzie Albies (645277) · BATTER · 2B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 654
All-history rows before 20260929: 654
System season_avg: 0.2400
Data season_avg (2026 season-to-date): 0.2439
Diff (system - data): -0.0039
System opponent_avg: 0.1920

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1680.0000.000Hitting_2B0.1930.000-0.1930.000
predicted_3B0.0060.0000.000Hitting_3B0.0020.000-0.0020.000
predicted_AB3.9004.0004.000Hitting_AB3.8562.0000.1442.000
predicted_AVG0.1950.0000.250Hitting_AVG0.2440.000-0.2440.000
predicted_BB0.2860.0000.000Hitting_BB0.3130.000-0.3130.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.7600.0001.000Hitting_H0.9400.000-0.9400.000
predicted_HR0.0800.0000.000Hitting_HR0.1350.000-0.1350.000
predicted_OBP0.2470.0000.250Hitting_OBP0.3020.000-0.3020.000
predicted_R0.5280.0000.000Hitting_R0.5520.000-0.5520.000
predicted_RBI0.3900.0000.000Hitting_RBI0.4570.000-0.4570.000
predicted_SB-0.0000.000BaseRunning_SB0.0210.000-0.0210.000
predicted_SLG0.3070.0000.250Hitting_SLG0.3990.000-0.3990.000
predicted_SO0.6522.0001.000Hitting_SO0.6671.0001.3331.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics1
Worse Metrics8
Biggest Boostpredicted_SO: 0.6520 -> 2.0000 (boost 1.3480, worse)
Biggest Deboostpredicted_H: 0.7600 -> 0.0000 (deboost -0.7600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41304predicted_SO: 0.6520 -> 0.7715 (boost 0.1195, worse)predicted_AB: 3.9000 -> 3.7915 (deboost -0.1085, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_H: 0.7411 -> 1.0000 (boost 0.2589, better)predicted_RBI: 0.3791 -> 0.0000 (deboost -0.3791, worse)AB rounded to 4 (raw=3.90), rates preserved: AVG=0.179 HR/AB=0.021
6bvp_blend00000--Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.192)
7consistency_constraints10101-predicted_R: 0.4584 -> 0.0000 (deboost -0.4584, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3906 (boost 0.3906, better)predicted_SO: 1.0000 -> 0.7318 (deboost -0.2682, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_SO: 0.7318 -> 1.0000 (boost 0.2682, worse)predicted_RBI: 0.3906 -> 0.0000 (deboost -0.3906, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.2986 -> 0.3920 (boost 0.0934, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference21102predicted_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
12current_json_final30303-predicted_SLG: 0.3920 -> 0.2986 (deboost -0.0934, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.168,
        "predicted_3B": 0.006,
        "predicted_AB": 3.9,
        "predicted_AVG": 0.195,
        "predicted_BB": 0.286,
        "predicted_H": 0.76,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.247,
        "predicted_R": 0.528,
        "predicted_RBI": 0.39,
        "predicted_SLG": 0.307,
        "predicted_SO": 0.652
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1382,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7915,
        "predicted_AVG": 0.1941,
        "predicted_BB": 0.2527,
        "predicted_H": 0.7359,
        "predicted_HBP": 0.09,
        "predicted_HR": 0.0804,
        "predicted_OBP": 0.2484,
        "predicted_R": 0.4519,
        "predicted_RBI": 0.3738,
        "predicted_SLG": 0.2993,
        "predicted_SO": 0.7715
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.168,
          "after": 0.1382,
          "delta": -0.0298,
          "percent_delta": -0.1774,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.9,
          "after": 3.7915,
          "delta": -0.1085,
          "percent_delta": -0.0278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.195,
          "after": 0.1941,
          "delta": -0.0009,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.286,
          "after": 0.2527,
          "delta": -0.0333,
          "percent_delta": -0.1164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.76,
          "after": 0.7359,
          "delta": -0.0241,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0804,
          "delta": 0.0004,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.247,
          "after": 0.2484,
          "delta": 0.0014,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.528,
          "after": 0.4519,
          "delta": -0.0761,
          "percent_delta": -0.1441,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.39,
          "after": 0.3738,
          "delta": -0.0162,
          "percent_delta": -0.0415,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.307,
          "after": 0.2993,
          "delta": -0.0077,
          "percent_delta": -0.0251,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.652,
          "after": 0.7715,
          "delta": 0.1195,
          "percent_delta": 0.1833,
          "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.652,
          "after": 0.7715,
          "delta": 0.1195,
          "percent_delta": 0.1833,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.9,
          "after": 3.7915,
          "delta": -0.1085,
          "percent_delta": -0.0278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 161
      }
    },
    {
      "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.1382,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7915,
        "predicted_AVG": 0.1955,
        "predicted_BB": 0.254,
        "predicted_H": 0.7411,
        "predicted_HBP": 0.09,
        "predicted_HR": 0.0808,
        "predicted_OBP": 0.246,
        "predicted_R": 0.4584,
        "predicted_RBI": 0.3791,
        "predicted_SLG": 0.2986,
        "predicted_SO": 0.7676
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1382,
          "after": 0.1382,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7915,
          "after": 3.7915,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1941,
          "after": 0.1955,
          "delta": 0.0014,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2527,
          "after": 0.254,
          "delta": 0.0013,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7359,
          "after": 0.7411,
          "delta": 0.0052,
          "percent_delta": 0.0071,
          "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.0804,
          "after": 0.0808,
          "delta": 0.0004,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2484,
          "after": 0.246,
          "delta": -0.0024,
          "percent_delta": -0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4519,
          "after": 0.4584,
          "delta": 0.0065,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3738,
          "after": 0.3791,
          "delta": 0.0053,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2993,
          "after": 0.2986,
          "delta": -0.0007,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7715,
          "after": 0.7676,
          "delta": -0.0039,
          "percent_delta": -0.0051,
          "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": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.90), rates preserved: AVG=0.179 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.1382,
          "after": 0.0,
          "delta": -0.1382,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7915,
          "after": 4.0,
          "delta": 0.2085,
          "percent_delta": 0.055,
          "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.7411,
          "after": 1.0,
          "delta": 0.2589,
          "percent_delta": 0.3493,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.0808,
          "after": 0.0,
          "delta": -0.0808,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3791,
          "after": 0.0,
          "delta": -0.3791,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7676,
          "after": 1.0,
          "delta": 0.2324,
          "percent_delta": 0.3028,
          "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.7411,
          "after": 1.0,
          "delta": 0.2589,
          "percent_delta": 0.3493,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3791,
          "after": 0.0,
          "delta": -0.3791,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.192)",
      "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.8143,
        "bvp": 0.1857
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.4584,
          "after": 0.0,
          "delta": -0.4584,
          "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.4584,
          "after": 0.0,
          "delta": -0.4584,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1892,
        "predicted_3B": 0.0088,
        "predicted_BB": 0.2536,
        "predicted_H": 0.8327,
        "predicted_HR": 0.1241,
        "predicted_RBI": 0.3906,
        "predicted_SO": 0.7318
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1892,
          "delta": 0.1892,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0088,
          "delta": 0.0088,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2536,
          "delta": 0.2536,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8327,
          "delta": -0.1673,
          "percent_delta": -0.1673,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1241,
          "delta": 0.1241,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3906,
          "delta": 0.3906,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7318,
          "delta": -0.2682,
          "percent_delta": -0.2682,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3906,
          "delta": 0.3906,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7318,
          "delta": -0.2682,
          "percent_delta": -0.2682,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1892,
          "after": 0.0,
          "delta": -0.1892,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0088,
          "after": 0.0,
          "delta": -0.0088,
          "percent_delta": -1.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_BB",
          "before": 0.2536,
          "after": 0.0,
          "delta": -0.2536,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8327,
          "after": 1.0,
          "delta": 0.1673,
          "percent_delta": 0.2009,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1241,
          "after": 0.0,
          "delta": -0.1241,
          "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.3906,
          "after": 0.0,
          "delta": -0.3906,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7318,
          "after": 1.0,
          "delta": 0.2682,
          "percent_delta": 0.3665,
          "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.7318,
          "after": 1.0,
          "delta": 0.2682,
          "percent_delta": 0.3665,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3906,
          "after": 0.0,
          "delta": -0.3906,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.231,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.288,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1955,
          "after": 0.231,
          "delta": 0.0355,
          "percent_delta": 0.1816,
          "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.246,
          "after": 0.288,
          "delta": 0.042,
          "percent_delta": 0.1707,
          "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.2986,
          "after": 0.392,
          "delta": 0.0934,
          "percent_delta": 0.3128,
          "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.2986,
          "after": 0.392,
          "delta": 0.0934,
          "percent_delta": 0.3128,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 12,
      "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.1955,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.246,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2986,
        "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.231,
          "after": 0.1955,
          "delta": -0.0355,
          "percent_delta": -0.1538,
          "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.288,
          "after": 0.246,
          "delta": -0.042,
          "percent_delta": -0.1459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.392,
          "after": 0.2986,
          "delta": -0.0934,
          "percent_delta": -0.2384,
          "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_SLG",
          "before": 0.392,
          "after": 0.2986,
          "delta": -0.0934,
          "percent_delta": -0.2384,
          "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.168,
        "after": 0.0,
        "delta": -0.168,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.9,
        "after": 4.0,
        "delta": 0.1,
        "percent_delta": 0.0256,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.195,
        "after": 0.1955,
        "delta": 0.0005,
        "percent_delta": 0.0026,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.286,
        "after": 0.0,
        "delta": -0.286,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.76,
        "after": 0.0,
        "delta": -0.76,
        "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.247,
        "after": 0.246,
        "delta": -0.001,
        "percent_delta": -0.004,
        "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.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.307,
        "after": 0.2986,
        "delta": -0.0084,
        "percent_delta": -0.0274,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.652,
        "after": 2.0,
        "delta": 1.348,
        "percent_delta": 2.0675,
        "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.652,
        "after": 2.0,
        "delta": 1.348,
        "percent_delta": 2.0675,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.76,
        "after": 0.0,
        "delta": -0.76,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.168-
predicted_3B0.006-
predicted_AB3.900-
predicted_AVG0.195-
predicted_BB0.286-
predicted_H0.760-
predicted_HR0.080-
predicted_OBP0.247-
predicted_R0.528-
predicted_RBI0.390-
predicted_SLG0.307-
predicted_SO0.652-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.138-0.030
predicted_3B0.005-0.001
predicted_AB3.792-0.108
predicted_AVG0.194-0.001
predicted_BB0.253-0.033
predicted_H0.736-0.024
predicted_HBP0.090-
predicted_HR0.0800.000
predicted_OBP0.2480.001
predicted_R0.452-0.076
predicted_RBI0.374-0.016
predicted_SLG0.299-0.008
predicted_SO0.7710.119
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1380.000
predicted_3B0.0050.000
predicted_AB3.7920.000
predicted_AVG0.1960.001
predicted_BB0.2540.001
predicted_H0.7410.005
predicted_HBP0.0900.000
predicted_HR0.0810.000
predicted_OBP0.246-0.002
predicted_R0.4580.006
predicted_RBI0.3790.005
predicted_SLG0.299-0.001
predicted_SO0.768-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.90), rates preserved: AVG=0.179 HR/AB=0.021

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.192)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1890.189
3B0.0090.009
BB0.2540.254
H0.833-0.167
HR0.1240.124
RBI0.3910.391
SO0.732-0.268
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.189
3B0.000-0.009
AB4.0000.000
BB0.000-0.254
H1.0000.167
HR0.000-0.124
R0.0000.000
RBI0.000-0.391
SO1.0000.268
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.138
predicted_3B0.000-0.005
predicted_AB4.0000.208
predicted_AVG0.2310.036
predicted_BB0.000-0.254
predicted_H1.0000.259
predicted_HR0.000-0.081
predicted_OBP0.2880.042
predicted_R0.000-0.458
predicted_RBI0.000-0.379
predicted_SLG0.3920.093
predicted_SO1.0000.232
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 161
Reference playing time: 3.900
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0002.0000.0000.0000.0001.0000.0000.0007.0000.11760.16670.11760.11770.00000.05880.00000.4118
last_100.2010-35.0004.0000.0000.0000.0002.0002.0002.00012.0000.11430.18420.11430.11430.00000.05710.05710.3429
season0.60161-608.000146.00027.0001.00022.00073.00085.00046.000105.0000.24010.29590.39640.24010.03620.12010.07570.1727
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1000
predicted_3B0.0040
predicted_AB3.6520
predicted_AVG0.1929
predicted_BB0.2100
predicted_H0.7050
predicted_HBP0.0900
predicted_HR0.0810
predicted_OBP0.2502
predicted_R0.3540
predicted_RBI0.3530
predicted_SLG0.2895
predicted_SO0.9250
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16800.10000.1382model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.90003.65203.7915model_form_blend
predicted_AVG0.19500.19290.1941model_form_blend
predicted_BB0.28600.21000.2527model_form_blend
predicted_H0.76000.70500.7359model_form_blend
predicted_HBP-0.09000.0900form_only
predicted_HR0.08000.08100.0804model_form_blend
predicted_OBP0.24700.25020.2484model_form_blend
predicted_R0.52800.35400.4519model_form_blend
predicted_RBI0.39000.35300.3738model_form_blend
predicted_SLG0.30700.28950.2993model_form_blend
predicted_SO0.65200.92500.7715model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date654
Season rows before report date654
Report year2026
Profile rows used161
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260927_ATL@MIA
game_typefull
mlbID645277
playerID645277
playerNameOzzie Albies
pos2B
startedTrue
startingPosition2B
teamATL
teamID2
game_date2026-09-27
sl_k_percent15.4
sl_bb_percent6.7
sl_woba0.298
sl_xwoba0.273
sl_xba0.221
sl_xslg0.337
sl_sweet_spot_percent32.3
sl_barrel_batted_rate3.8
sl_hard_hit_percent27.7
sl_exit_velocity_avg87.1
sl_launch_angle_avg17.8
sl_whiff_percent21.2
sl_swing_percent56.1
Ha-Seong Kim (673490) · BATTER · SS · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 141
All-history rows before 20260929: 141
System season_avg: 0.1160
Data season_avg (2026 season-to-date): 0.1153
Diff (system - data): 0.0007
System opponent_avg: 0.1430

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0220.0000.000Hitting_2B0.0280.000-0.0280.000
predicted_3B0.0220.0000.000Hitting_3B0.0070.000-0.0070.000
predicted_AB2.8674.0003.000Hitting_AB2.8302.0001.1702.000
predicted_AVG0.1600.7500.000Hitting_AVG0.1150.0000.6350.750
predicted_BB0.3560.0000.000Hitting_BB0.3482.000-0.348-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3303.0000.000Hitting_H0.3260.0002.6743.000
predicted_HR0.0200.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2450.7500.000Hitting_OBP0.2190.5000.5310.250
predicted_R0.2220.0000.000Hitting_R0.2201.000-0.220-1.000
predicted_RBI0.1600.0000.000Hitting_RBI0.1770.000-0.1770.000
predicted_SLG0.2320.7500.000Hitting_SLG0.1300.0000.6200.750
predicted_SO0.8441.0001.000Hitting_SO0.8011.0000.1990.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics2
Worse Metrics7
Biggest Boostpredicted_H: 0.3300 -> 3.0000 (boost 2.6700, better)
Biggest Deboostpredicted_BB: 0.3560 -> 0.0000 (deboost -0.3560, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_R: 0.2220 -> 0.2848 (boost 0.0628, better)predicted_AVG: 0.1600 -> 0.1456 (deboost -0.0144, 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.
3team_form_snapshot30303-predicted_SLG: 0.2182 -> 0.1760 (deboost -0.0422, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling52314predicted_SO: 0.8517 -> 1.0000 (boost 0.1483, worse)predicted_BB: 0.3899 -> 0.0000 (deboost -0.3899, worse)AB rounded to 3 (raw=2.92), rates preserved: AVG=0.112 HR/AB=0.007
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)
7consistency_constraints10101-predicted_R: 0.2889 -> 0.0000 (deboost -0.2889, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65160predicted_H: 0.0000 -> 0.6029 (boost 0.6029, better)predicted_SO: 1.0000 -> 0.9213 (deboost -0.0787, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61506predicted_SO: 0.9213 -> 1.0000 (boost 0.0787, worse)predicted_H: 0.6029 -> 0.0000 (deboost -0.6029, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.1760 -> 0.3230 (boost 0.1470, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference22020predicted_H: 0.0000 -> 3.0000 (boost 3.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3230 -> 0.1760 (deboost -0.1470, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "673490",
  "player_name": "Ha-Seong Kim",
  "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.022,
        "predicted_3B": 0.022,
        "predicted_AB": 2.867,
        "predicted_AVG": 0.16,
        "predicted_BB": 0.356,
        "predicted_H": 0.33,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.245,
        "predicted_R": 0.222,
        "predicted_RBI": 0.16,
        "predicted_SLG": 0.232,
        "predicted_SO": 0.844
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.0276,
        "predicted_3B": 0.0396,
        "predicted_AB": 2.9218,
        "predicted_AVG": 0.1456,
        "predicted_BB": 0.388,
        "predicted_H": 0.3472,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0192,
        "predicted_OBP": 0.2428,
        "predicted_R": 0.2848,
        "predicted_RBI": 0.1712,
        "predicted_SLG": 0.2182,
        "predicted_SO": 0.856
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.022,
          "after": 0.0276,
          "delta": 0.0056,
          "percent_delta": 0.2545,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0396,
          "delta": 0.0176,
          "percent_delta": 0.8,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.867,
          "after": 2.9218,
          "delta": 0.0548,
          "percent_delta": 0.0191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.16,
          "after": 0.1456,
          "delta": -0.0144,
          "percent_delta": -0.09,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.356,
          "after": 0.388,
          "delta": 0.032,
          "percent_delta": 0.0899,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.33,
          "after": 0.3472,
          "delta": 0.0172,
          "percent_delta": 0.0521,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.02,
          "after": 0.0192,
          "delta": -0.0008,
          "percent_delta": -0.04,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.245,
          "after": 0.2428,
          "delta": -0.0022,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.222,
          "after": 0.2848,
          "delta": 0.0628,
          "percent_delta": 0.2829,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.16,
          "after": 0.1712,
          "delta": 0.0112,
          "percent_delta": 0.07,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.232,
          "after": 0.2182,
          "delta": -0.0138,
          "percent_delta": -0.0595,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.844,
          "after": 0.856,
          "delta": 0.012,
          "percent_delta": 0.0142,
          "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_R",
          "before": 0.222,
          "after": 0.2848,
          "delta": 0.0628,
          "percent_delta": 0.2829,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.16,
          "after": 0.1456,
          "delta": -0.0144,
          "percent_delta": -0.09,
          "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.0276,
        "predicted_3B": 0.0396,
        "predicted_AB": 2.9218,
        "predicted_AVG": 0.1197,
        "predicted_BB": 0.3899,
        "predicted_H": 0.3497,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0193,
        "predicted_OBP": 0.2233,
        "predicted_R": 0.2889,
        "predicted_RBI": 0.1736,
        "predicted_SLG": 0.176,
        "predicted_SO": 0.8517
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0276,
          "after": 0.0276,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0396,
          "after": 0.0396,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9218,
          "after": 2.9218,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1456,
          "after": 0.1197,
          "delta": -0.0259,
          "percent_delta": -0.1779,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.388,
          "after": 0.3899,
          "delta": 0.0019,
          "percent_delta": 0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.3472,
          "after": 0.3497,
          "delta": 0.0025,
          "percent_delta": 0.0072,
          "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.0192,
          "after": 0.0193,
          "delta": 0.0001,
          "percent_delta": 0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2428,
          "after": 0.2233,
          "delta": -0.0195,
          "percent_delta": -0.0803,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2848,
          "after": 0.2889,
          "delta": 0.0041,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1712,
          "after": 0.1736,
          "delta": 0.0024,
          "percent_delta": 0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2182,
          "after": 0.176,
          "delta": -0.0422,
          "percent_delta": -0.1934,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.856,
          "after": 0.8517,
          "delta": -0.0043,
          "percent_delta": -0.005,
          "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.2182,
          "after": 0.176,
          "delta": -0.0422,
          "percent_delta": -0.1934,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.92), rates preserved: AVG=0.112 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.0276,
          "after": 0.0,
          "delta": -0.0276,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0396,
          "after": 0.0,
          "delta": -0.0396,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9218,
          "after": 3.0,
          "delta": 0.0782,
          "percent_delta": 0.0268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3899,
          "after": 0.0,
          "delta": -0.3899,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.3497,
          "after": 0.0,
          "delta": -0.3497,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.0193,
          "after": 0.0,
          "delta": -0.0193,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1736,
          "after": 0.0,
          "delta": -0.1736,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8517,
          "after": 1.0,
          "delta": 0.1483,
          "percent_delta": 0.1741,
          "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.8517,
          "after": 1.0,
          "delta": 0.1483,
          "percent_delta": 0.1741,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3899,
          "after": 0.0,
          "delta": -0.3899,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "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": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.2889,
          "after": 0.0,
          "delta": -0.2889,
          "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.2889,
          "after": 0.0,
          "delta": -0.2889,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1287,
        "predicted_3B": 0.011,
        "predicted_BB": 0.2874,
        "predicted_H": 0.6029,
        "predicted_HR": 0.0624,
        "predicted_RBI": 0.2739,
        "predicted_SO": 0.9213
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1287,
          "delta": 0.1287,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.011,
          "delta": 0.011,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2874,
          "delta": 0.2874,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6029,
          "delta": 0.6029,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0624,
          "delta": 0.0624,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.2739,
          "delta": 0.2739,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9213,
          "delta": -0.0787,
          "percent_delta": -0.0787,
          "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_H",
          "before": 0.0,
          "after": 0.6029,
          "delta": 0.6029,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9213,
          "delta": -0.0787,
          "percent_delta": -0.0787,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1287,
          "after": 0.0,
          "delta": -0.1287,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.6029,
          "after": 0.0,
          "delta": -0.6029,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0624,
          "after": 0.0,
          "delta": -0.0624,
          "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.2739,
          "after": 0.0,
          "delta": -0.2739,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9213,
          "after": 1.0,
          "delta": 0.0787,
          "percent_delta": 0.0854,
          "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.9213,
          "after": 1.0,
          "delta": 0.0787,
          "percent_delta": 0.0854,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6029,
          "after": 0.0,
          "delta": -0.6029,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.207,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.283,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.323,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1197,
          "after": 0.207,
          "delta": 0.0873,
          "percent_delta": 0.7293,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2233,
          "after": 0.283,
          "delta": 0.0597,
          "percent_delta": 0.2674,
          "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.176,
          "after": 0.323,
          "delta": 0.147,
          "percent_delta": 0.8352,
          "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.176,
          "after": 0.323,
          "delta": 0.147,
          "percent_delta": 0.8352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "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": 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": 3.0,
          "delta": 3.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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 3.0,
          "delta": 3.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "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.1197,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2233,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.176,
        "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.207,
          "after": 0.1197,
          "delta": -0.0873,
          "percent_delta": -0.4219,
          "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.283,
          "after": 0.2233,
          "delta": -0.0597,
          "percent_delta": -0.2109,
          "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.323,
          "after": 0.176,
          "delta": -0.147,
          "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": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.323,
          "after": 0.176,
          "delta": -0.147,
          "percent_delta": -0.455,
          "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.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 2.867,
        "after": 4.0,
        "delta": 1.133,
        "percent_delta": 0.3952,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.16,
        "after": 0.1197,
        "delta": -0.0403,
        "percent_delta": -0.2519,
        "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": 0.33,
        "after": 3.0,
        "delta": 2.67,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "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.245,
        "after": 0.2233,
        "delta": -0.0217,
        "percent_delta": -0.0886,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.222,
        "after": 0.0,
        "delta": -0.222,
        "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.232,
        "after": 0.176,
        "delta": -0.056,
        "percent_delta": -0.2414,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.844,
        "after": 1.0,
        "delta": 0.156,
        "percent_delta": 0.1848,
        "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_H",
        "before": 0.33,
        "after": 3.0,
        "delta": 2.67,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.356,
        "after": 0.0,
        "delta": -0.356,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.022-
predicted_3B0.022-
predicted_AB2.867-
predicted_AVG0.160-
predicted_BB0.356-
predicted_H0.330-
predicted_HR0.020-
predicted_OBP0.245-
predicted_R0.222-
predicted_RBI0.160-
predicted_SLG0.232-
predicted_SO0.844-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0280.006
predicted_3B0.0400.018
predicted_AB2.9220.055
predicted_AVG0.146-0.014
predicted_BB0.3880.032
predicted_H0.3470.017
predicted_HBP0.016-
predicted_HR0.019-0.001
predicted_OBP0.243-0.002
predicted_R0.2850.063
predicted_RBI0.1710.011
predicted_SLG0.218-0.014
predicted_SO0.8560.012
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0280.000
predicted_3B0.0400.000
predicted_AB2.9220.000
predicted_AVG0.120-0.026
predicted_BB0.3900.002
predicted_H0.3500.003
predicted_HBP0.0160.000
predicted_HR0.0190.000
predicted_OBP0.223-0.019
predicted_R0.2890.004
predicted_RBI0.1740.002
predicted_SLG0.176-0.042
predicted_SO0.852-0.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.92), rates preserved: AVG=0.112 HR/AB=0.007

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1290.129
3B0.0110.011
BB0.2870.287
H0.6030.603
HR0.0620.062
RBI0.2740.274
SO0.921-0.079
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.129
3B0.000-0.011
AB3.0000.000
BB0.000-0.287
H0.000-0.603
HR0.000-0.062
R0.0000.000
RBI0.000-0.274
SO1.0000.079
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.028
predicted_3B0.000-0.040
predicted_AB3.0000.078
predicted_AVG0.2070.087
predicted_BB0.000-0.390
predicted_H0.000-0.350
predicted_HR0.000-0.019
predicted_OBP0.2830.060
predicted_R0.000-0.289
predicted_RBI0.000-0.174
predicted_SLG0.3230.147
predicted_SO1.0000.148
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H3.0003.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 45
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0001.0000.0001.0000.0000.0003.0003.0005.0000.06670.22220.20000.06670.00000.00000.20000.3333
last_100.2010-26.0002.0000.0001.0000.0001.0005.0006.0008.0000.07690.25000.15380.07690.00000.03850.23080.3077
season0.6045-129.00015.0001.0001.0000.0009.00010.00016.00038.0000.11630.21920.13950.11630.00000.06980.12400.2946
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0360
predicted_3B0.0660
predicted_AB3.0040
predicted_AVG0.1240
predicted_BB0.4360
predicted_H0.3730
predicted_HBP0.0160
predicted_HR0.0180
predicted_OBP0.2395
predicted_R0.3790
predicted_RBI0.1880
predicted_SLG0.1976
predicted_SO0.8740
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.02200.03600.0276model_form_blend
predicted_3B0.02200.06600.0396model_form_blend
predicted_AB2.86703.00402.9218model_form_blend
predicted_AVG0.16000.12400.1456model_form_blend
predicted_BB0.35600.43600.3880model_form_blend
predicted_H0.33000.37300.3472model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.02000.01800.0192model_form_blend
predicted_OBP0.24500.23950.2428model_form_blend
predicted_R0.22200.37900.2848model_form_blend
predicted_RBI0.16000.18800.1712model_form_blend
predicted_SLG0.23200.19760.2182model_form_blend
predicted_SO0.84400.87400.8560model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date141
Season rows before report date141
Report year2026
Profile rows used45
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H3
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260927_ATL@MIA
game_typefull
mlbID673490
playerID673490
playerNameHa-Seong Kim
posSS
startedTrue
startingPositionSS
teamATL
teamID2
game_date2026-09-27
sl_k_percent25.9
sl_bb_percent10.9
sl_woba0.18
sl_xwoba0.222
sl_xba0.157
sl_xslg0.206
sl_sweet_spot_percent21.7
sl_barrel_batted_rate2.2
sl_hard_hit_percent25.0
sl_exit_velocity_avg85.9
sl_launch_angle_avg19.9
sl_whiff_percent20.2
sl_swing_percent42.7
Austin Riley (663586) · BATTER · 3B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 602
All-history rows before 20260929: 602
System season_avg: 0.2200
Data season_avg (2026 season-to-date): 0.2270
Diff (system - data): -0.0070
System opponent_avg: 0.2400

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1270.0000.000Hitting_2B0.1380.000-0.1380.000
predicted_3B0.0130.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB3.7404.0003.000Hitting_AB3.6153.0000.3851.000
predicted_AVG0.1950.5000.333Hitting_AVG0.2270.0000.2730.500
predicted_BB0.3040.0000.000Hitting_BB0.3161.000-0.316-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.7302.0001.000Hitting_H0.8210.0001.1792.000
predicted_HR0.1700.0000.000Hitting_HR0.1160.000-0.1160.000
predicted_OBP0.2650.5000.333Hitting_OBP0.3020.2500.1980.250
predicted_R0.4050.0000.000Hitting_R0.4300.000-0.4300.000
predicted_RBI0.4800.0000.000Hitting_RBI0.4770.000-0.4770.000
predicted_SLG0.4000.5000.333Hitting_SLG0.3690.0000.1310.500
predicted_SO1.2471.0001.000Hitting_SO1.2661.000-0.2660.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_H: 0.7300 -> 2.0000 (boost 1.2700, better)
Biggest Deboostpredicted_RBI: 0.4800 -> 0.0000 (deboost -0.4800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21102predicted_SO: 1.2470 -> 1.2994 (boost 0.0524, worse)predicted_AB: 3.7400 -> 3.6509 (deboost -0.0891, 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.
3team_form_snapshot20202-predicted_SLG: 0.3966 -> 0.3829 (deboost -0.0137, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_H: 0.7294 -> 1.0000 (boost 0.2706, better)predicted_AB: 3.6509 -> 3.0000 (deboost -0.6509, worse)AB rounded to 3 (raw=3.74), rates preserved: AVG=0.183 HR/AB=0.048
6bvp_blend00000--Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.240)
7consistency_constraints10101-predicted_R: 0.4117 -> 0.0000 (deboost -0.4117, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4074 (boost 0.4074, better)predicted_H: 1.0000 -> 0.7617 (deboost -0.2383, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_H: 0.7617 -> 1.0000 (boost 0.2383, better)predicted_RBI: 0.4074 -> 0.0000 (deboost -0.4074, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context32121predicted_AVG: 0.1998 -> 0.2250 (boost 0.0252, better)predicted_SLG: 0.3829 -> 0.3770 (deboost -0.0059, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference22020predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final31212predicted_SLG: 0.3770 -> 0.3829 (boost 0.0059, better)predicted_AVG: 0.2250 -> 0.1998 (deboost -0.0252, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace 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.127,
        "predicted_3B": 0.013,
        "predicted_AB": 3.74,
        "predicted_AVG": 0.195,
        "predicted_BB": 0.304,
        "predicted_H": 0.73,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.265,
        "predicted_R": 0.405,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.4,
        "predicted_SO": 1.247
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "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.1065,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.6509,
        "predicted_AVG": 0.1984,
        "predicted_BB": 0.3114,
        "predicted_H": 0.7243,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1792,
        "predicted_OBP": 0.268,
        "predicted_R": 0.4059,
        "predicted_RBI": 0.4778,
        "predicted_SLG": 0.3966,
        "predicted_SO": 1.2994
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.127,
          "after": 0.1065,
          "delta": -0.0205,
          "percent_delta": -0.1614,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0108,
          "delta": -0.0022,
          "percent_delta": -0.1692,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.74,
          "after": 3.6509,
          "delta": -0.0891,
          "percent_delta": -0.0238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.195,
          "after": 0.1984,
          "delta": 0.0034,
          "percent_delta": 0.0174,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.304,
          "after": 0.3114,
          "delta": 0.0074,
          "percent_delta": 0.0243,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.73,
          "after": 0.7243,
          "delta": -0.0057,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1792,
          "delta": 0.0092,
          "percent_delta": 0.0541,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.265,
          "after": 0.268,
          "delta": 0.003,
          "percent_delta": 0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.405,
          "after": 0.4059,
          "delta": 0.0009,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4778,
          "delta": -0.0022,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4,
          "after": 0.3966,
          "delta": -0.0034,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.247,
          "after": 1.2994,
          "delta": 0.0524,
          "percent_delta": 0.042,
          "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.247,
          "after": 1.2994,
          "delta": 0.0524,
          "percent_delta": 0.042,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.74,
          "after": 3.6509,
          "delta": -0.0891,
          "percent_delta": -0.0238,
          "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": 158
      }
    },
    {
      "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.1065,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.6509,
        "predicted_AVG": 0.1998,
        "predicted_BB": 0.313,
        "predicted_H": 0.7294,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1801,
        "predicted_OBP": 0.263,
        "predicted_R": 0.4117,
        "predicted_RBI": 0.4846,
        "predicted_SLG": 0.3829,
        "predicted_SO": 1.2929
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1065,
          "after": 0.1065,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0108,
          "after": 0.0108,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6509,
          "after": 3.6509,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1984,
          "after": 0.1998,
          "delta": 0.0014,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3114,
          "after": 0.313,
          "delta": 0.0016,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7243,
          "after": 0.7294,
          "delta": 0.0051,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.041,
          "after": 0.041,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1792,
          "after": 0.1801,
          "delta": 0.0009,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.268,
          "after": 0.263,
          "delta": -0.005,
          "percent_delta": -0.0187,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4059,
          "after": 0.4117,
          "delta": 0.0058,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4778,
          "after": 0.4846,
          "delta": 0.0068,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3966,
          "after": 0.3829,
          "delta": -0.0137,
          "percent_delta": -0.0345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2994,
          "after": 1.2929,
          "delta": -0.0065,
          "percent_delta": -0.005,
          "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.3966,
          "after": 0.3829,
          "delta": -0.0137,
          "percent_delta": -0.0345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.74), rates preserved: AVG=0.183 HR/AB=0.048",
      "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.1065,
          "after": 0.0,
          "delta": -0.1065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0108,
          "after": 0.0,
          "delta": -0.0108,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6509,
          "after": 3.0,
          "delta": -0.6509,
          "percent_delta": -0.1783,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.313,
          "after": 0.0,
          "delta": -0.313,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7294,
          "after": 1.0,
          "delta": 0.2706,
          "percent_delta": 0.371,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.041,
          "after": 0.0,
          "delta": -0.041,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1801,
          "after": 0.0,
          "delta": -0.1801,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4846,
          "after": 0.0,
          "delta": -0.4846,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2929,
          "after": 1.0,
          "delta": -0.2929,
          "percent_delta": -0.2265,
          "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.7294,
          "after": 1.0,
          "delta": 0.2706,
          "percent_delta": 0.371,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6509,
          "after": 3.0,
          "delta": -0.6509,
          "percent_delta": -0.1783,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.240)",
      "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.8182,
        "bvp": 0.1818
      },
      "window_games": {}
    },
    {
      "index": 7,
      "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.4117,
          "after": 0.0,
          "delta": -0.4117,
          "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.4117,
          "after": 0.0,
          "delta": -0.4117,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1567,
        "predicted_3B": 0.0105,
        "predicted_BB": 0.2641,
        "predicted_H": 0.7617,
        "predicted_HR": 0.1112,
        "predicted_RBI": 0.4074,
        "predicted_SO": 1.326
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1567,
          "delta": 0.1567,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0105,
          "delta": 0.0105,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2641,
          "delta": 0.2641,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7617,
          "delta": -0.2383,
          "percent_delta": -0.2383,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1112,
          "delta": 0.1112,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4074,
          "delta": 0.4074,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.326,
          "delta": 0.326,
          "percent_delta": 0.326,
          "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_RBI",
          "before": 0.0,
          "after": 0.4074,
          "delta": 0.4074,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7617,
          "delta": -0.2383,
          "percent_delta": -0.2383,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1567,
          "after": 0.0,
          "delta": -0.1567,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0105,
          "after": 0.0,
          "delta": -0.0105,
          "percent_delta": -1.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_BB",
          "before": 0.2641,
          "after": 0.0,
          "delta": -0.2641,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7617,
          "after": 1.0,
          "delta": 0.2383,
          "percent_delta": 0.3129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1112,
          "after": 0.0,
          "delta": -0.1112,
          "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.4074,
          "after": 0.0,
          "delta": -0.4074,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.326,
          "after": 1.0,
          "delta": -0.326,
          "percent_delta": -0.2459,
          "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.7617,
          "after": 1.0,
          "delta": 0.2383,
          "percent_delta": 0.3129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4074,
          "after": 0.0,
          "delta": -0.4074,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "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.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.377,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1998,
          "after": 0.225,
          "delta": 0.0252,
          "percent_delta": 0.1261,
          "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.263,
          "after": 0.287,
          "delta": 0.024,
          "percent_delta": 0.0913,
          "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.3829,
          "after": 0.377,
          "delta": -0.0059,
          "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.1998,
          "after": 0.225,
          "delta": 0.0252,
          "percent_delta": 0.1261,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3829,
          "after": 0.377,
          "delta": -0.0059,
          "percent_delta": -0.0154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_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": 12,
      "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.1998,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.263,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3829,
        "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.225,
          "after": 0.1998,
          "delta": -0.0252,
          "percent_delta": -0.112,
          "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.287,
          "after": 0.263,
          "delta": -0.024,
          "percent_delta": -0.0837,
          "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.377,
          "after": 0.3829,
          "delta": 0.0059,
          "percent_delta": 0.0156,
          "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.377,
          "after": 0.3829,
          "delta": 0.0059,
          "percent_delta": 0.0156,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.1998,
          "delta": -0.0252,
          "percent_delta": -0.112,
          "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.127,
        "after": 0.0,
        "delta": -0.127,
        "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.74,
        "after": 4.0,
        "delta": 0.26,
        "percent_delta": 0.0695,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.195,
        "after": 0.1998,
        "delta": 0.0048,
        "percent_delta": 0.0246,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.304,
        "after": 0.0,
        "delta": -0.304,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 2.0,
        "delta": 1.27,
        "percent_delta": 1.7397,
        "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.265,
        "after": 0.263,
        "delta": -0.002,
        "percent_delta": -0.0075,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.405,
        "after": 0.0,
        "delta": -0.405,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.4,
        "after": 0.3829,
        "delta": -0.0171,
        "percent_delta": -0.0428,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.247,
        "after": 1.0,
        "delta": -0.247,
        "percent_delta": -0.1981,
        "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.73,
        "after": 2.0,
        "delta": 1.27,
        "percent_delta": 1.7397,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.127-
predicted_3B0.013-
predicted_AB3.740-
predicted_AVG0.195-
predicted_BB0.304-
predicted_H0.730-
predicted_HR0.170-
predicted_OBP0.265-
predicted_R0.405-
predicted_RBI0.480-
predicted_SLG0.400-
predicted_SO1.247-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.106-0.021
predicted_3B0.011-0.002
predicted_AB3.651-0.089
predicted_AVG0.1980.003
predicted_BB0.3110.007
predicted_H0.724-0.006
predicted_HBP0.041-
predicted_HR0.1790.009
predicted_OBP0.2680.003
predicted_R0.4060.001
predicted_RBI0.478-0.002
predicted_SLG0.397-0.003
predicted_SO1.2990.052
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1060.000
predicted_3B0.0110.000
predicted_AB3.6510.000
predicted_AVG0.2000.001
predicted_BB0.3130.002
predicted_H0.7290.005
predicted_HBP0.0410.000
predicted_HR0.1800.001
predicted_OBP0.263-0.005
predicted_R0.4120.006
predicted_RBI0.4850.007
predicted_SLG0.383-0.014
predicted_SO1.293-0.007
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.74), rates preserved: AVG=0.183 HR/AB=0.048

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.240)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1570.157
3B0.0110.011
BB0.2640.264
H0.762-0.238
HR0.1110.111
RBI0.4070.407
SO1.3260.326
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.157
3B0.000-0.011
AB3.0000.000
BB0.000-0.264
H1.0000.238
HR0.000-0.111
R0.0000.000
RBI0.000-0.407
SO1.000-0.326
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.106
predicted_3B0.000-0.011
predicted_AB3.000-0.651
predicted_AVG0.2250.025
predicted_BB0.000-0.313
predicted_H1.0000.271
predicted_HR0.000-0.180
predicted_OBP0.2870.024
predicted_R0.000-0.412
predicted_RBI0.000-0.485
predicted_SLG0.377-0.006
predicted_SO1.000-0.293
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 158
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0003.0000.0000.0002.0003.0002.0002.0008.0000.17650.25000.52940.17650.11770.17650.11770.4706
last_100.2010-36.0006.0000.0000.0002.0004.0004.0003.00016.0000.16670.22500.33330.16670.05560.11110.08330.4444
season0.60158-559.000123.00020.0002.00019.00072.00064.00048.000197.0000.22000.29210.36490.22000.03400.12880.08590.3524
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0800
predicted_3B0.0080
predicted_AB3.5360
predicted_AVG0.2028
predicted_BB0.3210
predicted_H0.7170
predicted_HBP0.0410
predicted_HR0.1910
predicted_OBP0.2719
predicted_R0.4070
predicted_RBI0.4750
predicted_SLG0.3922
predicted_SO1.3670
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12700.08000.1065model_form_blend
predicted_3B0.01300.00800.0108model_form_blend
predicted_AB3.74003.53603.6509model_form_blend
predicted_AVG0.19500.20280.1984model_form_blend
predicted_BB0.30400.32100.3114model_form_blend
predicted_H0.73000.71700.7243model_form_blend
predicted_HBP-0.04100.0410form_only
predicted_HR0.17000.19100.1792model_form_blend
predicted_OBP0.26500.27190.2680model_form_blend
predicted_R0.40500.40700.4059model_form_blend
predicted_RBI0.48000.47500.4778model_form_blend
predicted_SLG0.40000.39220.3966model_form_blend
predicted_SO1.24701.36701.2994model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date602
Season rows before report date602
Report year2026
Profile rows used158
Hitter metricsHitting_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 (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260927_ATL@MIA
game_typefull
mlbID663586
playerID663586
playerNameAustin Riley
pos3B
startedTrue
startingPosition3B
teamATL
teamID2
game_date2026-09-27
sl_k_percent31.9
sl_bb_percent7.6
sl_woba0.29
sl_xwoba0.299
sl_xba0.213
sl_xslg0.396
sl_sweet_spot_percent34.3
sl_barrel_batted_rate12.4
sl_hard_hit_percent44.3
sl_exit_velocity_avg91.3
sl_launch_angle_avg18.5
sl_whiff_percent31.9
sl_swing_percent48.8
Chris Sale (519242) · PITCHER · Starter · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 27
All-history rows before 20260929: 27

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.1480.0001.8523.000
predicted_ER2.0002.0002.000Pitching_ER1.4441.0000.5561.000
predicted_H5.0005.0005.000Pitching_H4.7784.0000.2221.000
predicted_IP6.1006.1006.100Pitching_InningsPitched5.9565.2000.1440.900
predicted_SO8.0008.0008.000Pitching_SO7.40710.0000.593-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_SO: 3.0000 -> 8.0000 (boost 5.0000, better)
Biggest Deboostpredicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail21111predicted_SO: 3.0000 -> 8.0000 (boost 5.0000, better)predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "519242",
  "player_name": "Chris Sale",
  "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": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.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": "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": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.1,
        "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": 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.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 8.0,
          "delta": 5.0,
          "percent_delta": 1.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 8.0,
          "delta": 5.0,
          "percent_delta": 1.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.1,
        "predicted_R": 2.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": 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.1,
          "after": 6.1,
          "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": 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.3333,
        "after": 6.1,
        "delta": -0.2333,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 8.0,
        "delta": 5.0,
        "percent_delta": 1.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 8.0,
        "delta": 5.0,
        "percent_delta": 1.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 6.3333,
        "after": 6.1,
        "delta": -0.2333,
        "percent_delta": -0.0368,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER2.000-
predicted_H5.000-
predicted_HR1.000-
predicted_IP6.333-
predicted_SO3.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER2.0000.000
predicted_H5.0000.000
predicted_HR1.0000.000
predicted_IP6.100-0.233
predicted_SO8.0005.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 27
Reference playing time: 6.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45533.2008.00026.0003.00040.0002.0002.13860.86140.23760.77230.08911.18810.0594
last_100.351064.20015.00045.0006.00083.0002.0002.08760.78870.23200.69590.09281.28350.0309
season0.2027162.20039.000129.00031.000200.00010.0002.15780.98360.23970.79300.19061.22950.0615
Weighted Prediction From Real Data
MetricValue
predicted_BB0.9770
predicted_ER1.7890
predicted_ERA2.5137
predicted_H5.0360
predicted_HR0.4180
predicted_IP6.1000
predicted_SO7.5810
predicted_WHIP0.9389
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00000.97701.8186model_form_blend
predicted_ER2.00001.78901.8768model_form_blend
predicted_ERA-2.51372.5137form_only
predicted_H5.00005.03605.0210model_form_blend
predicted_HR1.00000.41800.6601model_form_blend
predicted_IP6.10006.10006.1000model_form_blend
predicted_SO3.00007.58105.6753model_form_blend
predicted_WHIP-0.93890.9389form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date27
Season rows before report date27
Report year2026
Profile rows used27
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.1
H5
R2
ER2
BB3
SO8
HR1
BF27
Pitches119

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced21
Pitching_ER1
Pitching_ERA2.16
Pitching_Flyouts4
Pitching_Groundouts2
Pitching_H4
Pitching_HBP1
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.2
Pitching_Pitches97
Pitching_R1
Pitching_SO10
Pitching_Strikes67
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260923_CIN@ATL
game_typefull
mlbID519242
playerID519242
playerNameChris Sale
posP
startedTrue
startingPositionP
teamATL
teamID2
game_date2026-09-23
sl_k_percent30.9
sl_bb_percent4.8
sl_woba0.259
sl_xwoba0.267
sl_sweet_spot_percent34.3
sl_barrel_batted_rate6.2
sl_hard_hit_percent35.1
sl_whiff_percent30.4
sl_swing_percent50.7
sl_avg_best_speed76.8971828
sl_avg_hyper_speed93.43608195
Dylan Lee (669276) · PITCHER · Setup Man · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 71
All-history rows before 20260929: 71

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.2390.0000.7611.000
predicted_ER0.0000.0000.000Pitching_ER0.3240.000-0.3240.000
predicted_H1.0001.0001.000Pitching_H0.6761.0000.3240.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8251.0000.1750.000
predicted_SO0.0000.0000.000Pitching_SO1.0851.000-1.085-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "669276",
  "player_name": "Dylan Lee",
  "position": "Setup Man",
  "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": 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": 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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 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": 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": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 70
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0005.0008.0002.0002.0000.0009.00002.00001.00001.60000.40000.40000.0000
last_100.35109.0008.00015.0002.0005.0000.0008.00001.88890.88891.66670.22220.55560.0000
season0.207067.00021.00045.00016.00077.0003.0002.82090.91040.31340.67160.23881.14930.0448
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3250
predicted_ER0.7410
predicted_ERA6.6696
predicted_H1.3170
predicted_HR0.0460
predicted_IP1.0000
predicted_SO0.6920
predicted_WHIP1.6421
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.32500.6371model_form_blend
predicted_ER0.00000.74100.3983model_form_blend
predicted_ERA-6.66966.6696form_only
predicted_H1.00001.31701.1704model_form_blend
predicted_HR0.00000.04600.0247model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.69201.2969model_form_blend
predicted_WHIP-1.64211.6421form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date71
Season rows before report date71
Report year2026
Profile rows used70
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R0
ER0
BB1
SO0
HR0
BF5
Pitches22

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA3.09
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches10
Pitching_R0
Pitching_SO1
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260926_ATL@MIA
game_typefull
mlbID669276
playerID669276
playerNameDylan Lee
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-09-26
sl_k_percent29.4
sl_bb_percent6.5
sl_woba0.248
sl_xwoba0.252
sl_sweet_spot_percent35.7
sl_barrel_batted_rate5.4
sl_hard_hit_percent32.7
sl_whiff_percent35.7
sl_swing_percent52.7
sl_avg_best_speed77.001041951
sl_avg_hyper_speed93.192195092
Raisel Iglesias (628452) · PITCHER · Closer · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 59
All-history rows before 20260929: 59

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2880.000-0.2880.000
predicted_ER0.0000.0000.000Pitching_ER0.2880.000-0.2880.000
predicted_H1.0001.0001.000Pitching_H0.8141.0000.1860.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9811.0000.0190.000
predicted_SO0.0000.0000.000Pitching_SO1.0850.000-1.0850.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "628452",
  "player_name": "Raisel Iglesias",
  "position": "Closer",
  "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": 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": 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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "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": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 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"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 59
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0001.0000.0007.0000.0000.00000.20000.00000.20000.00001.40000.0000
last_100.351010.0001.0004.0001.00012.0001.0000.90000.50000.10000.40000.10001.20000.1000
season0.205960.00017.00048.00017.00064.0006.0002.55001.08330.28330.80000.28331.06670.1000
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1740
predicted_ER0.2130
predicted_ERA1.9176
predicted_H0.5610
predicted_HR0.0820
predicted_IP1.0000
predicted_SO1.1690
predicted_WHIP0.7357
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.17400.0919model_form_blend
predicted_ER0.00000.21300.1125model_form_blend
predicted_ERA-1.91761.9176form_only
predicted_H1.00000.56100.7681model_form_blend
predicted_HR0.00000.08200.0433model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.16901.5610model_form_blend
predicted_WHIP-0.73570.7357form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date59
Season rows before report date59
Report year2026
Profile rows used59
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R0
ER0
BB0
SO0
HR0
BF4
Pitches16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.55
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches10
Pitching_R0
Pitching_SO0
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260926_ATL@MIA
game_typefull
mlbID628452
playerID628452
playerNameRaisel Iglesias
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-09-26
sl_k_percent26.8
sl_bb_percent7.1
sl_woba0.274
sl_xwoba0.289
sl_sweet_spot_percent35.0
sl_barrel_batted_rate9.6
sl_hard_hit_percent37.6
sl_whiff_percent30.0
sl_swing_percent52.4
sl_avg_best_speed77.155392051
sl_avg_hyper_speed93.686712949
Didier Fuentes (800311) · PITCHER · Middle Reliever (High Leverage) · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260929: 58
All-history rows before 20260929: 58

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3620.000-0.3620.000
predicted_ER0.0000.0000.000Pitching_ER0.3452.000-0.345-2.000
predicted_H1.0001.0001.000Pitching_H1.0345.000-0.034-4.000
predicted_IP0.2000.2000.200Pitching_InningsPitched1.1781.000-0.978-0.800
predicted_SO1.0001.0001.000Pitching_SO1.6210.000-0.6211.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics2
Boosted Metrics0
Deboosted Metrics2
Better Metrics0
Worse Metrics2
Biggest Boost-
Biggest Deboostpredicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final20202-predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "800311",
  "player_name": "Didier Fuentes",
  "position": "Middle Reliever (High Leverage)",
  "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": 1.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": 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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "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": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 57
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4557.0003.0009.0002.0007.0001.0003.85711.57140.42861.28570.28571.00000.1429
last_100.351014.0004.00012.0003.00017.0002.0002.57141.07140.28570.85710.21431.21430.1429
season0.205772.20020.00060.00020.00091.0006.0002.47711.10090.27520.82570.27521.25230.0826
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3370
predicted_ER0.4540
predicted_ERA3.5032
predicted_H1.2000
predicted_HR0.1580
predicted_IP1.0000
predicted_SO1.2570
predicted_WHIP1.3175
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.33700.1834model_form_blend
predicted_ER0.00000.45400.2470model_form_blend
predicted_ERA-3.50323.5032form_only
predicted_H1.00001.20001.1088model_form_blend
predicted_HR0.00000.15800.0860model_form_blend
predicted_IP0.20001.00001.0000model_form_blend
predicted_SO2.00001.25701.5957model_form_blend
predicted_WHIP-1.31751.3175form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date58
Season rows before report date58
Report year2026
Profile rows used57
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H1
R0
ER0
BB0
SO1
HR0
BF3
Pitches11

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs1
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER2
Pitching_ERA2.45
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H5
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches26
Pitching_R2
Pitching_SO0
Pitching_Strikes18
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260925_ATL@MIA
game_typefull
mlbID800311
playerID800311
playerNameDidier Fuentes
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-09-25
sl_k_percent31.0
sl_bb_percent7.1
sl_woba0.269
sl_xwoba0.275
sl_sweet_spot_percent36.3
sl_barrel_batted_rate6.6
sl_hard_hit_percent34.6
sl_whiff_percent30.4
sl_swing_percent52.7
sl_avg_best_speed77.508901348
sl_avg_hyper_speed93.351390506